@smartbit4all/ng-client 4.2.138 → 4.2.140

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 (27) hide show
  1. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  2. package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +1 -1
  3. package/esm2022/lib/smart-component-layout/api/model/models.mjs +2 -1
  4. package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
  5. package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
  6. package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +13 -0
  7. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +7 -3
  8. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +28 -1
  9. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +3 -2
  10. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +1 -1
  11. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +1 -1
  12. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +2 -2
  13. package/esm2022/lib/smart-grid/smart-grid.component.mjs +1 -1
  14. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +2 -2
  15. package/esm2022/lib/smart-tree/smarttree.component.mjs +1 -1
  16. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +7 -2
  17. package/fesm2022/smartbit4all-ng-client.mjs +59 -10
  18. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  19. package/lib/smart-component-layout/api/model/models.d.ts +1 -0
  20. package/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.d.ts +6 -0
  21. package/lib/smart-component-layout/api/model/toolbarProperties.d.ts +14 -0
  22. package/lib/smart-component-layout/smart-component-layout.component.d.ts +2 -1
  23. package/lib/smart-diagram/component/default-smart-diagram-options.provider.d.ts +1 -0
  24. package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +3 -1
  25. package/package.json +1 -1
  26. package/smartbit4all-ng-client-4.2.140.tgz +0 -0
  27. package/smartbit4all-ng-client-4.2.138.tgz +0 -0
@@ -18,4 +18,4 @@ export var ComponentWidgetType;
18
18
  ComponentWidgetType["MAP"] = "map";
19
19
  ComponentWidgetType["DIAGRAM"] = "diagram";
20
20
  })(ComponentWidgetType || (ComponentWidgetType = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50V2lkZ2V0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvYXBpL21vZGVsL2NvbXBvbmVudFdpZGdldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUdILE1BQU0sQ0FBTixJQUFZLG1CQU9YO0FBUEQsV0FBWSxtQkFBbUI7SUFDM0Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYiwwQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBVyxDQUFBO0lBQ1gsMENBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQVBXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFPOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRm9ybSBsYXlvdXQgZGVmaW5pdGlvblxyXG4gKiBDb250YWlucyBmb3JtIGxheW91dCBkZWZpbml0aW9uIG9iamVjdHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgZW51bSBDb21wb25lbnRXaWRnZXRUeXBlIHtcclxuICAgIEdSSUQgPSAnZ3JpZCcsXHJcbiAgICBGSUxURVIgPSAnZmlsdGVyJyxcclxuICAgIFRSRUUgPSAndHJlZScsXHJcbiAgICBUT09MQkFSID0gJ3Rvb2xiYXInLFxyXG4gICAgTUFQID0gJ21hcCcsXHJcbiAgICBESUFHUkFNID0gJ2RpYWdyYW0nXHJcbn1cclxuXHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50V2lkZ2V0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvYXBpL21vZGVsL2NvbXBvbmVudFdpZGdldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUdILE1BQU0sQ0FBTixJQUFZLG1CQU9YO0FBUEQsV0FBWSxtQkFBbUI7SUFDM0Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYiwwQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBVyxDQUFBO0lBQ1gsMENBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQVBXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFPOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cbiAqIENvbnRhaW5zIGZvcm0gbGF5b3V0IGRlZmluaXRpb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGVudW0gQ29tcG9uZW50V2lkZ2V0VHlwZSB7XG4gICAgR1JJRCA9ICdncmlkJyxcbiAgICBGSUxURVIgPSAnZmlsdGVyJyxcbiAgICBUUkVFID0gJ3RyZWUnLFxuICAgIFRPT0xCQVIgPSAndG9vbGJhcicsXG4gICAgTUFQID0gJ21hcCcsXG4gICAgRElBR1JBTSA9ICdkaWFncmFtJ1xufVxuXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0RGVmaW5pdGlvbkRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaS9tb2RlbC9sYXlvdXREZWZpbml0aW9uRGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cclxuICogQ29udGFpbnMgZm9ybSBsYXlvdXQgZGVmaW5pdGlvbiBvYmplY3RzLlxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiB9IGZyb20gJy4vc21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uJztcclxuaW1wb3J0IHsgVmlld0NvbnN0cmFpbnQgfSBmcm9tICcuLi8uLi8uLi92aWV3LWNvbnRleHQvYXBpJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExheW91dERlZmluaXRpb25EZXNjcmlwdG9yIHsgXHJcbiAgICB1cmk/OiBzdHJpbmc7XHJcbiAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgbGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xyXG4gICAgY29uc3RyYWludD86IFZpZXdDb25zdHJhaW50O1xyXG59XHJcblxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0RGVmaW5pdGlvbkRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaS9tb2RlbC9sYXlvdXREZWZpbml0aW9uRGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3JtIGxheW91dCBkZWZpbml0aW9uXG4gKiBDb250YWlucyBmb3JtIGxheW91dCBkZWZpbml0aW9uIG9iamVjdHMuXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDEuMC4wXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi9zbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24nO1xuaW1wb3J0IHsgVmlld0NvbnN0cmFpbnQgfSBmcm9tICcuLi8uLi8uLi92aWV3LWNvbnRleHQvYXBpJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dERlZmluaXRpb25EZXNjcmlwdG9yIHsgXG4gICAgdXJpPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgbGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xuICAgIGNvbnN0cmFpbnQ/OiBWaWV3Q29uc3RyYWludDtcbn1cblxuIl19
@@ -4,4 +4,5 @@ export * from './layoutDefinitionDescriptor';
4
4
  export * from './layoutDirection';
5
5
  export * from './smartComponentLayoutDefinition';
6
6
  export * from './smartComponentWidgetDefinition';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRXaWRnZXRUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXREZWZpbml0aW9uRGVzY3JpcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0RGlyZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0Q29tcG9uZW50V2lkZ2V0RGVmaW5pdGlvbic7XHJcbiJdfQ==
7
+ export * from './toolbarProperties';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudFR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRXaWRnZXRUeXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0RGVmaW5pdGlvbkRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXREaXJlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90b29sYmFyUHJvcGVydGllcyc7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvc21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRm9ybSBsYXlvdXQgZGVmaW5pdGlvblxyXG4gKiBDb250YWlucyBmb3JtIGxheW91dCBkZWZpbml0aW9uIG9iamVjdHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJy4vY29tcG9uZW50VHlwZSc7XHJcbmltcG9ydCB7IExheW91dERpcmVjdGlvbiB9IGZyb20gJy4vbGF5b3V0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uIH0gZnJvbSAnLi9zbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb24nO1xyXG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvc3R5bGUnO1xyXG5pbXBvcnQgeyBTbWFydFdpZGdldERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zbWFydC1mb3JtL2FwaS9tb2RlbC9zbWFydFdpZGdldERlZmluaXRpb24nO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIHsgXHJcbiAgICAvKipcclxuICAgICAqIEFuIG9wdGlvbmFsIGlkZW50aWZpZXIgdG8gZmluZCB0aGlzIGVsZW1lbnQgaW4gYSBsYXlvdXQgaGllcmFyY2h5LiBcclxuICAgICAqL1xyXG4gICAgaWRlbnRpZmllcj86IHN0cmluZztcclxuICAgIHR5cGU6IENvbXBvbmVudFR5cGU7XHJcbiAgICBleHBhbmRhYmxlPzogYm9vbGVhbjtcclxuICAgIGV4cGFuZGFibGVTZWN0aW9uTGFiZWw/OiBzdHJpbmc7XHJcbiAgICBleHBhbmRhYmxlU2VjdGlvblN1YnRpdGxlPzogc3RyaW5nO1xyXG4gICAgZXhwYW5kYWJsZVNlY3Rpb25IZWFkZXJUb29sYmFySWQ/OiBzdHJpbmc7XHJcbiAgICBkaXJlY3Rpb24/OiBMYXlvdXREaXJlY3Rpb247XHJcbiAgICBjb21wb25lbnRzPzogQXJyYXk8U21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uPjtcclxuICAgIHdpZGdldD86IFNtYXJ0Q29tcG9uZW50V2lkZ2V0RGVmaW5pdGlvbjtcclxuICAgIGZvcm0/OiBBcnJheTxTbWFydFdpZGdldERlZmluaXRpb24+O1xyXG4gICAgc3R5bGU/OiBTdHlsZTtcclxufVxyXG5cclxuXHJcblxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvc21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cbiAqIENvbnRhaW5zIGZvcm0gbGF5b3V0IGRlZmluaXRpb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnLi9jb21wb25lbnRUeXBlJztcbmltcG9ydCB7IExheW91dERpcmVjdGlvbiB9IGZyb20gJy4vbGF5b3V0RGlyZWN0aW9uJztcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50V2lkZ2V0RGVmaW5pdGlvbiB9IGZyb20gJy4vc21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uJztcbmltcG9ydCB7IFN0eWxlIH0gZnJvbSAnLi4vLi4vLi4vdmlldy1jb250ZXh0L2FwaS9tb2RlbC9zdHlsZSc7XG5pbXBvcnQgeyBTbWFydFdpZGdldERlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zbWFydC1mb3JtL2FwaS9tb2RlbC9zbWFydFdpZGdldERlZmluaXRpb24nO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uIHsgXG4gICAgLyoqXG4gICAgICogQW4gb3B0aW9uYWwgaWRlbnRpZmllciB0byBmaW5kIHRoaXMgZWxlbWVudCBpbiBhIGxheW91dCBoaWVyYXJjaHkuIFxuICAgICAqL1xuICAgIGlkZW50aWZpZXI/OiBzdHJpbmc7XG4gICAgdHlwZTogQ29tcG9uZW50VHlwZTtcbiAgICBleHBhbmRhYmxlPzogYm9vbGVhbjtcbiAgICBleHBhbmRhYmxlU2VjdGlvbkxhYmVsPzogc3RyaW5nO1xuICAgIGV4cGFuZGFibGVTZWN0aW9uU3VidGl0bGU/OiBzdHJpbmc7XG4gICAgZXhwYW5kYWJsZVNlY3Rpb25IZWFkZXJUb29sYmFySWQ/OiBzdHJpbmc7XG4gICAgZGlyZWN0aW9uPzogTGF5b3V0RGlyZWN0aW9uO1xuICAgIGNvbXBvbmVudHM/OiBBcnJheTxTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24+O1xuICAgIHdpZGdldD86IFNtYXJ0Q29tcG9uZW50V2lkZ2V0RGVmaW5pdGlvbjtcbiAgICBmb3JtPzogQXJyYXk8U21hcnRXaWRnZXREZWZpbml0aW9uPjtcbiAgICBzdHlsZT86IFN0eWxlO1xufVxuXG5cblxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvc21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cbiAqIENvbnRhaW5zIGZvcm0gbGF5b3V0IGRlZmluaXRpb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRXaWRnZXRUeXBlIH0gZnJvbSAnLi9jb21wb25lbnRXaWRnZXRUeXBlJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZExpc3QgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGRMaXN0JztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZpbHRlci1lZGl0b3IvYXBpL21vZGVsL3NtYXJ0RmlsdGVyVHlwZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb24geyBcbiAgICB0eXBlOiBDb21wb25lbnRXaWRnZXRUeXBlO1xuICAgIGlkZW50aWZpZXI/OiBzdHJpbmc7XG4gICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkTGlzdD86IEZpbHRlckV4cHJlc3Npb25GaWVsZExpc3Q7XG4gICAgZmlsdGVyVHlwZT86IFNtYXJ0RmlsdGVyVHlwZTtcbn1cblxuXG5cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9hcGkvbW9kZWwvc21hcnRDb21wb25lbnRXaWRnZXREZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cbiAqIENvbnRhaW5zIGZvcm0gbGF5b3V0IGRlZmluaXRpb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRXaWRnZXRUeXBlIH0gZnJvbSAnLi9jb21wb25lbnRXaWRnZXRUeXBlJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZExpc3QgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGRMaXN0JztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZpbHRlci1lZGl0b3IvYXBpL21vZGVsL3NtYXJ0RmlsdGVyVHlwZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydENvbXBvbmVudFdpZGdldERlZmluaXRpb24geyBcbiAgICB0eXBlOiBDb21wb25lbnRXaWRnZXRUeXBlO1xuICAgIGlkZW50aWZpZXI/OiBzdHJpbmc7XG4gICAgZmlsdGVyRXhwcmVzc2lvbkZpZWxkTGlzdD86IEZpbHRlckV4cHJlc3Npb25GaWVsZExpc3Q7XG4gICAgZmlsdGVyVHlwZT86IFNtYXJ0RmlsdGVyVHlwZTtcbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdGhlIGNsaWVudCBtYXkgdXNlIHRvIGN1c3RvbWlzZSB0aGUgYXBwZWFyYW5jZSBvciBiZWhhdmlvdXIgb2YgdGhlIHdpZGdldC4gXG4gICAgICovXG4gICAgcHJvcGVydGllcz86IHsgW2tleTogc3RyaW5nXTogb2JqZWN0OyB9O1xufVxuXG5cblxuIl19
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Form layout definition
3
+ * Contains form layout definition objects.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: info@it4all.hu
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhclByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L2FwaS9tb2RlbC90b29sYmFyUHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3JtIGxheW91dCBkZWZpbml0aW9uXG4gKiBDb250YWlucyBmb3JtIGxheW91dCBkZWZpbml0aW9uIG9iamVjdHMuXG4gKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDEuMC4wXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGJhclByb3BlcnRpZXMgeyBcbiAgICBzY3JvbGxhYmxlPzogYm9vbGVhbjtcbn1cblxuIl19
@@ -294,13 +294,17 @@ export class SmartComponentLayoutComponent {
294
294
  if (this.toolbarId !== toolbarId) {
295
295
  this.toolbarId = toolbarId;
296
296
  }
297
+ let properties = this.smartComponentLayout?.widget?.properties;
298
+ if (properties && properties['toolbar_properties']) {
299
+ this.toolbarPropertes = properties['toolbar_properties'];
300
+ }
297
301
  }
298
302
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
299
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout", parentLayoutComponent: "parentLayoutComponent", parentSmartComponent: "parentSmartComponent", gridRow: "gridRow" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartMapList", predicate: ["map"], descendants: true }, { propertyName: "smartDiagramList", predicate: ["diagram"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "expandableComponents", predicate: ExpandableSectionComponent, descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar *ngIf=\"!!toolbarId\" #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { kind: "component", type: i4.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "component", type: i5.SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { kind: "component", type: i6.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap"] }, { kind: "component", type: i7.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i8.SmartMapComponent, selector: "smart-map", inputs: ["uuid", "identifier", "parent"] }, { kind: "component", type: i9.SmartDiagramComponent, selector: "smart-diagram", inputs: ["uuid", "identifier", "parent", "diagramModel", "options", "plugins"], outputs: ["elementSelect", "canvasClick", "dataClick"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }] }); }
303
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout", parentLayoutComponent: "parentLayoutComponent", parentSmartComponent: "parentSmartComponent", gridRow: "gridRow" }, viewQueries: [{ propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartMapList", predicate: ["map"], descendants: true }, { propertyName: "smartDiagramList", predicate: ["diagram"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "expandableComponents", predicate: ExpandableSectionComponent, descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar\r\n *ngIf=\"!!toolbarId\"\r\n #toolbar\r\n [id]=\"toolbarId\"\r\n [toolbarPropertes]=\"toolbarPropertes\"\r\n ></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { kind: "component", type: i4.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "component", type: i5.SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { kind: "component", type: i6.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i7.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i8.SmartMapComponent, selector: "smart-map", inputs: ["uuid", "identifier", "parent"] }, { kind: "component", type: i9.SmartDiagramComponent, selector: "smart-diagram", inputs: ["uuid", "identifier", "parent", "diagramModel", "options", "plugins"], outputs: ["elementSelect", "canvasClick", "dataClick"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }] }); }
300
304
  }
301
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
302
306
  type: Component,
303
- args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar *ngIf=\"!!toolbarId\" #toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
307
+ args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar\r\n *ngIf=\"!!toolbarId\"\r\n #toolbar\r\n [id]=\"toolbarId\"\r\n [toolbarPropertes]=\"toolbarPropertes\"\r\n ></smart-ui-action-toolbar>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
304
308
  }], ctorParameters: () => [{ type: i1.SmartformLayoutDefinitionService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { smartComponentLayout: [{
305
309
  type: Input
306
310
  }], parentLayoutComponent: [{
@@ -334,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
334
338
  type: ViewChildren,
335
339
  args: [SmartComponentLayoutComponent]
336
340
  }] } });
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQVFMLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEdBRWhCLE1BQU0sT0FBTyxDQUFDO0FBQ2YsT0FBTyxFQUVMLHdCQUF3QixHQUd6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFDTCxnQkFBZ0IsRUFHaEIsY0FBYyxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFHaEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyw2QkFBNkI7SUFvRHhDLFlBQ1UsYUFBK0MsRUFDL0MsT0FBb0IsRUFDcEIsUUFBb0I7UUFGcEIsa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQXREcEIs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudFR5cGUsXHJcbiAgQ29tcG9uZW50V2lkZ2V0VHlwZSxcclxuICBMYXlvdXREaXJlY3Rpb24sXHJcbiAgU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uLFxyXG59IGZyb20gJy4vYXBpJztcclxuaW1wb3J0IHtcclxuICBTbWFydEZvcm0sXHJcbiAgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Zm9ybUNvbXBvbmVudCxcclxuICBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBHcmlkVWlBY3Rpb25UeXBlLFxyXG4gIFNtYXJ0R3JpZCxcclxuICBTbWFydEdyaWRDb21wb25lbnQsXHJcbiAgU21hcnRMYXlvdXREZWYsXHJcbn0gZnJvbSAnLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsdGVyLCBTbWFydEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZpbHRlci9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7XHJcbiAgRXhwYW5kYWJsZVNlY3Rpb24sXHJcbiAgRXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQsXHJcbn0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJ2Zhc3QtZXF1YWxzJztcclxuaW1wb3J0IHsgU21hcnRTdHlsZVV0aWxpdHkgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvdXRpbGl0eS9zbWFydC1zdHlsZS11dGlsaXR5JztcclxuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RGlhZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWRpYWdyYW0vcHJvamVjdHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1jb21wb25lbnQtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgQElucHV0KCkgc21hcnRDb21wb25lbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcbiAgQElucHV0KCkgcGFyZW50TGF5b3V0Q29tcG9uZW50PzogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgcGFyZW50U21hcnRDb21wb25lbnQ6IGFueTtcclxuICBASW5wdXQoKSBncmlkUm93OiBhbnk7XHJcblxyXG4gIGN1cnJlbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcblxyXG4gIHV1aWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm0nKVxyXG4gIHNtYXJ0Rm9ybUxpc3QhOiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PjtcclxuICBzbWFydEZvcm1Db21wb25lbnQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdncmlkJylcclxuICBzbWFydEdyaWRMaXN0ITogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD47XHJcbiAgc21hcnRHcmlkQ29tcG9uZW50PzogU21hcnRHcmlkQ29tcG9uZW50O1xyXG4gIHNtYXJ0R3JpZD86IFNtYXJ0R3JpZDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignbWFwJylcclxuICBzbWFydE1hcExpc3QhOiBRdWVyeUxpc3Q8U21hcnRNYXBDb21wb25lbnQ+O1xyXG4gIHNtYXJ0TWFwQ29tcG9uZW50PzogU21hcnRNYXBDb21wb25lbnQ7XHJcbiAgbWFwSWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2RpYWdyYW0nKVxyXG4gIHNtYXJ0RGlhZ3JhbUxpc3QhOiBRdWVyeUxpc3Q8U21hcnREaWFncmFtQ29tcG9uZW50PjtcclxuICBzbWFydERpYWdyYW1Db21wb25lbnQ/OiBTbWFydERpYWdyYW1Db21wb25lbnQ7XHJcbiAgc21hcnREaWFncmFtSWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZpbHRlcicpXHJcbiAgc21hcnRGaWx0ZXJMaXN0ITogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PjtcclxuICBzbWFydEZpbHRlckNvbXBvbmVudD86IFNtYXJ0RmlsdGVyQ29tcG9uZW50O1xyXG4gIHNtYXJ0RmlsdGVyPzogU21hcnRGaWx0ZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ3Rvb2xiYXInKVxyXG4gIHRvb2xiYXJMaXN0ITogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcbiAgdG9vbGJhcj86IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudDtcclxuICB0b29sYmFySWQ/OiBzdHJpbmc7XHJcblxyXG4gIHRyZWVTZXJ2aWNlPzogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2U7XHJcblxyXG4gIGV4cGFuZGFibGVTZWN0aW9uPzogRXhwYW5kYWJsZVNlY3Rpb248U21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uPjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudClcclxuICBleHBhbmRhYmxlQ29tcG9uZW50cyE6IFF1ZXJ5TGlzdDxFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpXHJcbiAgY29tcG9uZW50cyE6IFF1ZXJ5TGlzdDxTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudD86IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyPzogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQodGhpcy5zbWFydEZvcm1MaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybUxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KHRoaXMuc21hcnRHcmlkTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEdyaWRMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0TWFwTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRNYXBDb21wb25lbnQodGhpcy5zbWFydE1hcExpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnRNYXBMaXN0LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKG1hcHMpID0+IHtcclxuICAgICAgdGhpcy5zZXRNYXBDb21wb25lbnQobWFwcy5maXJzdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydERpYWdyYW1MaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldERpYWdyYW1Db21wb25lbnQodGhpcy5zbWFydERpYWdyYW1MaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0RGlhZ3JhbUxpc3QuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoZGlhZ3JhbXMpID0+IHtcclxuICAgICAgdGhpcy5zZXREaWFncmFtQ29tcG9uZW50KGRpYWdyYW1zLmZpcnN0KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc21hcnRGaWx0ZXJMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCA9IGxpc3QuZmlyc3Q7XHJcbiAgICAgICAgICB0aGlzLmJpbmRGaWx0ZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldFRvb2xiYXJDb21wb25lbnQodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b29sYmFyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXAoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucGFyZW50U21hcnRDb21wb25lbnQgfHwgIXRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGRlZXBFcXVhbCh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LCB0aGlzLmN1cnJlbnRMYXlvdXQpKSB7XHJcbiAgICAgIC8vIG5vIGxheW91dCBjaGFuZ2UsIGtlZXAgY3VycmVudCBzdGF0ZVxyXG4gICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ID0gdGhpcy5jdXJyZW50TGF5b3V0O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBsYXlvdXQgY2hhbmdlZCwgcmVuZGVyLCBidXQgc2F2ZSBjdXJyZW50XHJcbiAgICAvLyB0aGlzLmN1cnJlbnRMYXlvdXQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpKTtcclxuICAgIHRoaXMuY3VycmVudExheW91dCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ7XHJcblxyXG4gICAgdGhpcy51dWlkID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC51dWlkO1xyXG4gICAgdGhpcy50cmVlU2VydmljZSA9IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQuc21hcnRUcmVlU2VydmljZTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb247XHJcblxyXG4gICAgLy8gdGhlIG5hdHVyZSBvZiB0aGUgbGF5b3V0IG1pZ2h0IGhhdmUgY2hhbmdlZCAoZS5nLiBmcm9tIEdSSUQgdG8gRk9STSksIHdlIG51bGwgb3V0IGV2ZXJ5XHJcbiAgICAvLyB0ZW1wbGF0ZS1yZWxhdGVkIGVsZW1lbnQsIHNvIG5vIHN0YWxlIGRhdGEgaXMgbGVmdCBvbiBzY3JlZW46XHJcbiAgICB0aGlzLmV4cGFuZGFibGVTZWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRHcmlkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0RmlsdGVyID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRHcmlkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50b29sYmFySWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRvb2xiYXIgPSB1bmRlZmluZWQ7XHJcbiAgICAvLyBudWxsIG91dCB0b29sYmFyP1xyXG4gICAgdGhpcy5tYXBJZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnREaWFncmFtSWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbigpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLkZPUk0pIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuV0lER0VUKSB7XHJcbiAgICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5HUklEKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RHcmlkKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRklMVEVSKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnRXaWRnZXRUeXBlLkZJTFRFUiBpcyBub3Qgc3VwcG9ydGVkJyk7XHJcbiAgICAgICAgLy8gdGhpcy5jb25zdHJ1Y3RGaWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UUkVFKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUcmVlKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuVE9PTEJBUikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0VG9vbGJhcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLk1BUCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0TWFwKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRElBR1JBTSkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWNEaWFncmFtKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5wYXJlbnRMYXlvdXRDb21wb25lbnQpIHtcclxuICAgICAgICAvLyBvbmx5IHRvcCBsZXZlbCBjb21wb25lbnQgc2hvdWxkIGNhbGwgaW5pdCBhY3Rpb25zXHJcbiAgICAgICAgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5pbml0QWN0aW9ucygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgU21hcnRTdHlsZVV0aWxpdHkuYXBwbHlTdHlsZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LnN0eWxlLCB0aGlzLmVsZW1lbnQsIHRoaXMucmVuZGVyZXIpO1xyXG4gIH1cclxuXHJcbiAgdHlwZSgpOiB0eXBlb2YgQ29tcG9uZW50VHlwZSB7XHJcbiAgICByZXR1cm4gQ29tcG9uZW50VHlwZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgbGV0IGRhdGE6IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiA9IHsgLi4udGhpcy5zbWFydENvbXBvbmVudExheW91dCEgfTtcclxuICAgIGRhdGEuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuZXhwYW5kYWJsZVNlY3Rpb24gPSB7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlU2VjdGlvbkxhYmVsID8/ICcnLFxyXG4gICAgICBpbnB1dHM6IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFtcclxuICAgICAgICBbJ3NtYXJ0Q29tcG9uZW50TGF5b3V0JywgZGF0YV0sXHJcbiAgICAgICAgWydwYXJlbnRTbWFydENvbXBvbmVudCcsIHRoaXMucGFyZW50U21hcnRDb21wb25lbnRdLFxyXG4gICAgICAgIFsncGFyZW50TGF5b3V0Q29tcG9uZW50JywgdGhpcy5wYXJlbnRMYXlvdXRDb21wb25lbnRdLFxyXG4gICAgICBdKSxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZm9ybSxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmdyaWRSb3cgJiYgIXRoaXMuZ3JpZFJvdy52YWx1ZVNldCkge1xyXG4gICAgICB0aGlzLmdyaWRSb3cudmFsdWVTZXRzID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5tb2RlbC52YWx1ZVNldHM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLmdldEZvcm1MYXlvdXQoKSxcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHRoaXMuZ3JpZFJvdyA/IHRoaXMuZ3JpZFJvdyA6IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/Lm1vZGVsLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtTGF5b3V0KCk6IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB7XHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb24gPT09IExheW91dERpcmVjdGlvbi5IT1JJWk9OVEFMXHJcbiAgICAgICAgPyBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XXHJcbiAgICAgICAgOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0w7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtQ29tcG9uZW50KGNvbXA6IFNtYXJ0Zm9ybUNvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtICYmIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmFkZEZvcm0oXHJcbiAgICAgICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmb3JtXHJcbiAgICAgICAgYGZvcm1fJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYWtlaWQobGVuZ3RoOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IGNoYXJhY3RlcnMubGVuZ3RoO1xyXG4gICAgbGV0IGNvdW50ZXIgPSAwO1xyXG4gICAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgICAgY291bnRlciArPSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEdyaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHtcclxuICAgICAgZ3JpZElkZW50aWZpZXI6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllciEsXHJcbiAgICAgIGdyaWRNb2RlbDoge1xyXG4gICAgICAgIHBhZ2U6IHt9LFxyXG4gICAgICB9LFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dERlZjogU21hcnRMYXlvdXREZWYuVEFCTEUsXHJcbiAgICAgIHBhZ2luYXRvcjogdHJ1ZSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kR3JpZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JpZENvbXBvbmVudChjb21wOiBTbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kR3JpZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZCAmJiB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmFkZEdyaWQoXHJcbiAgICAgICAgdGhpcy5zbWFydEdyaWQsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0TWFwKCkge1xyXG4gICAgdGhpcy5tYXBJZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIHRoaXMuYmluZE1hcCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWNEaWFncmFtKCkge1xyXG4gICAgdGhpcy5zbWFydERpYWdyYW1JZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIHRoaXMuYmluZERpYWdyYW0oKTtcclxuICB9XHJcblxyXG4gIHNldE1hcENvbXBvbmVudChjb21wOiBTbWFydE1hcENvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0TWFwQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRNYXBDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRNYXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpYWdyYW1Db21wb25lbnQoY29tcDogU21hcnREaWFncmFtQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuc21hcnREaWFncmFtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnREaWFncmFtQ29tcG9uZW50ID0gY29tcDtcclxuICAgICAgdGhpcy5iaW5kRGlhZ3JhbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmluZE1hcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUud2FybignTWFwIGNvbXBvbmVudHMgYXJlIG9ubHkgc3VwcG9ydGVkIHRocm91Z2ggUXVlcnlMaXN0cyEnKTtcclxuICB9XHJcblxyXG4gIGJpbmREaWFncmFtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQudXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS53YXJuKCdEaWFncmFtIGNvbXBvbmVudHMgYXJlIG9ubHkgc3VwcG9ydGVkIHRocm91Z2ggUXVlcnlMaXN0cyEnKTtcclxuICB9XHJcblxyXG4gIHNldFRvb2xiYXJDb21wb25lbnQoY29tcDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLnRvb2xiYXIgPSBjb21wO1xyXG4gIH1cclxuXHJcbiAgLy8gTk9UIFVTRUQsIERPRVNOJ1QgV09SS1xyXG4gIC8vIGNvbnN0cnVjdEZpbHRlcigpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc21hcnRGaWx0ZXIgPSAodGhpcy5zbWFydENvbXBvbmVudExheW91dCEucGFyZW50Q29tcG9uZW50IGFzIGFueSkuYWRkRmlsdGVyKFxyXG4gIC8vICAgICBgZmlsdGVyXyR7dGhpcy5tYWtlaWQoNSl9YCxcclxuICAvLyAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5maWx0ZXJFeHByZXNzaW9uRmllbGRMaXN0LFxyXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlclR5cGUsXHJcbiAgLy8gICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnRcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICBiaW5kRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ET1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VHJlZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQuc2V0VXBEZWZhdWx0VHJlZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXIpO1xyXG4gICAgdGhpcy50cmVlU2VydmljZT8uaW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VG9vbGJhcigpOiB2b2lkIHtcclxuICAgIGxldCB0b29sYmFySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XHJcbiAgICBpZiAodGhpcy50b29sYmFySWQgIT09IHRvb2xiYXJJZCkge1xyXG4gICAgICB0aGlzLnRvb2xiYXJJZCA9IHRvb2xiYXJJZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlOyB0aGVuIGV4cGFuZGFibGU7IGVsc2Ugbm9ybWFsXCI+IDwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNleHBhbmRhYmxlPlxyXG4gIDxzbWFydC1leHBhbmRhYmxlLXNlY3Rpb25cclxuICAgICpuZ0lmPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gICAgW2RhdGFdPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gID48L3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IHR5cGUoKS5DT05UQUlORVJcIlxyXG4gICAgW25nQ2xhc3NdPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbiA/PyAndmVydGljYWwnXCJcclxuICA+XHJcbiAgICA8c21hcnQtY29tcG9uZW50LWxheW91dFxyXG4gICAgICAqbmdGb3I9XCJsZXQgbGF5b3V0IG9mIHNtYXJ0Q29tcG9uZW50TGF5b3V0Py5jb21wb25lbnRzXCJcclxuICAgICAgW3BhcmVudFNtYXJ0Q29tcG9uZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcclxuICAgICAgW3BhcmVudExheW91dENvbXBvbmVudF09XCJ0aGlzXCJcclxuICAgICAgW3NtYXJ0Q29tcG9uZW50TGF5b3V0XT1cImxheW91dFwiXHJcbiAgICAgIFtncmlkUm93XT1cImdyaWRSb3dcIlxyXG4gICAgPjwvc21hcnQtY29tcG9uZW50LWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8c21hcnRmb3JtICpuZ0lmPVwic21hcnRGb3JtXCIgI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT5cclxuICA8c21hcnQtZ3JpZCAqbmdJZj1cInNtYXJ0R3JpZFwiICNncmlkIFtzbWFydEdyaWRdPVwic21hcnRHcmlkXCIgW3V1aWRdPVwidXVpZCFcIj48L3NtYXJ0LWdyaWQ+XHJcbiAgPHNtYXJ0LW1hcFxyXG4gICAgKm5nSWY9XCIhIXV1aWQgJiYgISFtYXBJZFwiXHJcbiAgICAjbWFwXHJcbiAgICBbdXVpZF09XCJ1dWlkXCJcclxuICAgIFtpZGVudGlmaWVyXT1cIm1hcElkXCJcclxuICAgIFtwYXJlbnRdPVwicGFyZW50U21hcnRDb21wb25lbnRcIlxyXG4gID48L3NtYXJ0LW1hcD5cclxuICA8c21hcnQtZGlhZ3JhbVxyXG4gICAgKm5nSWY9XCIhIXV1aWQgJiYgISFzbWFydERpYWdyYW1JZFwiXHJcbiAgICAjZGlhZ3JhbVxyXG4gICAgW3V1aWRdPVwidXVpZFwiXHJcbiAgICBbaWRlbnRpZmllcl09XCJzbWFydERpYWdyYW1JZFwiXHJcbiAgICBbcGFyZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcclxuICA+PC9zbWFydC1kaWFncmFtPlxyXG4gIDwhLS0gPHNtYXJ0LWZpbHRlciAjZmlsdGVyIFtmaWx0ZXJdPVwic21hcnRGaWx0ZXJcIj48L3NtYXJ0LWZpbHRlcj4gLS0+XHJcbiAgPHNtYXJ0LXRyZWUgKm5nSWY9XCJ0cmVlU2VydmljZVwiIFt0cmVlU2VydmljZV09XCJ0cmVlU2VydmljZSFcIj48L3NtYXJ0LXRyZWU+XHJcbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyICpuZ0lmPVwiISF0b29sYmFySWRcIiAjdG9vbGJhciBbaWRdPVwidG9vbGJhcklkXCI+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQVFMLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEdBR2hCLE1BQU0sT0FBTyxDQUFDO0FBQ2YsT0FBTyxFQUVMLHdCQUF3QixHQUd6QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFDTCxnQkFBZ0IsRUFHaEIsY0FBYyxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFHaEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyw2QkFBNkI7SUFxRHhDLFlBQ1UsYUFBK0MsRUFDL0MsT0FBb0IsRUFDcEIsUUFBb0I7UUFGcEIsa0JBQWEsR0FBYixhQUFhLENBQWtDO1FBQy9DLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQXZEcEIs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QUs7Z0JBTW5CLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxRQUFRO2dCQU10QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsU0FBUztnQkFXdkIsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFJeEMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBRdWVyeUxpc3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRUeXBlLFxyXG4gIENvbXBvbmVudFdpZGdldFR5cGUsXHJcbiAgTGF5b3V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbixcclxuICBUb29sYmFyUHJvcGVydGllcyxcclxufSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRGb3JtLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcclxuICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7XHJcbiAgR3JpZFVpQWN0aW9uVHlwZSxcclxuICBTbWFydEdyaWQsXHJcbiAgU21hcnRHcmlkQ29tcG9uZW50LFxyXG4gIFNtYXJ0TGF5b3V0RGVmLFxyXG59IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlciwgU21hcnRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIEV4cGFuZGFibGVTZWN0aW9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50LFxyXG59IGZyb20gJy4uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICdmYXN0LWVxdWFscyc7XHJcbmltcG9ydCB7IFNtYXJ0U3R5bGVVdGlsaXR5IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvc21hcnQtc3R5bGUtdXRpbGl0eSc7XHJcbmltcG9ydCB7IFNtYXJ0TWFwQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtbWFwL3NtYXJ0LW1hcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydERpYWdyYW1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc21hcnQtY29tcG9uZW50LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgcHJvdGVjdGVkIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIEBJbnB1dCgpIHNtYXJ0Q29tcG9uZW50TGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xyXG4gIEBJbnB1dCgpIHBhcmVudExheW91dENvbXBvbmVudD86IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIHBhcmVudFNtYXJ0Q29tcG9uZW50OiBhbnk7XHJcbiAgQElucHV0KCkgZ3JpZFJvdzogYW55O1xyXG5cclxuICBjdXJyZW50TGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xyXG5cclxuICB1dWlkPzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdmb3JtJylcclxuICBzbWFydEZvcm1MaXN0ITogUXVlcnlMaXN0PFNtYXJ0Zm9ybUNvbXBvbmVudD47XHJcbiAgc21hcnRGb3JtQ29tcG9uZW50PzogU21hcnRmb3JtQ29tcG9uZW50O1xyXG4gIHNtYXJ0Rm9ybT86IFNtYXJ0Rm9ybTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZ3JpZCcpXHJcbiAgc21hcnRHcmlkTGlzdCE6IFF1ZXJ5TGlzdDxTbWFydEdyaWRDb21wb25lbnQ+O1xyXG4gIHNtYXJ0R3JpZENvbXBvbmVudD86IFNtYXJ0R3JpZENvbXBvbmVudDtcclxuICBzbWFydEdyaWQ/OiBTbWFydEdyaWQ7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ21hcCcpXHJcbiAgc21hcnRNYXBMaXN0ITogUXVlcnlMaXN0PFNtYXJ0TWFwQ29tcG9uZW50PjtcclxuICBzbWFydE1hcENvbXBvbmVudD86IFNtYXJ0TWFwQ29tcG9uZW50O1xyXG4gIG1hcElkPzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdkaWFncmFtJylcclxuICBzbWFydERpYWdyYW1MaXN0ITogUXVlcnlMaXN0PFNtYXJ0RGlhZ3JhbUNvbXBvbmVudD47XHJcbiAgc21hcnREaWFncmFtQ29tcG9uZW50PzogU21hcnREaWFncmFtQ29tcG9uZW50O1xyXG4gIHNtYXJ0RGlhZ3JhbUlkPzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdmaWx0ZXInKVxyXG4gIHNtYXJ0RmlsdGVyTGlzdCE6IFF1ZXJ5TGlzdDxTbWFydEZpbHRlckNvbXBvbmVudD47XHJcbiAgc21hcnRGaWx0ZXJDb21wb25lbnQ/OiBTbWFydEZpbHRlckNvbXBvbmVudDtcclxuICBzbWFydEZpbHRlcj86IFNtYXJ0RmlsdGVyO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCd0b29sYmFyJylcclxuICB0b29sYmFyTGlzdCE6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+O1xyXG4gIHRvb2xiYXI/OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ7XHJcbiAgdG9vbGJhcklkPzogc3RyaW5nO1xyXG4gIHRvb2xiYXJQcm9wZXJ0ZXM/OiBUb29sYmFyUHJvcGVydGllcztcclxuXHJcbiAgdHJlZVNlcnZpY2U/OiBTbWFydHRyZWVHZW5lcmljU2VydmljZTtcclxuXHJcbiAgZXhwYW5kYWJsZVNlY3Rpb24/OiBFeHBhbmRhYmxlU2VjdGlvbjxTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50KVxyXG4gIGV4cGFuZGFibGVDb21wb25lbnRzITogUXVlcnlMaXN0PEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudClcclxuICBjb21wb25lbnRzITogUXVlcnlMaXN0PFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50PzogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI/OiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybUxpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudCh0aGlzLnNtYXJ0Rm9ybUxpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnRGb3JtTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxTbWFydGZvcm1Db21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRGb3JtQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydEdyaWRMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQodGhpcy5zbWFydEdyaWRMaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0R3JpZExpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRHcmlkQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0R3JpZENvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRNYXBMaXN0Py5maXJzdCkge1xyXG4gICAgICB0aGlzLnNldE1hcENvbXBvbmVudCh0aGlzLnNtYXJ0TWFwTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydE1hcExpc3QuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgobWFwcykgPT4ge1xyXG4gICAgICB0aGlzLnNldE1hcENvbXBvbmVudChtYXBzLmZpcnN0KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0RGlhZ3JhbUxpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0RGlhZ3JhbUNvbXBvbmVudCh0aGlzLnNtYXJ0RGlhZ3JhbUxpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnREaWFncmFtTGlzdC5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKChkaWFncmFtcykgPT4ge1xyXG4gICAgICB0aGlzLnNldERpYWdyYW1Db21wb25lbnQoZGlhZ3JhbXMuZmlyc3QpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zbWFydEZpbHRlckxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50ID0gbGlzdC5maXJzdDtcclxuICAgICAgICAgIHRoaXMuYmluZEZpbHRlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbGJhckxpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0VG9vbGJhckNvbXBvbmVudCh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvb2xiYXJMaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldFRvb2xiYXJDb21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudCB8fCAhdGhpcy5zbWFydENvbXBvbmVudExheW91dCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZGVlcEVxdWFsKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQsIHRoaXMuY3VycmVudExheW91dCkpIHtcclxuICAgICAgLy8gbm8gbGF5b3V0IGNoYW5nZSwga2VlcCBjdXJyZW50IHN0YXRlXHJcbiAgICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQgPSB0aGlzLmN1cnJlbnRMYXlvdXQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIGxheW91dCBjaGFuZ2VkLCByZW5kZXIsIGJ1dCBzYXZlIGN1cnJlbnRcclxuICAgIC8vIHRoaXMuY3VycmVudExheW91dCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5zbWFydENvbXBvbmVudExheW91dCkpO1xyXG4gICAgdGhpcy5jdXJyZW50TGF5b3V0ID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dDtcclxuXHJcbiAgICB0aGlzLnV1aWQgPSB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnV1aWQ7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5zbWFydFRyZWVTZXJ2aWNlO1xyXG5cclxuICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbjtcclxuXHJcbiAgICAvLyB0aGUgbmF0dXJlIG9mIHRoZSBsYXlvdXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIChlLmcuIGZyb20gR1JJRCB0byBGT1JNKSwgd2UgbnVsbCBvdXQgZXZlcnlcclxuICAgIC8vIHRlbXBsYXRlLXJlbGF0ZWQgZWxlbWVudCwgc28gbm8gc3RhbGUgZGF0YSBpcyBsZWZ0IG9uIHNjcmVlbjpcclxuICAgIHRoaXMuZXhwYW5kYWJsZVNlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEdyaWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRGaWx0ZXIgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEdyaWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnRvb2xiYXJJZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudG9vbGJhciA9IHVuZGVmaW5lZDtcclxuICAgIC8vIG51bGwgb3V0IHRvb2xiYXI/XHJcbiAgICB0aGlzLm1hcElkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydERpYWdyYW1JZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuRk9STSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdEZvcm0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gQ29tcG9uZW50VHlwZS5XSURHRVQpIHtcclxuICAgICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLkdSSUQpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdEdyaWQoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5GSUxURVIpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ0NvbXBvbmVudFdpZGdldFR5cGUuRklMVEVSIGlzIG5vdCBzdXBwb3J0ZWQnKTtcclxuICAgICAgICAvLyB0aGlzLmNvbnN0cnVjdEZpbHRlcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLlRSRUUpIHtcclxuICAgICAgICB0aGlzLmNvbnN0cnVjdFRyZWUoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UT09MQkFSKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUb29sYmFyKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuTUFQKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RNYXAoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5ESUFHUkFNKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y0RpYWdyYW0oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF0aGlzLnBhcmVudExheW91dENvbXBvbmVudCkge1xyXG4gICAgICAgIC8vIG9ubHkgdG9wIGxldmVsIGNvbXBvbmVudCBzaG91bGQgY2FsbCBpbml0IGFjdGlvbnNcclxuICAgICAgICB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LmluaXRBY3Rpb25zKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBTbWFydFN0eWxlVXRpbGl0eS5hcHBseVN0eWxlKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQuc3R5bGUsIHRoaXMuZWxlbWVudCwgdGhpcy5yZW5kZXJlcik7XHJcbiAgfVxyXG5cclxuICB0eXBlKCk6IHR5cGVvZiBDb21wb25lbnRUeXBlIHtcclxuICAgIHJldHVybiBDb21wb25lbnRUeXBlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0RXhwYW5kYWJsZVNlY3Rpb24oKTogdm9pZCB7XHJcbiAgICBsZXQgZGF0YTogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uID0geyAuLi50aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0ISB9O1xyXG4gICAgZGF0YS5leHBhbmRhYmxlID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5leHBhbmRhYmxlU2VjdGlvbiA9IHtcclxuICAgICAgdGl0bGU6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGVTZWN0aW9uTGFiZWwgPz8gJycsXHJcbiAgICAgIGlucHV0czogbmV3IE1hcDxzdHJpbmcsIGFueT4oW1xyXG4gICAgICAgIFsnc21hcnRDb21wb25lbnRMYXlvdXQnLCBkYXRhXSxcclxuICAgICAgICBbJ3BhcmVudFNtYXJ0Q29tcG9uZW50JywgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudF0sXHJcbiAgICAgICAgWydwYXJlbnRMYXlvdXRDb21wb25lbnQnLCB0aGlzLnBhcmVudExheW91dENvbXBvbmVudF0sXHJcbiAgICAgIF0pLFxyXG4gICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEZvcm0oKTogdm9pZCB7XHJcbiAgICBjb25zdCB3aWRnZXRzID0gdGhpcy5sYXlvdXRTZXJ2aWNlLnJlbmRlcih7XHJcbiAgICAgIGxheW91dERlZmluaXRpb25zOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5mb3JtLFxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuZ3JpZFJvdyAmJiAhdGhpcy5ncmlkUm93LnZhbHVlU2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JpZFJvdy52YWx1ZVNldHMgPSB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Lm1vZGVsLnZhbHVlU2V0cztcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnRGb3JtID0ge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuZ2V0Rm9ybUxheW91dCgpLFxyXG4gICAgICBjb21wb25lbnRNb2RlbDogdGhpcy5ncmlkUm93ID8gdGhpcy5ncmlkUm93IDogdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8ubW9kZWwsXHJcbiAgICAgIHdpZGdldHMsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuYmluZEZvcm0oKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm1MYXlvdXQoKTogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLkhPUklaT05UQUxcclxuICAgICAgICA/IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5ST1dcclxuICAgICAgICA6IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0w7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTDtcclxuICB9XHJcblxyXG4gIHNldEZvcm1Db21wb25lbnQoY29tcDogU21hcnRmb3JtQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuc21hcnRGb3JtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50ID0gY29tcDtcclxuICAgICAgdGhpcy5iaW5kRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmluZEZvcm0oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8udXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm0gJiYgdGhpcy5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8uYWRkRm9ybShcclxuICAgICAgICAvLyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm1cclxuICAgICAgICBgZm9ybV8ke3RoaXMubWFrZWlkKDUpfWAsXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0sXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1ha2VpZChsZW5ndGg6IG51bWJlcikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XHJcbiAgICBsZXQgY291bnRlciA9IDA7XHJcbiAgICB3aGlsZSAoY291bnRlciA8IGxlbmd0aCkge1xyXG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xyXG4gICAgICBjb3VudGVyICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0R3JpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc21hcnRHcmlkID0ge1xyXG4gICAgICBncmlkSWRlbnRpZmllcjogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyISxcclxuICAgICAgZ3JpZE1vZGVsOiB7XHJcbiAgICAgICAgcGFnZToge30sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgfSxcclxuICAgICAgbGF5b3V0RGVmOiBTbWFydExheW91dERlZi5UQUJMRSxcclxuICAgICAgcGFnaW5hdG9yOiB0cnVlLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRHcmlkQ29tcG9uZW50KGNvbXA6IFNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEdyaWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRHcmlkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc21hcnRHcmlkICYmIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRHcmlkID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8uYWRkR3JpZChcclxuICAgICAgICB0aGlzLnNtYXJ0R3JpZCxcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3dVaUFjdGlvblR5cGU6IEdyaWRVaUFjdGlvblR5cGUuUE9QVVBfTUVOVSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICAgIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RNYXAoKSB7XHJcbiAgICB0aGlzLm1hcElkID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyO1xyXG4gICAgdGhpcy5iaW5kTWFwKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y0RpYWdyYW0oKSB7XHJcbiAgICB0aGlzLnNtYXJ0RGlhZ3JhbUlkID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyO1xyXG4gICAgdGhpcy5iaW5kRGlhZ3JhbSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFwQ29tcG9uZW50KGNvbXA6IFNtYXJ0TWFwQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuc21hcnRNYXBDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydE1hcENvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGlhZ3JhbUNvbXBvbmVudChjb21wOiBTbWFydERpYWdyYW1Db21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydERpYWdyYW1Db21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydERpYWdyYW1Db21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmREaWFncmFtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kTWFwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQudXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS53YXJuKCdNYXAgY29tcG9uZW50cyBhcmUgb25seSBzdXBwb3J0ZWQgdGhyb3VnaCBRdWVyeUxpc3RzIScpO1xyXG4gIH1cclxuXHJcbiAgYmluZERpYWdyYW0oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLndhcm4oJ0RpYWdyYW0gY29tcG9uZW50cyBhcmUgb25seSBzdXBwb3J0ZWQgdGhyb3VnaCBRdWVyeUxpc3RzIScpO1xyXG4gIH1cclxuXHJcbiAgc2V0VG9vbGJhckNvbXBvbmVudChjb21wOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQpIHtcclxuICAgIHRoaXMudG9vbGJhciA9IGNvbXA7XHJcbiAgfVxyXG5cclxuICAvLyBOT1QgVVNFRCwgRE9FU04nVCBXT1JLXHJcbiAgLy8gY29uc3RydWN0RmlsdGVyKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5zbWFydEZpbHRlciA9ICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0IS5wYXJlbnRDb21wb25lbnQgYXMgYW55KS5hZGRGaWx0ZXIoXHJcbiAgLy8gICAgIGBmaWx0ZXJfJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlckV4cHJlc3Npb25GaWVsZExpc3QsXHJcbiAgLy8gICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uZmlsdGVyVHlwZSxcclxuICAvLyAgICAgdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudFxyXG4gIC8vICAgKTtcclxuICAvLyB9XHJcblxyXG4gIGJpbmRGaWx0ZXIoKTogdm9pZCB7XHJcbiAgICAvLyBUT0RPXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RUcmVlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5zZXRVcERlZmF1bHRUcmVlKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcik7XHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlPy5pbml0aWFsaXplKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RUb29sYmFyKCk6IHZvaWQge1xyXG4gICAgbGV0IHRvb2xiYXJJZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIGlmICh0aGlzLnRvb2xiYXJJZCAhPT0gdG9vbGJhcklkKSB7XHJcbiAgICAgIHRoaXMudG9vbGJhcklkID0gdG9vbGJhcklkO1xyXG4gICAgfVxyXG4gICAgbGV0IHByb3BlcnRpZXMgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LnByb3BlcnRpZXM7XHJcbiAgICBpZiAocHJvcGVydGllcyAmJiBwcm9wZXJ0aWVzWyd0b29sYmFyX3Byb3BlcnRpZXMnXSkge1xyXG4gICAgICB0aGlzLnRvb2xiYXJQcm9wZXJ0ZXMgPSBwcm9wZXJ0aWVzWyd0b29sYmFyX3Byb3BlcnRpZXMnXTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlOyB0aGVuIGV4cGFuZGFibGU7IGVsc2Ugbm9ybWFsXCI+IDwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNleHBhbmRhYmxlPlxyXG4gIDxzbWFydC1leHBhbmRhYmxlLXNlY3Rpb25cclxuICAgICpuZ0lmPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gICAgW2RhdGFdPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxyXG4gID48L3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbm9ybWFsPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IHR5cGUoKS5DT05UQUlORVJcIlxyXG4gICAgW25nQ2xhc3NdPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmRpcmVjdGlvbiA/PyAndmVydGljYWwnXCJcclxuICA+XHJcbiAgICA8c21hcnQtY29tcG9uZW50LWxheW91dFxyXG4gICAgICAqbmdGb3I9XCJsZXQgbGF5b3V0IG9mIHNtYXJ0Q29tcG9uZW50TGF5b3V0Py5jb21wb25lbnRzXCJcclxuICAgICAgW3BhcmVudFNtYXJ0Q29tcG9uZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcclxuICAgICAgW3BhcmVudExheW91dENvbXBvbmVudF09XCJ0aGlzXCJcclxuICAgICAgW3NtYXJ0Q29tcG9uZW50TGF5b3V0XT1cImxheW91dFwiXHJcbiAgICAgIFtncmlkUm93XT1cImdyaWRSb3dcIlxyXG4gICAgPjwvc21hcnQtY29tcG9uZW50LWxheW91dD5cclxuICA8L2Rpdj5cclxuICA8c21hcnRmb3JtICpuZ0lmPVwic21hcnRGb3JtXCIgI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT5cclxuICA8c21hcnQtZ3JpZCAqbmdJZj1cInNtYXJ0R3JpZFwiICNncmlkIFtzbWFydEdyaWRdPVwic21hcnRHcmlkXCIgW3V1aWRdPVwidXVpZCFcIj48L3NtYXJ0LWdyaWQ+XHJcbiAgPHNtYXJ0LW1hcFxyXG4gICAgKm5nSWY9XCIhIXV1aWQgJiYgISFtYXBJZFwiXHJcbiAgICAjbWFwXHJcbiAgICBbdXVpZF09XCJ1dWlkXCJcclxuICAgIFtpZGVudGlmaWVyXT1cIm1hcElkXCJcclxuICAgIFtwYXJlbnRdPVwicGFyZW50U21hcnRDb21wb25lbnRcIlxyXG4gID48L3NtYXJ0LW1hcD5cclxuICA8c21hcnQtZGlhZ3JhbVxyXG4gICAgKm5nSWY9XCIhIXV1aWQgJiYgISFzbWFydERpYWdyYW1JZFwiXHJcbiAgICAjZGlhZ3JhbVxyXG4gICAgW3V1aWRdPVwidXVpZFwiXHJcbiAgICBbaWRlbnRpZmllcl09XCJzbWFydERpYWdyYW1JZFwiXHJcbiAgICBbcGFyZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcclxuICA+PC9zbWFydC1kaWFncmFtPlxyXG4gIDwhLS0gPHNtYXJ0LWZpbHRlciAjZmlsdGVyIFtmaWx0ZXJdPVwic21hcnRGaWx0ZXJcIj48L3NtYXJ0LWZpbHRlcj4gLS0+XHJcbiAgPHNtYXJ0LXRyZWUgKm5nSWY9XCJ0cmVlU2VydmljZVwiIFt0cmVlU2VydmljZV09XCJ0cmVlU2VydmljZSFcIj48L3NtYXJ0LXRyZWU+XHJcbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyXHJcbiAgICAqbmdJZj1cIiEhdG9vbGJhcklkXCJcclxuICAgICN0b29sYmFyXHJcbiAgICBbaWRdPVwidG9vbGJhcklkXCJcclxuICAgIFt0b29sYmFyUHJvcGVydGVzXT1cInRvb2xiYXJQcm9wZXJ0ZXNcIlxyXG4gID48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -105,6 +105,33 @@ export const stackedBarChart = {
105
105
  }),
106
106
  transformData: transformDataToBasicDataSets,
107
107
  };
108
+ export const horizontalStackedBarChart = {
109
+ chartType: 'horizontalStackedBar',
110
+ chartJsType: 'bar',
111
+ createOptions: () => deepMerge(createBasicOptions(), {
112
+ indexAxis: 'y',
113
+ scales: {
114
+ x: { stacked: true },
115
+ y: {
116
+ stacked: true,
117
+ ticks: {
118
+ autoSkip: false,
119
+ callback: function (value, index, ticks) {
120
+ const label = this.getLabelForValue(value);
121
+ const max = 10;
122
+ if (!label)
123
+ return '';
124
+ if (label.length <= max)
125
+ return label;
126
+ return label.split(' ');
127
+ },
128
+ },
129
+ },
130
+ },
131
+ layout: { padding: { right: 5 } },
132
+ }),
133
+ transformData: transformDataToBasicDataSets,
134
+ };
108
135
  export const pieChart = {
109
136
  chartType: 'pie',
110
137
  chartJsType: 'pie',
@@ -282,4 +309,4 @@ function generateRandomColor() {
282
309
  const random = Math.floor(Math.random() * 16777215).toString(16);
283
310
  return `#${'000000'.substring(0, 6 - random.length) + random}`;
284
311
  }
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zbWFydC1kaWFncmFtLW9wdGlvbnMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUM7QUFTbkcsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQStCO0lBQzFFLE9BQU87UUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBK0I7SUFDM0UsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFT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ckMsU0FBUyxFQUFFLFNBQVM7WUFDcEIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsYUFBYSxFQUFFLDRCQUE0QjtZQUMzQyxhQUFhLEVBQUUsa0JBQWtCO1NBQ2xDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBbkJVLDJCQUEyQixrQkFHNUIsc0JBQXNCO21IQUhyQiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixRQUFROztBQWtCYixTQUFTLG1CQUFtQjtJQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWdyYW1EYXRhQ29udGFpbmVyIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi9zbWFydC1kaWFncmFtLnV0aWwnO1xyXG5pbXBvcnQgeyBYIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbGF5b3V0cyB9IGZyb20gJ2NoYXJ0LmpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRElBR1JBTV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERpYWdyYW1GYWN0b3J5PignQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtRmFjdG9yeSB7XHJcbiAgcmVhZG9ubHkgY2hhcnRUeXBlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgY2hhcnRKc1R5cGU6IHN0cmluZztcclxuICBjcmVhdGVPcHRpb25zKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnk7XHJcbiAgdHJhbnNmb3JtRGF0YShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyhjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0KGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnhWYWx1ZSksXHJcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpKSxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKSksXHJcbiAgICAgIH07XHJcbiAgICB9KSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvU2NhdHRlcihjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0J1YmJsZShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgICByOiBpdGVtLnJWYWx1ZSA/PyA1LFxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcclxuICAgICAgfTtcclxuICAgIH0pLFxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2ljT3B0aW9ucygpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBzY2FsZXM6IHtcclxuICAgICAgeToge1xyXG4gICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGRldmljZVBpeGVsUmF0aW86IDIsXHJcbiAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdiYXInLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYmFyJyxcclxuICBjcmVhdGVPcHRpb25zOiBjcmVhdGVCYXNpY09wdGlvbnMsXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaG9yaXpvbnRhbEJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdob3Jpem9udGFsQmFyJyxcclxuICBjaGFydEpzVHlwZTogJ2JhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cclxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xyXG4gICAgICBpbmRleEF4aXM6ICd5JyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgcmlnaHQ6IDUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pLFxyXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHN0YWNrZWRCYXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc3RhY2tlZEJhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdiYXInLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+XHJcbiAgICBkZWVwTWVyZ2UoY3JlYXRlQmFzaWNPcHRpb25zKCksIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgICAgeTogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBpZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdwaWUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAncGllJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICByYWRpdXM6ICc5NSUnLFxyXG4gICAgICBsYXlvdXQ6IHtcclxuICAgICAgICBwYWRkaW5nOiAwLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMSxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3VnaG51dENoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdkb3VnaG51dCcsXHJcbiAgY2hhcnRKc1R5cGU6ICdkb3VnaG51dCcsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcmFkaXVzOiAnOTUlJyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzogMCxcclxuICAgICAgfSxcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcG9sYXJBcmVhQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogJ3BvbGFyQXJlYScsXHJcbiAgY2hhcnRKc1R5cGU6ICdwb2xhckFyZWEnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHJhZGl1czogJzk1JScsXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IDAsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFzcGVjdFJhdGlvOiAxLFxyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcclxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+ICh7XHJcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ueFZhbHVlKSxcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLml0ZW1Db2xvciksXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByYWRhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdyYWRhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdyYWRhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IGRhdGFzZXQuY29sb3IsXHJcbiAgICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogJyMwMDAwMDAnLFxyXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjYXR0ZXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc2NhdHRlcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdzY2F0dGVyJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9TY2F0dGVyLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGJ1YmJsZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdidWJibGUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYnViYmxlJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CdWJibGUsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbXVsdGlBeGlzTGluZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdtdWx0aUF4aXNMaW5lJyxcclxuICBjaGFydEpzVHlwZTogJ2xpbmUnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIGNvbnN0IHlBeGVzID0gY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCwgaW5kZXgpID0+ICh7XHJcbiAgICAgIGlkOiBgeSR7aW5kZXggPT0gMSA/ICcnIDogaW5kZXh9YCxcclxuICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgIHBvc2l0aW9uOiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnLFxyXG4gICAgfSkpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgLi4ueUF4ZXMucmVkdWNlKChhY2M6IGFueSwgYXhpcykgPT4ge1xyXG4gICAgICAgICAgYWNjW2F4aXMuaWRdID0gYXhpcztcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSwge30pLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0LCBpbmRleCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIHlBeGlzSUQ6IGB5JHtpbmRleCA9PSAxID8gJycgOiBpbmRleH1gLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3JpZXNCeVR5cGU6IE1hcDxzdHJpbmcsIERpYWdyYW1GYWN0b3J5PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUylcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBmYWN0b3JpZXM6IERpYWdyYW1GYWN0b3J5W10gfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlID0gbmV3IE1hcChmYWN0b3JpZXM/Lm1hcCgoZikgPT4gW2YuY2hhcnRUeXBlLCBmXSkgPz8gW10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeShjaGFydFR5cGU6IHN0cmluZyk6IERpYWdyYW1GYWN0b3J5IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlLmdldChjaGFydFR5cGUpID8/IHtcclxuICAgICAgICBjaGFydFR5cGU6IGNoYXJ0VHlwZSxcclxuICAgICAgICBjaGFydEpzVHlwZTogY2hhcnRUeXBlLFxyXG4gICAgICAgIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhc2ljRGF0YVNldHMsXHJcbiAgICAgICAgY3JlYXRlT3B0aW9uczogY3JlYXRlQmFzaWNPcHRpb25zLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21Db2xvcigpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2Nzc3MjE1KS50b1N0cmluZygxNik7XHJcbiAgcmV0dXJuIGAjJHsnMDAwMDAwJy5zdWJzdHJpbmcoMCwgNiAtIHJhbmRvbS5sZW5ndGgpICsgcmFuZG9tfWA7XHJcbn1cclxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zbWFydC1kaWFncmFtLW9wdGlvbnMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUM7QUFTbkcsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQStCO0lBQzFFLE9BQU87UUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBK0I7SUFDM0UsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFT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QUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixRQUFROztBQWtCYixTQUFTLG1CQUFtQjtJQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWdyYW1EYXRhQ29udGFpbmVyIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi9zbWFydC1kaWFncmFtLnV0aWwnO1xyXG5pbXBvcnQgeyBYIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbGF5b3V0cyB9IGZyb20gJ2NoYXJ0LmpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRElBR1JBTV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERpYWdyYW1GYWN0b3J5PignQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtRmFjdG9yeSB7XHJcbiAgcmVhZG9ubHkgY2hhcnRUeXBlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgY2hhcnRKc1R5cGU6IHN0cmluZztcclxuICBjcmVhdGVPcHRpb25zKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnk7XHJcbiAgdHJhbnNmb3JtRGF0YShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyhjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0KGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnhWYWx1ZSksXHJcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpKSxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKSksXHJcbiAgICAgIH07XHJcbiAgICB9KSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvU2NhdHRlcihjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0J1YmJsZShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgICByOiBpdGVtLnJWYWx1ZSA/PyA1LFxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcclxuICAgICAgfTtcclxuICAgIH0pLFxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2ljT3B0aW9ucygpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBzY2FsZXM6IHtcclxuICAgICAgeToge1xyXG4gICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGRldmljZVBpeGVsUmF0aW86IDIsXHJcbiAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdiYXInLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYmFyJyxcclxuICBjcmVhdGVPcHRpb25zOiBjcmVhdGVCYXNpY09wdGlvbnMsXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaG9yaXpvbnRhbEJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdob3Jpem9udGFsQmFyJyxcclxuICBjaGFydEpzVHlwZTogJ2JhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cclxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xyXG4gICAgICBpbmRleEF4aXM6ICd5JyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgcmlnaHQ6IDUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pLFxyXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHN0YWNrZWRCYXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc3RhY2tlZEJhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdiYXInLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+XHJcbiAgICBkZWVwTWVyZ2UoY3JlYXRlQmFzaWNPcHRpb25zKCksIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgICAgeTogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGhvcml6b250YWxTdGFja2VkQmFyQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogJ2hvcml6b250YWxTdGFja2VkQmFyJyxcclxuICBjaGFydEpzVHlwZTogJ2JhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cclxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xyXG4gICAgICBpbmRleEF4aXM6ICd5JyxcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgICAgeToge1xyXG4gICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgIGF1dG9Ta2lwOiBmYWxzZSxcclxuICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICh2YWx1ZTogYW55LCBpbmRleDogYW55LCB0aWNrczogYW55KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSAodGhpcyBhcyBhbnkpLmdldExhYmVsRm9yVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1heCA9IDEwO1xyXG4gICAgICAgICAgICAgIGlmICghbGFiZWwpIHJldHVybiAnJztcclxuICAgICAgICAgICAgICBpZiAobGFiZWwubGVuZ3RoIDw9IG1heCkgcmV0dXJuIGxhYmVsO1xyXG4gICAgICAgICAgICAgIHJldHVybiBsYWJlbC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBsYXlvdXQ6IHsgcGFkZGluZzogeyByaWdodDogNSB9IH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBpZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdwaWUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAncGllJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICByYWRpdXM6ICc5NSUnLFxyXG4gICAgICBsYXlvdXQ6IHtcclxuICAgICAgICBwYWRkaW5nOiAwLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMSxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3VnaG51dENoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdkb3VnaG51dCcsXHJcbiAgY2hhcnRKc1R5cGU6ICdkb3VnaG51dCcsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcmFkaXVzOiAnOTUlJyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzogMCxcclxuICAgICAgfSxcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcG9sYXJBcmVhQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogJ3BvbGFyQXJlYScsXHJcbiAgY2hhcnRKc1R5cGU6ICdwb2xhckFyZWEnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHJhZGl1czogJzk1JScsXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IDAsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFzcGVjdFJhdGlvOiAxLFxyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcclxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+ICh7XHJcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ueFZhbHVlKSxcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLml0ZW1Db2xvciksXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByYWRhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdyYWRhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdyYWRhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IGRhdGFzZXQuY29sb3IsXHJcbiAgICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogJyMwMDAwMDAnLFxyXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjYXR0ZXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc2NhdHRlcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdzY2F0dGVyJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9TY2F0dGVyLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGJ1YmJsZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdidWJibGUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYnViYmxlJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CdWJibGUsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbXVsdGlBeGlzTGluZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdtdWx0aUF4aXNMaW5lJyxcclxuICBjaGFydEpzVHlwZTogJ2xpbmUnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIGNvbnN0IHlBeGVzID0gY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCwgaW5kZXgpID0+ICh7XHJcbiAgICAgIGlkOiBgeSR7aW5kZXggPT0gMSA/ICcnIDogaW5kZXh9YCxcclxuICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgIHBvc2l0aW9uOiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnLFxyXG4gICAgfSkpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgLi4ueUF4ZXMucmVkdWNlKChhY2M6IGFueSwgYXhpcykgPT4ge1xyXG4gICAgICAgICAgYWNjW2F4aXMuaWRdID0gYXhpcztcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSwge30pLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0LCBpbmRleCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIHlBeGlzSUQ6IGB5JHtpbmRleCA9PSAxID8gJycgOiBpbmRleH1gLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3JpZXNCeVR5cGU6IE1hcDxzdHJpbmcsIERpYWdyYW1GYWN0b3J5PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUylcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBmYWN0b3JpZXM6IERpYWdyYW1GYWN0b3J5W10gfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlID0gbmV3IE1hcChmYWN0b3JpZXM/Lm1hcCgoZikgPT4gW2YuY2hhcnRUeXBlLCBmXSkgPz8gW10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeShjaGFydFR5cGU6IHN0cmluZyk6IERpYWdyYW1GYWN0b3J5IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlLmdldChjaGFydFR5cGUpID8/IHtcclxuICAgICAgICBjaGFydFR5cGU6IGNoYXJ0VHlwZSxcclxuICAgICAgICBjaGFydEpzVHlwZTogY2hhcnRUeXBlLFxyXG4gICAgICAgIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhc2ljRGF0YVNldHMsXHJcbiAgICAgICAgY3JlYXRlT3B0aW9uczogY3JlYXRlQmFzaWNPcHRpb25zLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21Db2xvcigpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2Nzc3MjE1KS50b1N0cmluZygxNik7XHJcbiAgcmV0dXJuIGAjJHsnMDAwMDAwJy5zdWJzdHJpbmcoMCwgNiAtIHJhbmRvbS5sZW5ndGgpICsgcmFuZG9tfWA7XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { BrowserModule } from '@angular/platform-browser';
3
3
  import { ChartModule } from 'primeng/chart';
4
- import { DefaultChartOptionsProvider as DefaultDiagramOptionsProvider, CUSTOM_DIAGRAM_OPTIONS, barChart, scatterChart, bubbleChart, horizontalBarChart, stackedBarChart, multiAxisLineChart, polarAreaChart, radarChart, doughnutChart, pieChart, } from './default-smart-diagram-options.provider';
4
+ import { DefaultChartOptionsProvider as DefaultDiagramOptionsProvider, CUSTOM_DIAGRAM_OPTIONS, barChart, scatterChart, bubbleChart, horizontalBarChart, stackedBarChart, multiAxisLineChart, polarAreaChart, radarChart, doughnutChart, pieChart, horizontalStackedBarChart, } from './default-smart-diagram-options.provider';
5
5
  import { SmartDiagramComponent } from './smart-diagram.component';
6
6
  import * as i0 from "@angular/core";
7
7
  const DEFAULT_PROVIDERS = [
@@ -11,6 +11,7 @@ const DEFAULT_PROVIDERS = [
11
11
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: bubbleChart, multi: true },
12
12
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: horizontalBarChart, multi: true },
13
13
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: stackedBarChart, multi: true },
14
+ { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: horizontalStackedBarChart, multi: true },
14
15
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: multiAxisLineChart, multi: true },
15
16
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: polarAreaChart, multi: true },
16
17
  { provide: CUSTOM_DIAGRAM_OPTIONS, useValue: radarChart, multi: true },
@@ -36,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
36
37
  exports: [SmartDiagramComponent],
37
38
  }]
38
39
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGlhZ3JhbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9zbWFydC1kaWFncmFtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsMkJBQTJCLElBQUksNkJBQTZCLEVBQzVELHNCQUFzQixFQUN0QixRQUFRLEVBQ1IsWUFBWSxFQUNaLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGFBQWEsRUFDYixRQUFRLEdBQ1QsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEUsTUFBTSxpQkFBaUIsR0FBZTtJQUNwQyw2QkFBNkI7SUFDN0IsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUN4RSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDdkUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDOUUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQzNFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQzlFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUMxRSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDdEUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3pFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUNyRSxDQUFDO0FBT0YsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQXFCO1FBQ2xDLE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7K0dBTlUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBSmQscUJBQXFCLGFBQzFCLGFBQWEsRUFBRSxXQUFXLGFBQzFCLHFCQUFxQjtnSEFFcEIsa0JBQWtCLFlBSG5CLGFBQWEsRUFBRSxXQUFXOzs0RkFHekIsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDaGFydE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hhcnQnO1xyXG5pbXBvcnQge1xyXG4gIERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlciBhcyBEZWZhdWx0RGlhZ3JhbU9wdGlvbnNQcm92aWRlcixcclxuICBDVVNUT01fRElBR1JBTV9PUFRJT05TLFxyXG4gIGJhckNoYXJ0LFxyXG4gIHNjYXR0ZXJDaGFydCxcclxuICBidWJibGVDaGFydCxcclxuICBob3Jpem9udGFsQmFyQ2hhcnQsXHJcbiAgc3RhY2tlZEJhckNoYXJ0LFxyXG4gIG11bHRpQXhpc0xpbmVDaGFydCxcclxuICBwb2xhckFyZWFDaGFydCxcclxuICByYWRhckNoYXJ0LFxyXG4gIGRvdWdobnV0Q2hhcnQsXHJcbiAgcGllQ2hhcnQsXHJcbn0gZnJvbSAnLi9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlcic7XHJcbmltcG9ydCB7IFNtYXJ0RGlhZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZGlhZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgREVGQVVMVF9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXHJcbiAgRGVmYXVsdERpYWdyYW1PcHRpb25zUHJvdmlkZXIsXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogYmFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogc2NhdHRlckNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IGJ1YmJsZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IGhvcml6b250YWxCYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9ESUFHUkFNX09QVElPTlMsIHVzZVZhbHVlOiBzdGFja2VkQmFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogbXVsdGlBeGlzTGluZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IHBvbGFyQXJlYUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IHJhZGFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogZG91Z2hudXRDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9ESUFHUkFNX09QVElPTlMsIHVzZVZhbHVlOiBwaWVDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU21hcnREaWFncmFtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgQ2hhcnRNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtTbWFydERpYWdyYW1Db21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnREaWFncmFtTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChwcm92aWRlcnM6IFByb3ZpZGVyW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNtYXJ0RGlhZ3JhbU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNtYXJ0RGlhZ3JhbU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbLi4uREVGQVVMVF9QUk9WSURFUlMsIC4uLnByb3ZpZGVyc10sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGlhZ3JhbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9zbWFydC1kaWFncmFtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsMkJBQTJCLElBQUksNkJBQTZCLEVBQzVELHNCQUFzQixFQUN0QixRQUFRLEVBQ1IsWUFBWSxFQUNaLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGFBQWEsRUFDYixRQUFRLEVBQ1IseUJBQXlCLEdBQzFCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFLE1BQU0saUJBQWlCLEdBQWU7SUFDcEMsNkJBQTZCO0lBQzdCLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUNwRSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDeEUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3ZFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQzlFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUMzRSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUNyRixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUM5RSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDMUUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0lBQ3RFLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUN6RSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Q0FDckUsQ0FBQztBQU9GLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFxQjtRQUNsQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsU0FBUyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDOytHQU5VLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQUpkLHFCQUFxQixhQUMxQixhQUFhLEVBQUUsV0FBVyxhQUMxQixxQkFBcUI7Z0hBRXBCLGtCQUFrQixZQUhuQixhQUFhLEVBQUUsV0FBVzs7NEZBR3pCLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQ2hhcnRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoYXJ0JztcclxuaW1wb3J0IHtcclxuICBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIgYXMgRGVmYXVsdERpYWdyYW1PcHRpb25zUHJvdmlkZXIsXHJcbiAgQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUyxcclxuICBiYXJDaGFydCxcclxuICBzY2F0dGVyQ2hhcnQsXHJcbiAgYnViYmxlQ2hhcnQsXHJcbiAgaG9yaXpvbnRhbEJhckNoYXJ0LFxyXG4gIHN0YWNrZWRCYXJDaGFydCxcclxuICBtdWx0aUF4aXNMaW5lQ2hhcnQsXHJcbiAgcG9sYXJBcmVhQ2hhcnQsXHJcbiAgcmFkYXJDaGFydCxcclxuICBkb3VnaG51dENoYXJ0LFxyXG4gIHBpZUNoYXJ0LFxyXG4gIGhvcml6b250YWxTdGFja2VkQmFyQ2hhcnQsXHJcbn0gZnJvbSAnLi9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlcic7XHJcbmltcG9ydCB7IFNtYXJ0RGlhZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtZGlhZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgREVGQVVMVF9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXHJcbiAgRGVmYXVsdERpYWdyYW1PcHRpb25zUHJvdmlkZXIsXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogYmFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogc2NhdHRlckNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IGJ1YmJsZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IGhvcml6b250YWxCYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9ESUFHUkFNX09QVElPTlMsIHVzZVZhbHVlOiBzdGFja2VkQmFyQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogaG9yaXpvbnRhbFN0YWNrZWRCYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9ESUFHUkFNX09QVElPTlMsIHVzZVZhbHVlOiBtdWx0aUF4aXNMaW5lQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogcG9sYXJBcmVhQ2hhcnQsIG11bHRpOiB0cnVlIH0sXHJcbiAgeyBwcm92aWRlOiBDVVNUT01fRElBR1JBTV9PUFRJT05TLCB1c2VWYWx1ZTogcmFkYXJDaGFydCwgbXVsdGk6IHRydWUgfSxcclxuICB7IHByb3ZpZGU6IENVU1RPTV9ESUFHUkFNX09QVElPTlMsIHVzZVZhbHVlOiBkb3VnaG51dENoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHsgcHJvdmlkZTogQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUywgdXNlVmFsdWU6IHBpZUNoYXJ0LCBtdWx0aTogdHJ1ZSB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtTbWFydERpYWdyYW1Db21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBDaGFydE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0RGlhZ3JhbUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydERpYWdyYW1Nb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KHByb3ZpZGVyczogUHJvdmlkZXJbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U21hcnREaWFncmFtTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogU21hcnREaWFncmFtTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFsuLi5ERUZBVUxUX1BST1ZJREVSUywgLi4ucHJvdmlkZXJzXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -271,7 +271,7 @@ export class SmartFilterEditorContentComponent {
271
271
  return widget;
272
272
  }
273
273
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }, { token: i2.ComponentFactoryService }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["form"], descendants: true, read: ViewContainerRef }, { propertyName: "simpleFilterVcRef", first: true, predicate: ["simpleFilterFromChild"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"smart-filter-editor-expressionEditorContainer\">\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items", "service"] }] }); }
274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "vcRef", first: true, predicate: ["form"], descendants: true, read: ViewContainerRef }, { propertyName: "simpleFilterVcRef", first: true, predicate: ["simpleFilterFromChild"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"smart-filter-editor-container\" *ngIf=\"service.model\">\r\n <h3 class=\"smart-filter-editor-title\">{{ service.model.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.SIMPLE; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"smart-filter-editor-expressionsContainer\">\r\n <ng-template #simpleFilterFromChild></ng-template>\r\n <!-- #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform> -->\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"smart-filter-editor-uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"smart-filter-editor-withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"smart-filter-editor-withParametersContainer\">\r\n <div\r\n class=\"smart-filter-editor-expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model.model?.workplaceList)!.filters\"\r\n [service]=\"service\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"smart-filter-editor-expressionEditorContainer\">\r\n <!-- <smartform #form [smartForm]=\"smartForm\"></smartform> -->\r\n <ng-template #form></ng-template>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".smart-filter-editor-container{display:flex;flex-direction:column;overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.smart-filter-editor-uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color);display:flex;flex-direction:row;gap:1rem}.smart-filter-editor-withoutParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.smart-filter-editor-withParametersContainer{display:flex;flex-direction:column;background-color:var(--container-color)}.smart-filter-editor-expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items", "service"] }] }); }
275
275
  }
276
276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
277
277
  type: Component,
@@ -152,7 +152,7 @@ export class SmartFileEditorComponent {
152
152
  useExisting: forwardRef(() => SmartFileEditorComponent),
153
153
  multi: true,
154
154
  },
155
- ], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\r\n<h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n>\r\n {{ widgetInstance.label }}\r\n</h4>\r\n\r\n<div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else if (!widgetInstance.value || fileToChange) {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"false\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"uploadedFile\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\r\n\r\n @if (!fileToChange) {\r\n <ui-action-button (actionClick)=\"change(widgetInstance.value)\" [descriptor]=\"changeButton\">\r\n </ui-action-button>\r\n } @else {\r\n <ui-action-button\r\n class=\"removeIcon\"\r\n (actionClick)=\"cancelChange()\"\r\n [descriptor]=\"removeButton\"\r\n ></ui-action-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:1rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple"], outputs: ["uploadFilesEvent"] }] }); }
155
+ ], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\r\n<h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n>\r\n {{ widgetInstance.label }}\r\n</h4>\r\n\r\n<div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else if (!widgetInstance.value || fileToChange) {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"false\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"uploadedFile\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\r\n\r\n @if (!fileToChange) {\r\n <ui-action-button (actionClick)=\"change(widgetInstance.value)\" [descriptor]=\"changeButton\">\r\n </ui-action-button>\r\n } @else {\r\n <ui-action-button\r\n class=\"removeIcon\"\r\n (actionClick)=\"cancelChange()\"\r\n [descriptor]=\"removeButton\"\r\n ></ui-action-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:1rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple"], outputs: ["uploadFilesEvent"] }] }); }
156
156
  }
157
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFileEditorComponent, decorators: [{
158
158
  type: Component,