@umbraco/playwright-testhelpers 17.1.0-beta.4 → 17.1.0-beta.5

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 (67) hide show
  1. package/dist/lib/helpers/BasePage.d.ts +4 -2
  2. package/dist/lib/helpers/BasePage.js +6 -2
  3. package/dist/lib/helpers/BasePage.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +1 -0
  5. package/dist/lib/helpers/ConstantHelper.js +2 -1
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  7. package/dist/lib/helpers/ContentUiHelper.d.ts +13 -0
  8. package/dist/lib/helpers/ContentUiHelper.js +48 -1
  9. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DataTypeUiHelper.js +4 -4
  11. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  12. package/dist/lib/helpers/DictionaryUiHelper.js +1 -2
  13. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  14. package/dist/lib/helpers/DocumentApiHelper.d.ts +4 -4
  15. package/dist/lib/helpers/DocumentApiHelper.js +32 -8
  16. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  17. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +1 -2
  18. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  19. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +5 -0
  20. package/dist/lib/helpers/DocumentTypeApiHelper.js +35 -0
  21. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentTypeUiHelper.js +2 -2
  23. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  24. package/dist/lib/helpers/ExamineManagementUiHelper.js +2 -3
  25. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
  26. package/dist/lib/helpers/FormsUiHelper.js +1 -2
  27. package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
  28. package/dist/lib/helpers/HealthCheckUiHelper.js +4 -4
  29. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
  30. package/dist/lib/helpers/LanguageUiHelper.js +1 -2
  31. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  32. package/dist/lib/helpers/LogViewerUiHelper.js +2 -2
  33. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  34. package/dist/lib/helpers/LoginUiHelper.js +1 -2
  35. package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
  36. package/dist/lib/helpers/MediaUiHelper.js +2 -2
  37. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  38. package/dist/lib/helpers/MemberGroupUiHelper.js +2 -2
  39. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  40. package/dist/lib/helpers/MemberUiHelper.js +1 -1
  41. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/PackageUiHelper.js +1 -2
  43. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  44. package/dist/lib/helpers/PartialViewUiHelper.js +1 -2
  45. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  46. package/dist/lib/helpers/PublishedStatusUiHelper.js +1 -2
  47. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
  48. package/dist/lib/helpers/RelationTypeUiHelper.js +1 -2
  49. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
  50. package/dist/lib/helpers/ScriptUiHelper.js +1 -2
  51. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  52. package/dist/lib/helpers/StylesheetUiHelper.js +1 -2
  53. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  54. package/dist/lib/helpers/TemplateApiHelper.d.ts +2 -0
  55. package/dist/lib/helpers/TemplateApiHelper.js +36 -0
  56. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  57. package/dist/lib/helpers/TemplateUiHelper.js +3 -4
  58. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  59. package/dist/lib/helpers/UiBaseLocators.d.ts +1 -0
  60. package/dist/lib/helpers/UiBaseLocators.js +23 -16
  61. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  62. package/dist/lib/helpers/UserGroupUiHelper.js +5 -5
  63. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  64. package/dist/lib/helpers/UserUiHelper.js +3 -3
  65. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +1 -1
@@ -673,7 +673,7 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
673
673
  await this.enterText(this.maxAmountTxt, value);
674
674
  }
675
675
  async doesAmountContainErrorMessageWithText(errorMessage) {
676
- return await (0, test_1.expect)(this.page.getByText(errorMessage)).toBeVisible();
676
+ await this.isVisible(this.page.getByText(errorMessage));
677
677
  }
678
678
  async clickSingleBlockMode() {
679
679
  await this.click(this.singleBlockModeBtn);
@@ -730,7 +730,7 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
730
730
  await this.hoverAndClick(this.settingsModelNode, this.openBtn);
731
731
  }
732
732
  async isElementWorkspaceOpenInBlock(elementTypeName) {
733
- return await (0, test_1.expect)(this.documentTypeWorkspace.filter({ hasText: elementTypeName })).toBeVisible();
733
+ await this.isVisible(this.documentTypeWorkspace.filter({ hasText: elementTypeName }));
734
734
  }
735
735
  async selectBlockBackgroundColor(color) {
736
736
  await this.click(this.backgroundColorBtn);
@@ -877,11 +877,11 @@ class DataTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
877
877
  await this.click(this.advancedTabBtn);
878
878
  }
879
879
  async getLinkWithName(name) {
880
- await (0, test_1.expect)(this.page.getByRole('link', { name: name })).toBeVisible();
880
+ await this.isVisible(this.page.getByRole('link', { name: name }));
881
881
  return this.page.getByRole('link', { name: name });
882
882
  }
883
883
  async getAddButtonInGroupWithName(name) {
884
- await (0, test_1.expect)(this.page.locator('.group').filter({ hasText: name }).locator('#add-button')).toBeVisible();
884
+ await this.isVisible(this.page.locator('.group').filter({ hasText: name }).locator('#add-button'));
885
885
  return this.page.locator('.group').filter({ hasText: name }).locator('#add-button');
886
886
  }
887
887
  async clickRemoveStylesheetButton(stylesheetName) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class DataTypeUiHelper extends UiBaseLocators {\n private readonly moveToBtn: Locator;\n private readonly duplicateToBtn: Locator;\n private readonly newDataTypeBtn: Locator;\n private readonly dataTypeNameTxt: Locator;\n private readonly createDataTypeFolderBtn: Locator;\n private readonly updateDataTypeFolderBtn: Locator;\n private readonly includeLabelsToggle: Locator;\n private readonly addColorBtn: Locator;\n private readonly colorValueTxt: Locator;\n private readonly offsetTimeToggle: Locator;\n private readonly dateFormatTxt: Locator;\n private readonly pageSizeTxt: Locator;\n private readonly ascendingRadioBtn: Locator;\n private readonly descendingRadioBtn: Locator;\n private readonly chooseColumnsDisplayedBtn: Locator;\n private readonly workspaceViewName: Locator;\n private readonly orderByDropDownBox: Locator;\n private readonly showWorkspaceViewFirstToggle: Locator;\n private readonly editInInfiniteEditorToggle: Locator;\n private readonly aliasTxt: Locator;\n private readonly widthTxt: Locator;\n private readonly heightTxt: Locator;\n private readonly minimumTxt: Locator;\n private readonly maximumTxt: Locator;\n private readonly stepSizeTxt: Locator;\n private readonly optionTxt: Locator;\n private readonly addOptionBtn: Locator;\n private readonly maximumAllowedCharsTxt: Locator;\n private readonly numberOfRowsTxt: Locator;\n private readonly minHeightTxt: Locator;\n private readonly maxHeightTxt: Locator;\n private readonly acceptedFileExtensionsTxt: Locator;\n private readonly addAcceptedFileExtensionsBtn: Locator;\n private readonly minimumNumberOfItemsTxt: Locator;\n private readonly maximumNumberOfItemsTxt: Locator;\n private readonly ignoreUserStartNodesToggle: Locator;\n private readonly overlaySizeDropDownBox: Locator;\n private readonly hideAnchorQueryStringInputToggle: Locator;\n private readonly pickMultipleItemsToggle: Locator;\n private readonly enableFocalPointToggle: Locator;\n private readonly amountLowValueTxt: Locator;\n private readonly amountHighValueTxt: Locator;\n private readonly toolbarCheckboxes: Locator;\n private readonly addStylesheetBtn: Locator;\n private readonly dimensionsWidthTxt: Locator;\n private readonly dimensionsHeightTxt: Locator;\n private readonly maxImageSizeTxt: Locator;\n private readonly hideLabelToggle: Locator;\n private readonly defineTagGroupTxt: Locator;\n private readonly showOpenButtonToggle: Locator;\n private readonly enableMultipleChoiceToggle: Locator;\n private readonly addOptionsBtn: Locator;\n private readonly presetValueToggle: Locator;\n private readonly showToggleLabelsToggle: Locator;\n private readonly labelOnTxt: Locator;\n private readonly labelOffTxt: Locator;\n private readonly labelTxt: Locator;\n private readonly chooseAcceptedTypesBtn: Locator;\n private readonly chooseWithPlusBtn: Locator;\n private readonly storageTypeDropDownBox: Locator;\n private readonly allowDecimalsToggle: Locator;\n private readonly chooseLayoutsBtn: Locator;\n private readonly columnsDisplayedItems: Locator;\n private readonly layoutsItems: Locator;\n private readonly inlineRadioBtn: Locator;\n private readonly duplicateBtn: Locator;\n private readonly addWithPlusBtn: Locator;\n private readonly selectAPropertyEditorBtn: Locator;\n private readonly typeToFilterTxt: Locator;\n private readonly chooseStartNodeBtn: Locator;\n private readonly addBlockBtn: Locator;\n private readonly minAmountTxt: Locator;\n private readonly maxAmountTxt: Locator;\n private readonly singleBlockModeBtn: Locator;\n private readonly liveEditingModeBtn: Locator;\n private readonly inlineEditingModeBtn: Locator;\n private readonly propertyEditorWidthTxt: Locator;\n private readonly labelTextTxt: Locator;\n private readonly overlaySizeOption: Locator;\n private readonly chooseContentModelBtn: Locator;\n private readonly chooseSettingsModelBtn: Locator;\n private readonly contentModelNode: Locator;\n private readonly settingsModelNode: Locator;\n private readonly removeExactContentModelNodeBtn: Locator;\n private readonly removeExactSettingsModelNodeBtn: Locator;\n private readonly openBtn: Locator;\n private readonly backgroundColorBtn: Locator;\n private readonly backgroundColorTxt: Locator;\n private readonly chooseCustomStylesheetBtn: Locator;\n private readonly iconColorBtn: Locator;\n private readonly iconColorTxt: Locator;\n private readonly stylesheetRemoveBtn: Locator;\n private readonly hideContentEditorBlockGridBtn: Locator;\n private readonly hideContentEditorBlockListBtn: Locator;\n private readonly customStylesheetLabel: Locator;\n private readonly documentTypeWorkspace: Locator;\n private readonly editorWidthTxt: Locator;\n private readonly createButtonLabelTxt: Locator;\n private readonly gridColumnsTxt: Locator;\n private readonly showResizeOptionsBtn: Locator;\n private readonly columnSpanOptions: Locator;\n private readonly areasTabBtn: Locator;\n private readonly availableRowSpansLowValueTxt: Locator;\n private readonly availableRowSpansHighValueTxt: Locator;\n private readonly areaGridColumnsTxt: Locator;\n private readonly addAreaBtn: Locator;\n private readonly blockAreaConfig: Locator;\n private readonly aliasAliasTxt: Locator;\n private readonly blockGridAreaWorkspaceSubmitBtn: Locator;\n private readonly createLabelTxt: Locator;\n private readonly minAllowedTxt: Locator;\n private readonly maxAllowedTxt: Locator;\n private readonly addSpecifiedAllowanceBtn: Locator;\n private readonly advancedTabBtn: Locator;\n private readonly allowBlockAtRootToggle: Locator;\n private readonly allowInAreasToggle: Locator;\n private readonly chooseThumbnailAlias: Locator;\n private readonly expandChildItemsForMediaBtn: Locator;\n private readonly tiptapToolbarConfiguration: Locator;\n private readonly addGroupToolbarBtn: Locator;\n private readonly addRowToolbarBtn: Locator;\n private readonly tiptapExtensionsConfiguration: Locator;\n private readonly propertyEditor: Locator;\n private readonly selectIconBtn: Locator;\n private readonly newFolderBtn: Locator;\n private readonly dataTypeBtn: Locator;\n private readonly dataTypesMenu: Locator;\n private readonly propertyEditorConfig: Locator;\n private readonly propertyEditorConfigItems: Locator;\n private readonly tiptapStatusbarConfiguration: Locator;\n private readonly blockThumbnailImage: Locator;\n private readonly dataTypeTreeRoot: Locator;\n private readonly createCropBtn: Locator;\n private readonly editCropBtn: Locator;\n private readonly propertyCrops: Locator;\n private readonly addTimeZoneBtn: Locator;\n private readonly timeZoneDropDown: Locator;\n private readonly dataSourceChooseBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.moveToBtn = this.actionsMenuContainer.getByLabel('Move to');\n this.duplicateToBtn = this.actionsMenuContainer.getByLabel(/^Duplicate to(…)?$/);\n this.newDataTypeBtn = page.getByRole('link', {name: 'Data Type', exact: true});\n this.dataTypeNameTxt = page.locator('umb-data-type-workspace-editor #nameInput #input');\n this.createDataTypeFolderBtn = page.getByLabel('Create folder');\n this.newFolderBtn = page.locator('[name=\"Folder\"]');\n this.updateDataTypeFolderBtn = page.getByLabel('Update folder');\n this.ignoreUserStartNodesToggle = page.getByTestId('property:ignoreUserStartNodes').locator('#toggle');\n this.duplicateBtn = this.sidebarModal.getByLabel('Duplicate', {exact: true});\n this.selectAPropertyEditorBtn = page.getByLabel('Select a property editor');\n this.typeToFilterTxt = page.locator('#filter #input');\n\n // Approved Color\n this.includeLabelsToggle = page.locator('#toggle');\n this.addColorBtn = page.getByLabel('Add');\n this.colorValueTxt = page.getByPlaceholder('Value').getByRole('textbox');\n\n // Date Picker\n this.offsetTimeToggle = page.locator('umb-property[label=\"Offset time\"] #toggle');\n this.dateFormatTxt = page.getByTestId('property:format').locator('#input');\n\n // List View\n this.pageSizeTxt = page.getByTestId('property:pageSize').locator('#input');\n this.ascendingRadioBtn = page.locator('uui-radio[label=\"Ascending [a-z]\"] #button');\n this.descendingRadioBtn = page.locator('uui-radio[label=\"Descending [z-a]\"] #button');\n this.chooseColumnsDisplayedBtn = page.getByTestId('property:includeProperties').getByLabel('Choose');\n this.columnsDisplayedItems = page.getByTestId('property:includeProperties').locator('.layout-item');\n this.workspaceViewName = page.getByTestId('property:tabName').locator('#input');\n this.showWorkspaceViewFirstToggle = page.getByTestId('property:showContentFirst').locator('#toggle');\n this.editInInfiniteEditorToggle = page.locator('umb-property[label=\"Edit in Infinite Editor\"] #toggle');\n this.orderByDropDownBox = page.getByTestId('property:orderBy').locator('select');\n this.chooseLayoutsBtn = page.getByTestId('property:layouts').getByLabel('Choose');\n this.layoutsItems = page.getByTestId('property:layouts').locator('.layout-item');\n\n // Image Cropper\n this.labelTxt = page.getByLabel('Label', {exact: true});\n this.aliasTxt = page.getByLabel('Alias', {exact: true});\n this.widthTxt = page.getByLabel('Width', {exact: true});\n this.heightTxt = page.getByLabel('Height', {exact: true});\n this.propertyCrops = page.getByTestId('property:crops');\n this.createCropBtn = this.propertyCrops.getByRole('button', {name: 'Create'});\n this.editCropBtn = this.propertyCrops.getByRole('button', {name: 'Edit'});\n\n // Numeric\n this.minimumTxt = page.getByTestId('property:min').locator('#input');\n this.maximumTxt = page.getByTestId('property:max').locator('#input');\n this.stepSizeTxt = page.getByTestId('property:step').locator('#input');\n this.allowDecimalsToggle = page.locator('umb-property[label=\"Allow decimals\"] #toggle');\n\n // Radiobox\n this.optionTxt = page.getByTestId('property:items').locator('#input');\n this.addOptionBtn = page.getByTestId('property:items').getByLabel('Add', {exact: true});\n\n // Textarea - Textstring\n this.maximumAllowedCharsTxt = page.getByTestId('property:maxChars').locator('#input');\n this.numberOfRowsTxt = page.getByTestId('property:rows').locator('#input');\n this.minHeightTxt = page.getByTestId('property:minHeight').locator('#input');\n this.maxHeightTxt = page.getByTestId('property:maxHeight').locator('#input');\n\n // Upload\n this.acceptedFileExtensionsTxt = page.getByTestId('property:fileExtensions').locator('#input');\n this.addAcceptedFileExtensionsBtn = page.getByTestId('property:fileExtensions').getByLabel('Add', {exact: true});\n\n // Multi URL Picker\n this.minimumNumberOfItemsTxt = page.getByTestId('property:minNumber').locator('#input');\n this.maximumNumberOfItemsTxt = page.getByTestId('property:maxNumber').locator('#input');\n this.overlaySizeDropDownBox = page.getByTestId('property:overlaySize').locator('select');\n this.hideAnchorQueryStringInputToggle = page.getByTestId('property:hideAnchor').locator('#toggle');\n\n // Media Picker\n this.pickMultipleItemsToggle = page.getByTestId('property:multiple').locator('#toggle');\n this.enableFocalPointToggle = page.getByTestId('property:enableLocalFocalPoint').locator('#toggle');\n this.amountLowValueTxt = page.getByTestId('property:validationLimit').getByLabel('Low value');\n this.amountHighValueTxt = page.getByTestId('property:validationLimit').getByLabel('High value');\n this.chooseAcceptedTypesBtn = page.getByTestId('property:filter').getByLabel('Choose');\n this.chooseWithPlusBtn = page.locator('#btn-add').filter({hasText: 'Choose'});\n this.chooseStartNodeBtn = page.getByTestId('property:startNodeId').locator('#btn-add');\n\n // Rich Editor\n this.toolbarCheckboxes = page.getByTestId('property:toolbar').locator('uui-checkbox');\n this.addStylesheetBtn = page.getByTestId('property:stylesheets').getByLabel('Add stylesheet');\n this.dimensionsWidthTxt = page.getByTestId('property:dimensions').getByLabel('Width');\n this.dimensionsHeightTxt = page.getByTestId('property:dimensions').getByLabel('Height');\n this.maxImageSizeTxt = page.getByTestId('property:maxImageSize').locator('#input');\n this.hideLabelToggle = page.getByTestId('property:hideLabel').locator('#toggle');\n this.inlineRadioBtn = page.getByTestId('property:mode').locator('uui-radio[value=\"Inline\"]');\n this.addWithPlusBtn = page.getByTestId('property:blocks').locator('#add-button');\n\n // Tags\n this.defineTagGroupTxt = page.getByTestId('property:group').locator('#input');\n this.storageTypeDropDownBox = page.locator('#native');\n\n // Content Picker\n this.showOpenButtonToggle = page.getByTestId('property:showOpenButton').locator('#toggle');\n\n // Dropdown\n this.enableMultipleChoiceToggle = page.getByTestId('property:multiple').locator('#toggle');\n this.addOptionsBtn = page.getByTestId('property:items').getByLabel('Add', {exact: true});\n\n // True/false\n this.presetValueToggle = page.getByTestId('property:default').locator('#toggle');\n this.showToggleLabelsToggle = page.getByTestId('property:showLabels').locator('#toggle');\n this.labelOnTxt = page.getByTestId('property:labelOn').locator('#input');\n this.labelOffTxt = page.getByTestId('property:labelOff').locator('#input');\n\n // Block List Editor and Block Grid Editor\n this.addBlockBtn = page.locator('umb-input-block-type #blocks').getByLabel('open');\n this.minAmountTxt = page.getByLabel('Low value');\n this.maxAmountTxt = page.getByLabel('High value');\n this.singleBlockModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Single block mode'}).locator('#toggle');\n this.liveEditingModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Live editing'}).locator('#toggle');\n this.inlineEditingModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Inline editing'}).locator('#toggle');\n this.propertyEditorWidthTxt = this.page.locator('umb-property-layout').filter({hasText: 'Property editor width'}).locator('#input');\n this.labelTextTxt = this.page.locator('[label=\"Label\"]').locator('#input');\n this.overlaySizeOption = this.page.locator('[label=\"Overlay editor size\"]').locator('#native');\n this.chooseContentModelBtn = this.page.locator('[alias=\"contentElementTypeKey\"]').getByLabel('Choose');\n this.chooseSettingsModelBtn = this.page.locator('[alias=\"settingsElementTypeKey\"]').getByLabel('Choose');\n this.contentModelNode = this.page.locator('[alias=\"contentElementTypeKey\"]').locator('uui-ref-node-document-type');\n this.settingsModelNode = this.page.locator('[alias=\"settingsElementTypeKey\"]').locator('uui-ref-node-document-type')\n this.removeExactContentModelNodeBtn = this.page.locator('[alias=\"contentElementTypeKey\"]').getByLabel('Remove', {exact: true});\n this.removeExactSettingsModelNodeBtn = this.page.locator('[alias=\"settingsElementTypeKey\"]').getByLabel('Remove', {exact: true});\n this.openBtn = this.page.getByLabel('Open', {exact: true});\n this.backgroundColorBtn = this.page.locator('umb-property-layout').filter({hasText: 'Background color'}).getByLabel('Eye dropper');\n this.backgroundColorTxt = this.page.locator('[label=\"Background color\"]').locator('[label=\"Eye dropper\"]').locator('#input');\n this.iconColorBtn = this.page.locator('umb-property-layout').filter({hasText: 'Icon color'}).getByLabel('Eye dropper');\n this.iconColorTxt = this.page.locator('[label=\"Icon color\"]').locator('[label=\"Eye dropper\"]').locator('#input');\n this.stylesheetRemoveBtn = this.page.locator('uui-ref-node').getByLabel('Remove', {exact: true});\n this.hideContentEditorBlockListBtn = this.page.locator('[alias=\"forceHideContentEditorInOverlay\"]').locator('#toggle');\n this.hideContentEditorBlockGridBtn = this.page.locator('[alias=\"hideContentEditor\"]').locator('#toggle');\n this.customStylesheetLabel = this.page.locator('[label=\"Custom stylesheet\"]');\n this.chooseThumbnailAlias = this.page.locator('[alias=\"thumbnail\"]').getByLabel('Choose');\n this.documentTypeWorkspace = this.page.locator('umb-document-type-workspace-editor');\n this.editorWidthTxt = this.page.locator('umb-property-layout').filter({hasText: 'Editor width'}).locator('#input');\n this.createButtonLabelTxt = this.page.locator('umb-property-layout').filter({hasText: 'Create button label'}).locator('#input');\n this.gridColumnsTxt = this.page.locator('umb-property-layout').filter({hasText: 'Grid columns'}).locator('#input');\n this.showResizeOptionsBtn = this.page.getByLabel('Show resize options');\n this.columnSpanOptions = this.page.locator('[alias=\"columnSpanOptions\"]');\n this.areasTabBtn = this.page.getByRole('tab', {name: 'Areas'});\n this.availableRowSpansLowValueTxt = this.page.locator('[label=\"Available row spans\"]').getByLabel('Low value');\n this.availableRowSpansHighValueTxt = this.page.locator('[label=\"Available row spans\"]').getByLabel('High value');\n this.areaGridColumnsTxt = this.page.locator('[alias=\"areaGridColumns\"]').locator('#input');\n this.addAreaBtn = this.page.getByLabel('Add area');\n this.blockAreaConfig = this.page.locator('umb-block-area-config-entry');\n this.aliasAliasTxt = this.page.locator('[alias=\"alias\"]').locator('#input');\n this.blockGridAreaWorkspaceSubmitBtn = this.page.locator('umb-block-grid-area-type-workspace-editor').getByLabel('Submit');\n this.createLabelTxt = this.page.locator('[alias=\"createLabel\"]').locator('#input');\n this.minAllowedTxt = this.page.locator('#container').getByLabel('Low value');\n this.maxAllowedTxt = this.page.locator('#container').getByLabel('High value');\n this.addSpecifiedAllowanceBtn = this.page.locator('[alias=\"specifiedAllowance\"]').getByLabel('Add');\n this.advancedTabBtn = this.page.getByRole('tab', {name: 'Advanced'});\n this.allowBlockAtRootToggle = this.page.getByTestId('property:allowAtRoot').locator('#toggle');\n this.allowInAreasToggle = this.page.getByTestId('property:allowInAreas').locator('#toggle');\n this.expandChildItemsForMediaBtn = this.page.getByLabel('Expand child items for media', {exact: true});\n this.chooseCustomStylesheetBtn = this.page.locator('[label=\"Custom stylesheet\"]').getByLabel('Choose');\n\n // Tiptap\n this.tiptapToolbarConfiguration = this.page.locator('umb-property-editor-ui-tiptap-toolbar-configuration');\n this.addGroupToolbarBtn = this.tiptapToolbarConfiguration.locator('uui-button').filter({hasText: 'Add group'});\n this.addRowToolbarBtn = this.tiptapToolbarConfiguration.locator('uui-button').filter({hasText: 'Add row'});\n this.tiptapExtensionsConfiguration = this.page.locator('umb-property-editor-ui-tiptap-extensions-configuration');\n this.propertyEditor = this.page.locator('umb-ref-property-editor-ui');\n this.selectIconBtn = page.getByLabel('Select icon');\n this.dataTypeBtn = this.createOptionActionListModal.locator('[name=\"Data Type\"]');\n this.dataTypesMenu = page.locator('#menu-item').getByRole('link', {name: 'Data Types'});\n this.tiptapStatusbarConfiguration = this.page.locator('umb-property-editor-ui-tiptap-statusbar-configuration');\n\n // Settings\n this.propertyEditorConfig = page.locator('umb-property-editor-config');\n this.propertyEditorConfigItems = this.propertyEditorConfig.locator('umb-property');\n this.blockThumbnailImage = page.locator('uui-card-block-type').locator('img');\n this.dataTypeTreeRoot = page.locator('[alias=\"Umb.TreeItem.DataType\"]').locator('uui-menu-item[label=\"Data Types\"]')\n\n // Date Time with Time Zone Picker\n this.addTimeZoneBtn = page.locator('#add-time-zone [name=\"icon-add\"] svg');\n this.timeZoneDropDown = page.locator('umb-input-time-zone-picker uui-combobox');\n \n // Entity Picker Source\n this.dataSourceChooseBtn = page.locator('[label=\"Data Source\"]').locator(this.chooseBtn);\n }\n\n async clickActionsMenuForDataType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDataType('Data Types');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Data Types');\n }\n\n async createDataTypeFolder(folderName: string) {\n await this.clickCreateActionMenuOption();\n await this.clickFolderButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async goToDataType(dataTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.click(this.sectionSidebar.getByLabel(dataTypeName, {exact: true}));\n }\n\n async clickMoveToButton() {\n await this.click(this.moveToBtn);\n }\n\n async clickDuplicateToButton() {\n await this.click(this.duplicateToBtn);\n }\n\n async waitForDataTypeToBeCreated() {\n await this.waitForLoadState();\n }\n\n async isDataTypeTreeItemVisible(name: string, isVisible: boolean = true) {\n const hasShowChildren = await this.dataTypeTreeRoot.getAttribute('show-children') !== null;\n\n if (!hasShowChildren) {\n await this.click(this.dataTypeTreeRoot.locator(this.caretBtn).first());\n }\n\n await this.isTreeItemVisible(name, isVisible);\n }\n\n async waitForDataTypeToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForDataTypeToBeRenamed() {\n await this.waitForLoadState();\n }\n\n async clickNewDataTypeButton() {\n await this.click(this.newDataTypeBtn);\n }\n\n async clickNewDataTypeFolderButton() {\n await this.click(this.newFolderBtn);\n }\n\n async enterDataTypeName(name: string) {\n await this.click(this.dataTypeNameTxt);\n await this.enterText(this.dataTypeNameTxt, name);\n }\n\n async clickCreateFolderButton() {\n await this.click(this.createDataTypeFolderBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickUpdateFolderButton() {\n await this.click(this.updateDataTypeFolderBtn);\n }\n\n async deleteDataType(name: string) {\n await this.clickActionsMenuForDataType(name);\n await this.clickDeleteAndConfirmButton();\n }\n\n async deleteDataTypeFolder(folderName: string) {\n await this.clickActionsMenuForDataType(folderName);\n await this.deleteFolder();\n }\n\n async moveDataTypeToFolder(folderName: string) {\n await this.clickMoveToActionMenuOption();\n await this.click(this.sidebarModal.getByText(folderName, {exact: true}));\n await this.click(this.chooseModalBtn);\n }\n\n async duplicateDataTypeToFolder(folderName: string) {\n await this.clickDuplicateToActionMenuOption();\n await this.click(this.sidebarModal.getByText(folderName, {exact: true}));\n await this.click(this.duplicateBtn);\n }\n\n async addMediaStartNode(mediaName: string) {\n await this.click(this.mediaCardItems.filter({hasText: mediaName}));\n await this.clickChooseModalButton();\n }\n\n async addContentStartNode(contentName: string) {\n await this.clickTextButtonWithName(contentName);\n await this.click(this.chooseModalBtn);\n }\n\n async clickSelectAPropertyEditorButton() {\n await this.click(this.selectAPropertyEditorBtn);\n }\n\n async selectAPropertyEditor(propertyName: string, filterKeyword?: string) {\n await this.typeToFilterTxt.fill(filterKeyword ? filterKeyword : propertyName);\n await this.clickTextButtonWithName(propertyName);\n }\n\n // Approved Color\n async clickIncludeLabelsToggle() {\n await this.click(this.includeLabelsToggle);\n }\n\n async removeColorByValue(value: string) {\n await this.click(this.page.locator(`[value=\"${value}\"] uui-button svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async addColor(value: string) {\n await this.click(this.addColorBtn);\n await this.enterText(this.colorValueTxt, value);\n }\n\n // Label\n async changeValueType(valueType: string) {\n await this.selectByText(this.page.getByLabel('Select a value type'), valueType);\n }\n\n // Date Picker\n async clickOffsetTimeToggle() {\n await this.click(this.offsetTimeToggle);\n }\n\n async enterDateFormatValue(value: string) {\n await this.enterText(this.dateFormatTxt, value);\n }\n\n // List View\n async enterPageSizeValue(value: string) {\n await this.enterText(this.pageSizeTxt, value);\n }\n\n async chooseOrderDirection(isAscending: boolean) {\n if (isAscending) {\n await this.click(this.ascendingRadioBtn);\n } else {\n await this.click(this.descendingRadioBtn);\n }\n }\n\n async addColumnDisplayed(contentType: string, contentName: string, propertyAlias: string) {\n await this.click(this.chooseColumnsDisplayedBtn);\n await this.clickTextButtonWithName(contentType);\n await this.clickTextButtonWithName(contentName);\n await this.clickChooseContainerButton();\n await this.clickTextButtonWithName(propertyAlias);\n }\n\n async removeColumnDisplayed(propertyAlias: string) {\n await this.click(this.columnsDisplayedItems.filter({has: this.page.getByText(propertyAlias, {exact: true})}).getByText('Remove'));\n }\n\n async addLayouts(layoutName: string) {\n await this.click(this.chooseLayoutsBtn);\n await this.click(this.page.locator(`[name=\"${layoutName}\"]`));\n }\n\n async removeLayouts(layoutAlias: string) {\n await this.click(this.layoutsItems.filter({has: this.page.getByText(layoutAlias, {exact: true})}).getByText('Remove'));\n }\n\n async chooseOrderByValue(value: string) {\n await this.selectByText(this.orderByDropDownBox, value);\n }\n\n async enterWorkspaceViewName(name: string) {\n await this.enterText(this.workspaceViewName, name);\n }\n\n async clickShowContentWorkspaceViewFirstToggle() {\n await this.click(this.showWorkspaceViewFirstToggle);\n }\n\n async clickEditInInfiniteEditorToggle() {\n await this.click(this.editInInfiniteEditorToggle);\n }\n\n async clickBulkActionPermissionsToggleByValue(value: string) {\n await this.click(this.page.locator(`uui-toggle[label='${value}'] #toggle`));\n }\n\n async clickSelectIconButton() {\n // Force click is needed\n await this.click(this.selectIconBtn, {force: true});\n }\n\n async chooseWorkspaceViewIconByValue(value: string) {\n await this.click(this.page.locator(`[label=\"${value}\"] svg`));\n await this.click(this.submitBtn);\n }\n\n // Image Cropper\n async enterCropValues(label: string, alias: string, width: string, height: string) {\n await this.enterText(this.labelTxt, label);\n await this.enterText(this.aliasTxt, alias);\n await this.enterText(this.widthTxt, width);\n await this.enterText(this.heightTxt, height);\n }\n\n async clickCreateCropButton() {\n await this.click(this.createCropBtn);\n }\n\n async clickEditCropButton() {\n await this.click(this.editCropBtn);\n }\n\n async editCropByAlias(alias: string) {\n await this.click(this.page.locator('.crop').filter({has: this.page.getByText(alias)}).getByText('Edit'));\n }\n\n async removeCropByAlias(alias: string) {\n await this.click(this.page.locator('.crop').filter({has: this.page.getByText(alias)}).getByText('Remove'));\n }\n\n // Numeric\n async enterMinimumValue(value: string) {\n await this.enterText(this.minimumTxt, value);\n }\n\n async enterMaximumValue(value: string) {\n await this.enterText(this.maximumTxt, value);\n }\n\n async enterStepSizeValue(value: string) {\n await this.enterText(this.stepSizeTxt, value);\n }\n\n async clickAllowDecimalsToggle() {\n await this.click(this.allowDecimalsToggle);\n }\n\n // Radiobox\n async removeOptionByName(name: string) {\n await this.click(this.page.locator(`uui-button[label='Remove ${name}'] svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async enterOptionName(name: string) {\n await this.enterText(this.optionTxt.last(), name);\n }\n\n async clickAddOptionButton() {\n await this.click(this.addOptionBtn);\n }\n\n // Textarea - Textstring\n async enterMaximumAllowedCharactersValue(value: string) {\n await this.enterText(this.maximumAllowedCharsTxt, value);\n }\n\n async enterNumberOfRowsValue(value: string) {\n await this.enterText(this.numberOfRowsTxt, value);\n }\n\n async enterMaxHeightValue(value: string) {\n await this.enterText(this.maxHeightTxt, value);\n }\n\n async enterMinHeightValue(value: string) {\n await this.enterText(this.minHeightTxt, value);\n }\n\n // Upload\n async enterAcceptedFileExtensions(value: string) {\n await this.enterText(this.acceptedFileExtensionsTxt.last(), value);\n }\n\n async removeAcceptedFileExtensionsByValue(value: string) {\n await this.click(this.page.locator(`uui-button[label='Remove ${value}'] svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async clickAddAcceptedFileExtensionsButton() {\n await this.click(this.addAcceptedFileExtensionsBtn);\n }\n\n // Multi URL Picker\n async enterMinimumNumberOfItemsValue(value: string) {\n await this.enterText(this.minimumNumberOfItemsTxt, value);\n }\n\n async enterMaximumNumberOfItemsValue(value: string) {\n await this.enterText(this.maximumNumberOfItemsTxt, value);\n }\n\n async clickIgnoreUserStartNodesToggle() {\n await this.click(this.ignoreUserStartNodesToggle);\n }\n\n async chooseOverlaySizeByValue(value: string) {\n await this.selectByValue(this.overlaySizeDropDownBox, value);\n }\n\n async clickHideAnchorQueryStringInputToggle() {\n await this.click(this.hideAnchorQueryStringInputToggle);\n }\n\n // Media Picker\n async clickPickMultipleItemsToggle() {\n await this.click(this.pickMultipleItemsToggle);\n }\n\n async clickEnableFocalPointToggle() {\n await this.click(this.enableFocalPointToggle);\n }\n\n async enterAmountValue(lowValue: string, highValue: string) {\n await this.enterText(this.amountLowValueTxt, lowValue);\n await this.enterText(this.amountHighValueTxt, highValue);\n }\n\n async addAcceptedType(mediaTypeName: string) {\n await this.click(this.chooseAcceptedTypesBtn);\n await this.clickTextButtonWithName(mediaTypeName);\n await this.click(this.chooseModalBtn);\n }\n\n async removeAcceptedType(mediaTypeName: string) {\n await this.click(this.page.locator(`uui-ref-node-document-type[name=\"${mediaTypeName}\"]`).getByLabel('Remove'));\n await this.click(this.confirmToRemoveBtn);\n }\n\n async removeMediaStartNode(mediaName: string) {\n await this.click(this.page.locator(`uui-card-media[name=\"${mediaName}\"]`).locator('[label=\"Remove\"]'));\n await this.click(this.confirmToRemoveBtn);\n }\n\n async clickChooseStartNodeButton() {\n await this.click(this.chooseStartNodeBtn);\n }\n\n // Richtext Editor\n async clickToolbarOptionByValue(values) {\n for (var index in values) {\n await this.click(this.toolbarCheckboxes.filter({has: this.page.getByLabel(values[index])}).locator('#ticker svg'));\n }\n }\n\n async addStylesheet(stylesheetName: string) {\n await this.click(this.addStylesheetBtn);\n await this.click(this.page.getByLabel(stylesheetName));\n await this.click(this.chooseModalBtn);\n }\n\n async enterDimensionsValue(width: string, height: string) {\n await this.enterText(this.dimensionsWidthTxt, width);\n await this.enterText(this.dimensionsHeightTxt, height);\n }\n\n async enterMaximumSizeForImages(value: string) {\n await this.enterText(this.maxImageSizeTxt, value);\n }\n\n async clickHideLabelToggle() {\n await this.click(this.hideLabelToggle);\n }\n\n async clickInlineRadioButton() {\n await this.click(this.inlineRadioBtn);\n }\n\n async clickChooseWithPlusButton() {\n await this.click(this.chooseWithPlusBtn);\n }\n\n async addImageUploadFolder(mediaFolderName: string) {\n await this.clickChooseWithPlusButton();\n await this.selectMediaWithName(mediaFolderName);\n await this.clickChooseModalButton();\n }\n\n async clickAddWithPlusButton() {\n await this.click(this.addWithPlusBtn);\n }\n\n async addAvailableBlocks(blockName: string) {\n await this.clickAddWithPlusButton();\n await this.clickTextButtonWithName(blockName);\n await this.clickChooseModalButton();\n await this.clickSubmitButton();\n }\n\n // Tags\n async enterDefineTagGroupValue(value: string) {\n await this.enterText(this.defineTagGroupTxt, value);\n }\n\n async selectStorageTypeOption(option: string) {\n await this.selectByText(this.storageTypeDropDownBox, option);\n }\n\n // Content Picker\n async clickShowOpenButtonToggle() {\n await this.click(this.showOpenButtonToggle);\n }\n\n async removeContentStartNode(contentName: string) {\n const startNodeLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${contentName}\"]`)});\n await this.hoverAndClick(startNodeLocator, startNodeLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async clickEnableMultipleChoiceToggle() {\n await this.click(this.enableMultipleChoiceToggle);\n }\n\n async clickAddOptionsButton() {\n await this.click(this.addOptionsBtn);\n }\n\n // True/false\n async clickPresetValueToggle() {\n await this.click(this.presetValueToggle);\n }\n\n async clickShowToggleLabelsToggle() {\n await this.click(this.showToggleLabelsToggle);\n }\n\n async enterLabelOnValue(value: string) {\n await this.enterText(this.labelOnTxt, value);\n }\n\n async enterLabelOffValue(value: string) {\n await this.enterText(this.labelOffTxt, value);\n }\n\n // Block List Editor\n async clickAddBlockButton(index: number = 0) {\n await this.click(this.addBlockBtn.nth(index));\n }\n\n async clickRemoveBlockWithName(name: string) {\n const blockWithNameLocator = this.page.locator('umb-block-type-card', {hasText: name});\n // The force click is necessary.\n await this.click(blockWithNameLocator.getByLabel('Remove block'), {force: true});\n }\n\n async enterMinAmount(value: string) {\n await this.enterText(this.minAmountTxt, value);\n }\n\n async enterMaxAmount(value: string) {\n await this.enterText(this.maxAmountTxt, value);\n }\n\n async doesAmountContainErrorMessageWithText(errorMessage: string) {\n return await expect(this.page.getByText(errorMessage)).toBeVisible();\n }\n\n async clickSingleBlockMode() {\n await this.click(this.singleBlockModeBtn);\n }\n\n async clickLiveEditingMode() {\n await this.click(this.liveEditingModeBtn);\n }\n\n async clickInlineEditingMode() {\n await this.click(this.inlineEditingModeBtn);\n }\n\n async enterPropertyEditorWidth(width: string) {\n await this.enterText(this.propertyEditorWidthTxt, width);\n }\n\n async goToBlockWithName(name: string) {\n await this.click(this.page.getByRole('link', {name: name}));\n }\n\n async enterBlockLabelText(label: string) {\n await this.removeBlockLabelText();\n await this.labelTextTxt.fill(label);\n }\n\n async removeBlockLabelText() {\n await this.waitForVisible(this.labelTextTxt);\n await this.labelTextTxt.clear();\n }\n\n async clickAllowInRootForBlock() {\n await this.click(this.allowBlockAtRootToggle);\n }\n\n async clickAllowInAreasForBlock() {\n await this.click(this.allowInAreasToggle);\n }\n\n async updateBlockOverlaySize(size: string) {\n await this.selectByValue(this.overlaySizeOption, size);\n }\n\n async addBlockContentModel(elementName: string) {\n await this.click(this.chooseContentModelBtn);\n await this.clickButtonWithName(elementName);\n await this.clickChooseButton();\n }\n\n async addBlockSettingsModel(elementName: string) {\n await this.click(this.chooseSettingsModelBtn, {timeout: ConstantHelper.timeout.long});\n await this.clickModalMenuItemWithName(elementName);\n await this.clickChooseModalButton();\n }\n\n async removeBlockContentModel() {\n await this.hoverAndClick(this.contentModelNode, this.removeExactContentModelNodeBtn);\n }\n\n async removeBlockSettingsModel() {\n await this.hoverAndClick(this.settingsModelNode, this.removeExactSettingsModelNodeBtn);\n }\n\n async openBlockContentModel() {\n await this.hoverAndClick(this.contentModelNode, this.openBtn);\n }\n\n async openBlockSettingsModel() {\n await this.hoverAndClick(this.settingsModelNode, this.openBtn);\n }\n\n async isElementWorkspaceOpenInBlock(elementTypeName: string) {\n return await expect(this.documentTypeWorkspace.filter({hasText: elementTypeName})).toBeVisible();\n }\n\n async selectBlockBackgroundColor(color: string) {\n await this.click(this.backgroundColorBtn);\n await this.enterText(this.backgroundColorTxt, color);\n }\n\n async selectBlockIconColor(color: string) {\n await this.click(this.iconColorBtn);\n await this.enterText(this.iconColorTxt, color);\n }\n\n async clickExpandChildItemsForMediaButton() {\n await this.click(this.expandChildItemsForMediaBtn);\n }\n\n async clickRemoveCustomStylesheetWithName(name: string) {\n await this.click(this.customStylesheetLabel.locator(`[name=\"${name}\"]`));\n await this.click(this.stylesheetRemoveBtn);\n await this.clickConfirmRemoveButton();\n }\n\n async clickBlockGridHideContentEditorButton() {\n await this.click(this.hideContentEditorBlockGridBtn);\n }\n\n async chooseBlockCustomStylesheetWithName(name: string) {\n await this.click(this.chooseCustomStylesheetBtn);\n await this.openCaretButtonForName('wwwroot');\n await this.openCaretButtonForName('css');\n await this.clickLabelWithName(name, true);\n await this.clickChooseModalButton();\n }\n\n async chooseBlockThumbnailWithPath(mediaPath: string) {\n const mediaItems = mediaPath.split('/media/')[1].split('/');\n await this.click(this.chooseThumbnailAlias);\n await this.openCaretButtonForName('wwwroot', true);\n await this.clickExpandChildItemsForMediaButton();\n for (let i = 0; i < mediaItems.length; i++) {\n if (i === mediaItems.length - 1) {\n await this.clickLabelWithName(mediaItems[i], true);\n } else {\n await this.click(this.sidebarModal.locator(`uui-menu-item[label=\"${mediaItems[i]}\"] #caret-button`));\n }\n }\n await this.clickChooseModalButton();\n }\n\n async clickBlockListHideContentEditorButton() {\n await this.click(this.hideContentEditorBlockListBtn);\n }\n\n async enterEditorWidth(value: string) {\n await this.enterText(this.editorWidthTxt, value);\n }\n\n async enterCreateButtonLabel(value: string) {\n await this.enterText(this.createButtonLabelTxt, value);\n }\n\n async enterGridColumns(value: number) {\n await this.waitForVisible(this.gridColumnsTxt);\n await this.gridColumnsTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.gridColumnsTxt.fill(value.toString());\n }\n\n async clickShowResizeOptions() {\n await this.click(this.showResizeOptionsBtn);\n }\n\n async clickAvailableColumnSpans(columnSpans: number[]) {\n for (let index in columnSpans) {\n await this.click(this.columnSpanOptions.getByLabel(columnSpans[index].toString(), {exact: true}));\n }\n }\n\n async goToBlockAreasTab() {\n await this.click(this.areasTabBtn);\n }\n\n async enterMinRowSpan(value: number) {\n await this.waitForVisible(this.availableRowSpansLowValueTxt);\n await this.availableRowSpansLowValueTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.availableRowSpansLowValueTxt.fill(value.toString());\n }\n\n async enterMaxRowSpan(value: number) {\n await this.waitForVisible(this.availableRowSpansHighValueTxt);\n await this.availableRowSpansHighValueTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.availableRowSpansHighValueTxt.fill(value.toString());\n }\n\n async enterGridColumnsForArea(value: number) {\n await this.waitForVisible(this.areaGridColumnsTxt);\n await this.areaGridColumnsTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.areaGridColumnsTxt.fill(value.toString());\n }\n\n async addAreaButton() {\n await this.click(this.addAreaBtn);\n }\n\n async goToAreaByAlias(alias: string) {\n const editAreaWithAliasLocator = this.blockAreaConfig.filter({hasText: alias}).getByLabel('edit');\n // Force click is needed\n await this.click(editAreaWithAliasLocator, {force: true});\n }\n\n async clickRemoveAreaByAlias(alias: string) {\n const removeAreaWithAliasLocator = this.blockAreaConfig.filter({hasText: alias}).getByLabel('delete');\n // Force click is needed\n await this.click(removeAreaWithAliasLocator, {force: true});\n await this.clickConfirmToDeleteButton();\n }\n\n async enterAreaAlias(alias: string) {\n await this.enterText(this.aliasAliasTxt, alias);\n }\n\n async clickAreaSubmitButton() {\n await this.click(this.blockGridAreaWorkspaceSubmitBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterCreateButtonLabelInArea(value: string) {\n await this.waitForVisible(this.createLabelTxt.nth(1));\n await this.createLabelTxt.nth(1).clear();\n if (value === undefined) {\n return;\n }\n await this.createLabelTxt.nth(1).fill(value);\n }\n\n async enterMinAllowedInArea(value: number) {\n await this.waitForVisible(this.minAllowedTxt);\n await this.minAllowedTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.minAllowedTxt.fill(value.toString());\n }\n\n async enterMaxAllowedInArea(value: number) {\n await this.waitForVisible(this.maxAllowedTxt);\n await this.maxAllowedTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.maxAllowedTxt.fill(value.toString());\n }\n\n async clickAddSpecifiedAllowanceButton() {\n await this.click(this.addSpecifiedAllowanceBtn);\n }\n\n async goToBlockAdvancedTab() {\n await this.click(this.advancedTabBtn);\n }\n\n async getLinkWithName(name: string) {\n await expect(this.page.getByRole('link', {name: name})).toBeVisible();\n return this.page.getByRole('link', {name: name});\n }\n\n async getAddButtonInGroupWithName(name: string) {\n await expect(this.page.locator('.group').filter({hasText: name}).locator('#add-button')).toBeVisible();\n return this.page.locator('.group').filter({hasText: name}).locator('#add-button');\n }\n\n async clickRemoveStylesheetButton(stylesheetName: string) {\n const removeButton = this.entityItem.filter({hasText: stylesheetName}).getByLabel('Remove');\n await this.click(removeButton);\n }\n\n // TipTap\n async deleteToolbarGroup(groupIndex: number, rowIndex: number = 0) {\n const groupButton = this.tiptapToolbarConfiguration.locator('.row').nth(rowIndex).locator('.group').nth(groupIndex);\n await this.hover(groupButton);\n const actionsInGroup = groupButton.locator('.items').locator('uui-button');\n const actionsCount = await actionsInGroup.count();\n for (let i = 0; i < actionsCount; i++) {\n await this.click(actionsInGroup.first());\n }\n await this.click(groupButton.locator('[label=\"Remove group\"]'));\n }\n\n async deleteToolbarRow(rowIndex: number) {\n const rowButton = this.tiptapToolbarConfiguration.locator('.row').nth(rowIndex);\n await this.hoverAndClick(rowButton, rowButton.locator('[label=\"Remove row\"]'));\n }\n\n async clickAddRowToolbarButton() {\n await this.click(this.addRowToolbarBtn);\n }\n\n async clickAddGroupToolbarButton() {\n await this.click(this.addGroupToolbarBtn);\n }\n\n async clickExtensionItemWithName(name: string) {\n await this.click(this.tiptapExtensionsConfiguration.locator(`uui-checkbox[label=\"${name}\"]`));\n }\n\n async doesPropertyEditorHaveUiAlias(uiAlias: string) {\n await this.hasAttribute(this.propertyEditor, 'alias', uiAlias);\n }\n\n async doesPropertyEditorHaveName(name: string) {\n await this.hasAttribute(this.propertyEditor, 'name', name);\n }\n\n async doesPropertyEditorHaveAlias(alias: string) {\n await this.hasAttribute(this.propertyEditor, 'property-editor-schema-alias', alias);\n }\n\n async clickDataTypeButton() {\n await this.click(this.dataTypeBtn);\n }\n\n async clickDataTypesMenu() {\n await this.click(this.dataTypesMenu);\n }\n\n async doesSettingHaveValue(settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [label, description] = settings[index];\n await expect(this.propertyEditorConfigItems.nth(index).locator('#headerColumn #label')).toHaveText(label);\n if (description !== '')\n await expect(this.propertyEditorConfigItems.nth(index).locator('#description')).toHaveText(description);\n }\n }\n\n async doesSettingItemsHaveCount(settings) {\n await this.hasCount(this.propertyEditorConfigItems, Object.keys(settings).length);\n }\n\n async doesSettingsContainText(text: string) {\n await this.containsText(this.propertyEditorConfig, text);\n }\n\n async clickStatusbarItemInToolboxWithName(name: string) {\n const statusbarItemLocator = this.tiptapStatusbarConfiguration.locator('#toolbox uui-button').filter({hasText: name});\n await this.click(statusbarItemLocator);\n }\n\n async clickStatusbarItemWithName(name: string) {\n const statusbarItemLocator = this.tiptapStatusbarConfiguration.locator('#statusbar uui-button').filter({hasText: name});\n await this.click(statusbarItemLocator);\n }\n\n async isExtensionItemChecked(itemName: string, isChecked: boolean = true) {\n await expect(this.tiptapExtensionsConfiguration.locator(`uui-checkbox[label=\"${itemName}\"] input`)).toBeChecked({checked: isChecked});\n }\n\n async doesBlockHaveThumbnailImage(thumbnailImageUrl: string) {\n await this.hasAttribute(this.blockThumbnailImage, 'src', thumbnailImageUrl);\n }\n\n async addTimeZones(timeZones: string[]) {\n for (let i = 0; i < timeZones.length; i++) {\n await this.click(this.timeZoneDropDown);\n await this.click(this.timeZoneDropDown.getByText(timeZones[i]));\n await this.click(this.addTimeZoneBtn);\n }\n }\n\n async clickChooseDataSourceButton() {\n await this.click(this.dataSourceChooseBtn);\n }\n\n async clickChooseThumbnailButton() {\n await this.click(this.chooseThumbnailAlias);\n }\n}"]}
1
+ {"version":3,"file":"DataTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DataTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,+BAAc;IACjC,SAAS,CAAU;IACnB,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,eAAe,CAAU;IACzB,uBAAuB,CAAU;IACjC,uBAAuB,CAAU;IACjC,mBAAmB,CAAU;IAC7B,WAAW,CAAU;IACrB,aAAa,CAAU;IACvB,gBAAgB,CAAU;IAC1B,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,iBAAiB,CAAU;IAC3B,kBAAkB,CAAU;IAC5B,yBAAyB,CAAU;IACnC,iBAAiB,CAAU;IAC3B,kBAAkB,CAAU;IAC5B,4BAA4B,CAAU;IACtC,0BAA0B,CAAU;IACpC,QAAQ,CAAU;IAClB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,YAAY,CAAU;IACtB,sBAAsB,CAAU;IAChC,eAAe,CAAU;IACzB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,yBAAyB,CAAU;IACnC,4BAA4B,CAAU;IACtC,uBAAuB,CAAU;IACjC,uBAAuB,CAAU;IACjC,0BAA0B,CAAU;IACpC,sBAAsB,CAAU;IAChC,gCAAgC,CAAU;IAC1C,uBAAuB,CAAU;IACjC,sBAAsB,CAAU;IAChC,iBAAiB,CAAU;IAC3B,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,gBAAgB,CAAU;IAC1B,kBAAkB,CAAU;IAC5B,mBAAmB,CAAU;IAC7B,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,iBAAiB,CAAU;IAC3B,oBAAoB,CAAU;IAC9B,0BAA0B,CAAU;IACpC,aAAa,CAAU;IACvB,iBAAiB,CAAU;IAC3B,sBAAsB,CAAU;IAChC,UAAU,CAAU;IACpB,WAAW,CAAU;IACrB,QAAQ,CAAU;IAClB,sBAAsB,CAAU;IAChC,iBAAiB,CAAU;IAC3B,sBAAsB,CAAU;IAChC,mBAAmB,CAAU;IAC7B,gBAAgB,CAAU;IAC1B,qBAAqB,CAAU;IAC/B,YAAY,CAAU;IACtB,cAAc,CAAU;IACxB,YAAY,CAAU;IACtB,cAAc,CAAU;IACxB,wBAAwB,CAAU;IAClC,eAAe,CAAU;IACzB,kBAAkB,CAAU;IAC5B,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,kBAAkB,CAAU;IAC5B,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,sBAAsB,CAAU;IAChC,YAAY,CAAU;IACtB,iBAAiB,CAAU;IAC3B,qBAAqB,CAAU;IAC/B,sBAAsB,CAAU;IAChC,gBAAgB,CAAU;IAC1B,iBAAiB,CAAU;IAC3B,8BAA8B,CAAU;IACxC,+BAA+B,CAAU;IACzC,OAAO,CAAU;IACjB,kBAAkB,CAAU;IAC5B,kBAAkB,CAAU;IAC5B,yBAAyB,CAAU;IACnC,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,mBAAmB,CAAU;IAC7B,6BAA6B,CAAU;IACvC,6BAA6B,CAAU;IACvC,qBAAqB,CAAU;IAC/B,qBAAqB,CAAU;IAC/B,cAAc,CAAU;IACxB,oBAAoB,CAAU;IAC9B,cAAc,CAAU;IACxB,oBAAoB,CAAU;IAC9B,iBAAiB,CAAU;IAC3B,WAAW,CAAU;IACrB,4BAA4B,CAAU;IACtC,6BAA6B,CAAU;IACvC,kBAAkB,CAAU;IAC5B,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,aAAa,CAAU;IACvB,+BAA+B,CAAU;IACzC,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,aAAa,CAAU;IACvB,wBAAwB,CAAU;IAClC,cAAc,CAAU;IACxB,sBAAsB,CAAU;IAChC,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,2BAA2B,CAAU;IACrC,0BAA0B,CAAU;IACpC,kBAAkB,CAAU;IAC5B,gBAAgB,CAAU;IAC1B,6BAA6B,CAAU;IACvC,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,YAAY,CAAU;IACtB,WAAW,CAAU;IACrB,aAAa,CAAU;IACvB,oBAAoB,CAAU;IAC9B,yBAAyB,CAAU;IACnC,4BAA4B,CAAU;IACtC,mBAAmB,CAAU;IAC7B,gBAAgB,CAAU;IAC1B,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,aAAa,CAAU;IACvB,cAAc,CAAU;IACxB,gBAAgB,CAAU;IAC1B,mBAAmB,CAAU;IAE9C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QACxF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,iBAAiB;QACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEzE,cAAc;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3E,YAAY;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QACpF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QACtF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChF,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QACxG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjF,gBAAgB;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QAE1E,UAAU;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAExF,WAAW;QACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAExF,wBAAwB;QACxB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7E,SAAS;QACT,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/F,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAEjH,mBAAmB;QACnB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnG,eAAe;QACf,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAChG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvF,cAAc;QACd,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC9F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjF,OAAO;QACP,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEtD,iBAAiB;QACjB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3F,WAAW;QACX,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAEzF,aAAa;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3E,0CAA0C;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,mBAAmB,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7H,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5H,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,uBAAuB,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACnH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;QACpH,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnI,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7H,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACvH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjG,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvH,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC9E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1F,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACrF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,qBAAqB,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/G,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACjH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3H,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QACrE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,8BAA8B,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACvG,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEvG,SAAS;QACT,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;QAC3G,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;QACjH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;QACxF,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;QAE/G,WAAW;QACX,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACvE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAA;QAEpH,kCAAkC;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAEhF,uBAAuB;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY,EAAE,YAAqB,IAAI;QACrE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;QAE3F,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SACxE;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,+BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QAChD,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,EAAE,aAAsB;QACtE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ;IACR,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,cAAc;IACd,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAoB;QAC7C,IAAI,WAAW,EAAE;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC1C;aAAM;YACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAmB,EAAE,WAAmB,EAAE,aAAqB;QACtF,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpI,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,UAAU,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,wCAAwC;QAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,KAAa;QACzD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,KAAK,YAAY,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,wBAAwB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAa;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;QAC/E,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,UAAU;IACV,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW;IACX,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,IAAI,QAAQ,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,kCAAkC,CAAC,KAAa;QACpD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;IACT,KAAK,CAAC,2BAA2B,CAAC,KAAa;QAC7C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,KAAa;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,8BAA8B,CAAC,KAAa;QAChD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAa;QAChD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAa;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,qCAAqC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe;IACf,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,SAAiB;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,yBAAyB,CAAC,MAAM;QACpC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;SACpH;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAAsB;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,MAAc;QACtD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAa;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,eAAuB;QAChD,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,OAAO;IACP,KAAK,CAAC,wBAAwB,CAAC,KAAa;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,MAAc;QAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAmB;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,WAAW,IAAI,CAAC,EAAC,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;IACX,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;IACb,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,mBAAmB,CAAC,QAAgB,CAAC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACzC,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACvF,gCAAgC;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,YAAoB;QAC9D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAa;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAC,OAAO,EAAE,+BAAc,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;QACtF,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,eAAuB;QACzD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAAa;QAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,IAAY;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,qCAAqC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,IAAY;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAiB;QAClD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACtG;SACF;QACD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qCAAqC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,WAAqB;QACnD,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE;YAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;SACnG;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAa;QACzC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa;QACjC,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClG,wBAAwB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtG,wBAAwB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,+BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,KAAa;QAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAAa;QACvC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAAa;QACvC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,cAAsB;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,SAAS;IACT,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,WAAmB,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpH,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1C;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,OAAe;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAa;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAQ;QACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1G,IAAI,WAAW,KAAK,EAAE;gBACpB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC3G;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAQ;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,IAAY;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACtH,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACxH,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,YAAqB,IAAI;QACtE,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,uBAAuB,QAAQ,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACxI,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,iBAAyB;QACzD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAmB;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACvC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;CACF;AA/nCD,4CA+nCC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class DataTypeUiHelper extends UiBaseLocators {\n private readonly moveToBtn: Locator;\n private readonly duplicateToBtn: Locator;\n private readonly newDataTypeBtn: Locator;\n private readonly dataTypeNameTxt: Locator;\n private readonly createDataTypeFolderBtn: Locator;\n private readonly updateDataTypeFolderBtn: Locator;\n private readonly includeLabelsToggle: Locator;\n private readonly addColorBtn: Locator;\n private readonly colorValueTxt: Locator;\n private readonly offsetTimeToggle: Locator;\n private readonly dateFormatTxt: Locator;\n private readonly pageSizeTxt: Locator;\n private readonly ascendingRadioBtn: Locator;\n private readonly descendingRadioBtn: Locator;\n private readonly chooseColumnsDisplayedBtn: Locator;\n private readonly workspaceViewName: Locator;\n private readonly orderByDropDownBox: Locator;\n private readonly showWorkspaceViewFirstToggle: Locator;\n private readonly editInInfiniteEditorToggle: Locator;\n private readonly aliasTxt: Locator;\n private readonly widthTxt: Locator;\n private readonly heightTxt: Locator;\n private readonly minimumTxt: Locator;\n private readonly maximumTxt: Locator;\n private readonly stepSizeTxt: Locator;\n private readonly optionTxt: Locator;\n private readonly addOptionBtn: Locator;\n private readonly maximumAllowedCharsTxt: Locator;\n private readonly numberOfRowsTxt: Locator;\n private readonly minHeightTxt: Locator;\n private readonly maxHeightTxt: Locator;\n private readonly acceptedFileExtensionsTxt: Locator;\n private readonly addAcceptedFileExtensionsBtn: Locator;\n private readonly minimumNumberOfItemsTxt: Locator;\n private readonly maximumNumberOfItemsTxt: Locator;\n private readonly ignoreUserStartNodesToggle: Locator;\n private readonly overlaySizeDropDownBox: Locator;\n private readonly hideAnchorQueryStringInputToggle: Locator;\n private readonly pickMultipleItemsToggle: Locator;\n private readonly enableFocalPointToggle: Locator;\n private readonly amountLowValueTxt: Locator;\n private readonly amountHighValueTxt: Locator;\n private readonly toolbarCheckboxes: Locator;\n private readonly addStylesheetBtn: Locator;\n private readonly dimensionsWidthTxt: Locator;\n private readonly dimensionsHeightTxt: Locator;\n private readonly maxImageSizeTxt: Locator;\n private readonly hideLabelToggle: Locator;\n private readonly defineTagGroupTxt: Locator;\n private readonly showOpenButtonToggle: Locator;\n private readonly enableMultipleChoiceToggle: Locator;\n private readonly addOptionsBtn: Locator;\n private readonly presetValueToggle: Locator;\n private readonly showToggleLabelsToggle: Locator;\n private readonly labelOnTxt: Locator;\n private readonly labelOffTxt: Locator;\n private readonly labelTxt: Locator;\n private readonly chooseAcceptedTypesBtn: Locator;\n private readonly chooseWithPlusBtn: Locator;\n private readonly storageTypeDropDownBox: Locator;\n private readonly allowDecimalsToggle: Locator;\n private readonly chooseLayoutsBtn: Locator;\n private readonly columnsDisplayedItems: Locator;\n private readonly layoutsItems: Locator;\n private readonly inlineRadioBtn: Locator;\n private readonly duplicateBtn: Locator;\n private readonly addWithPlusBtn: Locator;\n private readonly selectAPropertyEditorBtn: Locator;\n private readonly typeToFilterTxt: Locator;\n private readonly chooseStartNodeBtn: Locator;\n private readonly addBlockBtn: Locator;\n private readonly minAmountTxt: Locator;\n private readonly maxAmountTxt: Locator;\n private readonly singleBlockModeBtn: Locator;\n private readonly liveEditingModeBtn: Locator;\n private readonly inlineEditingModeBtn: Locator;\n private readonly propertyEditorWidthTxt: Locator;\n private readonly labelTextTxt: Locator;\n private readonly overlaySizeOption: Locator;\n private readonly chooseContentModelBtn: Locator;\n private readonly chooseSettingsModelBtn: Locator;\n private readonly contentModelNode: Locator;\n private readonly settingsModelNode: Locator;\n private readonly removeExactContentModelNodeBtn: Locator;\n private readonly removeExactSettingsModelNodeBtn: Locator;\n private readonly openBtn: Locator;\n private readonly backgroundColorBtn: Locator;\n private readonly backgroundColorTxt: Locator;\n private readonly chooseCustomStylesheetBtn: Locator;\n private readonly iconColorBtn: Locator;\n private readonly iconColorTxt: Locator;\n private readonly stylesheetRemoveBtn: Locator;\n private readonly hideContentEditorBlockGridBtn: Locator;\n private readonly hideContentEditorBlockListBtn: Locator;\n private readonly customStylesheetLabel: Locator;\n private readonly documentTypeWorkspace: Locator;\n private readonly editorWidthTxt: Locator;\n private readonly createButtonLabelTxt: Locator;\n private readonly gridColumnsTxt: Locator;\n private readonly showResizeOptionsBtn: Locator;\n private readonly columnSpanOptions: Locator;\n private readonly areasTabBtn: Locator;\n private readonly availableRowSpansLowValueTxt: Locator;\n private readonly availableRowSpansHighValueTxt: Locator;\n private readonly areaGridColumnsTxt: Locator;\n private readonly addAreaBtn: Locator;\n private readonly blockAreaConfig: Locator;\n private readonly aliasAliasTxt: Locator;\n private readonly blockGridAreaWorkspaceSubmitBtn: Locator;\n private readonly createLabelTxt: Locator;\n private readonly minAllowedTxt: Locator;\n private readonly maxAllowedTxt: Locator;\n private readonly addSpecifiedAllowanceBtn: Locator;\n private readonly advancedTabBtn: Locator;\n private readonly allowBlockAtRootToggle: Locator;\n private readonly allowInAreasToggle: Locator;\n private readonly chooseThumbnailAlias: Locator;\n private readonly expandChildItemsForMediaBtn: Locator;\n private readonly tiptapToolbarConfiguration: Locator;\n private readonly addGroupToolbarBtn: Locator;\n private readonly addRowToolbarBtn: Locator;\n private readonly tiptapExtensionsConfiguration: Locator;\n private readonly propertyEditor: Locator;\n private readonly selectIconBtn: Locator;\n private readonly newFolderBtn: Locator;\n private readonly dataTypeBtn: Locator;\n private readonly dataTypesMenu: Locator;\n private readonly propertyEditorConfig: Locator;\n private readonly propertyEditorConfigItems: Locator;\n private readonly tiptapStatusbarConfiguration: Locator;\n private readonly blockThumbnailImage: Locator;\n private readonly dataTypeTreeRoot: Locator;\n private readonly createCropBtn: Locator;\n private readonly editCropBtn: Locator;\n private readonly propertyCrops: Locator;\n private readonly addTimeZoneBtn: Locator;\n private readonly timeZoneDropDown: Locator;\n private readonly dataSourceChooseBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.moveToBtn = this.actionsMenuContainer.getByLabel('Move to');\n this.duplicateToBtn = this.actionsMenuContainer.getByLabel(/^Duplicate to(…)?$/);\n this.newDataTypeBtn = page.getByRole('link', {name: 'Data Type', exact: true});\n this.dataTypeNameTxt = page.locator('umb-data-type-workspace-editor #nameInput #input');\n this.createDataTypeFolderBtn = page.getByLabel('Create folder');\n this.newFolderBtn = page.locator('[name=\"Folder\"]');\n this.updateDataTypeFolderBtn = page.getByLabel('Update folder');\n this.ignoreUserStartNodesToggle = page.getByTestId('property:ignoreUserStartNodes').locator('#toggle');\n this.duplicateBtn = this.sidebarModal.getByLabel('Duplicate', {exact: true});\n this.selectAPropertyEditorBtn = page.getByLabel('Select a property editor');\n this.typeToFilterTxt = page.locator('#filter #input');\n\n // Approved Color\n this.includeLabelsToggle = page.locator('#toggle');\n this.addColorBtn = page.getByLabel('Add');\n this.colorValueTxt = page.getByPlaceholder('Value').getByRole('textbox');\n\n // Date Picker\n this.offsetTimeToggle = page.locator('umb-property[label=\"Offset time\"] #toggle');\n this.dateFormatTxt = page.getByTestId('property:format').locator('#input');\n\n // List View\n this.pageSizeTxt = page.getByTestId('property:pageSize').locator('#input');\n this.ascendingRadioBtn = page.locator('uui-radio[label=\"Ascending [a-z]\"] #button');\n this.descendingRadioBtn = page.locator('uui-radio[label=\"Descending [z-a]\"] #button');\n this.chooseColumnsDisplayedBtn = page.getByTestId('property:includeProperties').getByLabel('Choose');\n this.columnsDisplayedItems = page.getByTestId('property:includeProperties').locator('.layout-item');\n this.workspaceViewName = page.getByTestId('property:tabName').locator('#input');\n this.showWorkspaceViewFirstToggle = page.getByTestId('property:showContentFirst').locator('#toggle');\n this.editInInfiniteEditorToggle = page.locator('umb-property[label=\"Edit in Infinite Editor\"] #toggle');\n this.orderByDropDownBox = page.getByTestId('property:orderBy').locator('select');\n this.chooseLayoutsBtn = page.getByTestId('property:layouts').getByLabel('Choose');\n this.layoutsItems = page.getByTestId('property:layouts').locator('.layout-item');\n\n // Image Cropper\n this.labelTxt = page.getByLabel('Label', {exact: true});\n this.aliasTxt = page.getByLabel('Alias', {exact: true});\n this.widthTxt = page.getByLabel('Width', {exact: true});\n this.heightTxt = page.getByLabel('Height', {exact: true});\n this.propertyCrops = page.getByTestId('property:crops');\n this.createCropBtn = this.propertyCrops.getByRole('button', {name: 'Create'});\n this.editCropBtn = this.propertyCrops.getByRole('button', {name: 'Edit'});\n\n // Numeric\n this.minimumTxt = page.getByTestId('property:min').locator('#input');\n this.maximumTxt = page.getByTestId('property:max').locator('#input');\n this.stepSizeTxt = page.getByTestId('property:step').locator('#input');\n this.allowDecimalsToggle = page.locator('umb-property[label=\"Allow decimals\"] #toggle');\n\n // Radiobox\n this.optionTxt = page.getByTestId('property:items').locator('#input');\n this.addOptionBtn = page.getByTestId('property:items').getByLabel('Add', {exact: true});\n\n // Textarea - Textstring\n this.maximumAllowedCharsTxt = page.getByTestId('property:maxChars').locator('#input');\n this.numberOfRowsTxt = page.getByTestId('property:rows').locator('#input');\n this.minHeightTxt = page.getByTestId('property:minHeight').locator('#input');\n this.maxHeightTxt = page.getByTestId('property:maxHeight').locator('#input');\n\n // Upload\n this.acceptedFileExtensionsTxt = page.getByTestId('property:fileExtensions').locator('#input');\n this.addAcceptedFileExtensionsBtn = page.getByTestId('property:fileExtensions').getByLabel('Add', {exact: true});\n\n // Multi URL Picker\n this.minimumNumberOfItemsTxt = page.getByTestId('property:minNumber').locator('#input');\n this.maximumNumberOfItemsTxt = page.getByTestId('property:maxNumber').locator('#input');\n this.overlaySizeDropDownBox = page.getByTestId('property:overlaySize').locator('select');\n this.hideAnchorQueryStringInputToggle = page.getByTestId('property:hideAnchor').locator('#toggle');\n\n // Media Picker\n this.pickMultipleItemsToggle = page.getByTestId('property:multiple').locator('#toggle');\n this.enableFocalPointToggle = page.getByTestId('property:enableLocalFocalPoint').locator('#toggle');\n this.amountLowValueTxt = page.getByTestId('property:validationLimit').getByLabel('Low value');\n this.amountHighValueTxt = page.getByTestId('property:validationLimit').getByLabel('High value');\n this.chooseAcceptedTypesBtn = page.getByTestId('property:filter').getByLabel('Choose');\n this.chooseWithPlusBtn = page.locator('#btn-add').filter({hasText: 'Choose'});\n this.chooseStartNodeBtn = page.getByTestId('property:startNodeId').locator('#btn-add');\n\n // Rich Editor\n this.toolbarCheckboxes = page.getByTestId('property:toolbar').locator('uui-checkbox');\n this.addStylesheetBtn = page.getByTestId('property:stylesheets').getByLabel('Add stylesheet');\n this.dimensionsWidthTxt = page.getByTestId('property:dimensions').getByLabel('Width');\n this.dimensionsHeightTxt = page.getByTestId('property:dimensions').getByLabel('Height');\n this.maxImageSizeTxt = page.getByTestId('property:maxImageSize').locator('#input');\n this.hideLabelToggle = page.getByTestId('property:hideLabel').locator('#toggle');\n this.inlineRadioBtn = page.getByTestId('property:mode').locator('uui-radio[value=\"Inline\"]');\n this.addWithPlusBtn = page.getByTestId('property:blocks').locator('#add-button');\n\n // Tags\n this.defineTagGroupTxt = page.getByTestId('property:group').locator('#input');\n this.storageTypeDropDownBox = page.locator('#native');\n\n // Content Picker\n this.showOpenButtonToggle = page.getByTestId('property:showOpenButton').locator('#toggle');\n\n // Dropdown\n this.enableMultipleChoiceToggle = page.getByTestId('property:multiple').locator('#toggle');\n this.addOptionsBtn = page.getByTestId('property:items').getByLabel('Add', {exact: true});\n\n // True/false\n this.presetValueToggle = page.getByTestId('property:default').locator('#toggle');\n this.showToggleLabelsToggle = page.getByTestId('property:showLabels').locator('#toggle');\n this.labelOnTxt = page.getByTestId('property:labelOn').locator('#input');\n this.labelOffTxt = page.getByTestId('property:labelOff').locator('#input');\n\n // Block List Editor and Block Grid Editor\n this.addBlockBtn = page.locator('umb-input-block-type #blocks').getByLabel('open');\n this.minAmountTxt = page.getByLabel('Low value');\n this.maxAmountTxt = page.getByLabel('High value');\n this.singleBlockModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Single block mode'}).locator('#toggle');\n this.liveEditingModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Live editing'}).locator('#toggle');\n this.inlineEditingModeBtn = this.page.locator('umb-property-layout').filter({hasText: 'Inline editing'}).locator('#toggle');\n this.propertyEditorWidthTxt = this.page.locator('umb-property-layout').filter({hasText: 'Property editor width'}).locator('#input');\n this.labelTextTxt = this.page.locator('[label=\"Label\"]').locator('#input');\n this.overlaySizeOption = this.page.locator('[label=\"Overlay editor size\"]').locator('#native');\n this.chooseContentModelBtn = this.page.locator('[alias=\"contentElementTypeKey\"]').getByLabel('Choose');\n this.chooseSettingsModelBtn = this.page.locator('[alias=\"settingsElementTypeKey\"]').getByLabel('Choose');\n this.contentModelNode = this.page.locator('[alias=\"contentElementTypeKey\"]').locator('uui-ref-node-document-type');\n this.settingsModelNode = this.page.locator('[alias=\"settingsElementTypeKey\"]').locator('uui-ref-node-document-type')\n this.removeExactContentModelNodeBtn = this.page.locator('[alias=\"contentElementTypeKey\"]').getByLabel('Remove', {exact: true});\n this.removeExactSettingsModelNodeBtn = this.page.locator('[alias=\"settingsElementTypeKey\"]').getByLabel('Remove', {exact: true});\n this.openBtn = this.page.getByLabel('Open', {exact: true});\n this.backgroundColorBtn = this.page.locator('umb-property-layout').filter({hasText: 'Background color'}).getByLabel('Eye dropper');\n this.backgroundColorTxt = this.page.locator('[label=\"Background color\"]').locator('[label=\"Eye dropper\"]').locator('#input');\n this.iconColorBtn = this.page.locator('umb-property-layout').filter({hasText: 'Icon color'}).getByLabel('Eye dropper');\n this.iconColorTxt = this.page.locator('[label=\"Icon color\"]').locator('[label=\"Eye dropper\"]').locator('#input');\n this.stylesheetRemoveBtn = this.page.locator('uui-ref-node').getByLabel('Remove', {exact: true});\n this.hideContentEditorBlockListBtn = this.page.locator('[alias=\"forceHideContentEditorInOverlay\"]').locator('#toggle');\n this.hideContentEditorBlockGridBtn = this.page.locator('[alias=\"hideContentEditor\"]').locator('#toggle');\n this.customStylesheetLabel = this.page.locator('[label=\"Custom stylesheet\"]');\n this.chooseThumbnailAlias = this.page.locator('[alias=\"thumbnail\"]').getByLabel('Choose');\n this.documentTypeWorkspace = this.page.locator('umb-document-type-workspace-editor');\n this.editorWidthTxt = this.page.locator('umb-property-layout').filter({hasText: 'Editor width'}).locator('#input');\n this.createButtonLabelTxt = this.page.locator('umb-property-layout').filter({hasText: 'Create button label'}).locator('#input');\n this.gridColumnsTxt = this.page.locator('umb-property-layout').filter({hasText: 'Grid columns'}).locator('#input');\n this.showResizeOptionsBtn = this.page.getByLabel('Show resize options');\n this.columnSpanOptions = this.page.locator('[alias=\"columnSpanOptions\"]');\n this.areasTabBtn = this.page.getByRole('tab', {name: 'Areas'});\n this.availableRowSpansLowValueTxt = this.page.locator('[label=\"Available row spans\"]').getByLabel('Low value');\n this.availableRowSpansHighValueTxt = this.page.locator('[label=\"Available row spans\"]').getByLabel('High value');\n this.areaGridColumnsTxt = this.page.locator('[alias=\"areaGridColumns\"]').locator('#input');\n this.addAreaBtn = this.page.getByLabel('Add area');\n this.blockAreaConfig = this.page.locator('umb-block-area-config-entry');\n this.aliasAliasTxt = this.page.locator('[alias=\"alias\"]').locator('#input');\n this.blockGridAreaWorkspaceSubmitBtn = this.page.locator('umb-block-grid-area-type-workspace-editor').getByLabel('Submit');\n this.createLabelTxt = this.page.locator('[alias=\"createLabel\"]').locator('#input');\n this.minAllowedTxt = this.page.locator('#container').getByLabel('Low value');\n this.maxAllowedTxt = this.page.locator('#container').getByLabel('High value');\n this.addSpecifiedAllowanceBtn = this.page.locator('[alias=\"specifiedAllowance\"]').getByLabel('Add');\n this.advancedTabBtn = this.page.getByRole('tab', {name: 'Advanced'});\n this.allowBlockAtRootToggle = this.page.getByTestId('property:allowAtRoot').locator('#toggle');\n this.allowInAreasToggle = this.page.getByTestId('property:allowInAreas').locator('#toggle');\n this.expandChildItemsForMediaBtn = this.page.getByLabel('Expand child items for media', {exact: true});\n this.chooseCustomStylesheetBtn = this.page.locator('[label=\"Custom stylesheet\"]').getByLabel('Choose');\n\n // Tiptap\n this.tiptapToolbarConfiguration = this.page.locator('umb-property-editor-ui-tiptap-toolbar-configuration');\n this.addGroupToolbarBtn = this.tiptapToolbarConfiguration.locator('uui-button').filter({hasText: 'Add group'});\n this.addRowToolbarBtn = this.tiptapToolbarConfiguration.locator('uui-button').filter({hasText: 'Add row'});\n this.tiptapExtensionsConfiguration = this.page.locator('umb-property-editor-ui-tiptap-extensions-configuration');\n this.propertyEditor = this.page.locator('umb-ref-property-editor-ui');\n this.selectIconBtn = page.getByLabel('Select icon');\n this.dataTypeBtn = this.createOptionActionListModal.locator('[name=\"Data Type\"]');\n this.dataTypesMenu = page.locator('#menu-item').getByRole('link', {name: 'Data Types'});\n this.tiptapStatusbarConfiguration = this.page.locator('umb-property-editor-ui-tiptap-statusbar-configuration');\n\n // Settings\n this.propertyEditorConfig = page.locator('umb-property-editor-config');\n this.propertyEditorConfigItems = this.propertyEditorConfig.locator('umb-property');\n this.blockThumbnailImage = page.locator('uui-card-block-type').locator('img');\n this.dataTypeTreeRoot = page.locator('[alias=\"Umb.TreeItem.DataType\"]').locator('uui-menu-item[label=\"Data Types\"]')\n\n // Date Time with Time Zone Picker\n this.addTimeZoneBtn = page.locator('#add-time-zone [name=\"icon-add\"] svg');\n this.timeZoneDropDown = page.locator('umb-input-time-zone-picker uui-combobox');\n \n // Entity Picker Source\n this.dataSourceChooseBtn = page.locator('[label=\"Data Source\"]').locator(this.chooseBtn);\n }\n\n async clickActionsMenuForDataType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForDataType('Data Types');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Data Types');\n }\n\n async createDataTypeFolder(folderName: string) {\n await this.clickCreateActionMenuOption();\n await this.clickFolderButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async goToDataType(dataTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.click(this.sectionSidebar.getByLabel(dataTypeName, {exact: true}));\n }\n\n async clickMoveToButton() {\n await this.click(this.moveToBtn);\n }\n\n async clickDuplicateToButton() {\n await this.click(this.duplicateToBtn);\n }\n\n async waitForDataTypeToBeCreated() {\n await this.waitForLoadState();\n }\n\n async isDataTypeTreeItemVisible(name: string, isVisible: boolean = true) {\n const hasShowChildren = await this.dataTypeTreeRoot.getAttribute('show-children') !== null;\n\n if (!hasShowChildren) {\n await this.click(this.dataTypeTreeRoot.locator(this.caretBtn).first());\n }\n\n await this.isTreeItemVisible(name, isVisible);\n }\n\n async waitForDataTypeToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForDataTypeToBeRenamed() {\n await this.waitForLoadState();\n }\n\n async clickNewDataTypeButton() {\n await this.click(this.newDataTypeBtn);\n }\n\n async clickNewDataTypeFolderButton() {\n await this.click(this.newFolderBtn);\n }\n\n async enterDataTypeName(name: string) {\n await this.click(this.dataTypeNameTxt);\n await this.enterText(this.dataTypeNameTxt, name);\n }\n\n async clickCreateFolderButton() {\n await this.click(this.createDataTypeFolderBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickUpdateFolderButton() {\n await this.click(this.updateDataTypeFolderBtn);\n }\n\n async deleteDataType(name: string) {\n await this.clickActionsMenuForDataType(name);\n await this.clickDeleteAndConfirmButton();\n }\n\n async deleteDataTypeFolder(folderName: string) {\n await this.clickActionsMenuForDataType(folderName);\n await this.deleteFolder();\n }\n\n async moveDataTypeToFolder(folderName: string) {\n await this.clickMoveToActionMenuOption();\n await this.click(this.sidebarModal.getByText(folderName, {exact: true}));\n await this.click(this.chooseModalBtn);\n }\n\n async duplicateDataTypeToFolder(folderName: string) {\n await this.clickDuplicateToActionMenuOption();\n await this.click(this.sidebarModal.getByText(folderName, {exact: true}));\n await this.click(this.duplicateBtn);\n }\n\n async addMediaStartNode(mediaName: string) {\n await this.click(this.mediaCardItems.filter({hasText: mediaName}));\n await this.clickChooseModalButton();\n }\n\n async addContentStartNode(contentName: string) {\n await this.clickTextButtonWithName(contentName);\n await this.click(this.chooseModalBtn);\n }\n\n async clickSelectAPropertyEditorButton() {\n await this.click(this.selectAPropertyEditorBtn);\n }\n\n async selectAPropertyEditor(propertyName: string, filterKeyword?: string) {\n await this.typeToFilterTxt.fill(filterKeyword ? filterKeyword : propertyName);\n await this.clickTextButtonWithName(propertyName);\n }\n\n // Approved Color\n async clickIncludeLabelsToggle() {\n await this.click(this.includeLabelsToggle);\n }\n\n async removeColorByValue(value: string) {\n await this.click(this.page.locator(`[value=\"${value}\"] uui-button svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async addColor(value: string) {\n await this.click(this.addColorBtn);\n await this.enterText(this.colorValueTxt, value);\n }\n\n // Label\n async changeValueType(valueType: string) {\n await this.selectByText(this.page.getByLabel('Select a value type'), valueType);\n }\n\n // Date Picker\n async clickOffsetTimeToggle() {\n await this.click(this.offsetTimeToggle);\n }\n\n async enterDateFormatValue(value: string) {\n await this.enterText(this.dateFormatTxt, value);\n }\n\n // List View\n async enterPageSizeValue(value: string) {\n await this.enterText(this.pageSizeTxt, value);\n }\n\n async chooseOrderDirection(isAscending: boolean) {\n if (isAscending) {\n await this.click(this.ascendingRadioBtn);\n } else {\n await this.click(this.descendingRadioBtn);\n }\n }\n\n async addColumnDisplayed(contentType: string, contentName: string, propertyAlias: string) {\n await this.click(this.chooseColumnsDisplayedBtn);\n await this.clickTextButtonWithName(contentType);\n await this.clickTextButtonWithName(contentName);\n await this.clickChooseContainerButton();\n await this.clickTextButtonWithName(propertyAlias);\n }\n\n async removeColumnDisplayed(propertyAlias: string) {\n await this.click(this.columnsDisplayedItems.filter({has: this.page.getByText(propertyAlias, {exact: true})}).getByText('Remove'));\n }\n\n async addLayouts(layoutName: string) {\n await this.click(this.chooseLayoutsBtn);\n await this.click(this.page.locator(`[name=\"${layoutName}\"]`));\n }\n\n async removeLayouts(layoutAlias: string) {\n await this.click(this.layoutsItems.filter({has: this.page.getByText(layoutAlias, {exact: true})}).getByText('Remove'));\n }\n\n async chooseOrderByValue(value: string) {\n await this.selectByText(this.orderByDropDownBox, value);\n }\n\n async enterWorkspaceViewName(name: string) {\n await this.enterText(this.workspaceViewName, name);\n }\n\n async clickShowContentWorkspaceViewFirstToggle() {\n await this.click(this.showWorkspaceViewFirstToggle);\n }\n\n async clickEditInInfiniteEditorToggle() {\n await this.click(this.editInInfiniteEditorToggle);\n }\n\n async clickBulkActionPermissionsToggleByValue(value: string) {\n await this.click(this.page.locator(`uui-toggle[label='${value}'] #toggle`));\n }\n\n async clickSelectIconButton() {\n // Force click is needed\n await this.click(this.selectIconBtn, {force: true});\n }\n\n async chooseWorkspaceViewIconByValue(value: string) {\n await this.click(this.page.locator(`[label=\"${value}\"] svg`));\n await this.click(this.submitBtn);\n }\n\n // Image Cropper\n async enterCropValues(label: string, alias: string, width: string, height: string) {\n await this.enterText(this.labelTxt, label);\n await this.enterText(this.aliasTxt, alias);\n await this.enterText(this.widthTxt, width);\n await this.enterText(this.heightTxt, height);\n }\n\n async clickCreateCropButton() {\n await this.click(this.createCropBtn);\n }\n\n async clickEditCropButton() {\n await this.click(this.editCropBtn);\n }\n\n async editCropByAlias(alias: string) {\n await this.click(this.page.locator('.crop').filter({has: this.page.getByText(alias)}).getByText('Edit'));\n }\n\n async removeCropByAlias(alias: string) {\n await this.click(this.page.locator('.crop').filter({has: this.page.getByText(alias)}).getByText('Remove'));\n }\n\n // Numeric\n async enterMinimumValue(value: string) {\n await this.enterText(this.minimumTxt, value);\n }\n\n async enterMaximumValue(value: string) {\n await this.enterText(this.maximumTxt, value);\n }\n\n async enterStepSizeValue(value: string) {\n await this.enterText(this.stepSizeTxt, value);\n }\n\n async clickAllowDecimalsToggle() {\n await this.click(this.allowDecimalsToggle);\n }\n\n // Radiobox\n async removeOptionByName(name: string) {\n await this.click(this.page.locator(`uui-button[label='Remove ${name}'] svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async enterOptionName(name: string) {\n await this.enterText(this.optionTxt.last(), name);\n }\n\n async clickAddOptionButton() {\n await this.click(this.addOptionBtn);\n }\n\n // Textarea - Textstring\n async enterMaximumAllowedCharactersValue(value: string) {\n await this.enterText(this.maximumAllowedCharsTxt, value);\n }\n\n async enterNumberOfRowsValue(value: string) {\n await this.enterText(this.numberOfRowsTxt, value);\n }\n\n async enterMaxHeightValue(value: string) {\n await this.enterText(this.maxHeightTxt, value);\n }\n\n async enterMinHeightValue(value: string) {\n await this.enterText(this.minHeightTxt, value);\n }\n\n // Upload\n async enterAcceptedFileExtensions(value: string) {\n await this.enterText(this.acceptedFileExtensionsTxt.last(), value);\n }\n\n async removeAcceptedFileExtensionsByValue(value: string) {\n await this.click(this.page.locator(`uui-button[label='Remove ${value}'] svg`));\n await this.click(this.confirmToDeleteBtn);\n }\n\n async clickAddAcceptedFileExtensionsButton() {\n await this.click(this.addAcceptedFileExtensionsBtn);\n }\n\n // Multi URL Picker\n async enterMinimumNumberOfItemsValue(value: string) {\n await this.enterText(this.minimumNumberOfItemsTxt, value);\n }\n\n async enterMaximumNumberOfItemsValue(value: string) {\n await this.enterText(this.maximumNumberOfItemsTxt, value);\n }\n\n async clickIgnoreUserStartNodesToggle() {\n await this.click(this.ignoreUserStartNodesToggle);\n }\n\n async chooseOverlaySizeByValue(value: string) {\n await this.selectByValue(this.overlaySizeDropDownBox, value);\n }\n\n async clickHideAnchorQueryStringInputToggle() {\n await this.click(this.hideAnchorQueryStringInputToggle);\n }\n\n // Media Picker\n async clickPickMultipleItemsToggle() {\n await this.click(this.pickMultipleItemsToggle);\n }\n\n async clickEnableFocalPointToggle() {\n await this.click(this.enableFocalPointToggle);\n }\n\n async enterAmountValue(lowValue: string, highValue: string) {\n await this.enterText(this.amountLowValueTxt, lowValue);\n await this.enterText(this.amountHighValueTxt, highValue);\n }\n\n async addAcceptedType(mediaTypeName: string) {\n await this.click(this.chooseAcceptedTypesBtn);\n await this.clickTextButtonWithName(mediaTypeName);\n await this.click(this.chooseModalBtn);\n }\n\n async removeAcceptedType(mediaTypeName: string) {\n await this.click(this.page.locator(`uui-ref-node-document-type[name=\"${mediaTypeName}\"]`).getByLabel('Remove'));\n await this.click(this.confirmToRemoveBtn);\n }\n\n async removeMediaStartNode(mediaName: string) {\n await this.click(this.page.locator(`uui-card-media[name=\"${mediaName}\"]`).locator('[label=\"Remove\"]'));\n await this.click(this.confirmToRemoveBtn);\n }\n\n async clickChooseStartNodeButton() {\n await this.click(this.chooseStartNodeBtn);\n }\n\n // Richtext Editor\n async clickToolbarOptionByValue(values) {\n for (var index in values) {\n await this.click(this.toolbarCheckboxes.filter({has: this.page.getByLabel(values[index])}).locator('#ticker svg'));\n }\n }\n\n async addStylesheet(stylesheetName: string) {\n await this.click(this.addStylesheetBtn);\n await this.click(this.page.getByLabel(stylesheetName));\n await this.click(this.chooseModalBtn);\n }\n\n async enterDimensionsValue(width: string, height: string) {\n await this.enterText(this.dimensionsWidthTxt, width);\n await this.enterText(this.dimensionsHeightTxt, height);\n }\n\n async enterMaximumSizeForImages(value: string) {\n await this.enterText(this.maxImageSizeTxt, value);\n }\n\n async clickHideLabelToggle() {\n await this.click(this.hideLabelToggle);\n }\n\n async clickInlineRadioButton() {\n await this.click(this.inlineRadioBtn);\n }\n\n async clickChooseWithPlusButton() {\n await this.click(this.chooseWithPlusBtn);\n }\n\n async addImageUploadFolder(mediaFolderName: string) {\n await this.clickChooseWithPlusButton();\n await this.selectMediaWithName(mediaFolderName);\n await this.clickChooseModalButton();\n }\n\n async clickAddWithPlusButton() {\n await this.click(this.addWithPlusBtn);\n }\n\n async addAvailableBlocks(blockName: string) {\n await this.clickAddWithPlusButton();\n await this.clickTextButtonWithName(blockName);\n await this.clickChooseModalButton();\n await this.clickSubmitButton();\n }\n\n // Tags\n async enterDefineTagGroupValue(value: string) {\n await this.enterText(this.defineTagGroupTxt, value);\n }\n\n async selectStorageTypeOption(option: string) {\n await this.selectByText(this.storageTypeDropDownBox, option);\n }\n\n // Content Picker\n async clickShowOpenButtonToggle() {\n await this.click(this.showOpenButtonToggle);\n }\n\n async removeContentStartNode(contentName: string) {\n const startNodeLocator = this.entityItem.filter({has: this.page.locator(`[name=\"${contentName}\"]`)});\n await this.hoverAndClick(startNodeLocator, startNodeLocator.getByLabel('Remove'));\n await this.clickConfirmRemoveButton();\n }\n\n // Dropdown\n async clickEnableMultipleChoiceToggle() {\n await this.click(this.enableMultipleChoiceToggle);\n }\n\n async clickAddOptionsButton() {\n await this.click(this.addOptionsBtn);\n }\n\n // True/false\n async clickPresetValueToggle() {\n await this.click(this.presetValueToggle);\n }\n\n async clickShowToggleLabelsToggle() {\n await this.click(this.showToggleLabelsToggle);\n }\n\n async enterLabelOnValue(value: string) {\n await this.enterText(this.labelOnTxt, value);\n }\n\n async enterLabelOffValue(value: string) {\n await this.enterText(this.labelOffTxt, value);\n }\n\n // Block List Editor\n async clickAddBlockButton(index: number = 0) {\n await this.click(this.addBlockBtn.nth(index));\n }\n\n async clickRemoveBlockWithName(name: string) {\n const blockWithNameLocator = this.page.locator('umb-block-type-card', {hasText: name});\n // The force click is necessary.\n await this.click(blockWithNameLocator.getByLabel('Remove block'), {force: true});\n }\n\n async enterMinAmount(value: string) {\n await this.enterText(this.minAmountTxt, value);\n }\n\n async enterMaxAmount(value: string) {\n await this.enterText(this.maxAmountTxt, value);\n }\n\n async doesAmountContainErrorMessageWithText(errorMessage: string) {\n await this.isVisible(this.page.getByText(errorMessage));\n }\n\n async clickSingleBlockMode() {\n await this.click(this.singleBlockModeBtn);\n }\n\n async clickLiveEditingMode() {\n await this.click(this.liveEditingModeBtn);\n }\n\n async clickInlineEditingMode() {\n await this.click(this.inlineEditingModeBtn);\n }\n\n async enterPropertyEditorWidth(width: string) {\n await this.enterText(this.propertyEditorWidthTxt, width);\n }\n\n async goToBlockWithName(name: string) {\n await this.click(this.page.getByRole('link', {name: name}));\n }\n\n async enterBlockLabelText(label: string) {\n await this.removeBlockLabelText();\n await this.labelTextTxt.fill(label);\n }\n\n async removeBlockLabelText() {\n await this.waitForVisible(this.labelTextTxt);\n await this.labelTextTxt.clear();\n }\n\n async clickAllowInRootForBlock() {\n await this.click(this.allowBlockAtRootToggle);\n }\n\n async clickAllowInAreasForBlock() {\n await this.click(this.allowInAreasToggle);\n }\n\n async updateBlockOverlaySize(size: string) {\n await this.selectByValue(this.overlaySizeOption, size);\n }\n\n async addBlockContentModel(elementName: string) {\n await this.click(this.chooseContentModelBtn);\n await this.clickButtonWithName(elementName);\n await this.clickChooseButton();\n }\n\n async addBlockSettingsModel(elementName: string) {\n await this.click(this.chooseSettingsModelBtn, {timeout: ConstantHelper.timeout.long});\n await this.clickModalMenuItemWithName(elementName);\n await this.clickChooseModalButton();\n }\n\n async removeBlockContentModel() {\n await this.hoverAndClick(this.contentModelNode, this.removeExactContentModelNodeBtn);\n }\n\n async removeBlockSettingsModel() {\n await this.hoverAndClick(this.settingsModelNode, this.removeExactSettingsModelNodeBtn);\n }\n\n async openBlockContentModel() {\n await this.hoverAndClick(this.contentModelNode, this.openBtn);\n }\n\n async openBlockSettingsModel() {\n await this.hoverAndClick(this.settingsModelNode, this.openBtn);\n }\n\n async isElementWorkspaceOpenInBlock(elementTypeName: string) {\n await this.isVisible(this.documentTypeWorkspace.filter({hasText: elementTypeName}));\n }\n\n async selectBlockBackgroundColor(color: string) {\n await this.click(this.backgroundColorBtn);\n await this.enterText(this.backgroundColorTxt, color);\n }\n\n async selectBlockIconColor(color: string) {\n await this.click(this.iconColorBtn);\n await this.enterText(this.iconColorTxt, color);\n }\n\n async clickExpandChildItemsForMediaButton() {\n await this.click(this.expandChildItemsForMediaBtn);\n }\n\n async clickRemoveCustomStylesheetWithName(name: string) {\n await this.click(this.customStylesheetLabel.locator(`[name=\"${name}\"]`));\n await this.click(this.stylesheetRemoveBtn);\n await this.clickConfirmRemoveButton();\n }\n\n async clickBlockGridHideContentEditorButton() {\n await this.click(this.hideContentEditorBlockGridBtn);\n }\n\n async chooseBlockCustomStylesheetWithName(name: string) {\n await this.click(this.chooseCustomStylesheetBtn);\n await this.openCaretButtonForName('wwwroot');\n await this.openCaretButtonForName('css');\n await this.clickLabelWithName(name, true);\n await this.clickChooseModalButton();\n }\n\n async chooseBlockThumbnailWithPath(mediaPath: string) {\n const mediaItems = mediaPath.split('/media/')[1].split('/');\n await this.click(this.chooseThumbnailAlias);\n await this.openCaretButtonForName('wwwroot', true);\n await this.clickExpandChildItemsForMediaButton();\n for (let i = 0; i < mediaItems.length; i++) {\n if (i === mediaItems.length - 1) {\n await this.clickLabelWithName(mediaItems[i], true);\n } else {\n await this.click(this.sidebarModal.locator(`uui-menu-item[label=\"${mediaItems[i]}\"] #caret-button`));\n }\n }\n await this.clickChooseModalButton();\n }\n\n async clickBlockListHideContentEditorButton() {\n await this.click(this.hideContentEditorBlockListBtn);\n }\n\n async enterEditorWidth(value: string) {\n await this.enterText(this.editorWidthTxt, value);\n }\n\n async enterCreateButtonLabel(value: string) {\n await this.enterText(this.createButtonLabelTxt, value);\n }\n\n async enterGridColumns(value: number) {\n await this.waitForVisible(this.gridColumnsTxt);\n await this.gridColumnsTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.gridColumnsTxt.fill(value.toString());\n }\n\n async clickShowResizeOptions() {\n await this.click(this.showResizeOptionsBtn);\n }\n\n async clickAvailableColumnSpans(columnSpans: number[]) {\n for (let index in columnSpans) {\n await this.click(this.columnSpanOptions.getByLabel(columnSpans[index].toString(), {exact: true}));\n }\n }\n\n async goToBlockAreasTab() {\n await this.click(this.areasTabBtn);\n }\n\n async enterMinRowSpan(value: number) {\n await this.waitForVisible(this.availableRowSpansLowValueTxt);\n await this.availableRowSpansLowValueTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.availableRowSpansLowValueTxt.fill(value.toString());\n }\n\n async enterMaxRowSpan(value: number) {\n await this.waitForVisible(this.availableRowSpansHighValueTxt);\n await this.availableRowSpansHighValueTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.availableRowSpansHighValueTxt.fill(value.toString());\n }\n\n async enterGridColumnsForArea(value: number) {\n await this.waitForVisible(this.areaGridColumnsTxt);\n await this.areaGridColumnsTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.areaGridColumnsTxt.fill(value.toString());\n }\n\n async addAreaButton() {\n await this.click(this.addAreaBtn);\n }\n\n async goToAreaByAlias(alias: string) {\n const editAreaWithAliasLocator = this.blockAreaConfig.filter({hasText: alias}).getByLabel('edit');\n // Force click is needed\n await this.click(editAreaWithAliasLocator, {force: true});\n }\n\n async clickRemoveAreaByAlias(alias: string) {\n const removeAreaWithAliasLocator = this.blockAreaConfig.filter({hasText: alias}).getByLabel('delete');\n // Force click is needed\n await this.click(removeAreaWithAliasLocator, {force: true});\n await this.clickConfirmToDeleteButton();\n }\n\n async enterAreaAlias(alias: string) {\n await this.enterText(this.aliasAliasTxt, alias);\n }\n\n async clickAreaSubmitButton() {\n await this.click(this.blockGridAreaWorkspaceSubmitBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async enterCreateButtonLabelInArea(value: string) {\n await this.waitForVisible(this.createLabelTxt.nth(1));\n await this.createLabelTxt.nth(1).clear();\n if (value === undefined) {\n return;\n }\n await this.createLabelTxt.nth(1).fill(value);\n }\n\n async enterMinAllowedInArea(value: number) {\n await this.waitForVisible(this.minAllowedTxt);\n await this.minAllowedTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.minAllowedTxt.fill(value.toString());\n }\n\n async enterMaxAllowedInArea(value: number) {\n await this.waitForVisible(this.maxAllowedTxt);\n await this.maxAllowedTxt.clear();\n if (value === undefined) {\n return;\n }\n await this.maxAllowedTxt.fill(value.toString());\n }\n\n async clickAddSpecifiedAllowanceButton() {\n await this.click(this.addSpecifiedAllowanceBtn);\n }\n\n async goToBlockAdvancedTab() {\n await this.click(this.advancedTabBtn);\n }\n\n async getLinkWithName(name: string) {\n await this.isVisible(this.page.getByRole('link', {name: name}));\n return this.page.getByRole('link', {name: name});\n }\n\n async getAddButtonInGroupWithName(name: string) {\n await this.isVisible(this.page.locator('.group').filter({hasText: name}).locator('#add-button'));\n return this.page.locator('.group').filter({hasText: name}).locator('#add-button');\n }\n\n async clickRemoveStylesheetButton(stylesheetName: string) {\n const removeButton = this.entityItem.filter({hasText: stylesheetName}).getByLabel('Remove');\n await this.click(removeButton);\n }\n\n // TipTap\n async deleteToolbarGroup(groupIndex: number, rowIndex: number = 0) {\n const groupButton = this.tiptapToolbarConfiguration.locator('.row').nth(rowIndex).locator('.group').nth(groupIndex);\n await this.hover(groupButton);\n const actionsInGroup = groupButton.locator('.items').locator('uui-button');\n const actionsCount = await actionsInGroup.count();\n for (let i = 0; i < actionsCount; i++) {\n await this.click(actionsInGroup.first());\n }\n await this.click(groupButton.locator('[label=\"Remove group\"]'));\n }\n\n async deleteToolbarRow(rowIndex: number) {\n const rowButton = this.tiptapToolbarConfiguration.locator('.row').nth(rowIndex);\n await this.hoverAndClick(rowButton, rowButton.locator('[label=\"Remove row\"]'));\n }\n\n async clickAddRowToolbarButton() {\n await this.click(this.addRowToolbarBtn);\n }\n\n async clickAddGroupToolbarButton() {\n await this.click(this.addGroupToolbarBtn);\n }\n\n async clickExtensionItemWithName(name: string) {\n await this.click(this.tiptapExtensionsConfiguration.locator(`uui-checkbox[label=\"${name}\"]`));\n }\n\n async doesPropertyEditorHaveUiAlias(uiAlias: string) {\n await this.hasAttribute(this.propertyEditor, 'alias', uiAlias);\n }\n\n async doesPropertyEditorHaveName(name: string) {\n await this.hasAttribute(this.propertyEditor, 'name', name);\n }\n\n async doesPropertyEditorHaveAlias(alias: string) {\n await this.hasAttribute(this.propertyEditor, 'property-editor-schema-alias', alias);\n }\n\n async clickDataTypeButton() {\n await this.click(this.dataTypeBtn);\n }\n\n async clickDataTypesMenu() {\n await this.click(this.dataTypesMenu);\n }\n\n async doesSettingHaveValue(settings) {\n for (let index = 0; index < Object.keys(settings).length; index++) {\n const [label, description] = settings[index];\n await expect(this.propertyEditorConfigItems.nth(index).locator('#headerColumn #label')).toHaveText(label);\n if (description !== '')\n await expect(this.propertyEditorConfigItems.nth(index).locator('#description')).toHaveText(description);\n }\n }\n\n async doesSettingItemsHaveCount(settings) {\n await this.hasCount(this.propertyEditorConfigItems, Object.keys(settings).length);\n }\n\n async doesSettingsContainText(text: string) {\n await this.containsText(this.propertyEditorConfig, text);\n }\n\n async clickStatusbarItemInToolboxWithName(name: string) {\n const statusbarItemLocator = this.tiptapStatusbarConfiguration.locator('#toolbox uui-button').filter({hasText: name});\n await this.click(statusbarItemLocator);\n }\n\n async clickStatusbarItemWithName(name: string) {\n const statusbarItemLocator = this.tiptapStatusbarConfiguration.locator('#statusbar uui-button').filter({hasText: name});\n await this.click(statusbarItemLocator);\n }\n\n async isExtensionItemChecked(itemName: string, isChecked: boolean = true) {\n await expect(this.tiptapExtensionsConfiguration.locator(`uui-checkbox[label=\"${itemName}\"] input`)).toBeChecked({checked: isChecked});\n }\n\n async doesBlockHaveThumbnailImage(thumbnailImageUrl: string) {\n await this.hasAttribute(this.blockThumbnailImage, 'src', thumbnailImageUrl);\n }\n\n async addTimeZones(timeZones: string[]) {\n for (let i = 0; i < timeZones.length; i++) {\n await this.click(this.timeZoneDropDown);\n await this.click(this.timeZoneDropDown.getByText(timeZones[i]));\n await this.click(this.addTimeZoneBtn);\n }\n }\n\n async clickChooseDataSourceButton() {\n await this.click(this.dataSourceChooseBtn);\n }\n\n async clickChooseThumbnailButton() {\n await this.click(this.chooseThumbnailAlias);\n }\n}"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DictionaryUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  class DictionaryUiHelper extends UiBaseLocators_1.UiBaseLocators {
7
6
  createDictionaryItemBtn;
@@ -97,7 +96,7 @@ class DictionaryUiHelper extends UiBaseLocators_1.UiBaseLocators {
97
96
  await this.hasText(this.emptySearchResultMessage, message);
98
97
  }
99
98
  async isDictionaryTreeItemVisible(dictionaryName, isVisible = true) {
100
- return await (0, test_1.expect)(this.dictionaryTree.getByText(dictionaryName, { exact: true })).toBeVisible({ visible: isVisible });
99
+ await this.isVisible(this.dictionaryTree.getByText(dictionaryName, { exact: true }), isVisible);
101
100
  }
102
101
  async doesDictionaryCollectionContainText(text) {
103
102
  await this.containsText(this.dictionaryCollection, text);
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class DictionaryUiHelper extends UiBaseLocators {\n private readonly createDictionaryItemBtn: Locator;\n private readonly dictionaryNameTxt: Locator;\n private readonly searchTxt: Locator;\n private readonly exportBtn: Locator;\n private readonly includeDescendantsCheckbox: Locator;\n private readonly importBtn: Locator;\n private readonly importFileTxt: Locator;\n private readonly emptySearchResultMessage: Locator;\n private readonly dictionaryList: Locator;\n private readonly dictionaryListRows: Locator;\n private readonly dictionaryTree: Locator;\n private readonly dictionaryCollection: Locator;\n private readonly exportModalBtn: Locator;\n private readonly importModalBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createDictionaryItemBtn = page.getByLabel('Create dictionary item', {exact: true});\n this.dictionaryNameTxt = page.locator('umb-workspace-header-name-editable').locator('input');\n this.exportBtn = page.getByRole('button', {name: /^Export(…)?$/});\n this.importBtn = page.getByRole('button', {name: /^Import(…)?$/});\n this.searchTxt = page.locator('uui-input').getByLabel('Search');\n this.dictionaryList = page.locator('umb-dictionary-table-collection-view');\n this.dictionaryListRows = this.dictionaryList.locator('uui-table-row');\n this.exportModalBtn = page.locator('umb-export-dictionary-modal').getByLabel('Export');\n this.includeDescendantsCheckbox = page.locator('umb-export-dictionary-modal #includeDescendants');\n this.importModalBtn = page.locator('uui-button').filter({hasText: 'Import'}).getByLabel('Import');\n this.importFileTxt = page.locator('umb-import-dictionary-modal #input');\n this.emptySearchResultMessage = page.locator('#empty-state');\n this.dictionaryTree = page.locator('umb-tree[alias=\"Umb.Tree.Dictionary\"]');\n this.dictionaryCollection = page.locator('umb-dictionary-collection');\n }\n\n async clickCreateDictionaryItemButton() {\n await this.click(this.createDictionaryItemBtn);\n }\n\n async enterDictionaryName(name: string) {\n await this.enterText(this.dictionaryNameTxt, name);\n }\n\n async clickActionsMenuForDictionary(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async enterSearchKeywordAndPressEnter(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n await this.pressKey(this.searchTxt, 'Enter');\n }\n\n async clickExportButton() {\n await this.click(this.exportBtn);\n }\n\n async clickImportButton() {\n await this.click(this.importBtn);\n }\n\n async waitForDictionaryToBeCreated() {\n await this.waitForLoadState();\n }\n \n async waitForDictionaryToBeDeleted() {\n await this.waitForLoadState();\n }\n \n async waitForDictionaryToBeImported() {\n await this.waitForLoadState();\n }\n \n async deleteDictionary() {\n await this.clickDeleteActionMenuOption();\n await this.click(this.confirmToDeleteBtn);\n }\n\n async doesDictionaryListHaveText(text: string) {\n await this.waitForVisible(this.dictionaryList);\n const allRows = await this.dictionaryListRows.all();\n for (let currentRow of allRows) {\n const currentText = await currentRow.innerText();\n if (currentText.includes(text)) {\n return true;\n }\n }\n return false;\n }\n\n // This function will export dictionary and return the file name\n async exportDictionary(includesDescendants: boolean) {\n if (includesDescendants) {\n await this.click(this.includeDescendantsCheckbox);\n }\n const [downloadPromise] = await Promise.all([\n this.page.waitForEvent('download'),\n await this.click(this.exportModalBtn)\n ]);\n return downloadPromise.suggestedFilename();\n }\n\n async importDictionary(filePath: string) {\n await this.importFileTxt.setInputFiles(filePath);\n await this.click(this.importModalBtn);\n }\n\n async isSearchResultMessageDisplayEmpty(message: string) {\n await this.hasText(this.emptySearchResultMessage, message);\n }\n\n async isDictionaryTreeItemVisible(dictionaryName: string, isVisible: boolean = true) {\n return await expect(this.dictionaryTree.getByText(dictionaryName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async doesDictionaryCollectionContainText(text: string) {\n await this.containsText(this.dictionaryCollection, text);\n }\n}"]}
1
+ {"version":3,"file":"DictionaryUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class DictionaryUiHelper extends UiBaseLocators {\n private readonly createDictionaryItemBtn: Locator;\n private readonly dictionaryNameTxt: Locator;\n private readonly searchTxt: Locator;\n private readonly exportBtn: Locator;\n private readonly includeDescendantsCheckbox: Locator;\n private readonly importBtn: Locator;\n private readonly importFileTxt: Locator;\n private readonly emptySearchResultMessage: Locator;\n private readonly dictionaryList: Locator;\n private readonly dictionaryListRows: Locator;\n private readonly dictionaryTree: Locator;\n private readonly dictionaryCollection: Locator;\n private readonly exportModalBtn: Locator;\n private readonly importModalBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createDictionaryItemBtn = page.getByLabel('Create dictionary item', {exact: true});\n this.dictionaryNameTxt = page.locator('umb-workspace-header-name-editable').locator('input');\n this.exportBtn = page.getByRole('button', {name: /^Export(…)?$/});\n this.importBtn = page.getByRole('button', {name: /^Import(…)?$/});\n this.searchTxt = page.locator('uui-input').getByLabel('Search');\n this.dictionaryList = page.locator('umb-dictionary-table-collection-view');\n this.dictionaryListRows = this.dictionaryList.locator('uui-table-row');\n this.exportModalBtn = page.locator('umb-export-dictionary-modal').getByLabel('Export');\n this.includeDescendantsCheckbox = page.locator('umb-export-dictionary-modal #includeDescendants');\n this.importModalBtn = page.locator('uui-button').filter({hasText: 'Import'}).getByLabel('Import');\n this.importFileTxt = page.locator('umb-import-dictionary-modal #input');\n this.emptySearchResultMessage = page.locator('#empty-state');\n this.dictionaryTree = page.locator('umb-tree[alias=\"Umb.Tree.Dictionary\"]');\n this.dictionaryCollection = page.locator('umb-dictionary-collection');\n }\n\n async clickCreateDictionaryItemButton() {\n await this.click(this.createDictionaryItemBtn);\n }\n\n async enterDictionaryName(name: string) {\n await this.enterText(this.dictionaryNameTxt, name);\n }\n\n async clickActionsMenuForDictionary(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async enterSearchKeywordAndPressEnter(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n await this.pressKey(this.searchTxt, 'Enter');\n }\n\n async clickExportButton() {\n await this.click(this.exportBtn);\n }\n\n async clickImportButton() {\n await this.click(this.importBtn);\n }\n\n async waitForDictionaryToBeCreated() {\n await this.waitForLoadState();\n }\n \n async waitForDictionaryToBeDeleted() {\n await this.waitForLoadState();\n }\n \n async waitForDictionaryToBeImported() {\n await this.waitForLoadState();\n }\n \n async deleteDictionary() {\n await this.clickDeleteActionMenuOption();\n await this.click(this.confirmToDeleteBtn);\n }\n\n async doesDictionaryListHaveText(text: string) {\n await this.waitForVisible(this.dictionaryList);\n const allRows = await this.dictionaryListRows.all();\n for (let currentRow of allRows) {\n const currentText = await currentRow.innerText();\n if (currentText.includes(text)) {\n return true;\n }\n }\n return false;\n }\n\n // This function will export dictionary and return the file name\n async exportDictionary(includesDescendants: boolean) {\n if (includesDescendants) {\n await this.click(this.includeDescendantsCheckbox);\n }\n const [downloadPromise] = await Promise.all([\n this.page.waitForEvent('download'),\n await this.click(this.exportModalBtn)\n ]);\n return downloadPromise.suggestedFilename();\n }\n\n async importDictionary(filePath: string) {\n await this.importFileTxt.setInputFiles(filePath);\n await this.click(this.importModalBtn);\n }\n\n async isSearchResultMessageDisplayEmpty(message: string) {\n await this.hasText(this.emptySearchResultMessage, message);\n }\n\n async isDictionaryTreeItemVisible(dictionaryName: string, isVisible: boolean = true) {\n await this.isVisible(this.dictionaryTree.getByText(dictionaryName, {exact: true}), isVisible);\n }\n\n async doesDictionaryCollectionContainText(text: string) {\n await this.containsText(this.dictionaryCollection, text);\n }\n}"]}
@@ -68,14 +68,14 @@ export declare class DocumentApiHelper {
68
68
  createPublishedDocumentWithImageLinkAndExternalLink(documentName: string, imageName: string, imageId: string, externalLinkTitle: string, externalLinkUrl: string, dataTypeId: string, templateId: string, propertyName?: string, documentTypeName?: string): Promise<string>;
69
69
  createPublishedDocumentWithTwoMediaPicker(documentName: string, firstMediaPickerId: string, secondMediaPickerId: string, dataTypeId: string, templateId: string, propertyName?: string, documentTypeName?: string): Promise<string>;
70
70
  createDefaultDocumentWithABlockGridEditor(documentName: string, elementTypeId: string, documentTypeName: string, blockGridDataTypeName: string): Promise<string | undefined>;
71
- createDefaultDocumentWithABlockGridEditorAndBlockWithValue(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName?: string): Promise<string | undefined>;
71
+ createDefaultDocumentWithABlockGridEditorAndBlockWithValue(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName?: string, templateId?: string): Promise<string | undefined>;
72
72
  createDefaultDocumentWithABlockGridEditorAndBlockWithValueAndTwoGroups(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondPropertyName: string, secondGroupName?: string): Promise<string | undefined>;
73
- createDefaultDocumentWithABlockGridEditorAndBlockWithTwoValues(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string): Promise<string | undefined>;
73
+ createDefaultDocumentWithABlockGridEditorAndBlockWithTwoValues(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string, templateId?: string): Promise<string | undefined>;
74
74
  createDefaultDocumentWithABlockGridEditorAndBlockWithTwoValuesAndTwoGroups(documentName: string, documentTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string, secondPropertyName: string, secondGroupName: string): Promise<string | undefined>;
75
- createDefaultDocumentWithABlockListEditorAndBlockWithValue(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string): Promise<string | undefined>;
75
+ createDefaultDocumentWithABlockListEditorAndBlockWithValue(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string, templateId?: string): Promise<string | undefined>;
76
76
  createDefaultDocumentWithABlockListEditor(documentName: string, elementTypeId: string, documentTypeName: string, blockListDataTypeName: string): Promise<string | undefined>;
77
77
  createDefaultDocumentWithABlockListEditorAndBlockWithValueAndTwoGroups(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondPropertyName: string, secondGroupName?: string): Promise<string | undefined>;
78
- createDefaultDocumentWithABlockListEditorAndBlockWithTwoValues(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string): Promise<string | undefined>;
78
+ createDefaultDocumentWithABlockListEditorAndBlockWithTwoValues(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string, templateId?: string): Promise<string | undefined>;
79
79
  createDefaultDocumentWithABlockListEditorAndBlockWithTwoValuesAndTwoGroups(documentName: string, documentTypeName: string, blockListDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, elementTypePropertyValue: string, elementTypePropertyEditorAlias: string, groupName: string | undefined, secondElementTypePropertyValue: string, secondPropertyName: string, secondGroupName: string): Promise<string | undefined>;
80
80
  createDefaultDocumentWithABlockListEditorAndBlockGridEditorWithSameAllowedBlock(documentName: string, documentTypeName: string, blockListDataTypeName: string, blockGridDataTypeName: string, elementTypeId: string, elementTypePropertyAlias: string, blockListElementTypePropertyValue: string, blockListElementTypePropertyEditorAlias: string, blockListGroupName: string | undefined, blockGridElementTypePropertyValue: string, blockGridElementTypePropertyEditorAlias: string, blockGridGroupName?: string): Promise<string | undefined>;
81
81
  createDefaultDocumentWithABlockListEditorAndBlockGridEditorWithDifferentAllowedBlock(documentName: string, documentTypeName: string, blockListDataTypeName: string, blockGridDataTypeName: string, blockListElementTypeId: string, blockListElementTypePropertyAlias: string, blockListElementTypePropertyValue: string, blockListElementTypePropertyEditorAlias: string, blockListGroupName: string | undefined, blockGridElementTypeId: string, blockGridElementTypePropertyAlias: string, blockGridElementTypePropertyValue: string, blockGridElementTypePropertyEditorAlias: string, blockGridGroupName?: string): Promise<string | undefined>;