barsa-sap-ui 1.0.274 → 1.0.277

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 (56) hide show
  1. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +19 -14
  2. package/esm2020/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +45 -0
  3. package/esm2020/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
  4. package/esm2020/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
  5. package/esm2020/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +96 -0
  6. package/esm2020/lib/barsa-sap-ui.module.mjs +34 -29
  7. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +1 -1
  8. package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +43 -0
  9. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +6 -3
  10. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +7 -6
  11. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +3 -3
  12. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +3 -3
  13. package/esm2020/lib/card-item/card-item.component.mjs +3 -3
  14. package/esm2020/lib/card-view-content/card-view-content.component.mjs +3 -3
  15. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +5 -3
  16. package/esm2020/lib/index.mjs +21 -11
  17. package/esm2020/lib/layout-actions/layout-actions.component.mjs +3 -3
  18. package/esm2020/lib/list-item/list-item.component.mjs +3 -3
  19. package/esm2020/lib/models/grid-view.mjs +1 -1
  20. package/esm2020/lib/report-view-renderer.directive.mjs +16 -2
  21. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +37 -10
  22. package/esm2020/lib/sap-ui-report-base.component.mjs +9 -2
  23. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +4 -3
  24. package/esm2020/lib/ui-grid/ui-grid.component.mjs +3 -3
  25. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +19 -10
  26. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +3 -3
  27. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +5 -4
  28. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +3 -3
  29. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +9 -30
  30. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +5 -3
  31. package/esm2020/public-api.mjs +6 -1
  32. package/fesm2015/barsa-sap-ui.mjs +403 -148
  33. package/fesm2015/barsa-sap-ui.mjs.map +1 -1
  34. package/fesm2020/barsa-sap-ui.mjs +390 -133
  35. package/fesm2020/barsa-sap-ui.mjs.map +1 -1
  36. package/lib/apply-conditional-formmatings.directive.d.ts +7 -7
  37. package/lib/barsa-cartable-form/barsa-cartable-form.component.d.ts +15 -0
  38. package/lib/barsa-cartable-template/barsa-cartable-template.component.d.ts +14 -0
  39. package/lib/barsa-column-indicator/barsa-column-indicator.component.d.ts +11 -0
  40. package/lib/barsa-group-cartable/barsa-cartable-group.component.d.ts +30 -0
  41. package/lib/barsa-sap-ui.module.d.ts +44 -39
  42. package/lib/barsa-table-column/barsa-table-column.component.d.ts +16 -0
  43. package/lib/barsa-table-header/barsa-table-header.component.d.ts +3 -1
  44. package/lib/barsa-table-row/barsa-table-row.component.d.ts +3 -5
  45. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +2 -1
  46. package/lib/index.d.ts +4 -1
  47. package/lib/models/grid-view.d.ts +2 -7
  48. package/lib/report-view-renderer.directive.d.ts +4 -2
  49. package/lib/rich-text-static/rich-text-static.component.d.ts +5 -1
  50. package/lib/sap-ui-report-base.component.d.ts +3 -1
  51. package/lib/ui-form-panel/ui-form-panel.component.d.ts +1 -0
  52. package/lib/ui-list-view/ui-list-view.component.d.ts +9 -1
  53. package/lib/ui-table-view/ui-table-view.component.d.ts +1 -2
  54. package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +2 -1
  55. package/package.json +1 -1
  56. package/public-api.d.ts +5 -0
@@ -15,11 +15,11 @@ export class UiGridComponent extends SapUiReportBaseComponent {
15
15
  }
16
16
  }
17
17
  UiGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- UiGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiGridComponent, selector: "bsu-ui-grid", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<canvas #canvas style=\"display: none\"></canvas>\n<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n hasSummary: context.Setting.View?.HasSummaryRow,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async)!! > 0 ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n extraRelation: context.Setting.Extra?.Relation,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formSetting: context.Setting.FormTemplate,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n newInlineEditMo: newInlineEditMo$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n fullscreen: fullscreen$ | async\n }\n \"\n></ng-container>\n<!--render container -->\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formSetting=\"formSetting\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-newInlineEditMo=\"newInlineEditMo\"\n let-hasSummary=\"hasSummary\"\n let-extraRelation=\"extraRelation\"\n let-typeDefId=\"typeDefId\"\n let-contextView=\"contextView\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-fullscreen=\"fullscreen\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [hideTitle]=\"true\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i4.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ UiGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiGridComponent, selector: "bsu-ui-grid", inputs: { showOkCancelButtons: "showOkCancelButtons" }, usesInheritance: true, ngImport: i0, template: "<canvas #canvas style=\"display: none\"></canvas>\n<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n hasSummary: context.Setting.View?.HasSummaryRow,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async)!! > 0 ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n extraRelation: context.Setting.Extra?.Relation,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formSetting: context.Setting.FormTemplate,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n newInlineEditMo: newInlineEditMo$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n fullscreen: fullscreen$ | async\n }\n \"\n></ng-container>\n<!--render container -->\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formSetting=\"formSetting\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-newInlineEditMo=\"newInlineEditMo\"\n let-hasSummary=\"hasSummary\"\n let-extraRelation=\"extraRelation\"\n let-typeDefId=\"typeDefId\"\n let-contextView=\"contextView\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-fullscreen=\"fullscreen\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [hideTitle]=\"true\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i3.UiTableViewComponent, selector: "bsu-ui-table-view", inputs: ["columnWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SeperatorFixPipe, name: "seperatorFix" }, { kind: "pipe", type: i4.ContextMenuPipe, name: "contextMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiGridComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ selector: 'bsu-ui-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas #canvas style=\"display: none\"></canvas>\n<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n hasSummary: context.Setting.View?.HasSummaryRow,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async)!! > 0 ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n extraRelation: context.Setting.Extra?.Relation,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formSetting: context.Setting.FormTemplate,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n newInlineEditMo: newInlineEditMo$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n fullscreen: fullscreen$ | async\n }\n \"\n></ng-container>\n<!--render container -->\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formSetting=\"formSetting\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-newInlineEditMo=\"newInlineEditMo\"\n let-hasSummary=\"hasSummary\"\n let-extraRelation=\"extraRelation\"\n let-typeDefId=\"typeDefId\"\n let-contextView=\"contextView\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-fullscreen=\"fullscreen\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [hideTitle]=\"true\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"] }]
21
+ args: [{ selector: 'bsu-ui-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas #canvas style=\"display: none\"></canvas>\n<!--render container-->\n<ng-container\n *ngTemplateOutlet=\"\n renderContainer;\n context: {\n $implicit: gridDataSource.data$ | async,\n allChecked: allChecked$ | async,\n groupby: groupby$ | async,\n isCheckList: context.Setting.View?.IsCheckList,\n hasSummary: context.Setting.View?.HasSummaryRow,\n columns: columns$ | async,\n columnsCount: columnsCount$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n inlineEditMode: inlineEditMode$ | async,\n onlyInlineEdit: onlyInlineEdit$ | async,\n secondaryColumns: secondaryColumns$ | async,\n toolbarButtons: (toolbarButtons$ | async)!! | seperatorFix,\n popin: (mobileOrTablet$ | async) || (secondaryColumnsCount$ | async)!! > 0 ? true : false,\n contextMenuItems: menuItems$ | async | contextMenu: context.Setting.View?.IsCheckList,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n mobileOrTablet: mobileOrTablet$ | async,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n extraRelation: context.Setting.Extra?.Relation,\n title: title$ | async,\n rtl: rtl$ | async,\n hideToolbar: hideToolbar$ | async,\n allColumns: allColumns,\n gridSetting: gridSetting$ | async,\n contentDensity: contentDensity$ | async,\n formSetting: context.Setting.FormTemplate,\n hasSelected: hasSelected$ | async,\n showOkCancelButtons: showOkCancelButtons,\n disableOverflowContextMenu: viewSetting?.DisableOverflowContextMenu,\n navigationArrow: navigationArrow$ | async,\n containerWidth: containerWidth$ | async,\n newInlineEditMo: newInlineEditMo$ | async,\n typeDefId: context.Setting.Extra.Report.TypeDefId,\n contextView: context.Setting.View,\n cartableTemplates: cartableTemplates$ | async,\n cartableChildsMo: cartableChildsMo$ | async,\n inDialog: inDialog$ | async,\n isMultiSelect: isMultiSelect$ | async,\n fullscreen: fullscreen$ | async\n }\n \"\n></ng-container>\n<!--render container -->\n<ng-template\n #renderContainer\n let-moDataList\n let-allChecked=\"allChecked\"\n let-isCheckList=\"isCheckList\"\n let-columns=\"columns\"\n let-columnsCount=\"columnsCount\"\n let-groupby=\"groupby\"\n let-secondaryColumns=\"secondaryColumns\"\n let-contextMenuItems=\"contextMenuItems\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-access=\"access\"\n let-toolbarButtons=\"toolbarButtons\"\n let-popin=\"popin\"\n let-mobileOrTablet=\"mobileOrTablet\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-gridSetting=\"gridSetting\"\n let-contentDensity=\"contentDensity\"\n let-formSetting=\"formSetting\"\n let-hasSelected=\"hasSelected\"\n let-showOkCancelButtons=\"showOkCancelButtons\"\n let-disableOverflowContextMenu=\"disableOverflowContextMenu\"\n let-navigationArrow=\"navigationArrow\"\n let-containerWidth=\"containerWidth\"\n let-newInlineEditMo=\"newInlineEditMo\"\n let-hasSummary=\"hasSummary\"\n let-extraRelation=\"extraRelation\"\n let-typeDefId=\"typeDefId\"\n let-contextView=\"contextView\"\n let-cartableTemplates=\"cartableTemplates\"\n let-cartableChildsMo=\"cartableChildsMo\"\n let-inDialog=\"inDialog\"\n let-isMultiSelect=\"isMultiSelect\"\n let-fullscreen=\"fullscreen\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [hideTitle]=\"true\"\n [deviceSize]=\"deviceSize\"\n [toolbarButtons]=\"toolbarButtons\"\n [gridSetting]=\"gridSetting\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (groupbyClick)=\"onGroupbySettings(deviceName)\"\n (columnClick)=\"onColumnSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n (createNewInlineMo)=\"onToolbarCreateNewInlineMo()\"\n ></bsu-ulv-toolbar>\n <bsu-ui-table-view\n [cartableTemplates]=\"cartableTemplates\"\n [parentHeight]=\"parentHeight\"\n [fullscreen]=\"fullscreen\"\n [inDialog]=\"inDialog\"\n [isMultiSelect]=\"isMultiSelect\"\n [cartableChildsMo]=\"cartableChildsMo\"\n [contextView]=\"contextView\"\n [containerWidth]=\"containerWidth\"\n [isCheckList]=\"isCheckList\"\n [allChecked]=\"allChecked\"\n [moDataList]=\"moDataList\"\n [access]=\"access\"\n [groupby]=\"groupby\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [conditionalFormats]=\"conditionalFormats\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [navigationArrow]=\"navigationArrow\"\n [title]=\"title\"\n [mobileOrTablet]=\"mobileOrTablet\"\n [popin]=\"popin\"\n [secondaryColumns]=\"secondaryColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [inlineEditMode]=\"inlineEditMode && allowInlineEdit\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [columns]=\"columns\"\n [columnWidth]=\"100 / columns.length\"\n [columnsCount]=\"columnsCount\"\n [rowHoverable]=\"rowHoverable\"\n [rowActivable]=\"rowActivable\"\n [formSetting]=\"formSetting\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [showOkCancelButtons]=\"showOkCancelButtons\"\n [fitWidth]=\"false\"\n [hasSummary]=\"hasSummary\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [newInlineEditMo]=\"newInlineEditMo\"\n (ulvCommandClick)=\"onUlvCommand($event)\"\n (selectNextInlineRecord)=\"onSelectNextInlineRecord($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelValueChange)=\"onEditFormPanelValueChange($event)\"\n (sortAscending)=\"onSortAscending($event)\"\n (sortDescending)=\"onSortDescending($event)\"\n (filter)=\"onFilter($event)\"\n (rowClick)=\"onRowClick($event)\"\n (rowCheck)=\"onRowCheck($event)\"\n (allCheckbox)=\"onAllCheckbox($event)\"\n (expandClick)=\"onExpandClick($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (workflowShareButtons)=\"onWorkflowShareButtons($event)\"\n >\n </bsu-ui-table-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}\n"] }]
22
22
  }], propDecorators: { showOkCancelButtons: [{
23
23
  type: Input
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBUS9FLE1BQU0sT0FBTyxlQUFnQixTQUFRLHdCQUFpRDtJQU50Rjs7UUFRSSxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQ2pDOzs0R0FMWSxlQUFlO2dHQUFmLGVBQWUsa0lDWjVCLGtqT0F1S0E7MkZEM0phLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaWR0aFR5cGVFbnVtIH0gZnJvbSAnLi4vdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWdyaWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpR3JpZENvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge1xyXG4gICAgQElucHV0KCkgc2hvd09rQ2FuY2VsQnV0dG9ucztcclxuICAgIGVuYWJsZVJlc2l6aW5nID0gdHJ1ZTtcclxuICAgIHJvd1Jlc2l6ZXIgPSBmYWxzZTtcclxuICAgIHdpZHRoVHlwZUVudW0gPSBXaWR0aFR5cGVFbnVtO1xyXG59XHJcbiIsIjxjYW52YXMgI2NhbnZhcyBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L2NhbnZhcz5cbjwhLS1yZW5kZXIgY29udGFpbmVyLS0+XG48bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgcmVuZGVyQ29udGFpbmVyO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGdyaWREYXRhU291cmNlLmRhdGEkIHwgYXN5bmMsXG4gICAgICAgICAgICBhbGxDaGVja2VkOiBhbGxDaGVja2VkJCB8IGFzeW5jLFxuICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSQgfCBhc3luYyxcbiAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBoYXNTdW1tYXJ5OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSGFzU3VtbWFyeVJvdyxcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb2x1bW5zQ291bnQ6IGNvbHVtbnNDb3VudCQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgb25seUlubGluZUVkaXQ6IG9ubHlJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sdW1uczogc2Vjb25kYXJ5Q29sdW1ucyQgfCBhc3luYyxcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXG4gICAgICAgICAgICBwb3BpbjogKG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jKSB8fCAoc2Vjb25kYXJ5Q29sdW1uc0NvdW50JCB8IGFzeW5jKSEhID4gMCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgbW9iaWxlT3JUYWJsZXQ6IG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIGV4dHJhUmVsYXRpb246IGNvbnRleHQuU2V0dGluZy5FeHRyYT8uUmVsYXRpb24sXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUkIHwgYXN5bmMsXG4gICAgICAgICAgICBydGw6IHJ0bCQgfCBhc3luYyxcbiAgICAgICAgICAgIGhpZGVUb29sYmFyOiBoaWRlVG9vbGJhciQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXG4gICAgICAgICAgICBncmlkU2V0dGluZzogZ3JpZFNldHRpbmckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eTogY29udGVudERlbnNpdHkkIHwgYXN5bmMsXG4gICAgICAgICAgICBmb3JtU2V0dGluZzogY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSxcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIHNob3dPa0NhbmNlbEJ1dHRvbnM6IHNob3dPa0NhbmNlbEJ1dHRvbnMsXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250YWluZXJXaWR0aDogY29udGFpbmVyV2lkdGgkIHwgYXN5bmMsXG4gICAgICAgICAgICBuZXdJbmxpbmVFZGl0TW86IG5ld0lubGluZUVkaXRNbyQgfCBhc3luYyxcbiAgICAgICAgICAgIHR5cGVEZWZJZDogY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5UeXBlRGVmSWQsXG4gICAgICAgICAgICBjb250ZXh0VmlldzogY29udGV4dC5TZXR0aW5nLlZpZXcsXG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlczogY2FydGFibGVUZW1wbGF0ZXMkIHwgYXN5bmMsXG4gICAgICAgICAgICBjYXJ0YWJsZUNoaWxkc01vOiBjYXJ0YWJsZUNoaWxkc01vJCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5EaWFsb2c6IGluRGlhbG9nJCB8IGFzeW5jLFxuICAgICAgICAgICAgaXNNdWx0aVNlbGVjdDogaXNNdWx0aVNlbGVjdCQgfCBhc3luYyxcbiAgICAgICAgICAgIGZ1bGxzY3JlZW46IGZ1bGxzY3JlZW4kIHwgYXN5bmNcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG48IS0tcmVuZGVyIGNvbnRhaW5lciAtLT5cbjxuZy10ZW1wbGF0ZVxuICAgICNyZW5kZXJDb250YWluZXJcbiAgICBsZXQtbW9EYXRhTGlzdFxuICAgIGxldC1hbGxDaGVja2VkPVwiYWxsQ2hlY2tlZFwiXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXG4gICAgbGV0LWNvbHVtbnNDb3VudD1cImNvbHVtbnNDb3VudFwiXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcbiAgICBsZXQtc2Vjb25kYXJ5Q29sdW1ucz1cInNlY29uZGFyeUNvbHVtbnNcIlxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxuICAgIGxldC10b29sYmFyQnV0dG9ucz1cInRvb2xiYXJCdXR0b25zXCJcbiAgICBsZXQtcG9waW49XCJwb3BpblwiXG4gICAgbGV0LW1vYmlsZU9yVGFibGV0PVwibW9iaWxlT3JUYWJsZXRcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXG4gICAgbGV0LWZvcm1TZXR0aW5nPVwiZm9ybVNldHRpbmdcIlxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgIGxldC1kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcbiAgICBsZXQtY29udGFpbmVyV2lkdGg9XCJjb250YWluZXJXaWR0aFwiXG4gICAgbGV0LW5ld0lubGluZUVkaXRNbz1cIm5ld0lubGluZUVkaXRNb1wiXG4gICAgbGV0LWhhc1N1bW1hcnk9XCJoYXNTdW1tYXJ5XCJcbiAgICBsZXQtZXh0cmFSZWxhdGlvbj1cImV4dHJhUmVsYXRpb25cIlxuICAgIGxldC10eXBlRGVmSWQ9XCJ0eXBlRGVmSWRcIlxuICAgIGxldC1jb250ZXh0Vmlldz1cImNvbnRleHRWaWV3XCJcbiAgICBsZXQtY2FydGFibGVUZW1wbGF0ZXM9XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXG4gICAgbGV0LWNhcnRhYmxlQ2hpbGRzTW89XCJjYXJ0YWJsZUNoaWxkc01vXCJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcbiAgICBsZXQtZnVsbHNjcmVlbj1cImZ1bGxzY3JlZW5cIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtoaWRlVGl0bGVdPVwidHJ1ZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgICAgICBbZ3JpZFNldHRpbmddPVwiZ3JpZFNldHRpbmdcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGdyb3VwYnlDbGljayk9XCJvbkdyb3VwYnlTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXG4gICAgICAgIChjb2x1bW5DbGljayk9XCJvbkNvbHVtblNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcbiAgICAgICAgKGNyZWF0ZU5ld0lubGluZU1vKT1cIm9uVG9vbGJhckNyZWF0ZU5ld0lubGluZU1vKClcIlxuICAgID48L2JzdS11bHYtdG9vbGJhcj5cbiAgICA8YnN1LXVpLXRhYmxlLXZpZXdcbiAgICAgICAgW2NhcnRhYmxlVGVtcGxhdGVzXT1cImNhcnRhYmxlVGVtcGxhdGVzXCJcbiAgICAgICAgW3BhcmVudEhlaWdodF09XCJwYXJlbnRIZWlnaHRcIlxuICAgICAgICBbZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgW2luRGlhbG9nXT1cImluRGlhbG9nXCJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXG4gICAgICAgIFtjYXJ0YWJsZUNoaWxkc01vXT1cImNhcnRhYmxlQ2hpbGRzTW9cIlxuICAgICAgICBbY29udGV4dFZpZXddPVwiY29udGV4dFZpZXdcIlxuICAgICAgICBbY29udGFpbmVyV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICBbYWxsQ2hlY2tlZF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcbiAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFttb2JpbGVPclRhYmxldF09XCJtb2JpbGVPclRhYmxldFwiXG4gICAgICAgIFtwb3Bpbl09XCJwb3BpblwiXG4gICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnNcIlxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdFwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgIFtjb2x1bW5XaWR0aF09XCIxMDAgLyBjb2x1bW5zLmxlbmd0aFwiXG4gICAgICAgIFtjb2x1bW5zQ291bnRdPVwiY29sdW1uc0NvdW50XCJcbiAgICAgICAgW3Jvd0hvdmVyYWJsZV09XCJyb3dIb3ZlcmFibGVcIlxuICAgICAgICBbcm93QWN0aXZhYmxlXT1cInJvd0FjdGl2YWJsZVwiXG4gICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXG4gICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXG4gICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICBbZml0V2lkdGhdPVwiZmFsc2VcIlxuICAgICAgICBbaGFzU3VtbWFyeV09XCJoYXNTdW1tYXJ5XCJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXG4gICAgICAgIFtuZXdJbmxpbmVFZGl0TW9dPVwibmV3SW5saW5lRWRpdE1vXCJcbiAgICAgICAgKHVsdkNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3ROZXh0SW5saW5lUmVjb3JkKT1cIm9uU2VsZWN0TmV4dElubGluZVJlY29yZCgkZXZlbnQpXCJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxDYW5jZWwpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxuICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSk9XCJvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHNvcnRBc2NlbmRpbmcpPVwib25Tb3J0QXNjZW5kaW5nKCRldmVudClcIlxuICAgICAgICAoc29ydERlc2NlbmRpbmcpPVwib25Tb3J0RGVzY2VuZGluZygkZXZlbnQpXCJcbiAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cIm9uRXhwYW5kQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChjb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9ic3UtdWktdGFibGUtdmlldz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1ncmlkL3VpLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBUS9FLE1BQU0sT0FBTyxlQUFnQixTQUFRLHdCQUFpRDtJQU50Rjs7UUFRSSxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQ2pDOzs0R0FMWSxlQUFlO2dHQUFmLGVBQWUsa0lDWjVCLHFuT0F3S0E7MkZENUphLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaWR0aFR5cGVFbnVtIH0gZnJvbSAnLi4vdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWdyaWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpR3JpZENvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge1xyXG4gICAgQElucHV0KCkgc2hvd09rQ2FuY2VsQnV0dG9ucztcclxuICAgIGVuYWJsZVJlc2l6aW5nID0gdHJ1ZTtcclxuICAgIHJvd1Jlc2l6ZXIgPSBmYWxzZTtcclxuICAgIHdpZHRoVHlwZUVudW0gPSBXaWR0aFR5cGVFbnVtO1xyXG59XHJcbiIsIjxjYW52YXMgI2NhbnZhcyBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L2NhbnZhcz5cbjwhLS1yZW5kZXIgY29udGFpbmVyLS0+XG48bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgcmVuZGVyQ29udGFpbmVyO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGdyaWREYXRhU291cmNlLmRhdGEkIHwgYXN5bmMsXG4gICAgICAgICAgICBhbGxDaGVja2VkOiBhbGxDaGVja2VkJCB8IGFzeW5jLFxuICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSQgfCBhc3luYyxcbiAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBoYXNTdW1tYXJ5OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSGFzU3VtbWFyeVJvdyxcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb2x1bW5zQ291bnQ6IGNvbHVtbnNDb3VudCQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgb25seUlubGluZUVkaXQ6IG9ubHlJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sdW1uczogc2Vjb25kYXJ5Q29sdW1ucyQgfCBhc3luYyxcbiAgICAgICAgICAgIHRvb2xiYXJCdXR0b25zOiAodG9vbGJhckJ1dHRvbnMkIHwgYXN5bmMpISEgfCBzZXBlcmF0b3JGaXgsXG4gICAgICAgICAgICBwb3BpbjogKG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jKSB8fCAoc2Vjb25kYXJ5Q29sdW1uc0NvdW50JCB8IGFzeW5jKSEhID4gMCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IG1lbnVJdGVtcyQgfCBhc3luYyB8IGNvbnRleHRNZW51OiBjb250ZXh0LlNldHRpbmcuVmlldz8uSXNDaGVja0xpc3QsXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgbW9iaWxlT3JUYWJsZXQ6IG1vYmlsZU9yVGFibGV0JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIGV4dHJhUmVsYXRpb246IGNvbnRleHQuU2V0dGluZy5FeHRyYT8uUmVsYXRpb24sXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUkIHwgYXN5bmMsXG4gICAgICAgICAgICBydGw6IHJ0bCQgfCBhc3luYyxcbiAgICAgICAgICAgIGhpZGVUb29sYmFyOiBoaWRlVG9vbGJhciQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXG4gICAgICAgICAgICBncmlkU2V0dGluZzogZ3JpZFNldHRpbmckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eTogY29udGVudERlbnNpdHkkIHwgYXN5bmMsXG4gICAgICAgICAgICBmb3JtU2V0dGluZzogY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSxcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIHNob3dPa0NhbmNlbEJ1dHRvbnM6IHNob3dPa0NhbmNlbEJ1dHRvbnMsXG4gICAgICAgICAgICBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogdmlld1NldHRpbmc/LkRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51LFxuICAgICAgICAgICAgbmF2aWdhdGlvbkFycm93OiBuYXZpZ2F0aW9uQXJyb3ckIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250YWluZXJXaWR0aDogY29udGFpbmVyV2lkdGgkIHwgYXN5bmMsXG4gICAgICAgICAgICBuZXdJbmxpbmVFZGl0TW86IG5ld0lubGluZUVkaXRNbyQgfCBhc3luYyxcbiAgICAgICAgICAgIHR5cGVEZWZJZDogY29udGV4dC5TZXR0aW5nLkV4dHJhLlJlcG9ydC5UeXBlRGVmSWQsXG4gICAgICAgICAgICBjb250ZXh0VmlldzogY29udGV4dC5TZXR0aW5nLlZpZXcsXG4gICAgICAgICAgICBjYXJ0YWJsZVRlbXBsYXRlczogY2FydGFibGVUZW1wbGF0ZXMkIHwgYXN5bmMsXG4gICAgICAgICAgICBjYXJ0YWJsZUNoaWxkc01vOiBjYXJ0YWJsZUNoaWxkc01vJCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5EaWFsb2c6IGluRGlhbG9nJCB8IGFzeW5jLFxuICAgICAgICAgICAgaXNNdWx0aVNlbGVjdDogaXNNdWx0aVNlbGVjdCQgfCBhc3luYyxcbiAgICAgICAgICAgIGZ1bGxzY3JlZW46IGZ1bGxzY3JlZW4kIHwgYXN5bmNcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG48IS0tcmVuZGVyIGNvbnRhaW5lciAtLT5cbjxuZy10ZW1wbGF0ZVxuICAgICNyZW5kZXJDb250YWluZXJcbiAgICBsZXQtbW9EYXRhTGlzdFxuICAgIGxldC1hbGxDaGVja2VkPVwiYWxsQ2hlY2tlZFwiXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxuICAgIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiXG4gICAgbGV0LWNvbHVtbnNDb3VudD1cImNvbHVtbnNDb3VudFwiXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcbiAgICBsZXQtc2Vjb25kYXJ5Q29sdW1ucz1cInNlY29uZGFyeUNvbHVtbnNcIlxuICAgIGxldC1jb250ZXh0TWVudUl0ZW1zPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxuICAgIGxldC1hY2Nlc3M9XCJhY2Nlc3NcIlxuICAgIGxldC10b29sYmFyQnV0dG9ucz1cInRvb2xiYXJCdXR0b25zXCJcbiAgICBsZXQtcG9waW49XCJwb3BpblwiXG4gICAgbGV0LW1vYmlsZU9yVGFibGV0PVwibW9iaWxlT3JUYWJsZXRcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1ncmlkU2V0dGluZz1cImdyaWRTZXR0aW5nXCJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXG4gICAgbGV0LWZvcm1TZXR0aW5nPVwiZm9ybVNldHRpbmdcIlxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcbiAgICBsZXQtc2hvd09rQ2FuY2VsQnV0dG9ucz1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgIGxldC1kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICBsZXQtbmF2aWdhdGlvbkFycm93PVwibmF2aWdhdGlvbkFycm93XCJcbiAgICBsZXQtY29udGFpbmVyV2lkdGg9XCJjb250YWluZXJXaWR0aFwiXG4gICAgbGV0LW5ld0lubGluZUVkaXRNbz1cIm5ld0lubGluZUVkaXRNb1wiXG4gICAgbGV0LWhhc1N1bW1hcnk9XCJoYXNTdW1tYXJ5XCJcbiAgICBsZXQtZXh0cmFSZWxhdGlvbj1cImV4dHJhUmVsYXRpb25cIlxuICAgIGxldC10eXBlRGVmSWQ9XCJ0eXBlRGVmSWRcIlxuICAgIGxldC1jb250ZXh0Vmlldz1cImNvbnRleHRWaWV3XCJcbiAgICBsZXQtY2FydGFibGVUZW1wbGF0ZXM9XCJjYXJ0YWJsZVRlbXBsYXRlc1wiXG4gICAgbGV0LWNhcnRhYmxlQ2hpbGRzTW89XCJjYXJ0YWJsZUNoaWxkc01vXCJcbiAgICBsZXQtaW5EaWFsb2c9XCJpbkRpYWxvZ1wiXG4gICAgbGV0LWlzTXVsdGlTZWxlY3Q9XCJpc011bHRpU2VsZWN0XCJcbiAgICBsZXQtZnVsbHNjcmVlbj1cImZ1bGxzY3JlZW5cIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtoaWRlVGl0bGVdPVwidHJ1ZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdG9vbGJhckJ1dHRvbnNdPVwidG9vbGJhckJ1dHRvbnNcIlxuICAgICAgICBbZ3JpZFNldHRpbmddPVwiZ3JpZFNldHRpbmdcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtpbkRpYWxvZ109XCJpbkRpYWxvZ1wiXG4gICAgICAgIFtpc011bHRpU2VsZWN0XT1cImlzTXVsdGlTZWxlY3RcIlxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGUgJiYgYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW2FsbG93SW5saW5lRWRpdF09XCJhbGxvd0lubGluZUVkaXRcIlxuICAgICAgICAoc29ydENsaWNrKT1cIm9uU29ydFNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGdyb3VwYnlDbGljayk9XCJvbkdyb3VwYnlTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXG4gICAgICAgIChjb2x1bW5DbGljayk9XCJvbkNvbHVtblNldHRpbmdzKGRldmljZU5hbWUpXCJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcbiAgICAgICAgKGNyZWF0ZU5ld0lubGluZU1vKT1cIm9uVG9vbGJhckNyZWF0ZU5ld0lubGluZU1vKClcIlxuICAgID48L2JzdS11bHYtdG9vbGJhcj5cbiAgICA8YnN1LXVpLXRhYmxlLXZpZXdcbiAgICAgICAgW2NhcnRhYmxlVGVtcGxhdGVzXT1cImNhcnRhYmxlVGVtcGxhdGVzXCJcbiAgICAgICAgW3BhcmVudEhlaWdodF09XCJwYXJlbnRIZWlnaHRcIlxuICAgICAgICBbZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgW2luRGlhbG9nXT1cImluRGlhbG9nXCJcbiAgICAgICAgW2lzTXVsdGlTZWxlY3RdPVwiaXNNdWx0aVNlbGVjdFwiXG4gICAgICAgIFtjYXJ0YWJsZUNoaWxkc01vXT1cImNhcnRhYmxlQ2hpbGRzTW9cIlxuICAgICAgICBbY29udGV4dFZpZXddPVwiY29udGV4dFZpZXdcIlxuICAgICAgICBbY29udGFpbmVyV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICBbYWxsQ2hlY2tlZF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcbiAgICAgICAgW2dyb3VwYnldPVwiZ3JvdXBieVwiXG4gICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFttb2JpbGVPclRhYmxldF09XCJtb2JpbGVPclRhYmxldFwiXG4gICAgICAgIFtwb3Bpbl09XCJwb3BpblwiXG4gICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnNcIlxuICAgICAgICBbY29udGV4dE1lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlICYmIGFsbG93SW5saW5lRWRpdFwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgIFtjb2x1bW5XaWR0aF09XCIxMDAgLyBjb2x1bW5zLmxlbmd0aFwiXG4gICAgICAgIFtjb2x1bW5zQ291bnRdPVwiY29sdW1uc0NvdW50XCJcbiAgICAgICAgW3Jvd0hvdmVyYWJsZV09XCJyb3dIb3ZlcmFibGVcIlxuICAgICAgICBbcm93QWN0aXZhYmxlXT1cInJvd0FjdGl2YWJsZVwiXG4gICAgICAgIFtmb3JtU2V0dGluZ109XCJmb3JtU2V0dGluZ1wiXG4gICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcbiAgICAgICAgW2V4dHJhUmVsYXRpb25dPVwiZXh0cmFSZWxhdGlvblwiXG4gICAgICAgIFtzaG93T2tDYW5jZWxCdXR0b25zXT1cInNob3dPa0NhbmNlbEJ1dHRvbnNcIlxuICAgICAgICBbZml0V2lkdGhdPVwiZmFsc2VcIlxuICAgICAgICBbaGFzU3VtbWFyeV09XCJoYXNTdW1tYXJ5XCJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXG4gICAgICAgIFtuZXdJbmxpbmVFZGl0TW9dPVwibmV3SW5saW5lRWRpdE1vXCJcbiAgICAgICAgKHVsdkNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3ROZXh0SW5saW5lUmVjb3JkKT1cIm9uU2VsZWN0TmV4dElubGluZVJlY29yZCgkZXZlbnQpXCJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxDYW5jZWwpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxuICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSk9XCJvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHNvcnRBc2NlbmRpbmcpPVwib25Tb3J0QXNjZW5kaW5nKCRldmVudClcIlxuICAgICAgICAoc29ydERlc2NlbmRpbmcpPVwib25Tb3J0RGVzY2VuZGluZygkZXZlbnQpXCJcbiAgICAgICAgKGZpbHRlcik9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgKHJvd0NsaWNrKT1cIm9uUm93Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxuICAgICAgICAoYWxsQ2hlY2tib3gpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cIm9uRXhwYW5kQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChjb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQpXCJcbiAgICAgICAgKHdvcmtmbG93U2hhcmVCdXR0b25zKT1cIm9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvYnN1LXVpLXRhYmxlLXZpZXc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -4,18 +4,27 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
6
  import * as i3 from "barsa-novin-ray-core";
7
- import * as i4 from "@fundamental-ngx/core/checkbox";
8
- import * as i5 from "@fundamental-ngx/core/icon";
9
- import * as i6 from "@fundamental-ngx/core/layout-panel";
10
- import * as i7 from "@fundamental-ngx/core/list";
11
- import * as i8 from "@fundamental-ngx/core/table";
12
- import * as i9 from "../no-data/no-data.component";
13
- import * as i10 from "../list-item/list-item.component";
7
+ import * as i4 from "@fundamental-ngx/core/button";
8
+ import * as i5 from "@fundamental-ngx/core/checkbox";
9
+ import * as i6 from "@fundamental-ngx/core/icon";
10
+ import * as i7 from "@fundamental-ngx/core/layout-panel";
11
+ import * as i8 from "@fundamental-ngx/core/list";
12
+ import * as i9 from "@fundamental-ngx/core/menu";
13
+ import * as i10 from "@fundamental-ngx/core/table";
14
+ import * as i11 from "@fundamental-ngx/core/toolbar";
15
+ import * as i12 from "../no-data/no-data.component";
16
+ import * as i13 from "../list-item/list-item.component";
14
17
  export class UiListViewComponent extends ReportViewBaseComponent {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.detailsColumns = [];
21
+ this.columnComponents = [];
22
+ }
15
23
  ngOnInit() {
16
24
  super.ngOnInit();
17
25
  this.isDisplayType = this.viewSetting.ItemType$Caption === 'Display';
18
26
  const viewSetting = this.viewSetting;
27
+ this.hasRowOlgo = this.viewSetting?.RowOlgo?.Selector;
19
28
  const findColumn = this._findColumnByDbName;
20
29
  this.avatarSize = enumValueToStringSize(viewSetting.AvatarSize, this.contentDensity === 'compact' ? 's' : 'm');
21
30
  this.listSetting = {
@@ -37,9 +46,9 @@ export class UiListViewComponent extends ReportViewBaseComponent {
37
46
  }
38
47
  }
39
48
  UiListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
- UiListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiListViewComponent, selector: "bsu-ui-list-view", usesInheritance: true, ngImport: i0, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isDisplayType ? displayListTemplate : standardListTemplate;\r\n context: {\r\n $implicit: moDataList,\r\n isCheckList: isCheckList,\r\n groupby: groupby,\r\n conditionalFormats: conditionalFormats,\r\n deviceName: deviceName,\r\n viewSetting: viewSetting,\r\n allColumns: allColumns,\r\n access: access,\r\n rtl: rtl\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n<!--display list-->\r\n<ng-template\r\n #displayListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-allColumns=\"allColumns\"\r\n let-viewSetting=\"viewSetting\"\r\n let-access=\"access\"\r\n let-rtl=\"rtl\"\r\n>\r\n <ul\r\n fd-list\r\n class=\"display-list fd-list--navigation\"\r\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\r\n ellipsify\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\r\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n<!--standard list-->\r\n<ng-template\r\n #standardListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-allColumns=\"allColumns\"\r\n let-deviceName=\"deviceName\"\r\n let-access=\"access\"\r\n let-viewSetting=\"viewSetting\"\r\n let-rtl=\"rtl\"\r\n>\r\n <ul\r\n class=\"fd-list--navigation\"\r\n [class.fd-list--byline]=\"!isDisplayType\"\r\n fd-list\r\n [byline]=\"true\"\r\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\r\n ellipsify\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\r\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\" [isRow]=\"true\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n<ng-template #itemTemplate let-mo let-index=\"index\">\r\n <li\r\n fd-list-group-header\r\n *ngIf=\"mo.group || mo.group === ''; else listItemTemplate\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.level\"\r\n [class.root-group]=\"mo.level === 0\"\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.group }}</span>\r\n </li>\r\n <ng-template #listItemTemplate>\r\n <bsu-list-item\r\n [isDisplayType]=\"isDisplayType\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [setting]=\"listSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [allColumns]=\"allColumns\"\r\n [contentDensity]=\"contentDensity\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n >\r\n </bsu-list-item>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".fd-list__group-header{column-gap:10px;align-items:center}.display-list .fd-list__secondary{display:flex;justify-content:flex-end;align-items:center;color:var(--sapTile_TextColor, #6a6d70);column-gap:3px;row-gap:3px}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "component", type: i4.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i6.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i8.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i8.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i8.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i8.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i9.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i10.ListItemComponent, selector: "bsu-list-item", inputs: ["setting", "isDisplayType"] }, { kind: "pipe", type: i3.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ UiListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiListViewComponent, selector: "bsu-ui-list-view", usesInheritance: true, ngImport: i0, template: "<fd-toolbar\n [fdType]=\"'solid'\"\n *ngIf=\"viewSetting.MenuInSmallDevice && (deviceSize === 's' || deviceSize === 'm'); else container\"\n>\n <button\n fd-toolbar-item\n fd-button\n [fdMenu]=\"true\"\n [glyph]=\"'menu2'\"\n [fdType]=\"'transparent'\"\n [fdMenuTrigger]=\"menu\"\n [label]=\"'\u0627\u0646\u062A\u062E\u0627\u0628'\"\n ></button>\n</fd-toolbar>\n<fd-menu #menu [mobile]=\"true\" [mobileConfig]=\"{ title: title | bbbTranslate, hasCloseButton: true }\">\n <ng-container *ngTemplateOutlet=\"container\"></ng-container>\n</fd-menu>\n\n<ng-template #container>\n <fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table fd-table *ngIf=\"isCheckList\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n >{{ 'All' | bbbTranslate }}</fd-checkbox\n >\n </th>\n </tr>\n </thead>\n </table>\n <ng-container\n *ngTemplateOutlet=\"\n isDisplayType ? displayListTemplate : standardListTemplate;\n context: {\n $implicit: moDataList,\n isCheckList: isCheckList,\n groupby: groupby,\n conditionalFormats: conditionalFormats,\n deviceName: deviceName,\n viewSetting: viewSetting,\n allColumns: allColumns,\n access: access,\n rtl: rtl\n }\n \"\n >\n </ng-container>\n </fd-layout-panel-body>\n </fd-layout-panel>\n</ng-template>\n\n<!--display list-->\n<ng-template\n #displayListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-allColumns=\"allColumns\"\n let-viewSetting=\"viewSetting\"\n let-access=\"access\"\n let-rtl=\"rtl\"\n>\n <ul\n fd-list\n class=\"display-list fd-list--navigation\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index; let last = last\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</ng-template>\n<!--standard list-->\n<ng-template\n #standardListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-allColumns=\"allColumns\"\n let-deviceName=\"deviceName\"\n let-access=\"access\"\n let-viewSetting=\"viewSetting\"\n let-rtl=\"rtl\"\n let-last=\"last\"\n>\n <ul\n class=\"fd-list--navigation\"\n [class.fd-list--byline]=\"!isDisplayType\"\n fd-list\n [byline]=\"true\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</ng-template>\n\n<!--noData-->\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n<ng-template\n #itemTemplate\n let-mo\n let-index=\"index\"\n let-last=\"last\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n>\n <li\n fd-list-group-header\n *ngIf=\"mo.group || mo.group === ''; else listItemTemplate\"\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\n [attr.level]=\"mo.level\"\n [class.root-group]=\"mo.level === 0\"\n >\n <fd-icon\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\n class=\"cell-expand\"\n (click)=\"onExpandClick(mo)\"\n ></fd-icon>\n <span fd-list-title>{{ mo.group }}</span>\n </li>\n <ng-template #listItemTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n hasRowOlgo ? dynamicItemTemplate : defaultItem;\n context: {\n $implicit: mo,\n index: index,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n <ng-template\n #defaultItem\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n <bsu-list-item\n *ngIf=\"!hasRowOlgo; else dynamicItemTemplate\"\n [isDisplayType]=\"isDisplayType\"\n [mo]=\"mo\"\n [isChecked]=\"mo.$IsChecked\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"listSetting\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [formSetting]=\"formSetting\"\n [allColumns]=\"allColumns\"\n [contentDensity]=\"contentDensity\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n >\n </bsu-list-item>\n </ng-template>\n\n <ng-template\n #dynamicItemTemplate\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [moDataList]=\"moDataList\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n </ng-template>\n </ng-template>\n</ng-template>\n", styles: [".fd-list__group-header{column-gap:10px;align-items:center}.display-list .fd-list__secondary{display:flex;justify-content:flex-end;align-items:center;color:var(--sapTile_TextColor, #6a6d70);column-gap:3px;row-gap:3px}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor"] }, { kind: "directive", type: i3.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i9.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i9.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i10.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i10.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i10.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i10.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i11.ToolbarComponent, selector: "fd-toolbar", inputs: ["class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i11.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i12.NoDataComponent, selector: "bsu-no-data" }, { kind: "component", type: i13.ListItemComponent, selector: "bsu-list-item", inputs: ["setting", "isDisplayType"] }, { kind: "pipe", type: i3.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.FilterColumnsByDetailsPipe, name: "filterColumnsByDetails" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiListViewComponent, decorators: [{
42
51
  type: Component,
43
- args: [{ selector: 'bsu-ui-list-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table fd-table *ngIf=\"isCheckList\">\r\n <thead fd-table-header>\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <fd-checkbox\r\n name=\"allCheckbox\"\r\n [ngModel]=\"allChecked\"\r\n (ngModelChange)=\"onAllCheckbox($event)\"\r\n >{{ 'All' | bbbTranslate }}</fd-checkbox\r\n >\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n isDisplayType ? displayListTemplate : standardListTemplate;\r\n context: {\r\n $implicit: moDataList,\r\n isCheckList: isCheckList,\r\n groupby: groupby,\r\n conditionalFormats: conditionalFormats,\r\n deviceName: deviceName,\r\n viewSetting: viewSetting,\r\n allColumns: allColumns,\r\n access: access,\r\n rtl: rtl\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n<!--display list-->\r\n<ng-template\r\n #displayListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-deviceName=\"deviceName\"\r\n let-allColumns=\"allColumns\"\r\n let-viewSetting=\"viewSetting\"\r\n let-access=\"access\"\r\n let-rtl=\"rtl\"\r\n>\r\n <ul\r\n fd-list\r\n class=\"display-list fd-list--navigation\"\r\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\r\n ellipsify\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\r\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n<!--standard list-->\r\n<ng-template\r\n #standardListTemplate\r\n let-moDataList\r\n let-isCheckList=\"isCheckList\"\r\n let-groupby=\"groupby\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-allColumns=\"allColumns\"\r\n let-deviceName=\"deviceName\"\r\n let-access=\"access\"\r\n let-viewSetting=\"viewSetting\"\r\n let-rtl=\"rtl\"\r\n>\r\n <ul\r\n class=\"fd-list--navigation\"\r\n [class.fd-list--byline]=\"!isDisplayType\"\r\n fd-list\r\n [byline]=\"true\"\r\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\r\n ellipsify\r\n >\r\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\r\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\" [isRow]=\"true\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: mo, index: index }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n\r\n<!--noData-->\r\n<ng-template #noData>\r\n <bsu-no-data></bsu-no-data>\r\n</ng-template>\r\n<ng-template #itemTemplate let-mo let-index=\"index\">\r\n <li\r\n fd-list-group-header\r\n *ngIf=\"mo.group || mo.group === ''; else listItemTemplate\"\r\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\r\n [attr.level]=\"mo.level\"\r\n [class.root-group]=\"mo.level === 0\"\r\n >\r\n <fd-icon\r\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\r\n class=\"cell-expand\"\r\n (click)=\"onExpandClick(mo)\"\r\n ></fd-icon>\r\n <span fd-list-title>{{ mo.group }}</span>\r\n </li>\r\n <ng-template #listItemTemplate>\r\n <bsu-list-item\r\n [isDisplayType]=\"isDisplayType\"\r\n [mo]=\"mo\"\r\n [isChecked]=\"mo.$IsChecked\"\r\n [isNewInlineMo]=\"mo.$NewInlineMo\"\r\n [index]=\"index\"\r\n [setting]=\"listSetting\"\r\n [editMode]=\"inlineEditMode\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [index]=\"index\"\r\n [formSetting]=\"formSetting\"\r\n [allColumns]=\"allColumns\"\r\n [contentDensity]=\"contentDensity\"\r\n [contextMenuItems]=\"contextMenuItems\"\r\n [canView]=\"canView\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\r\n [navigationArrow]=\"navigationArrow\"\r\n [isCheckList]=\"isCheckList\"\r\n (rowCheck)=\"onRowCheck($event)\"\r\n (rowClick)=\"onRowClick($event)\"\r\n (ulvCommand)=\"onUlvCommand($event)\"\r\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\r\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\r\n >\r\n </bsu-list-item>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".fd-list__group-header{column-gap:10px;align-items:center}.display-list .fd-list__secondary{display:flex;justify-content:flex-end;align-items:center;color:var(--sapTile_TextColor, #6a6d70);column-gap:3px;row-gap:3px}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}\n"] }]
52
+ args: [{ selector: 'bsu-ui-list-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-toolbar\n [fdType]=\"'solid'\"\n *ngIf=\"viewSetting.MenuInSmallDevice && (deviceSize === 's' || deviceSize === 'm'); else container\"\n>\n <button\n fd-toolbar-item\n fd-button\n [fdMenu]=\"true\"\n [glyph]=\"'menu2'\"\n [fdType]=\"'transparent'\"\n [fdMenuTrigger]=\"menu\"\n [label]=\"'\u0627\u0646\u062A\u062E\u0627\u0628'\"\n ></button>\n</fd-toolbar>\n<fd-menu #menu [mobile]=\"true\" [mobileConfig]=\"{ title: title | bbbTranslate, hasCloseButton: true }\">\n <ng-container *ngTemplateOutlet=\"container\"></ng-container>\n</fd-menu>\n\n<ng-template #container>\n <fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table fd-table *ngIf=\"isCheckList\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>\n <fd-checkbox\n name=\"allCheckbox\"\n [ngModel]=\"allChecked\"\n (ngModelChange)=\"onAllCheckbox($event)\"\n >{{ 'All' | bbbTranslate }}</fd-checkbox\n >\n </th>\n </tr>\n </thead>\n </table>\n <ng-container\n *ngTemplateOutlet=\"\n isDisplayType ? displayListTemplate : standardListTemplate;\n context: {\n $implicit: moDataList,\n isCheckList: isCheckList,\n groupby: groupby,\n conditionalFormats: conditionalFormats,\n deviceName: deviceName,\n viewSetting: viewSetting,\n allColumns: allColumns,\n access: access,\n rtl: rtl\n }\n \"\n >\n </ng-container>\n </fd-layout-panel-body>\n </fd-layout-panel>\n</ng-template>\n\n<!--display list-->\n<ng-template\n #displayListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-deviceName=\"deviceName\"\n let-allColumns=\"allColumns\"\n let-viewSetting=\"viewSetting\"\n let-access=\"access\"\n let-rtl=\"rtl\"\n>\n <ul\n fd-list\n class=\"display-list fd-list--navigation\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index; let last = last\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</ng-template>\n<!--standard list-->\n<ng-template\n #standardListTemplate\n let-moDataList\n let-isCheckList=\"isCheckList\"\n let-groupby=\"groupby\"\n let-conditionalFormats=\"conditionalFormats\"\n let-allColumns=\"allColumns\"\n let-deviceName=\"deviceName\"\n let-access=\"access\"\n let-viewSetting=\"viewSetting\"\n let-rtl=\"rtl\"\n let-last=\"last\"\n>\n <ul\n class=\"fd-list--navigation\"\n [class.fd-list--byline]=\"!isDisplayType\"\n fd-list\n [byline]=\"true\"\n *ngIf=\"moDataList && moDataList.length > 0; else noData\"\n ellipsify\n >\n <ng-container *ngFor=\"let mo of moDataList | multipleGroupBy: groupby; let index = index\">\n <ng-container *ngIf=\"!mo.parent || mo.parent?.expanded\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: {\n $implicit: mo,\n index: index,\n last: last,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</ng-template>\n\n<!--noData-->\n<ng-template #noData>\n <bsu-no-data></bsu-no-data>\n</ng-template>\n<ng-template\n #itemTemplate\n let-mo\n let-index=\"index\"\n let-last=\"last\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n>\n <li\n fd-list-group-header\n *ngIf=\"mo.group || mo.group === ''; else listItemTemplate\"\n [style.padding-right]=\"'calc( 1rem + ' + mo.level * 12 + 'px' + ' )'\"\n [attr.level]=\"mo.level\"\n [class.root-group]=\"mo.level === 0\"\n >\n <fd-icon\n [glyph]=\"mo.expanded ? 'navigation-down-arrow' : 'navigation-left-arrow'\"\n class=\"cell-expand\"\n (click)=\"onExpandClick(mo)\"\n ></fd-icon>\n <span fd-list-title>{{ mo.group }}</span>\n </li>\n <ng-template #listItemTemplate>\n <ng-container\n *ngTemplateOutlet=\"\n hasRowOlgo ? dynamicItemTemplate : defaultItem;\n context: {\n $implicit: mo,\n index: index,\n columns: columns,\n moDataList: moDataList,\n moDataListCount: moDataList.length\n }\n \"\n ></ng-container>\n <ng-template\n #defaultItem\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n <bsu-list-item\n *ngIf=\"!hasRowOlgo; else dynamicItemTemplate\"\n [isDisplayType]=\"isDisplayType\"\n [mo]=\"mo\"\n [isChecked]=\"mo.$IsChecked\"\n [styleIndex]=\"mo.$StyleIndex\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"listSetting\"\n [editMode]=\"inlineEditMode\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [formSetting]=\"formSetting\"\n [allColumns]=\"allColumns\"\n [contentDensity]=\"contentDensity\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n (rowCheck)=\"onRowCheck($event)\"\n (rowClick)=\"onRowClick($event)\"\n (ulvCommand)=\"onUlvCommand($event)\"\n (editFormPanelSave)=\"onEditFormPanelSave($event)\"\n (editFormPanelCancel)=\"onEditFormPanelCancel($event)\"\n >\n </bsu-list-item>\n </ng-template>\n\n <ng-template\n #dynamicItemTemplate\n let-mo\n let-index=\"index\"\n let-columns=\"columns\"\n let-moDataListCount=\"moDataListCount\"\n let-moDataList=\"moDataList\"\n >\n <bnrc-dynamic-item-component\n [component]=\"viewSetting.RowOlgo\"\n [mo]=\"mo\"\n [styleIndex]=\"mo.$StyleIndex\"\n [moDataList]=\"moDataList\"\n [showDetailsInRow]=\"showDetailsInRow\"\n [hideOpenIcon]=\"hideOpenIcon\"\n [detailsColumns]=\"detailsColumns\"\n [columnComponents]=\"viewSetting?.ColumnComponents || null\"\n [cartableTemplate]=\"cartableTemplates[mo.RelatedMo?.$TypeDefId]\"\n [cartableMo]=\"mo.RelatedMo\"\n [cartableWorkflowData]=\"mo.SerializedWorkflowData\"\n [serializedRelatedMo]=\"mo.SerializedRelatedMo\"\n [detailsText]=\"viewSetting?.DetailsSetting?.ButtonText\"\n [detailsComponent]=\"detailsComponent\"\n [isChecked]=\"mo.$IsChecked\"\n [visibility]=\"mo.$Visibility\"\n [expanded]=\"mo.$Expanded\"\n [level]=\"mo.$Level\"\n [parentExpanded]=\"mo.$Parent?.$Expanded\"\n [moDataListCount]=\"moDataListCount\"\n [columnsCount]=\"columnsCount - detailsColumns.length\"\n [typeDefId]=\"typeDefId\"\n [extraRelation]=\"extraRelation\"\n [formSetting]=\"formSetting\"\n [index]=\"index\"\n [last]=\"last\"\n [setting]=\"viewSetting\"\n [secondaryColumns]=\"secondaryColumns | filterColumnsByDetails: detailsColumns\"\n [columns]=\"columns | filterColumnsByDetails: detailsColumns\"\n [isNewInlineMo]=\"mo.$NewInlineMo\"\n [access]=\"access\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [allColumns]=\"allColumns\"\n [contextMenuItems]=\"contextMenuItems\"\n [canView]=\"canView\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [navigationArrow]=\"navigationArrow\"\n [isCheckList]=\"isCheckList\"\n [rowIndicator]=\"columns[0].MetaFieldTypeId === '41'\"\n (events)=\"onOlgoEvents($event)\"\n >\n </bnrc-dynamic-item-component>\n </ng-template>\n </ng-template>\n</ng-template>\n", styles: [".fd-list__group-header{column-gap:10px;align-items:center}.display-list .fd-list__secondary{display:flex;justify-content:flex-end;align-items:center;color:var(--sapTile_TextColor, #6a6d70);column-gap:3px;row-gap:3px}.fd-list--navigation-indication .fd-list__item:after{min-width:0!important}li.standard-list-row{padding-top:.2rem;padding-bottom:.2rem;min-height:4rem;justify-content:space-evenly;column-gap:10px}li.standard-list-row:hover:not(.selected){background-color:var(--sapBackgroundColor, #f7f7f7)}li.standard-list-row .fd-list__content{row-gap:.4rem}li.standard-list-row .fd-list__content .fd-list__byline{padding:0;font-size:.775rem}li.standard-list-row ::ng-deep .fd-form-item{position:static}li.standard-list-row ::ng-deep .fd-form-item .fd-checkbox__label--compact{padding:0;margin-left:0}li.standard-list-row ::ng-deep fd-icon{font-size:.75rem!important}fd-layout-panel{height:100%}.li-link.checklink[rtl=true]{padding-right:0!important}.li-link.checklist[rtl=false]{padding-left:0!important}.standard-list-group-label{padding-top:10px;padding-bottom:3px}\n"] }]
44
53
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFVdEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUEwQztJQUsvRSxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUM7UUFDckUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FDbkMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUN4QyxDQUFDO1FBRVYsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLEdBQUcsV0FBVztZQUNkLFVBQVUsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNwRSxhQUFhLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ2hGLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDOUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDdEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ25GLENBQUM7SUFDTixDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnSEFqQ1EsbUJBQW1CO29HQUFuQixtQkFBbUIsK0VDWmhDLHkwS0E0SUE7MkZEaElhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsIGVudW1WYWx1ZVRvU3RyaW5nU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IFVpTGlzdFZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWxpc3QtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaUxpc3RWaWV3U2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgbGlzdFNldHRpbmc6IFVpTGlzdFZpZXdTZXR0aW5nO1xyXG4gICAgYXZhdGFyU2l6ZTogU2l6ZTtcclxuICAgIGlzRGlzcGxheVR5cGU6IGJvb2xlYW47XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmlzRGlzcGxheVR5cGUgPSB0aGlzLnZpZXdTZXR0aW5nLkl0ZW1UeXBlJENhcHRpb24gPT09ICdEaXNwbGF5JztcclxuICAgICAgICBjb25zdCB2aWV3U2V0dGluZyA9IHRoaXMudmlld1NldHRpbmc7XHJcbiAgICAgICAgY29uc3QgZmluZENvbHVtbiA9IHRoaXMuX2ZpbmRDb2x1bW5CeURiTmFtZTtcclxuICAgICAgICB0aGlzLmF2YXRhclNpemUgPSBlbnVtVmFsdWVUb1N0cmluZ1NpemUoXHJcbiAgICAgICAgICAgIHZpZXdTZXR0aW5nLkF2YXRhclNpemUsXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudERlbnNpdHkgPT09ICdjb21wYWN0JyA/ICdzJyA6ICdtJ1xyXG4gICAgICAgICkgYXMgU2l6ZTtcclxuXHJcbiAgICAgICAgdGhpcy5saXN0U2V0dGluZyA9IHtcclxuICAgICAgICAgICAgLi4udmlld1NldHRpbmcsXHJcbiAgICAgICAgICAgIFRpdGxlRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuVGl0bGUpLFxyXG4gICAgICAgICAgICBTdWJ0aXRsZUZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlN1YnRpdGxlKSA/PyAnJyxcclxuICAgICAgICAgICAgQ291bnRlckZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkNvdW50ZXIpID8/ICcnLFxyXG4gICAgICAgICAgICBBdmF0YXJGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5BdmF0YXIpLFxyXG4gICAgICAgICAgICBJY29uRm9udDogdmlld1NldHRpbmcuSWNvbkZvbnQgfHwgbnVsbCxcclxuICAgICAgICAgICAgU3RhdHVzRmllbGQ6IGZpbmRDb2x1bW4udHJhbnNmb3JtKHRoaXMuYWxsQ29sdW1ucywgdmlld1NldHRpbmcuU3RhdHVzKSxcclxuICAgICAgICAgICAgRGVzY3JpcHRpb25GaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5EZXNjcmlwdGlvbilcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIG9uTGlzdENoZWNrYm94Q2xpY2sobW8sIGluZGV4KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTGlzdE5hdmlnYXRpb25DbGljayhtbywgaW5kZXgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbD5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDx0YWJsZSBmZC10YWJsZSAqbmdJZj1cImlzQ2hlY2tMaXN0XCI+XHJcbiAgICAgICAgICAgIDx0aGVhZCBmZC10YWJsZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhbGxDaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQWxsQ2hlY2tib3goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgJ0FsbCcgfCBiYmJUcmFuc2xhdGUgfX08L2ZkLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGlzRGlzcGxheVR5cGUgPyBkaXNwbGF5TGlzdFRlbXBsYXRlIDogc3RhbmRhcmRMaXN0VGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgIGlzQ2hlY2tMaXN0OiBpc0NoZWNrTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICBncm91cGJ5OiBncm91cGJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzLFxyXG4gICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdmlld1NldHRpbmc6IHZpZXdTZXR0aW5nLFxyXG4gICAgICAgICAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXNzOiBhY2Nlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcnRsOiBydGxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2ZkLWxheW91dC1wYW5lbC1ib2R5PlxyXG48L2ZkLWxheW91dC1wYW5lbD5cclxuPCEtLWRpc3BsYXkgbGlzdC0tPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNkaXNwbGF5TGlzdFRlbXBsYXRlXHJcbiAgICBsZXQtbW9EYXRhTGlzdFxyXG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxyXG4gICAgbGV0LWdyb3VwYnk9XCJncm91cGJ5XCJcclxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtdmlld1NldHRpbmc9XCJ2aWV3U2V0dGluZ1wiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC1ydGw9XCJydGxcIlxyXG4+XHJcbiAgICA8dWxcclxuICAgICAgICBmZC1saXN0XHJcbiAgICAgICAgY2xhc3M9XCJkaXNwbGF5LWxpc3QgZmQtbGlzdC0tbmF2aWdhdGlvblwiXHJcbiAgICAgICAgKm5nSWY9XCJtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFcIlxyXG4gICAgICAgIGVsbGlwc2lmeVxyXG4gICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vIG9mIG1vRGF0YUxpc3QgfCBtdWx0aXBsZUdyb3VwQnk6IGdyb3VwYnk7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW8ucGFyZW50IHx8IG1vLnBhcmVudD8uZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBtbywgaW5kZXg6IGluZGV4IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3VsPlxyXG48L25nLXRlbXBsYXRlPlxyXG48IS0tc3RhbmRhcmQgbGlzdC0tPlxyXG48bmctdGVtcGxhdGVcclxuICAgICNzdGFuZGFyZExpc3RUZW1wbGF0ZVxyXG4gICAgbGV0LW1vRGF0YUxpc3RcclxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcclxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXHJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcclxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXHJcbiAgICBsZXQtdmlld1NldHRpbmc9XCJ2aWV3U2V0dGluZ1wiXHJcbiAgICBsZXQtcnRsPVwicnRsXCJcclxuPlxyXG4gICAgPHVsXHJcbiAgICAgICAgY2xhc3M9XCJmZC1saXN0LS1uYXZpZ2F0aW9uXCJcclxuICAgICAgICBbY2xhc3MuZmQtbGlzdC0tYnlsaW5lXT1cIiFpc0Rpc3BsYXlUeXBlXCJcclxuICAgICAgICBmZC1saXN0XHJcbiAgICAgICAgW2J5bGluZV09XCJ0cnVlXCJcclxuICAgICAgICAqbmdJZj1cIm1vRGF0YUxpc3QgJiYgbW9EYXRhTGlzdC5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiXHJcbiAgICAgICAgZWxsaXBzaWZ5XHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdCB8IG11bHRpcGxlR3JvdXBCeTogZ3JvdXBieTsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtby5wYXJlbnQgfHwgbW8ucGFyZW50Py5leHBhbmRlZFwiIFtpc1Jvd109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbW8sIGluZGV4OiBpbmRleCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC91bD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS1ub0RhdGEtLT5cclxuPG5nLXRlbXBsYXRlICNub0RhdGE+XHJcbiAgICA8YnN1LW5vLWRhdGE+PC9ic3Utbm8tZGF0YT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LW1vIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICA8bGlcclxuICAgICAgICBmZC1saXN0LWdyb3VwLWhlYWRlclxyXG4gICAgICAgICpuZ0lmPVwibW8uZ3JvdXAgfHwgbW8uZ3JvdXAgPT09ICcnOyBlbHNlIGxpc3RJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cIidjYWxjKCAxcmVtICsgJyArIG1vLmxldmVsICogMTIgKyAncHgnICsgJyApJ1wiXHJcbiAgICAgICAgW2F0dHIubGV2ZWxdPVwibW8ubGV2ZWxcIlxyXG4gICAgICAgIFtjbGFzcy5yb290LWdyb3VwXT1cIm1vLmxldmVsID09PSAwXCJcclxuICAgID5cclxuICAgICAgICA8ZmQtaWNvblxyXG4gICAgICAgICAgICBbZ2x5cGhdPVwibW8uZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJjZWxsLWV4cGFuZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZENsaWNrKG1vKVwiXHJcbiAgICAgICAgPjwvZmQtaWNvbj5cclxuICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7IG1vLmdyb3VwIH19PC9zcGFuPlxyXG4gICAgPC9saT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW1UZW1wbGF0ZT5cclxuICAgICAgICA8YnN1LWxpc3QtaXRlbVxyXG4gICAgICAgICAgICBbaXNEaXNwbGF5VHlwZV09XCJpc0Rpc3BsYXlUeXBlXCJcclxuICAgICAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJtby4kSXNDaGVja2VkXCJcclxuICAgICAgICAgICAgW2lzTmV3SW5saW5lTW9dPVwibW8uJE5ld0lubGluZU1vXCJcclxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgW3NldHRpbmddPVwibGlzdFNldHRpbmdcIlxyXG4gICAgICAgICAgICBbZWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICBbcnRsXT1cInJ0bFwiXHJcbiAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxyXG4gICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcclxuICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXHJcbiAgICAgICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxyXG4gICAgICAgICAgICBbY2FuVmlld109XCJjYW5WaWV3XCJcclxuICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxyXG4gICAgICAgICAgICBbbmF2aWdhdGlvbkFycm93XT1cIm5hdmlnYXRpb25BcnJvd1wiXHJcbiAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXHJcbiAgICAgICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHVsdkNvbW1hbmQpPVwib25VbHZDb21tYW5kKCRldmVudClcIlxyXG4gICAgICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGVkaXRGb3JtUGFuZWxDYW5jZWwpPVwib25FZGl0Rm9ybVBhbmVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2JzdS1saXN0LWl0ZW0+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWxpc3Qtdmlldy91aS1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFHSCx1QkFBdUIsRUFFdkIscUJBQXFCLEVBQ3hCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVU5QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQTBDO0lBTm5GOztRQVVJLG1CQUFjLEdBQXVCLEVBQUUsQ0FBQztRQUl4QyxxQkFBZ0IsR0FBbUUsRUFBRSxDQUFDO0tBK0J6RjtJQTlCRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUM7UUFDckUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FDbkMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUN4QyxDQUFDO1FBRVYsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLEdBQUcsV0FBVztZQUNkLFVBQVUsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNwRSxhQUFhLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ2hGLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDOUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDdEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3RFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDO1NBQ25GLENBQUM7SUFDTixDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUs7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnSEF0Q1EsbUJBQW1CO29HQUFuQixtQkFBbUIsK0VDbEJoQyw4OFVBb1JBOzJGRGxRYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFanJheU9sZ28sXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudCxcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxuICAgIGVudW1WYWx1ZVRvU3RyaW5nU2l6ZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbmltcG9ydCB7IFVpTGlzdFZpZXdTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtdmlldyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWxpc3QtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbGlzdC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlMaXN0Vmlld0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpTGlzdFZpZXdTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbGlzdFNldHRpbmc6IFVpTGlzdFZpZXdTZXR0aW5nO1xuICAgIGF2YXRhclNpemU6IFNpemU7XG4gICAgaXNEaXNwbGF5VHlwZTogYm9vbGVhbjtcbiAgICBkZXRhaWxzQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdID0gW107XG4gICAgZGV0YWlsc0NvbXBvbmVudDogRWpyYXlPbGdvO1xuICAgIHNob3dEZXRhaWxzSW5Sb3c6IGJvb2xlYW47XG4gICAgaGFzUm93T2xnbzogYm9vbGVhbjtcbiAgICBjb2x1bW5Db21wb25lbnRzOiB7IGNvbHVtbjogUmVwb3J0Vmlld0NvbHVtbjsgY29tcG9uZW50OiBNZXRhb2JqZWN0RGF0YU1vZGVsIH1bXSA9IFtdO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmlzRGlzcGxheVR5cGUgPSB0aGlzLnZpZXdTZXR0aW5nLkl0ZW1UeXBlJENhcHRpb24gPT09ICdEaXNwbGF5JztcbiAgICAgICAgY29uc3Qgdmlld1NldHRpbmcgPSB0aGlzLnZpZXdTZXR0aW5nO1xuICAgICAgICB0aGlzLmhhc1Jvd09sZ28gPSB0aGlzLnZpZXdTZXR0aW5nPy5Sb3dPbGdvPy5TZWxlY3RvcjtcbiAgICAgICAgY29uc3QgZmluZENvbHVtbiA9IHRoaXMuX2ZpbmRDb2x1bW5CeURiTmFtZTtcbiAgICAgICAgdGhpcy5hdmF0YXJTaXplID0gZW51bVZhbHVlVG9TdHJpbmdTaXplKFxuICAgICAgICAgICAgdmlld1NldHRpbmcuQXZhdGFyU2l6ZSxcbiAgICAgICAgICAgIHRoaXMuY29udGVudERlbnNpdHkgPT09ICdjb21wYWN0JyA/ICdzJyA6ICdtJ1xuICAgICAgICApIGFzIFNpemU7XG5cbiAgICAgICAgdGhpcy5saXN0U2V0dGluZyA9IHtcbiAgICAgICAgICAgIC4uLnZpZXdTZXR0aW5nLFxuICAgICAgICAgICAgVGl0bGVGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5UaXRsZSksXG4gICAgICAgICAgICBTdWJ0aXRsZUZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlN1YnRpdGxlKSA/PyAnJyxcbiAgICAgICAgICAgIENvdW50ZXJGaWVsZDogZmluZENvbHVtbi50cmFuc2Zvcm0odGhpcy5hbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5Db3VudGVyKSA/PyAnJyxcbiAgICAgICAgICAgIEF2YXRhckZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkF2YXRhciksXG4gICAgICAgICAgICBJY29uRm9udDogdmlld1NldHRpbmcuSWNvbkZvbnQgfHwgbnVsbCxcbiAgICAgICAgICAgIFN0YXR1c0ZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlN0YXR1cyksXG4gICAgICAgICAgICBEZXNjcmlwdGlvbkZpZWxkOiBmaW5kQ29sdW1uLnRyYW5zZm9ybSh0aGlzLmFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkRlc2NyaXB0aW9uKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uTGlzdENoZWNrYm94Q2xpY2sobW8sIGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG5cbiAgICBvbkxpc3ROYXZpZ2F0aW9uQ2xpY2sobW8sIGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMucm93Q2xpY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG59XG4iLCI8ZmQtdG9vbGJhclxuICAgIFtmZFR5cGVdPVwiJ3NvbGlkJ1wiXG4gICAgKm5nSWY9XCJ2aWV3U2V0dGluZy5NZW51SW5TbWFsbERldmljZSAmJiAoZGV2aWNlU2l6ZSA9PT0gJ3MnIHx8IGRldmljZVNpemUgPT09ICdtJyk7IGVsc2UgY29udGFpbmVyXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgW2ZkTWVudV09XCJ0cnVlXCJcbiAgICAgICAgW2dseXBoXT1cIidtZW51MidcIlxuICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgW2xhYmVsXT1cIifYp9mG2KrYrtin2KgnXCJcbiAgICA+PC9idXR0b24+XG48L2ZkLXRvb2xiYXI+XG48ZmQtbWVudSAjbWVudSBbbW9iaWxlXT1cInRydWVcIiBbbW9iaWxlQ29uZmlnXT1cInsgdGl0bGU6IHRpdGxlIHwgYmJiVHJhbnNsYXRlLCBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxuPC9mZC1tZW51PlxuXG48bmctdGVtcGxhdGUgI2NvbnRhaW5lcj5cbiAgICA8ZmQtbGF5b3V0LXBhbmVsPlxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cInRydWVcIj5cbiAgICAgICAgICAgIDx0YWJsZSBmZC10YWJsZSAqbmdJZj1cImlzQ2hlY2tMaXN0XCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkIGZkLXRhYmxlLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPHRyIGZkLXRhYmxlLXJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYWxsQ2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJhbGxDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BbGxDaGVja2JveCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICdBbGwnIHwgYmJiVHJhbnNsYXRlIH19PC9mZC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNwbGF5VHlwZSA/IGRpc3BsYXlMaXN0VGVtcGxhdGUgOiBzdGFuZGFyZExpc3RUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtb0RhdGFMaXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNDaGVja0xpc3Q6IGlzQ2hlY2tMaXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBieTogZ3JvdXBieSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlTmFtZTogZGV2aWNlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdTZXR0aW5nOiB2aWV3U2V0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbENvbHVtbnM6IGFsbENvbHVtbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3M6IGFjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogcnRsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWJvZHk+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWw+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tZGlzcGxheSBsaXN0LS0+XG48bmctdGVtcGxhdGVcbiAgICAjZGlzcGxheUxpc3RUZW1wbGF0ZVxuICAgIGxldC1tb0RhdGFMaXN0XG4gICAgbGV0LWlzQ2hlY2tMaXN0PVwiaXNDaGVja0xpc3RcIlxuICAgIGxldC1ncm91cGJ5PVwiZ3JvdXBieVwiXG4gICAgbGV0LWNvbmRpdGlvbmFsRm9ybWF0cz1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtYWxsQ29sdW1ucz1cImFsbENvbHVtbnNcIlxuICAgIGxldC12aWV3U2V0dGluZz1cInZpZXdTZXR0aW5nXCJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcbiAgICBsZXQtcnRsPVwicnRsXCJcbj5cbiAgICA8dWxcbiAgICAgICAgZmQtbGlzdFxuICAgICAgICBjbGFzcz1cImRpc3BsYXktbGlzdCBmZC1saXN0LS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgKm5nSWY9XCJtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFcIlxuICAgICAgICBlbGxpcHNpZnlcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vIG9mIG1vRGF0YUxpc3QgfCBtdWx0aXBsZUdyb3VwQnk6IGdyb3VwYnk7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW8ucGFyZW50IHx8IG1vLnBhcmVudD8uZXhwYW5kZWRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdDogbGFzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3Q6IG1vRGF0YUxpc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdENvdW50OiBtb0RhdGFMaXN0Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS1zdGFuZGFyZCBsaXN0LS0+XG48bmctdGVtcGxhdGVcbiAgICAjc3RhbmRhcmRMaXN0VGVtcGxhdGVcbiAgICBsZXQtbW9EYXRhTGlzdFxuICAgIGxldC1pc0NoZWNrTGlzdD1cImlzQ2hlY2tMaXN0XCJcbiAgICBsZXQtZ3JvdXBieT1cImdyb3VwYnlcIlxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgIGxldC1hbGxDb2x1bW5zPVwiYWxsQ29sdW1uc1wiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcbiAgICBsZXQtdmlld1NldHRpbmc9XCJ2aWV3U2V0dGluZ1wiXG4gICAgbGV0LXJ0bD1cInJ0bFwiXG4gICAgbGV0LWxhc3Q9XCJsYXN0XCJcbj5cbiAgICA8dWxcbiAgICAgICAgY2xhc3M9XCJmZC1saXN0LS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgW2NsYXNzLmZkLWxpc3QtLWJ5bGluZV09XCIhaXNEaXNwbGF5VHlwZVwiXG4gICAgICAgIGZkLWxpc3RcbiAgICAgICAgW2J5bGluZV09XCJ0cnVlXCJcbiAgICAgICAgKm5nSWY9XCJtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QubGVuZ3RoID4gMDsgZWxzZSBub0RhdGFcIlxuICAgICAgICBlbGxpcHNpZnlcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1vIG9mIG1vRGF0YUxpc3QgfCBtdWx0aXBsZUdyb3VwQnk6IGdyb3VwYnk7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vLnBhcmVudCB8fCBtby5wYXJlbnQ/LmV4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbW8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q6IGxhc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogY29sdW1ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RDb3VudDogbW9EYXRhTGlzdC5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS1ub0RhdGEtLT5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPlxuICAgIDxic3Utbm8tZGF0YT48L2JzdS1uby1kYXRhPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZVxuICAgICNpdGVtVGVtcGxhdGVcbiAgICBsZXQtbW9cbiAgICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gICAgbGV0LWxhc3Q9XCJsYXN0XCJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgIGxldC1tb0RhdGFMaXN0Q291bnQ9XCJtb0RhdGFMaXN0Q291bnRcIlxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXG4+XG4gICAgPGxpXG4gICAgICAgIGZkLWxpc3QtZ3JvdXAtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW8uZ3JvdXAgfHwgbW8uZ3JvdXAgPT09ICcnOyBlbHNlIGxpc3RJdGVtVGVtcGxhdGVcIlxuICAgICAgICBbc3R5bGUucGFkZGluZy1yaWdodF09XCInY2FsYyggMXJlbSArICcgKyBtby5sZXZlbCAqIDEyICsgJ3B4JyArICcgKSdcIlxuICAgICAgICBbYXR0ci5sZXZlbF09XCJtby5sZXZlbFwiXG4gICAgICAgIFtjbGFzcy5yb290LWdyb3VwXT1cIm1vLmxldmVsID09PSAwXCJcbiAgICA+XG4gICAgICAgIDxmZC1pY29uXG4gICAgICAgICAgICBbZ2x5cGhdPVwibW8uZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiY2VsbC1leHBhbmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kQ2xpY2sobW8pXCJcbiAgICAgICAgPjwvZmQtaWNvbj5cbiAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBtby5ncm91cCB9fTwvc3Bhbj5cbiAgICA8L2xpPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW1UZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICBoYXNSb3dPbGdvID8gZHluYW1pY0l0ZW1UZW1wbGF0ZSA6IGRlZmF1bHRJdGVtO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxuICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0Q291bnQ6IG1vRGF0YUxpc3QubGVuZ3RoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICNkZWZhdWx0SXRlbVxuICAgICAgICAgICAgbGV0LW1vXG4gICAgICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gICAgICAgICAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgICAgICAgICAgbGV0LW1vRGF0YUxpc3RDb3VudD1cIm1vRGF0YUxpc3RDb3VudFwiXG4gICAgICAgICAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YnN1LWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhhc1Jvd09sZ287IGVsc2UgZHluYW1pY0l0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2lzRGlzcGxheVR5cGVdPVwiaXNEaXNwbGF5VHlwZVwiXG4gICAgICAgICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cIm1vLiRJc0NoZWNrZWRcIlxuICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4XCJcbiAgICAgICAgICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxuICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgW2xhc3RdPVwibGFzdFwiXG4gICAgICAgICAgICAgICAgW3NldHRpbmddPVwibGlzdFNldHRpbmdcIlxuICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgICAgICAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICAgICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1TZXR0aW5nXT1cImZvcm1TZXR0aW5nXCJcbiAgICAgICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgIFtjYW5WaWV3XT1cImNhblZpZXdcIlxuICAgICAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgICAgIFtuYXZpZ2F0aW9uQXJyb3ddPVwibmF2aWdhdGlvbkFycm93XCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja0xpc3RdPVwiaXNDaGVja0xpc3RcIlxuICAgICAgICAgICAgICAgIChyb3dDaGVjayk9XCJvblJvd0NoZWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChyb3dDbGljayk9XCJvblJvd0NsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICh1bHZDb21tYW5kKT1cIm9uVWx2Q29tbWFuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZWRpdEZvcm1QYW5lbFNhdmUpPVwib25FZGl0Rm9ybVBhbmVsU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZWRpdEZvcm1QYW5lbENhbmNlbCk9XCJvbkVkaXRGb3JtUGFuZWxDYW5jZWwoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2JzdS1saXN0LWl0ZW0+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAjZHluYW1pY0l0ZW1UZW1wbGF0ZVxuICAgICAgICAgICAgbGV0LW1vXG4gICAgICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gICAgICAgICAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgICAgICAgICAgbGV0LW1vRGF0YUxpc3RDb3VudD1cIm1vRGF0YUxpc3RDb3VudFwiXG4gICAgICAgICAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Ym5yYy1keW5hbWljLWl0ZW0tY29tcG9uZW50XG4gICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ2aWV3U2V0dGluZy5Sb3dPbGdvXCJcbiAgICAgICAgICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4XCJcbiAgICAgICAgICAgICAgICBbbW9EYXRhTGlzdF09XCJtb0RhdGFMaXN0XCJcbiAgICAgICAgICAgICAgICBbc2hvd0RldGFpbHNJblJvd109XCJzaG93RGV0YWlsc0luUm93XCJcbiAgICAgICAgICAgICAgICBbaGlkZU9wZW5JY29uXT1cImhpZGVPcGVuSWNvblwiXG4gICAgICAgICAgICAgICAgW2RldGFpbHNDb2x1bW5zXT1cImRldGFpbHNDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbY29sdW1uQ29tcG9uZW50c109XCJ2aWV3U2V0dGluZz8uQ29sdW1uQ29tcG9uZW50cyB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICBbY2FydGFibGVUZW1wbGF0ZV09XCJjYXJ0YWJsZVRlbXBsYXRlc1ttby5SZWxhdGVkTW8/LiRUeXBlRGVmSWRdXCJcbiAgICAgICAgICAgICAgICBbY2FydGFibGVNb109XCJtby5SZWxhdGVkTW9cIlxuICAgICAgICAgICAgICAgIFtjYXJ0YWJsZVdvcmtmbG93RGF0YV09XCJtby5TZXJpYWxpemVkV29ya2Zsb3dEYXRhXCJcbiAgICAgICAgICAgICAgICBbc2VyaWFsaXplZFJlbGF0ZWRNb109XCJtby5TZXJpYWxpemVkUmVsYXRlZE1vXCJcbiAgICAgICAgICAgICAgICBbZGV0YWlsc1RleHRdPVwidmlld1NldHRpbmc/LkRldGFpbHNTZXR0aW5nPy5CdXR0b25UZXh0XCJcbiAgICAgICAgICAgICAgICBbZGV0YWlsc0NvbXBvbmVudF09XCJkZXRhaWxzQ29tcG9uZW50XCJcbiAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cIm1vLiRJc0NoZWNrZWRcIlxuICAgICAgICAgICAgICAgIFt2aXNpYmlsaXR5XT1cIm1vLiRWaXNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwibW8uJEV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibW8uJExldmVsXCJcbiAgICAgICAgICAgICAgICBbcGFyZW50RXhwYW5kZWRdPVwibW8uJFBhcmVudD8uJEV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICBbbW9EYXRhTGlzdENvdW50XT1cIm1vRGF0YUxpc3RDb3VudFwiXG4gICAgICAgICAgICAgICAgW2NvbHVtbnNDb3VudF09XCJjb2x1bW5zQ291bnQgLSBkZXRhaWxzQ29sdW1ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIFt0eXBlRGVmSWRdPVwidHlwZURlZklkXCJcbiAgICAgICAgICAgICAgICBbZXh0cmFSZWxhdGlvbl09XCJleHRyYVJlbGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbZm9ybVNldHRpbmddPVwiZm9ybVNldHRpbmdcIlxuICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgW2xhc3RdPVwibGFzdFwiXG4gICAgICAgICAgICAgICAgW3NldHRpbmddPVwidmlld1NldHRpbmdcIlxuICAgICAgICAgICAgICAgIFtzZWNvbmRhcnlDb2x1bW5zXT1cInNlY29uZGFyeUNvbHVtbnMgfCBmaWx0ZXJDb2x1bW5zQnlEZXRhaWxzOiBkZXRhaWxzQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1ucyB8IGZpbHRlckNvbHVtbnNCeURldGFpbHM6IGRldGFpbHNDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbaXNOZXdJbmxpbmVNb109XCJtby4kTmV3SW5saW5lTW9cIlxuICAgICAgICAgICAgICAgIFthY2Nlc3NdPVwiYWNjZXNzXCJcbiAgICAgICAgICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgICAgICAgICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgICAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgW2NhblZpZXddPVwiY2FuVmlld1wiXG4gICAgICAgICAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudV09XCJkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudVwiXG4gICAgICAgICAgICAgICAgW25hdmlnYXRpb25BcnJvd109XCJuYXZpZ2F0aW9uQXJyb3dcIlxuICAgICAgICAgICAgICAgIFtpc0NoZWNrTGlzdF09XCJpc0NoZWNrTGlzdFwiXG4gICAgICAgICAgICAgICAgW3Jvd0luZGljYXRvcl09XCJjb2x1bW5zWzBdLk1ldGFGaWVsZFR5cGVJZCA9PT0gJzQxJ1wiXG4gICAgICAgICAgICAgICAgKGV2ZW50cyk9XCJvbk9sZ29FdmVudHMoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2JucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -73,10 +73,10 @@ export class UiMatrixViewComponent extends ReportViewBaseComponent {
73
73
  }
74
74
  }
75
75
  UiMatrixViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiMatrixViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
76
- UiMatrixViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: { deviceSize: "deviceSize", deviceName: "deviceName", moDataList: "moDataList", columns: "columns", formLayout: "formLayout", conditionalFormat: "conditionalFormat", activeCell: "activeCell", valueControlFieldCaption: "valueControlFieldCaption", formTemplate: "formTemplate", valueType: "valueType", cellWidth: "cellWidth", cellHeight: "cellHeight", verticalLabelWidth: "verticalLabelWidth", fitWidth: "fitWidth", minWidth: "minWidth", minHeight: "minHeight", rowResizer: "rowResizer", enableResizing: "enableResizing" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true }, { propertyName: "ellipsifyDirective", first: true, predicate: EllipsifyDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table\r\n fd-table\r\n ellipsify\r\n tableResizer\r\n [fitWidth]=\"fitWidth\"\r\n [minWidth]=\"minWidth\"\r\n [minHeight]=\"minHeight\"\r\n [VerticalLableVisible]=\"false\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n >\r\n <thead fd-table-header #tableHead>\r\n <tr fd-table-row>\r\n <th fd-table-cell class=\"empty-cell\"></th>\r\n <ng-container *ngFor=\"let column of columns\">\r\n <th fd-table-cell>\r\n <span>\r\n {{ column.Caption }}\r\n </span>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n <ng-container *ngIf=\"moDataList?.length\">\r\n <ng-container *ngFor=\"let mo of moDataList; let i = index\">\r\n <tr\r\n fd-table-row\r\n #trEl\r\n *ngIf=\"mo.VerticalColumn\"\r\n [applyConditionalFormats]=\"conditionalFormat\"\r\n [mo]=\"mo\"\r\n [hostEl]=\"trEl\"\r\n [hoverable]=\"false\"\r\n [class]=\"'row_' + mo?.VerticalData?.Id\"\r\n >\r\n <td fd-table-cell class=\"vertical-label\">\r\n <span>{{ mo.VerticalColumn }}</span>\r\n </td>\r\n <td\r\n fd-table-cell\r\n *ngFor=\"let column of columns; let j = index; let first = first; let last = last\"\r\n [hoverable]=\"true\"\r\n >\r\n <bsu-column-matrix-renderer\r\n class=\"column-renderer\"\r\n (cellClick)=\"\r\n onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\r\n \"\r\n [value]=\"mo[column.Caption]\"\r\n [isActive]=\"i === activeCell?.i && j === activeCell?.j\"\r\n [formLayout]=\"formLayout\"\r\n [uiControl]=\"valueControlFieldCaption | controlUi: formLayout\"\r\n [columnCaption]=\"column.Caption\"\r\n [valueType]=\"valueType\"\r\n [height]=\"mo.height\"\r\n (changeToEdit)=\"onChangeToEdit(i, j)\"\r\n ></bsu-column-matrix-renderer>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n", styles: ["fd-layout-panel{height:100%}fd-layout-panel table thead tr{background-color:var(--sapList_HeaderBackground, #f2f2f2)}fd-layout-panel table tbody{border-bottom:none}fd-layout-panel table tbody .fd-table__cell.vertical-label{background-color:var(--sapList_HeaderBackground, #f2f2f2)}:host{display:block;width:100%;height:100%;overflow:hidden}::-webkit-scrollbar{height:7px;width:7px}::-webkit-scrollbar-track{box-shadow:inset 0 0 2px #d0cece;border-radius:10px}::-webkit-scrollbar-thumb{background:#c8cacb;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#adb0b2}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.TableResizerDirective, selector: "[tableResizer]", inputs: ["fitWidth", "minWidth", "minHeight", "containerWidth", "rowResizer", "enableResizing"], outputs: ["columnResized"] }, { kind: "component", type: i3.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i3.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i4.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i4.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i5.ColumnMatrixRendererComponent, selector: "bsu-column-matrix-renderer", inputs: ["value", "valueCaption", "formLayout", "columnCaption", "uiControl", "valueType", "isActive", "height"], outputs: ["cellClick", "changeToEdit"] }, { kind: "directive", type: i6.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "mo", "hostEl", "dbName"] }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
+ UiMatrixViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: { deviceSize: "deviceSize", deviceName: "deviceName", moDataList: "moDataList", columns: "columns", formLayout: "formLayout", conditionalFormat: "conditionalFormat", activeCell: "activeCell", valueControlFieldCaption: "valueControlFieldCaption", formTemplate: "formTemplate", valueType: "valueType", cellWidth: "cellWidth", cellHeight: "cellHeight", verticalLabelWidth: "verticalLabelWidth", fitWidth: "fitWidth", minWidth: "minWidth", minHeight: "minHeight", rowResizer: "rowResizer", enableResizing: "enableResizing" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true }, { propertyName: "ellipsifyDirective", first: true, predicate: EllipsifyDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table\n fd-table\n ellipsify\n tableResizer\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [VerticalLableVisible]=\"false\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n >\n <thead fd-table-header #tableHead>\n <tr fd-table-row>\n <th fd-table-cell class=\"empty-cell\"></th>\n <ng-container *ngFor=\"let column of columns\">\n <th fd-table-cell>\n <span>\n {{ column.Caption }}\n </span>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody fd-table-body>\n <ng-container *ngIf=\"moDataList?.length\">\n <ng-container *ngFor=\"let mo of moDataList; let i = index\">\n <tr\n fd-table-row\n #trEl\n *ngIf=\"mo.VerticalColumn\"\n [applyConditionalFormats]=\"conditionalFormat\"\n [styleIndex]=\"mo.$StyleIndex ? mo.$StyleIndex : []\"\n [hostEl]=\"trEl\"\n [hoverable]=\"false\"\n [class]=\"'row_' + mo?.VerticalData?.Id\"\n >\n <td fd-table-cell class=\"vertical-label\">\n <span>{{ mo.VerticalColumn }}</span>\n </td>\n <td\n fd-table-cell\n *ngFor=\"let column of columns; let j = index; let first = first; let last = last\"\n [hoverable]=\"true\"\n >\n <bsu-column-matrix-renderer\n class=\"column-renderer\"\n (cellClick)=\"\n onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\n \"\n [value]=\"mo[column.Caption]\"\n [isActive]=\"i === activeCell?.i && j === activeCell?.j\"\n [formLayout]=\"formLayout\"\n [uiControl]=\"valueControlFieldCaption | controlUi: formLayout\"\n [columnCaption]=\"column.Caption\"\n [valueType]=\"valueType\"\n [height]=\"mo.height\"\n (changeToEdit)=\"onChangeToEdit(i, j)\"\n ></bsu-column-matrix-renderer>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </fd-layout-panel-body>\n</fd-layout-panel>\n", styles: ["fd-layout-panel{height:100%}fd-layout-panel table thead tr{background-color:var(--sapList_HeaderBackground, #f2f2f2)}fd-layout-panel table tbody{border-bottom:none}fd-layout-panel table tbody .fd-table__cell.vertical-label{background-color:var(--sapList_HeaderBackground, #f2f2f2)}:host{display:block;width:100%;height:100%;overflow:hidden}::-webkit-scrollbar{height:7px;width:7px}::-webkit-scrollbar-track{box-shadow:inset 0 0 2px #d0cece;border-radius:10px}::-webkit-scrollbar-thumb{background:#c8cacb;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#adb0b2}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.EllipsifyDirective, selector: "[ellipsify]", inputs: ["limitLine"] }, { kind: "directive", type: i2.TableResizerDirective, selector: "[tableResizer]", inputs: ["fitWidth", "minWidth", "minHeight", "containerWidth", "rowResizer", "enableResizing"], outputs: ["columnResized"] }, { kind: "component", type: i3.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage"] }, { kind: "component", type: i3.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i4.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i4.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i5.ColumnMatrixRendererComponent, selector: "bsu-column-matrix-renderer", inputs: ["value", "valueCaption", "formLayout", "columnCaption", "uiControl", "valueType", "isActive", "height"], outputs: ["cellClick", "changeToEdit"] }, { kind: "directive", type: i6.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiMatrixViewComponent, decorators: [{
78
78
  type: Component,
79
- args: [{ selector: 'bsu-ui-matrix-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel>\r\n <fd-layout-panel-body [bleed]=\"true\">\r\n <table\r\n fd-table\r\n ellipsify\r\n tableResizer\r\n [fitWidth]=\"fitWidth\"\r\n [minWidth]=\"minWidth\"\r\n [minHeight]=\"minHeight\"\r\n [VerticalLableVisible]=\"false\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n >\r\n <thead fd-table-header #tableHead>\r\n <tr fd-table-row>\r\n <th fd-table-cell class=\"empty-cell\"></th>\r\n <ng-container *ngFor=\"let column of columns\">\r\n <th fd-table-cell>\r\n <span>\r\n {{ column.Caption }}\r\n </span>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody fd-table-body>\r\n <ng-container *ngIf=\"moDataList?.length\">\r\n <ng-container *ngFor=\"let mo of moDataList; let i = index\">\r\n <tr\r\n fd-table-row\r\n #trEl\r\n *ngIf=\"mo.VerticalColumn\"\r\n [applyConditionalFormats]=\"conditionalFormat\"\r\n [mo]=\"mo\"\r\n [hostEl]=\"trEl\"\r\n [hoverable]=\"false\"\r\n [class]=\"'row_' + mo?.VerticalData?.Id\"\r\n >\r\n <td fd-table-cell class=\"vertical-label\">\r\n <span>{{ mo.VerticalColumn }}</span>\r\n </td>\r\n <td\r\n fd-table-cell\r\n *ngFor=\"let column of columns; let j = index; let first = first; let last = last\"\r\n [hoverable]=\"true\"\r\n >\r\n <bsu-column-matrix-renderer\r\n class=\"column-renderer\"\r\n (cellClick)=\"\r\n onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\r\n \"\r\n [value]=\"mo[column.Caption]\"\r\n [isActive]=\"i === activeCell?.i && j === activeCell?.j\"\r\n [formLayout]=\"formLayout\"\r\n [uiControl]=\"valueControlFieldCaption | controlUi: formLayout\"\r\n [columnCaption]=\"column.Caption\"\r\n [valueType]=\"valueType\"\r\n [height]=\"mo.height\"\r\n (changeToEdit)=\"onChangeToEdit(i, j)\"\r\n ></bsu-column-matrix-renderer>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n", styles: ["fd-layout-panel{height:100%}fd-layout-panel table thead tr{background-color:var(--sapList_HeaderBackground, #f2f2f2)}fd-layout-panel table tbody{border-bottom:none}fd-layout-panel table tbody .fd-table__cell.vertical-label{background-color:var(--sapList_HeaderBackground, #f2f2f2)}:host{display:block;width:100%;height:100%;overflow:hidden}::-webkit-scrollbar{height:7px;width:7px}::-webkit-scrollbar-track{box-shadow:inset 0 0 2px #d0cece;border-radius:10px}::-webkit-scrollbar-thumb{background:#c8cacb;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#adb0b2}\n"] }]
79
+ args: [{ selector: 'bsu-ui-matrix-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel>\n <fd-layout-panel-body [bleed]=\"true\">\n <table\n fd-table\n ellipsify\n tableResizer\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [VerticalLableVisible]=\"false\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n >\n <thead fd-table-header #tableHead>\n <tr fd-table-row>\n <th fd-table-cell class=\"empty-cell\"></th>\n <ng-container *ngFor=\"let column of columns\">\n <th fd-table-cell>\n <span>\n {{ column.Caption }}\n </span>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody fd-table-body>\n <ng-container *ngIf=\"moDataList?.length\">\n <ng-container *ngFor=\"let mo of moDataList; let i = index\">\n <tr\n fd-table-row\n #trEl\n *ngIf=\"mo.VerticalColumn\"\n [applyConditionalFormats]=\"conditionalFormat\"\n [styleIndex]=\"mo.$StyleIndex ? mo.$StyleIndex : []\"\n [hostEl]=\"trEl\"\n [hoverable]=\"false\"\n [class]=\"'row_' + mo?.VerticalData?.Id\"\n >\n <td fd-table-cell class=\"vertical-label\">\n <span>{{ mo.VerticalColumn }}</span>\n </td>\n <td\n fd-table-cell\n *ngFor=\"let column of columns; let j = index; let first = first; let last = last\"\n [hoverable]=\"true\"\n >\n <bsu-column-matrix-renderer\n class=\"column-renderer\"\n (cellClick)=\"\n onSelectionChange({ value: mo[column.Caption], index: { i: i, j: j } })\n \"\n [value]=\"mo[column.Caption]\"\n [isActive]=\"i === activeCell?.i && j === activeCell?.j\"\n [formLayout]=\"formLayout\"\n [uiControl]=\"valueControlFieldCaption | controlUi: formLayout\"\n [columnCaption]=\"column.Caption\"\n [valueType]=\"valueType\"\n [height]=\"mo.height\"\n (changeToEdit)=\"onChangeToEdit(i, j)\"\n ></bsu-column-matrix-renderer>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n </table>\n </fd-layout-panel-body>\n</fd-layout-panel>\n", styles: ["fd-layout-panel{height:100%}fd-layout-panel table thead tr{background-color:var(--sapList_HeaderBackground, #f2f2f2)}fd-layout-panel table tbody{border-bottom:none}fd-layout-panel table tbody .fd-table__cell.vertical-label{background-color:var(--sapList_HeaderBackground, #f2f2f2)}:host{display:block;width:100%;height:100%;overflow:hidden}::-webkit-scrollbar{height:7px;width:7px}::-webkit-scrollbar-track{box-shadow:inset 0 0 2px #d0cece;border-radius:10px}::-webkit-scrollbar-thumb{background:#c8cacb;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#adb0b2}\n"] }]
80
80
  }], propDecorators: { tableHead: [{
81
81
  type: ViewChild,
82
82
  args: ['tableHead']
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
122
122
  }], selectionChange: [{
123
123
  type: Output
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxrQkFBa0IsRUFHbEIsdUJBQXVCLEVBRzFCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBUTlCLE1BQU0sT0FBTyxxQkFDVCxTQUFRLHVCQUFnRDtJQVA1RDs7UUE4QmMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFHeEMsQ0FBQztLQW1FUjtJQWpFRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUM3RjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RSxD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bnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIERldmljZVNpemUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBMYXlvdXRTZXR0aW5nLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1tYXRyaXgtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbWF0cml4LXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU1hdHJpeFZpZXdDb21wb25lbnRcclxuICAgIGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+XHJcbiAgICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0XHJcbntcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYmxlSGVhZCcpIHRhYmxlSGVhZDogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZChFbGxpcHNpZnlEaXJlY3RpdmUpIGVsbGlwc2lmeURpcmVjdGl2ZTogRWxsaXBzaWZ5RGlyZWN0aXZlO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEBJbnB1dCgpIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcclxuICAgIEBJbnB1dCgpIGZvcm1MYXlvdXQ6IExheW91dFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBjb25kaXRpb25hbEZvcm1hdDtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZUNlbGw7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGZvcm1UZW1wbGF0ZTtcclxuICAgIEBJbnB1dCgpIHZhbHVlVHlwZTtcclxuICAgIEBJbnB1dCgpIGNlbGxXaWR0aDtcclxuICAgIEBJbnB1dCgpIGNlbGxIZWlnaHQ7XHJcbiAgICBASW5wdXQoKSB2ZXJ0aWNhbExhYmVsV2lkdGg7XHJcbiAgICBASW5wdXQoKSBmaXRXaWR0aDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG1pbldpZHRoO1xyXG4gICAgQElucHV0KCkgbWluSGVpZ2h0O1xyXG4gICAgQElucHV0KCkgcm93UmVzaXplcjtcclxuICAgIEBJbnB1dCgpIGVuYWJsZVJlc2l6aW5nO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIHZhbHVlOiBhbnk7XHJcbiAgICAgICAgaW5kZXg6IHsgaTogbnVtYmVyOyBqOiBudW1iZXIgfTtcclxuICAgIH0+KCk7XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHsgZml0V2lkdGggfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKGZpdFdpZHRoICYmICFmaXRXaWR0aC5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDZWxsc1dpZHRoKGZpdFdpZHRoLmN1cnJlbnRWYWx1ZSwgdGhpcy5jZWxsV2lkdGgsIHRoaXMudmVydGljYWxMYWJlbFdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3QuZmlsdGVyKChtbykgPT4gbW8uVmVydGljYWxDb2x1bW4pO1xyXG4gICAgfVxyXG4gICAgb25DaGFuZ2VUb0VkaXQoaSwgaik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0W2ldO1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1uc1tqXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHsgdmFsdWU6IG1vW2NvbHVtbi5DYXB0aW9uXSwgaW5kZXg6IHsgaSwgaiB9IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVDZWxsc1dpZHRoKHRoaXMuZml0V2lkdGgsIHRoaXMuY2VsbFdpZHRoLCB0aGlzLnZlcnRpY2FsTGFiZWxXaWR0aCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ2VsbHNIZWlnaHQodGhpcy5jZWxsSGVpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdGlvbkNoYW5nZSh7IHZhbHVlLCBpbmRleCB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IHZhbHVlLCBpbmRleCB9KTtcclxuICAgICAgICAvLyB0aGlzLmVsbGlwc2lmeURpcmVjdGl2ZS5yZXNldERpcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZUNlbGxzV2lkdGgoZml0V2lkdGg6IGJvb2xlYW4sIGNlbGxXaWR0aCwgdmVydGljYWxMYWJlbFdpZHRoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICghZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBlbXB0eUhlYWRDZWxsID0gZWwucXVlcnlTZWxlY3RvcigndGguZW1wdHktY2VsbCcpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbXB0eUhlYWRDZWxsLCAnd2lkdGgnLCB2ZXJ0aWNhbExhYmVsV2lkdGggKyAncHgnKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZW1wdHlIZWFkQ2VsbCwgJ21pbi13aWR0aCcsIHZlcnRpY2FsTGFiZWxXaWR0aCArICdweCcpO1xyXG5cclxuICAgICAgICBjb25zdCBoZWFkQ2VsbHMgPSBlbC5xdWVyeVNlbGVjdG9yQWxsKCd0aDpub3QoLmVtcHR5LWNlbGwpJyk7XHJcbiAgICAgICAgaWYgKGZpdFdpZHRoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgICAgICAgICAgY29uc3QgdG90YWxXaWR0aCA9IHRoaXMudGFibGVIZWFkLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSB2ZXJ0aWNhbExhYmVsV2lkdGg7XHJcbiAgICAgICAgICAgIGNlbGxXaWR0aCA9IHRvdGFsV2lkdGggLyBjb2x1bW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKGVsLCAnZml0LXdpZHRoJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKGVsLCAnZml0LXdpZHRoJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0V2lkdGhBbmRIZWlnaHQoaGVhZENlbGxzLCAnd2lkdGgnLCBjZWxsV2lkdGgpO1xyXG4gICAgICAgIHRoaXMuc2V0V2lkdGhBbmRIZWlnaHQoaGVhZENlbGxzLCAnbWluLXdpZHRoJywgY2VsbFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRpYWxpemVDZWxsc0hlaWdodChjZWxsSGVpZ2h0KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICAgICAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUocm93LCAnaGVpZ2h0JywgY2VsbEhlaWdodCArICdweCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0V2lkdGhBbmRIZWlnaHQoZWxzLCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB2YWx1ZVN0ciA9IHZhbHVlLnRvU3RyaW5nKCkgKyAncHgnO1xyXG4gICAgICAgIGlmIChlbHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZWxzLmZvckVhY2goKHRhYmxlQ2VsbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRhYmxlQ2VsbCwgbmFtZSwgdmFsdWVTdHIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbD5cclxuICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDx0YWJsZVxyXG4gICAgICAgICAgICBmZC10YWJsZVxyXG4gICAgICAgICAgICBlbGxpcHNpZnlcclxuICAgICAgICAgICAgdGFibGVSZXNpemVyXHJcbiAgICAgICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXHJcbiAgICAgICAgICAgIFttaW5XaWR0aF09XCJtaW5XaWR0aFwiXHJcbiAgICAgICAgICAgIFttaW5IZWlnaHRdPVwibWluSGVpZ2h0XCJcclxuICAgICAgICAgICAgW1ZlcnRpY2FsTGFibGVWaXNpYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXHJcbiAgICAgICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8dGhlYWQgZmQtdGFibGUtaGVhZGVyICN0YWJsZUhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsIGNsYXNzPVwiZW1wdHktY2VsbFwiPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb2x1bW4uQ2FwdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5IGZkLXRhYmxlLWJvZHk+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9EYXRhTGlzdD8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLXJvd1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RyRWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibW8uVmVydGljYWxDb2x1bW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG9zdEVsXT1cInRyRWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvdmVyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ3Jvd18nICsgbW8/LlZlcnRpY2FsRGF0YT8uSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgZmQtdGFibGUtY2VsbCBjbGFzcz1cInZlcnRpY2FsLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgbW8uVmVydGljYWxDb2x1bW4gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtdGFibGUtY2VsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGogPSBpbmRleDsgbGV0IGZpcnN0ID0gZmlyc3Q7IGxldCBsYXN0ID0gbGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvdmVyYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnN1LWNvbHVtbi1tYXRyaXgtcmVuZGVyZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb2x1bW4tcmVuZGVyZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2UoeyB2YWx1ZTogbW9bY29sdW1uLkNhcHRpb25dLCBpbmRleDogeyBpOiBpLCBqOiBqIH0gfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1vW2NvbHVtbi5DYXB0aW9uXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0FjdGl2ZV09XCJpID09PSBhY3RpdmVDZWxsPy5pICYmIGogPT09IGFjdGl2ZUNlbGw/LmpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUxheW91dF09XCJmb3JtTGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VpQ29udHJvbF09XCJ2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb24gfCBjb250cm9sVWk6IGZvcm1MYXlvdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uQ2FwdGlvbl09XCJjb2x1bW4uQ2FwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZVR5cGVdPVwidmFsdWVUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCJtby5oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlVG9FZGl0KT1cIm9uQ2hhbmdlVG9FZGl0KGksIGopXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9ic3UtY29sdW1uLW1hdHJpeC1yZW5kZXJlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cclxuPC9mZC1sYXlvdXQtcGFuZWw+XHJcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxrQkFBa0IsRUFHbEIsdUJBQXVCLEVBRzFCLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBUTlCLE1BQU0sT0FBTyxxQkFDVCxTQUFRLHVCQUFnRDtJQVA1RDs7UUE4QmMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFHeEMsQ0FBQztLQW1FUjtJQWpFRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUM3RjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RSxD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bnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcclxuICAgIERldmljZVNpemUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBMYXlvdXRTZXR0aW5nLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1tYXRyaXgtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktbWF0cml4LXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU1hdHJpeFZpZXdDb21wb25lbnRcclxuICAgIGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+XHJcbiAgICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0XHJcbntcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYmxlSGVhZCcpIHRhYmxlSGVhZDogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZChFbGxpcHNpZnlEaXJlY3RpdmUpIGVsbGlwc2lmeURpcmVjdGl2ZTogRWxsaXBzaWZ5RGlyZWN0aXZlO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcclxuICAgIEBJbnB1dCgpIGNvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcclxuICAgIEBJbnB1dCgpIGZvcm1MYXlvdXQ6IExheW91dFNldHRpbmc7XHJcbiAgICBASW5wdXQoKSBjb25kaXRpb25hbEZvcm1hdDtcclxuICAgIEBJbnB1dCgpIGFjdGl2ZUNlbGw7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGZvcm1UZW1wbGF0ZTtcclxuICAgIEBJbnB1dCgpIHZhbHVlVHlwZTtcclxuICAgIEBJbnB1dCgpIGNlbGxXaWR0aDtcclxuICAgIEBJbnB1dCgpIGNlbGxIZWlnaHQ7XHJcbiAgICBASW5wdXQoKSB2ZXJ0aWNhbExhYmVsV2lkdGg7XHJcbiAgICBASW5wdXQoKSBmaXRXaWR0aDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG1pbldpZHRoO1xyXG4gICAgQElucHV0KCkgbWluSGVpZ2h0O1xyXG4gICAgQElucHV0KCkgcm93UmVzaXplcjtcclxuICAgIEBJbnB1dCgpIGVuYWJsZVJlc2l6aW5nO1xyXG4gICAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICAgIHZhbHVlOiBhbnk7XHJcbiAgICAgICAgaW5kZXg6IHsgaTogbnVtYmVyOyBqOiBudW1iZXIgfTtcclxuICAgIH0+KCk7XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHsgZml0V2lkdGggfSA9IGNoYW5nZXM7XHJcbiAgICAgICAgaWYgKGZpdFdpZHRoICYmICFmaXRXaWR0aC5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDZWxsc1dpZHRoKGZpdFdpZHRoLmN1cnJlbnRWYWx1ZSwgdGhpcy5jZWxsV2lkdGgsIHRoaXMudmVydGljYWxMYWJlbFdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3QuZmlsdGVyKChtbykgPT4gbW8uVmVydGljYWxDb2x1bW4pO1xyXG4gICAgfVxyXG4gICAgb25DaGFuZ2VUb0VkaXQoaSwgaik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0W2ldO1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1uc1tqXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHsgdmFsdWU6IG1vW2NvbHVtbi5DYXB0aW9uXSwgaW5kZXg6IHsgaSwgaiB9IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVDZWxsc1dpZHRoKHRoaXMuZml0V2lkdGgsIHRoaXMuY2VsbFdpZHRoLCB0aGlzLnZlcnRpY2FsTGFiZWxXaWR0aCk7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplQ2VsbHNIZWlnaHQodGhpcy5jZWxsSGVpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdGlvbkNoYW5nZSh7IHZhbHVlLCBpbmRleCB9KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IHZhbHVlLCBpbmRleCB9KTtcclxuICAgICAgICAvLyB0aGlzLmVsbGlwc2lmeURpcmVjdGl2ZS5yZXNldERpcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZUNlbGxzV2lkdGgoZml0V2lkdGg6IGJvb2xlYW4sIGNlbGxXaWR0aCwgdmVydGljYWxMYWJlbFdpZHRoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICghZWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBlbXB0eUhlYWRDZWxsID0gZWwucXVlcnlTZWxlY3RvcigndGguZW1wdHktY2VsbCcpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbXB0eUhlYWRDZWxsLCAnd2lkdGgnLCB2ZXJ0aWNhbExhYmVsV2lkdGggKyAncHgnKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZW1wdHlIZWFkQ2VsbCwgJ21pbi13aWR0aCcsIHZlcnRpY2FsTGFiZWxXaWR0aCArICdweCcpO1xyXG5cclxuICAgICAgICBjb25zdCBoZWFkQ2VsbHMgPSBlbC5xdWVyeVNlbGVjdG9yQWxsKCd0aDpub3QoLmVtcHR5LWNlbGwpJyk7XHJcbiAgICAgICAgaWYgKGZpdFdpZHRoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbkNvdW50ID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgICAgICAgICAgY29uc3QgdG90YWxXaWR0aCA9IHRoaXMudGFibGVIZWFkLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSB2ZXJ0aWNhbExhYmVsV2lkdGg7XHJcbiAgICAgICAgICAgIGNlbGxXaWR0aCA9IHRvdGFsV2lkdGggLyBjb2x1bW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLmFkZENsYXNzKGVsLCAnZml0LXdpZHRoJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKGVsLCAnZml0LXdpZHRoJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0V2lkdGhBbmRIZWlnaHQoaGVhZENlbGxzLCAnd2lkdGgnLCBjZWxsV2lkdGgpO1xyXG4gICAgICAgIHRoaXMuc2V0V2lkdGhBbmRIZWlnaHQoaGVhZENlbGxzLCAnbWluLXdpZHRoJywgY2VsbFdpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRpYWxpemVDZWxsc0hlaWdodChjZWxsSGVpZ2h0KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgcm93cyA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICAgICAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUocm93LCAnaGVpZ2h0JywgY2VsbEhlaWdodCArICdweCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0V2lkdGhBbmRIZWlnaHQoZWxzLCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB2YWx1ZVN0ciA9IHZhbHVlLnRvU3RyaW5nKCkgKyAncHgnO1xyXG4gICAgICAgIGlmIChlbHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZWxzLmZvckVhY2goKHRhYmxlQ2VsbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRhYmxlQ2VsbCwgbmFtZSwgdmFsdWVTdHIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbD5cbiAgICA8ZmQtbGF5b3V0LXBhbmVsLWJvZHkgW2JsZWVkXT1cInRydWVcIj5cbiAgICAgICAgPHRhYmxlXG4gICAgICAgICAgICBmZC10YWJsZVxuICAgICAgICAgICAgZWxsaXBzaWZ5XG4gICAgICAgICAgICB0YWJsZVJlc2l6ZXJcbiAgICAgICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXG4gICAgICAgICAgICBbbWluV2lkdGhdPVwibWluV2lkdGhcIlxuICAgICAgICAgICAgW21pbkhlaWdodF09XCJtaW5IZWlnaHRcIlxuICAgICAgICAgICAgW1ZlcnRpY2FsTGFibGVWaXNpYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtyb3dSZXNpemVyXT1cInJvd1Jlc2l6ZXJcIlxuICAgICAgICAgICAgW2VuYWJsZVJlc2l6aW5nXT1cImVuYWJsZVJlc2l6aW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRoZWFkIGZkLXRhYmxlLWhlYWRlciAjdGFibGVIZWFkPlxuICAgICAgICAgICAgICAgIDx0ciBmZC10YWJsZS1yb3c+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsIGNsYXNzPVwiZW1wdHktY2VsbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29sdW1uLkNhcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgIDx0Ym9keSBmZC10YWJsZS1ib2R5PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb0RhdGFMaXN0Py5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtdGFibGUtcm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3RyRWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vLlZlcnRpY2FsQ29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cIm1vLiRTdHlsZUluZGV4ID8gbW8uJFN0eWxlSW5kZXggOiBbXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hvc3RFbF09XCJ0ckVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG92ZXJhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ3Jvd18nICsgbW8/LlZlcnRpY2FsRGF0YT8uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBmZC10YWJsZS1jZWxsIGNsYXNzPVwidmVydGljYWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgbW8uVmVydGljYWxDb2x1bW4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtdGFibGUtY2VsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBqID0gaW5kZXg7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaG92ZXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJzdS1jb2x1bW4tbWF0cml4LXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbi1yZW5kZXJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0aW9uQ2hhbmdlKHsgdmFsdWU6IG1vW2NvbHVtbi5DYXB0aW9uXSwgaW5kZXg6IHsgaTogaSwgajogaiB9IH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1vW2NvbHVtbi5DYXB0aW9uXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNBY3RpdmVdPVwiaSA9PT0gYWN0aXZlQ2VsbD8uaSAmJiBqID09PSBhY3RpdmVDZWxsPy5qXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtTGF5b3V0XT1cImZvcm1MYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VpQ29udHJvbF09XCJ2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb24gfCBjb250cm9sVWk6IGZvcm1MYXlvdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbkNhcHRpb25dPVwiY29sdW1uLkNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlVHlwZV09XCJ2YWx1ZVR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCJtby5oZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZVRvRWRpdCk9XCJvbkNoYW5nZVRvRWRpdChpLCBqKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2JzdS1jb2x1bW4tbWF0cml4LXJlbmRlcmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cbjwvZmQtbGF5b3V0LXBhbmVsPlxuIl19