@cuby-ui/core 0.0.350 → 0.0.351
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.
- package/README.md +24 -24
- package/directives/tooltip/tooltip.component.d.ts +1 -1
- package/esm2022/animations/animations.mjs +1 -1
- package/esm2022/classes/accessors.mjs +1 -1
- package/esm2022/classes/driver.mjs +1 -1
- package/esm2022/classes/index.mjs +1 -1
- package/esm2022/classes/vehicle.mjs +1 -1
- package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/components/accordion/accordion-item/accordion-item.options.mjs +1 -1
- package/esm2022/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/accordion.directive.mjs +1 -1
- package/esm2022/components/accordion/accordion.module.mjs +1 -1
- package/esm2022/components/accordion/index.mjs +1 -1
- package/esm2022/components/alert/alert.component.mjs +3 -3
- package/esm2022/components/alert/alert.interfaces.mjs +1 -1
- package/esm2022/components/alert/alert.module.mjs +1 -1
- package/esm2022/components/alert/alert.service.mjs +1 -1
- package/esm2022/components/alert/alert.tokens.mjs +1 -1
- package/esm2022/components/alert/alert.types.mjs +1 -1
- package/esm2022/components/alert/alerts.component.mjs +3 -3
- package/esm2022/components/alert/index.mjs +1 -1
- package/esm2022/components/badge/badge.component.mjs +3 -3
- package/esm2022/components/badge/badge.module.mjs +1 -1
- package/esm2022/components/badge/badge.options.mjs +1 -1
- package/esm2022/components/badge/index.mjs +1 -1
- package/esm2022/components/banner/banner.component.mjs +3 -3
- package/esm2022/components/banner/banner.module.mjs +1 -1
- package/esm2022/components/banner/banner.options.mjs +1 -1
- package/esm2022/components/banner/index.mjs +1 -1
- package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +1 -1
- package/esm2022/components/breadcrumbs/index.mjs +1 -1
- package/esm2022/components/button/button.component.mjs +3 -3
- package/esm2022/components/button/button.module.mjs +1 -1
- package/esm2022/components/button/button.options.mjs +1 -1
- package/esm2022/components/button/index.mjs +1 -1
- package/esm2022/components/button-group/button-group.component.mjs +3 -3
- package/esm2022/components/button-group/button-group.module.mjs +1 -1
- package/esm2022/components/button-group/index.mjs +1 -1
- package/esm2022/components/card-wrapper/card-wrapper.component.mjs +3 -3
- package/esm2022/components/card-wrapper/index.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/components/checkbox/index.mjs +1 -1
- package/esm2022/components/content-wrapper/content-wrapper.component.mjs +3 -3
- package/esm2022/components/content-wrapper/index.mjs +1 -1
- package/esm2022/components/context-menu/context-menu.component.mjs +3 -3
- package/esm2022/components/context-menu/context-menu.module.mjs +1 -1
- package/esm2022/components/context-menu/index.mjs +1 -1
- package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +3 -3
- package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2022/components/dialog/dialog.component.mjs +3 -3
- package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
- package/esm2022/components/dialog/dialog.module.mjs +1 -1
- package/esm2022/components/dialog/dialog.service.mjs +1 -1
- package/esm2022/components/dialog/dialog.tokens.mjs +1 -1
- package/esm2022/components/dialog/dialogs.component.mjs +3 -3
- package/esm2022/components/dialog/index.mjs +1 -1
- package/esm2022/components/dropdown/dropdown.interfaces.mjs +1 -1
- package/esm2022/components/dropdown/index.mjs +1 -1
- package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/components/empty-state/index.mjs +1 -1
- package/esm2022/components/form-field/form-field.component.mjs +3 -3
- package/esm2022/components/form-field/form-field.module.mjs +1 -1
- package/esm2022/components/form-field/index.mjs +1 -1
- package/esm2022/components/ghost-input/ghost-input.component.mjs +1 -1
- package/esm2022/components/ghost-input/index.mjs +1 -1
- package/esm2022/components/hint/hint.component.mjs +3 -3
- package/esm2022/components/hint/hint.module.mjs +1 -1
- package/esm2022/components/hint/index.mjs +1 -1
- package/esm2022/components/icon-button/icon-button.component.mjs +3 -3
- package/esm2022/components/icon-button/icon-button.module.mjs +1 -1
- package/esm2022/components/icon-button/index.mjs +1 -1
- package/esm2022/components/index.mjs +1 -1
- package/esm2022/components/input-number/index.mjs +1 -1
- package/esm2022/components/input-number/input-number.component.mjs +3 -3
- package/esm2022/components/input-number/input-number.module.mjs +1 -1
- package/esm2022/components/input-password/index.mjs +1 -1
- package/esm2022/components/input-password/input-password.component.mjs +3 -3
- package/esm2022/components/input-password/input-password.module.mjs +1 -1
- package/esm2022/components/input-text/index.mjs +1 -1
- package/esm2022/components/input-text/input-text.component.mjs +3 -3
- package/esm2022/components/input-text/input-text.module.mjs +1 -1
- package/esm2022/components/input-time/index.mjs +1 -1
- package/esm2022/components/input-time/input-time.component.mjs +3 -3
- package/esm2022/components/input-time/input-time.module.mjs +1 -1
- package/esm2022/components/input-time/input-time.options.mjs +1 -1
- package/esm2022/components/label/index.mjs +1 -1
- package/esm2022/components/label/label.component.mjs +3 -3
- package/esm2022/components/label/label.module.mjs +1 -1
- package/esm2022/components/layout/index.mjs +1 -1
- package/esm2022/components/layout/layout.component.mjs +3 -3
- package/esm2022/components/letter-box/index.mjs +1 -1
- package/esm2022/components/letter-box/letter-box.component.mjs +3 -3
- package/esm2022/components/letter-box/letter-box.interfaces.mjs +1 -1
- package/esm2022/components/notification/index.mjs +1 -1
- package/esm2022/components/notification/notification.component.mjs +3 -3
- package/esm2022/components/notification/notification.module.mjs +1 -1
- package/esm2022/components/notification/notification.options.mjs +1 -1
- package/esm2022/components/radio/index.mjs +1 -1
- package/esm2022/components/radio/radio.component.mjs +1 -1
- package/esm2022/components/radio/radio.module.mjs +1 -1
- package/esm2022/components/render-dynamic-components/index.mjs +1 -1
- package/esm2022/components/render-dynamic-components/render-dynamic-components.component.mjs +3 -3
- package/esm2022/components/render-dynamic-components/render-dynamic-components.options.mjs +1 -1
- package/esm2022/components/render-dynamic-components/render-dynamic-components.service.mjs +1 -1
- package/esm2022/components/root/index.mjs +1 -1
- package/esm2022/components/root/root.component.mjs +3 -3
- package/esm2022/components/root/root.module.mjs +1 -1
- package/esm2022/components/select/index.mjs +1 -1
- package/esm2022/components/select/select.component.mjs +3 -3
- package/esm2022/components/select/select.module.mjs +1 -1
- package/esm2022/components/sidebar/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-container/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-container/sidebar-container.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-header/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation-container/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar-navigation-item/index.mjs +1 -1
- package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar.options.mjs +1 -1
- package/esm2022/components/sidebar/sidebar.service.mjs +1 -1
- package/esm2022/components/svg/index.mjs +1 -1
- package/esm2022/components/svg/svg.component.mjs +3 -3
- package/esm2022/components/svg/svg.module.mjs +1 -1
- package/esm2022/components/tab/index.mjs +1 -1
- package/esm2022/components/tab/tab.component.mjs +1 -1
- package/esm2022/components/tabs/index.mjs +1 -1
- package/esm2022/components/tabs/services/index.mjs +1 -1
- package/esm2022/components/tabs/services/tabs.service.mjs +1 -1
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/tabs/tabs.options.mjs +1 -1
- package/esm2022/components/textarea/index.mjs +1 -1
- package/esm2022/components/textarea/textarea.component.mjs +1 -1
- package/esm2022/components/textarea/textarea.module.mjs +1 -1
- package/esm2022/components/toggle/index.mjs +1 -1
- package/esm2022/components/toggle/toggle.component.mjs +1 -1
- package/esm2022/components/toggle/toggle.module.mjs +1 -1
- package/esm2022/directives/index.mjs +1 -1
- package/esm2022/directives/text-field-controller/index.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +1 -1
- package/esm2022/directives/text-field-controller/text-field.controller.mjs +1 -1
- package/esm2022/directives/tooltip/index.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-host.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-options.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-position.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.component.mjs +13 -13
- package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.providers.mjs +1 -1
- package/esm2022/directives/tooltip/tooltip.service.mjs +1 -1
- package/esm2022/directives/tooltip/tooltips.component.mjs +3 -3
- package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.component.mjs +3 -3
- package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +1 -1
- package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +3 -3
- package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +3 -3
- package/esm2022/editor/components/marker-select/marker-select.component.mjs +3 -3
- package/esm2022/editor/config/custom-elements.mjs +1 -1
- package/esm2022/editor/editor.component.mjs +3 -3
- package/esm2022/editor/interfaces/angular-element.mjs +1 -1
- package/esm2022/editor/interfaces/custom-element.mjs +1 -1
- package/esm2022/editor/tools/combined-text-block.tool.mjs +1 -1
- package/esm2022/editor/tools/role-marker.tool.mjs +3 -3
- package/esm2022/editor/tools/tool-marker.tool.mjs +1 -1
- package/esm2022/editor/utils/copy-text-to-clipboard.mjs +1 -1
- package/esm2022/editor/utils/url.validator.mjs +1 -1
- package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +3 -3
- package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +3 -3
- package/esm2022/editor/widgets/editor-modal/index.mjs +1 -1
- package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +1 -1
- package/esm2022/editor/widgets/editor-readonly/editor-resize-observer.directive.mjs +1 -1
- package/esm2022/editor/widgets/index.mjs +1 -1
- package/esm2022/index.mjs +1 -1
- package/esm2022/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/interceptors/error-handler.interceptor.mjs +1 -1
- package/esm2022/interceptors/x-ndjson.interceptor.mjs +1 -1
- package/esm2022/interfaces/context-menu-item.mjs +1 -1
- package/esm2022/interfaces/image.mjs +1 -1
- package/esm2022/interfaces/index.mjs +1 -1
- package/esm2022/interfaces/option.mjs +1 -1
- package/esm2022/providers/auth.options.mjs +1 -1
- package/esm2022/providers/auth.provider.mjs +1 -1
- package/esm2022/providers/index.mjs +1 -1
- package/esm2022/services/auth.service.mjs +1 -1
- package/esm2022/services/browser-auth.service.mjs +1 -1
- package/esm2022/services/index.mjs +1 -1
- package/esm2022/services/loader.options.mjs +1 -1
- package/esm2022/services/mobile-auth.service.mjs +1 -1
- package/esm2022/services/position.service.mjs +1 -1
- package/esm2022/services/theme.options.mjs +1 -1
- package/esm2022/services/theme.service.mjs +1 -1
- package/esm2022/services/token.options.mjs +1 -1
- package/esm2022/services/token.service.mjs +1 -1
- package/esm2022/services/visual-viewport.service.mjs +1 -1
- package/esm2022/tokens/animations-speed.mjs +1 -1
- package/esm2022/tokens/index.mjs +1 -1
- package/esm2022/tokens/reduced-motion.mjs +1 -1
- package/esm2022/tokens/viewport.mjs +1 -1
- package/esm2022/types/appearance.mjs +1 -1
- package/esm2022/types/button-theme.mjs +1 -1
- package/esm2022/types/hint-type.mjs +1 -1
- package/esm2022/types/index.mjs +1 -1
- package/esm2022/types/point.mjs +1 -1
- package/esm2022/types/portal-item.mjs +1 -1
- package/esm2022/types/position.mjs +1 -1
- package/esm2022/types/resizing.mjs +1 -1
- package/esm2022/types/shape.mjs +1 -1
- package/esm2022/types/size.mjs +1 -1
- package/esm2022/types/status.mjs +1 -1
- package/esm2022/utils/default-validators/create-default-validators.mjs +1 -1
- package/esm2022/utils/default-validators/create-default-validators.options.mjs +1 -1
- package/esm2022/utils/default-validators/extra-spaces.options.mjs +1 -1
- package/esm2022/utils/default-validators/extra-spaces.validators.mjs +1 -1
- package/esm2022/utils/default-validators/index.mjs +1 -1
- package/esm2022/utils/format/index.mjs +1 -1
- package/esm2022/utils/format/remove-spaces.mjs +1 -1
- package/esm2022/utils/format/replace.mjs +1 -1
- package/esm2022/utils/index.mjs +1 -1
- package/esm2022/utils/miscellaneous/index.mjs +1 -1
- package/esm2022/utils/miscellaneous/is-obscured.mjs +1 -1
- package/esm2022/utils/miscellaneous/override-options.mjs +1 -1
- package/esm2022/utils/miscellaneous/to-animation-options.mjs +1 -1
- package/esm2022/widgets/categories/components/categories-list/categories-list.component.mjs +3 -3
- package/esm2022/widgets/categories/components/category-form/category-form.component.mjs +3 -3
- package/esm2022/widgets/categories/components/category-item/category-item.component.mjs +3 -3
- package/esm2022/widgets/categories/components/create-category-item/create-category-item.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/checklist-block.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/checklist-block.options.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-card/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +3 -3
- package/esm2022/widgets/checklist-block/components/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/index.mjs +1 -1
- package/esm2022/widgets/checklist-block/services/checklist-block.service.mjs +1 -1
- package/esm2022/widgets/checklist-block/services/index.mjs +1 -1
- package/esm2022/widgets/criterion-info/criterion-info.component.mjs +3 -3
- package/esm2022/widgets/criterion-info/index.mjs +1 -1
- package/esm2022/widgets/criterion-info-form/criterion-info-form.component.mjs +3 -3
- package/esm2022/widgets/criterion-info-form/criterion-info-form.options.mjs +1 -1
- package/esm2022/widgets/criterion-info-form/index.mjs +1 -1
- package/esm2022/widgets/criterion-readonly-info/criterion-readonly-info.component.mjs +3 -3
- package/esm2022/widgets/criterion-readonly-info/index.mjs +1 -1
- package/esm2022/widgets/general-control-error-hint/general-control-error-hint.component.mjs +3 -3
- package/esm2022/widgets/general-control-error-hint/index.mjs +1 -1
- package/esm2022/widgets/index.mjs +1 -1
- package/esm2022/widgets/instruction-info-form/index.mjs +1 -1
- package/esm2022/widgets/instruction-info-form/instruction-info-form.options.mjs +1 -1
- package/esm2022/widgets/instruction-readonly-info/index.mjs +1 -1
- package/esm2022/widgets/instruction-readonly-info/instruction-readonly-info.component.mjs +3 -3
- package/esm2022/widgets/select-modal/components/index.mjs +1 -1
- package/esm2022/widgets/select-modal/components/select-modal-folder/index.mjs +1 -1
- package/esm2022/widgets/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +3 -3
- package/esm2022/widgets/select-modal/components/select-modal-search/index.mjs +1 -1
- package/esm2022/widgets/select-modal/components/select-modal-search/select-modal-search.component.mjs +3 -3
- package/esm2022/widgets/select-modal/index.mjs +1 -1
- package/esm2022/widgets/select-modal/select-modal.component.mjs +3 -3
- package/esm2022/widgets/select-modal/select-modal.interfaces.mjs +1 -1
- package/esm2022/widgets/select-modal/select-modal.service.mjs +1 -1
- package/esm2022/widgets/storage-list/components/index.mjs +1 -1
- package/esm2022/widgets/storage-list/components/storage-list-item/index.mjs +1 -1
- package/esm2022/widgets/storage-list/components/storage-list-item/storage-list-item.component.mjs +3 -3
- package/esm2022/widgets/storage-list/index.mjs +1 -1
- package/esm2022/widgets/storage-list/storage-list.component.mjs +3 -3
- package/esm2022/widgets/storage-list/storage-list.options.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/components/criterion-modal-create/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/instruction-modal-create/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/components/readonly-criterion-modal/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/components/readonly-instruction-modal/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/components/readonly-utility-modal/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/components/utility-modal-create/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/index.mjs +1 -1
- package/esm2022/widgets/utility-modal/utility-modal.component.mjs +3 -3
- package/esm2022/widgets/utility-modal/utility-modal.options.mjs +1 -1
- package/esm2022/widgets/utility-readonly-thumbnail/index.mjs +1 -1
- package/esm2022/widgets/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +3 -3
- package/esm2022/widgets/utility-thumbnail/index.mjs +1 -1
- package/esm2022/widgets/utility-thumbnail/utility-thumbnail.component.mjs +3 -3
- package/fesm2022/cuby-ui-core.mjs +172 -172
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/fonts/Inter-Bold.svg +25443 -25443
- package/fonts/Inter-Medium.svg +25400 -25400
- package/fonts/Inter-Regular.svg +24341 -24341
- package/fonts/Inter-SemiBold.svg +25459 -25459
- package/package.json +4 -4
- package/styles/fonts.scss +51 -51
- package/styles/global.scss +10 -10
- package/styles/mixins/buttons.scss +13 -13
- package/styles/mixins/flex.scss +21 -21
- package/styles/mixins/headings.scss +115 -115
- package/styles/mixins/inputs.scss +91 -91
- package/styles/mixins/lists.scss +42 -42
- package/styles/mixins/paddings.scss +35 -35
- package/styles/mixins/shadows.scss +38 -38
- package/styles/mixins/texts.scss +225 -225
- package/styles/theme.scss +414 -414
- package/styles/variables/colors.scss +281 -281
- package/widgets/categories/components/category-item/category-item.component.d.ts +1 -1
|
@@ -257,7 +257,7 @@ export class CuiCheckListBlockListItemEvaluationComponent {
|
|
|
257
257
|
array.splice(toIndex, 0, item);
|
|
258
258
|
}
|
|
259
259
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
260
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiCheckListBlockListItemEvaluationComponent, isStandalone: true, selector: "cui-checklist-block-list-item-evaluation", inputs: { checkListItem: { classPropertyName: "checkListItem", publicName: "checkListItem", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\
|
|
260
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiCheckListBlockListItemEvaluationComponent, isStandalone: true, selector: "cui-checklist-block-list-item-evaluation", inputs: { checkListItem: { classPropertyName: "checkListItem", publicName: "checkListItem", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: ["loadingIds", "index", "criteriaGroup", "evaluationCriteriaFormArray"], outputs: ["saveClicked", "deleteClicked", "cancelClicked"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: i2.CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i3.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: i4.CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragDropDirective, selector: "[cuiDragDrop]", inputs: ["disabled"], outputs: ["elementDragged"] }, { kind: "directive", type: CuiDragListDirective, selector: "[cuiDragList]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
261
261
|
}
|
|
262
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, decorators: [{
|
|
263
263
|
type: Component,
|
|
@@ -277,6 +277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
277
277
|
TranslocoDirective,
|
|
278
278
|
CuiDragDropDirective,
|
|
279
279
|
CuiDragListDirective
|
|
280
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\
|
|
280
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"] }]
|
|
281
281
|
}] });
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBOE0sTUFBTSxjQUFjLENBQUM7QUFFdFEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEgsT0FBTyxFQUNI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Q3JFLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXZUUSw0Q0FBNEM7bUdBQTVDLDRDQUE0QywrUEN4RHpELDBvSEFnR0Esc2xDRDdEUSxvREFBb0Qsd09BQ3BELGVBQWUsbU9BQ2YsaUJBQWlCLHVJQUNqQixvQkFBb0IsOEJBQ3BCLGFBQWEsOEJBQ2IsY0FBYyw4QkFDZCxjQUFjLHNJQUNkLGlCQUFpQiw4QkFDakIsNEJBQTRCLDhCQUM1QixlQUFlLG9JQUNmLHNCQUFzQiwyR0FDdEIsbUJBQW1CLHF3QkFDbkIsa0JBQWtCLGdNQUNsQixvQkFBb0IsNkdBQ3BCLG9CQUFvQjs7NEZBT2YsNENBQTRDO2tCQXhCeEQsU0FBUzsrQkFDSSwwQ0FBMEMsV0FDM0M7d0JBQ0wsb0RBQW9EO3dCQUNwRCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDdkIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ3VpTnVsbGFibGUsIEN1aURyYWdEcm9wRGF0YSwgQ3VpRHJhZ0Ryb3BEaXJlY3RpdmUsIEN1aURyYWdMaXN0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgZmluYWxpemUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSwgTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSwgTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25JdGVtQ29udGVudCwgTm9kZUNoZWNrTGlzdEl0ZW0sIE5vZGVDaGVja0xpc3RJdGVtQ29udGVudEFjdGlvbiwgTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UG9pbnRlciwgTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UmVxdWVzdFBhcmFtcyB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhJztcclxuaW1wb3J0IHtcclxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcclxuICAgIEN1aUNoZWNrYm94TW9kdWxlLFxyXG4gICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXHJcbiAgICBDdWlEaWFsb2dTZXJ2aWNlLFxyXG4gICAgQ3VpSGludE1vZHVsZSxcclxuICAgIEN1aUlucHV0TW9kdWxlLFxyXG4gICAgQ3VpTGFiZWxNb2R1bGUsXHJcbiAgICBDdWlUZXh0YXJlYU1vZHVsZSxcclxuICAgIEN1aVRvZ2dsZU1vZHVsZSxcclxuICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnRcclxufSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi93aWRnZXRzJztcclxuaW1wb3J0IHsgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbmltcG9ydCB0eXBlIHtcclxuICAgIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhLFxyXG4gICAgQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXBcclxufSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5vcHRpb25zJztcclxuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2N1aS1jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24nLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEN1aUNoZWNrTGlzdEJsb2NrTGlzdEl0ZW1FdmFsdWF0aW9uQ3JpdGVyaWFDb21wb25lbnQsXHJcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEN1aUNoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxyXG4gICAgICAgIEN1aUhpbnRNb2R1bGUsXHJcbiAgICAgICAgQ3VpSW5wdXRNb2R1bGUsXHJcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXHJcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXHJcbiAgICAgICAgQ3VpVGV4dEZpZWxkQ29udHJvbGxlck1vZHVsZSxcclxuICAgICAgICBDdWlUb2dnbGVNb2R1bGUsXHJcbiAgICAgICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcclxuICAgICAgICBDdWlEcmFnRHJvcERpcmVjdGl2ZSxcclxuICAgICAgICBDdWlEcmFnTGlzdERpcmVjdGl2ZVxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24uY29tcG9uZW50LnNjc3MnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aUNoZWNrTGlzdEJsb2NrTGlzdEl0ZW1FdmFsdWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9uTnVsbGFibGVGb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9kZUNoZWNrTGlzdEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpTm9kZUNoZWNrbGlzdEFwaVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja0xpc3RCbG9ja1NlcnZpY2UgPSBpbmplY3QoQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlEaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEN1aURpYWxvZ1NlcnZpY2UpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNBdmFpbGFibGVPYnNlcnZlciA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBob3RvRm9ybUdyb3VwID0gdGhpcy5ub25OdWxsYWJsZUZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICBpc0VuYWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNSZXF1aXJlZDoge1xyXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWVudEZvcm1Hcm91cCA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgaXNFbmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGlzUmVxdWlyZWQ6IHtcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheSA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA+KFtdKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZ0lkcyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oe30pO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQWRkQnV0dG9uRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXNzaWduZWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF0dGFjaG1lbnRQaG90b0FjdGlvbiA9IGNvbXB1dGVkPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudEFjdGlvbj4oXHJcbiAgICAgICAgKCkgPT4gdGhpcy5hc3NpZ25lZSgpLmFjdGlvbnMuZmluZCgoY29udGVudEFjdGlvbikgPT4gY29udGVudEFjdGlvbi5jb250ZW50QWN0aW9uVHlwZSA9PT0gJ0FUVEFDSE1FTlRfUEhPVE8nKSFcclxuICAgICk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dEFyZWFBY3Rpb24gPSBjb21wdXRlZDxOb2RlQ2hlY2tMaXN0SXRlbUNvbnRlbnRBY3Rpb24+KFxyXG4gICAgICAgICgpID0+IHRoaXMuYXNzaWduZWUoKS5hY3Rpb25zLmZpbmQoKGNvbnRlbnRBY3Rpb24pID0+IGNvbnRlbnRBY3Rpb24uY29udGVudEFjdGlvblR5cGUgPT09ICdURVhUX0FSRUEnKSFcclxuICAgICk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNoZWNrTGlzdEl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxOb2RlQ2hlY2tMaXN0SXRlbTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkl0ZW1Db250ZW50Pj4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0UG9pbnRlcihjdXJyZW50SW5kZXg6IG51bWJlcik6IE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIge1xyXG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggPT09IDBcclxuICAgICAgICAgICAgPyBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyLkJFRk9SRVxyXG4gICAgICAgICAgICA6IE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIuQUZURVI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFRhcmdldEluZGV4KGN1cnJlbnRJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gY3VycmVudEluZGV4ID09PSAwID8gMSA6IGN1cnJlbnRJbmRleCAtIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uRHJvcChldmVudDogQ3VpRHJhZ0Ryb3BEYXRhKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyBwcmV2SW5kZXgsIGluZGV4IH0gPSBldmVudDtcclxuXHJcbiAgICAgICAgaWYgKHByZXZJbmRleCA9PT0gaW5kZXgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIHByZXZJbmRleCwgaW5kZXgpO1xyXG4gICAgICAgIGNvbnN0IG1vdmluZ0VsZW1lbnRJZDogc3RyaW5nID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuYXQoaW5kZXgpLnZhbHVlLmlkO1xyXG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW1JZDogc3RyaW5nID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuYXQodGhpcy5nZXRUYXJnZXRJbmRleChpbmRleCkpLnZhbHVlLmlkO1xyXG4gICAgICAgIGNvbnN0IHBvaW50ZXI6IE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIgPSB0aGlzLmdldFBvaW50ZXIoaW5kZXgpO1xyXG5cclxuICAgICAgICBjb25zdCByZXF1ZXN0Qm9keTogTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50UmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgbm9kZUNoZWNrTGlzdElkOiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCxcclxuICAgICAgICAgICAgbGlzdEV2YWx1YXRpb25JZDogdGhpcy5hc3NpZ25lZSgpLmlkLFxyXG4gICAgICAgICAgICBtb3ZpbmdFbGVtZW50SWQsXHJcbiAgICAgICAgICAgIHRhcmdldEl0ZW1JZCxcclxuICAgICAgICAgICAgcG9pbnRlclxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2UudXBkYXRlTm9kZUNoZWNrTGlzdEl0ZW1Td2l0Y2hDb250ZW50KHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIGluZGV4LCBwcmV2SW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvbkFkZEV2YWx1YXRpb25Dcml0ZXJpYUl0ZW0oKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbkl0ZW1Db250cm9sID0gdGhpcy5jcmVhdGVFdmFsdWF0aW9uRm9ybUdyb3VwKCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucHVzaChldmFsdWF0aW9uSXRlbUNvbnRyb2wpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvblNhdmVFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXA6IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaXNOZXcgPSBncm91cC5pc05ldy52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKGlzTmV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25DYW5jZWxOZXdFdmFsdWF0aW9uQ3JpdGVyaWEoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkubGVuZ3RoIC0gMTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0FkZEJ1dHRvbkRpc2FibGVkLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucmVtb3ZlQXQobGFzdEluZGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb3Blbk1vZGFsRGVsZXRlRXZhbHVhdGlvbkNyaXRlcmlhKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gWydERUxFVEVfRVZBTFVBVElPTl9DSEVDS0xJU1RfSVRFTV9DT05GSVJNQVRJT05fVEVYVCddO1xyXG4gICAgICAgIGNvbnN0IGNyaXRlcmlhID0gdGhpcy5maW5kRXhpc3RpbmdFdmFsdWF0aW9uQ3JpdGVyaWEoaWQpO1xyXG5cclxuICAgICAgICBpZiAoIWNyaXRlcmlhPy5pZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmdJZHMudXBkYXRlKChpZHMpID0+ICh7IC4uLmlkcywgW2NyaXRlcmlhLmlkXTogdHJ1ZSB9KSk7XHJcbiAgICAgICAgdGhpcy5jdWlEaWFsb2dTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5vcGVuKEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdERUxFVEVfRVZBTFVBVElPTl9DSEVDS0xJU1RfSVRFTScsXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGU6ICgpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGNyaXRlcmlhLmlkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChjaGVja0xpc3RJdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRyb2wpID0+IGNvbnRyb2wudmFsdWUuaWQgPT09IGlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXBsZXRlRXZhbHVhdGlvbkNyaXRlcmlhRGVsZXRpb24oY3JpdGVyaWEpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29tcGxldGVFdmFsdWF0aW9uQ3JpdGVyaWFEZWxldGlvbihjcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0lkcy51cGRhdGUoKGlkcykgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgaWRzW2NyaXRlcmlhLmlkXTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmlkcyB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKGFjdGlvbklkOiBzdHJpbmcsIGFjdGlvbkNvbnRlbnQ6IE5vZGVDaGVja0xpc3RJdGVtQ29udGVudEFjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICAgICAgICBub2RlQ2hlY2tMaXN0SWQ6IHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLFxyXG4gICAgICAgICAgICBhc3NpZ25lZUFjdGlvblR5cGU6ICdBU1NJR04nLFxyXG4gICAgICAgICAgICBhY3Rpb25JZCxcclxuICAgICAgICAgICAgY29udGVudElkOiBhY3Rpb25Db250ZW50LmlkLFxyXG4gICAgICAgICAgICBpc0VuYWJsZTogYWN0aW9uQ29udGVudC5pc0VuYWJsZSxcclxuICAgICAgICAgICAgaXNSZXF1aXJlZDogYWN0aW9uQ29udGVudC5pc1JlcXVpcmVkXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZS51cGRhdGVOb2RlQ2hlY2tMaXN0SXRlbUFjdGlvbkNvbnRlbnQocmVxdWVzdERhdGEpLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmluaXRFdmFsdWF0aW9uRm9ybVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEV2YWx1YXRpb25Gb3JtVmFsdWVzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgICAgaXNFbmFibGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNFbmFibGUsXHJcbiAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNSZXF1aXJlZFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgICAgaXNFbmFibGU6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pc0VuYWJsZSxcclxuICAgICAgICAgICAgaXNSZXF1aXJlZDogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmlzUmVxdWlyZWRcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNFbmFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5jb250cm9scy5pc1JlcXVpcmVkLmVuYWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pc0VuYWJsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAuY29udHJvbHMuaXNSZXF1aXJlZC5lbmFibGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdEFjdGlvbkZvcm1TZWdtZW50c1N1YnNjcmlwdGlvbnMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5hc3NpZ25lZSgpLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmZvckVhY2goKGV2YWx1YXRpb25Dcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBldmFsdWF0aW9uSXRlbUNvbnRyb2wgPSB0aGlzLmNyZWF0ZUV2YWx1YXRpb25Gb3JtR3JvdXAoe1xyXG4gICAgICAgICAgICAgICAgaXNOZXc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgY3JpdGVyaWE6IGV2YWx1YXRpb25Dcml0ZXJpYS5jcml0ZXJpYSxcclxuICAgICAgICAgICAgICAgIGV2YWx1YXRpb246IGV2YWx1YXRpb25Dcml0ZXJpYS5ldmFsdWF0aW9uLFxyXG4gICAgICAgICAgICAgICAgaWQ6IGV2YWx1YXRpb25Dcml0ZXJpYS5pZFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goZXZhbHVhdGlvbkl0ZW1Db250cm9sKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRBY3Rpb25Gb3JtU2VnbWVudHNTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5pdFBob3RvR3JvdXBTdWJzY3JpcHRpb24oKTtcclxuICAgICAgICB0aGlzLmluaXRDb21tZW50R3JvdXBTdWJzY3JpcHRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRQaG90b0dyb3VwU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNBdmFpbGFibGVPYnNlcnZlcikpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF2YWx1ZS5pc0VuYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5waG90b0Zvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKHRoaXMuYXNzaWduZWUoKS5pZCwge1xyXG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaWQsXHJcbiAgICAgICAgICAgICAgICBjb250ZW50QWN0aW9uVHlwZTogdGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5jb250ZW50QWN0aW9uVHlwZSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRDb21tZW50R3JvdXBTdWJzY3JpcHRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmlzQXZhaWxhYmxlT2JzZXJ2ZXIpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uc2V0VmFsdWUoZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoJ2lzUmVxdWlyZWQnKT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hlY2tMaXN0QWN0aW9uQ2hhbmdlZCh0aGlzLmFzc2lnbmVlKCkuaWQsIHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRBY3Rpb25UeXBlOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldFJhd1ZhbHVlKClcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hlY2tMaXN0QWN0aW9uQ2hhbmdlZCh0aGlzLmFzc2lnbmVlKCkuaWQsIHtcclxuICAgICAgICAgICAgICAgIGlkOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaWQsXHJcbiAgICAgICAgICAgICAgICBjb250ZW50QWN0aW9uVHlwZTogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmNvbnRlbnRBY3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldFJhd1ZhbHVlKClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXA6IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGdyb3VwLmV2YWx1YXRpb24udmFsdWU7XHJcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSBncm91cC5jcml0ZXJpYS52YWx1ZTtcclxuICAgICAgICBjb25zdCBpZCA9IGdyb3VwLmlkLnZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgIC51cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXA6IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGdyb3VwLmV2YWx1YXRpb24udmFsdWU7XHJcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSBncm91cC5jcml0ZXJpYS52YWx1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxyXG4gICAgICAgICAgICAuYWRkRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGhpcy5hc3NpZ25lZSgpLmlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcclxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5pc0FkZEJ1dHRvbkRpc2FibGVkLnNldChmYWxzZSkpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGVja0xpc3RJdGVtKSA9PiB0aGlzLnVwZGF0ZUNyZWF0ZWRFdmFsdWF0aW9uQ3JpdGVyaWEoY2hlY2tMaXN0SXRlbSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQ3JlYXRlZEV2YWx1YXRpb25Dcml0ZXJpYShcclxuICAgICAgICBjaGVja0xpc3RJdGVtOiBOb2RlQ2hlY2tMaXN0SXRlbTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkl0ZW1Db250ZW50PlxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWNjZXB0YW5jZUNyaXRlcmlhRXZhbHVhdGlvbnMgPSBjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0Fzc2lnbmVlIVswXS5hY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucztcclxuICAgICAgICBjb25zdCBpZCA9IGFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmF0KC0xKT8uaWQ7XHJcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmNvbnRyb2xzLmF0KC0xKT8uZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICBjb25zdCBjcmVhdGVkQ29udHJvbCA9IHRoaXMuY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7IC4uLmNvbnRyb2wsIGlkLCBpc05ldzogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnJlbW92ZUF0KC0xKTtcclxuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5wdXNoKGNyZWF0ZWRDb250cm9sKTtcclxuICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7XHJcbiAgICAgICAgaWQsXHJcbiAgICAgICAgY3JpdGVyaWEgPSAnJyxcclxuICAgICAgICBldmFsdWF0aW9uID0gbnVsbCxcclxuICAgICAgICBpc05ldyA9IHRydWVcclxuICAgIH06IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhID0ge30pOiBGb3JtR3JvdXAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAgICAgICBpZDogW2lkXSxcclxuICAgICAgICAgICAgY3JpdGVyaWE6IFtjcml0ZXJpYSwgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoeyBtYXhMZW5ndGg6IDUwMCB9KV0sXHJcbiAgICAgICAgICAgIGV2YWx1YXRpb246IFtldmFsdWF0aW9uLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgICAgICBpc05ldzogW2lzTmV3XVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmluZEV4aXN0aW5nRXZhbHVhdGlvbkNyaXRlcmlhKGlkOiBzdHJpbmcpOiBDdWlOdWxsYWJsZTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhPiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgdGhpcy5hc3NpZ25lZSgpLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAoZXZhbHVhdGlvbkNyaXRlcmlhOiBOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkNyaXRlcmlhKSA9PiBldmFsdWF0aW9uQ3JpdGVyaWEuaWQgPT09IGlkXHJcbiAgICAgICAgICAgICkgfHwgbnVsbFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtb3ZlSXRlbUluQXJyYXk8VD4oYXJyYXk6IFRbXSwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGlmIChmcm9tSW5kZXggPT09IHRvSW5kZXgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaXRlbSA9IGFycmF5W2Zyb21JbmRleF07XHJcblxyXG4gICAgICAgIGFycmF5LnNwbGljZShmcm9tSW5kZXgsIDEpO1xyXG4gICAgICAgIGFycmF5LnNwbGljZSh0b0luZGV4LCAwLCBpdGVtKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25fX2lucHV0cy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25fX2lucHV0XCJcclxuICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwicGhvdG9Gb3JtR3JvdXBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aUNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzRW5hYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1BIT1RPJykgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aVRvZ2dsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1JlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbl9faW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJjb21tZW50Rm9ybUdyb3VwXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGN1aUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc0VuYWJsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdDT01NRU5UJykgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aVRvZ2dsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc1JlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25fX2NyaXRlcmlhLXRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGN1aUxhYmVsXHJcbiAgICAgICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIGZvcj1cImV2YWx1YXRpb25Dcml0ZXJpYVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IHQoJ0VWQUxVQVRJT05fQ1JJVEVSSUEnKSB9fVxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImFjdGlvbl9fY3JpdGVyaWEtc3VidGl0bGVcIj57eyB0KCdFQUNIX0VWQUxVQVRJT05fQ1JJVEVSSU9OX1NIT1VMRF9CRScpIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDx1bFxyXG4gICAgICAgICAgICBjdWlEcmFnTGlzdFxyXG4gICAgICAgICAgICBjbGFzcz1cImxpc3RcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgQGZvciAoY29udHJvbCBvZiBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrIGNvbnRyb2wuY29udHJvbHNbJ2lkJ107IGxldCBpbmRleCA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICAgICAgY3VpQ2hlY2tsaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYVxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleCArIDFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGN1aURyYWdEcm9wXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQWRkQnV0dG9uRGlzYWJsZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnREcmFnZ2VkKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3JpdGVyaWFHcm91cF09XCJjb250cm9sXCJcclxuICAgICAgICAgICAgICAgICAgICBbZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5XT1cImV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmdJZHNdPVwibG9hZGluZ0lkcygpXCJcclxuICAgICAgICAgICAgICAgICAgICAoc2F2ZUNsaWNrZWQpPVwib25TYXZlRXZhbHVhdGlvbkNyaXRlcmlhKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjYW5jZWxDbGlja2VkKT1cIm9uQ2FuY2VsTmV3RXZhbHVhdGlvbkNyaXRlcmlhKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChkZWxldGVDbGlja2VkKT1cIm9wZW5Nb2RhbERlbGV0ZUV2YWx1YXRpb25Dcml0ZXJpYSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgID48L2xpPlxyXG4gICAgICAgICAgICB9IEBlbXB0eSB7XHJcbiAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICBjdWlFbXB0eVN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cInQoJ05PX0VWQUxVQVRJT05fQ1JJVEVSSUFfVE9fVklFVycpXCJcclxuICAgICAgICAgICAgICAgID48L2xpPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uX19mb290ZXJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXHJcbiAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcclxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0FkZEJ1dHRvbkRpc2FibGVkKClcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWRkRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgdCgnTkVXX09QVElPTicpIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQWdDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBOE0sTUFBTSxjQUFjLENBQUM7QUFFdFEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEgsT0FBTyxFQUNI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Q3JFLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlCLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXZUUSw0Q0FBNEM7bUdBQTVDLDRDQUE0QywrUEN4RHpELDA4R0FnR0Esc2xDRDdEUSxvREFBb0Qsd09BQ3BELGVBQWUsbU9BQ2YsaUJBQWlCLHVJQUNqQixvQkFBb0IsOEJBQ3BCLGFBQWEsOEJBQ2IsY0FBYyw4QkFDZCxjQUFjLHNJQUNkLGlCQUFpQiw4QkFDakIsNEJBQTRCLDhCQUM1QixlQUFlLG9JQUNmLHNCQUFzQiwyR0FDdEIsbUJBQW1CLHF3QkFDbkIsa0JBQWtCLGdNQUNsQixvQkFBb0IsNkdBQ3BCLG9CQUFvQjs7NEZBT2YsNENBQTRDO2tCQXhCeEQsU0FBUzsrQkFDSSwwQ0FBMEMsV0FDM0M7d0JBQ0wsb0RBQW9EO3dCQUNwRCxlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjtxQkFDdkIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEN1aU51bGxhYmxlLCBDdWlEcmFnRHJvcERhdGEsIEN1aURyYWdEcm9wRGlyZWN0aXZlLCBDdWlEcmFnTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VpTm9kZUNoZWNrbGlzdEFwaVNlcnZpY2UsIE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWEsIE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uSXRlbUNvbnRlbnQsIE5vZGVDaGVja0xpc3RJdGVtLCBOb2RlQ2hlY2tMaXN0SXRlbUNvbnRlbnRBY3Rpb24sIE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIsIE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFJlcXVlc3RQYXJhbXMgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhJztcbmltcG9ydCB7XG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aUNoZWNrYm94TW9kdWxlLFxuICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgIEN1aURpYWxvZ1NlcnZpY2UsXG4gICAgQ3VpSGludE1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlMYWJlbE1vZHVsZSxcbiAgICBDdWlUZXh0YXJlYU1vZHVsZSxcbiAgICBDdWlUb2dnbGVNb2R1bGUsXG4gICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vd2lkZ2V0cyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge1xuICAgIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUVsZW1lbnREYXRhLFxuICAgIEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwXG59IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDaGVja2JveE1vZHVsZSxcbiAgICAgICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxuICAgICAgICBDdWlMYWJlbE1vZHVsZSxcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIEN1aVRvZ2dsZU1vZHVsZSxcbiAgICAgICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcmFnRHJvcERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJhZ0xpc3REaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2hlY2tMaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9uTnVsbGFibGVGb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlID0gaW5qZWN0KEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrTGlzdEJsb2NrU2VydmljZSA9IGluamVjdChDdWlDaGVja0xpc3RCbG9ja1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpRGlhbG9nU2VydmljZSA9IGluamVjdChDdWlEaWFsb2dTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNBdmFpbGFibGVPYnNlcnZlciA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGhvdG9Gb3JtR3JvdXAgPSB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBpc0VuYWJsZTogZmFsc2UsXG4gICAgICAgIGlzUmVxdWlyZWQ6IHtcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWVudEZvcm1Hcm91cCA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIGlzRW5hYmxlOiBmYWxzZSxcbiAgICAgICAgaXNSZXF1aXJlZDoge1xuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWVcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkgPSB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuYXJyYXk8Rm9ybUdyb3VwPihbXSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZ0lkcyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oe30pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0FkZEJ1dHRvbkRpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXNzaWduZWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhdHRhY2htZW50UGhvdG9BY3Rpb24gPSBjb21wdXRlZDxOb2RlQ2hlY2tMaXN0SXRlbUNvbnRlbnRBY3Rpb24+KFxuICAgICAgICAoKSA9PiB0aGlzLmFzc2lnbmVlKCkuYWN0aW9ucy5maW5kKChjb250ZW50QWN0aW9uKSA9PiBjb250ZW50QWN0aW9uLmNvbnRlbnRBY3Rpb25UeXBlID09PSAnQVRUQUNITUVOVF9QSE9UTycpIVxuICAgICk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRBcmVhQWN0aW9uID0gY29tcHV0ZWQ8Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uPihcbiAgICAgICAgKCkgPT4gdGhpcy5hc3NpZ25lZSgpLmFjdGlvbnMuZmluZCgoY29udGVudEFjdGlvbikgPT4gY29udGVudEFjdGlvbi5jb250ZW50QWN0aW9uVHlwZSA9PT0gJ1RFWFRfQVJFQScpIVxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbSA9IGlucHV0LnJlcXVpcmVkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uSXRlbUNvbnRlbnQ+PigpO1xuXG4gICAgcHJvdGVjdGVkIGdldFBvaW50ZXIoY3VycmVudEluZGV4OiBudW1iZXIpOiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleCA9PT0gMFxuICAgICAgICAgICAgPyBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyLkJFRk9SRVxuICAgICAgICAgICAgOiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRQb2ludGVyLkFGVEVSO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRUYXJnZXRJbmRleChjdXJyZW50SW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggPT09IDAgPyAxIDogY3VycmVudEluZGV4IC0gMTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ecm9wKGV2ZW50OiBDdWlEcmFnRHJvcERhdGEpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBwcmV2SW5kZXgsIGluZGV4IH0gPSBldmVudDtcblxuICAgICAgICBpZiAocHJldkluZGV4ID09PSBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIHByZXZJbmRleCwgaW5kZXgpO1xuICAgICAgICBjb25zdCBtb3ZpbmdFbGVtZW50SWQ6IHN0cmluZyA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LmF0KGluZGV4KS52YWx1ZS5pZDtcbiAgICAgICAgY29uc3QgdGFyZ2V0SXRlbUlkOiBzdHJpbmcgPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5hdCh0aGlzLmdldFRhcmdldEluZGV4KGluZGV4KSkudmFsdWUuaWQ7XG4gICAgICAgIGNvbnN0IHBvaW50ZXI6IE5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudFBvaW50ZXIgPSB0aGlzLmdldFBvaW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5OiBOb2RlQ2hlY2tMaXN0SXRlbVN3aXRjaENvbnRlbnRSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgICAgICAgbm9kZUNoZWNrTGlzdElkOiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCxcbiAgICAgICAgICAgIGxpc3RFdmFsdWF0aW9uSWQ6IHRoaXMuYXNzaWduZWUoKS5pZCxcbiAgICAgICAgICAgIG1vdmluZ0VsZW1lbnRJZCxcbiAgICAgICAgICAgIHRhcmdldEl0ZW1JZCxcbiAgICAgICAgICAgIHBvaW50ZXJcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlLnVwZGF0ZU5vZGVDaGVja0xpc3RJdGVtU3dpdGNoQ29udGVudChyZXF1ZXN0Qm9keSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlSXRlbUluQXJyYXkodGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMsIGluZGV4LCBwcmV2SW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFkZEV2YWx1YXRpb25Dcml0ZXJpYUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb25JdGVtQ29udHJvbCA9IHRoaXMuY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCgpO1xuXG4gICAgICAgIHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goZXZhbHVhdGlvbkl0ZW1Db250cm9sKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TYXZlRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwOiBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc05ldyA9IGdyb3VwLmlzTmV3LnZhbHVlO1xuXG4gICAgICAgIGlmIChpc05ldykge1xuICAgICAgICAgICAgdGhpcy5hZGRFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXApO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUV2YWx1YXRpb25Dcml0ZXJpYShncm91cCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2FuY2VsTmV3RXZhbHVhdGlvbkNyaXRlcmlhKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsYXN0SW5kZXggPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5sZW5ndGggLSAxO1xuXG4gICAgICAgIHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdChsYXN0SW5kZXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvcGVuTW9kYWxEZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWEoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gWydERUxFVEVfRVZBTFVBVElPTl9DSEVDS0xJU1RfSVRFTV9DT05GSVJNQVRJT05fVEVYVCddO1xuICAgICAgICBjb25zdCBjcml0ZXJpYSA9IHRoaXMuZmluZEV4aXN0aW5nRXZhbHVhdGlvbkNyaXRlcmlhKGlkKTtcblxuICAgICAgICBpZiAoIWNyaXRlcmlhPy5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nSWRzLnVwZGF0ZSgoaWRzKSA9PiAoeyAuLi5pZHMsIFtjcml0ZXJpYS5pZF06IHRydWUgfSkpO1xuICAgICAgICB0aGlzLmN1aURpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuKEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0RFTEVURV9FVkFMVUFUSU9OX0NIRUNLTElTVF9JVEVNJyxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGNyaXRlcmlhLmlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGNoZWNrTGlzdEl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlLmlkID09PSBpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXBsZXRlRXZhbHVhdGlvbkNyaXRlcmlhRGVsZXRpb24oY3JpdGVyaWEpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tcGxldGVFdmFsdWF0aW9uQ3JpdGVyaWFEZWxldGlvbihjcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmdJZHMudXBkYXRlKChpZHMpID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSBpZHNbY3JpdGVyaWEuaWRdO1xuXG4gICAgICAgICAgICByZXR1cm4geyAuLi5pZHMgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQoYWN0aW9uSWQ6IHN0cmluZywgYWN0aW9uQ29udGVudDogTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50QWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xuICAgICAgICAgICAgbm9kZUNoZWNrTGlzdElkOiB0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCxcbiAgICAgICAgICAgIGFzc2lnbmVlQWN0aW9uVHlwZTogJ0FTU0lHTicsXG4gICAgICAgICAgICBhY3Rpb25JZCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogYWN0aW9uQ29udGVudC5pZCxcbiAgICAgICAgICAgIGlzRW5hYmxlOiBhY3Rpb25Db250ZW50LmlzRW5hYmxlLFxuICAgICAgICAgICAgaXNSZXF1aXJlZDogYWN0aW9uQ29udGVudC5pc1JlcXVpcmVkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZS51cGRhdGVOb2RlQ2hlY2tMaXN0SXRlbUFjdGlvbkNvbnRlbnQocmVxdWVzdERhdGEpLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UudXBkYXRlQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRFdmFsdWF0aW9uRm9ybVZhbHVlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEV2YWx1YXRpb25Gb3JtVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5jbGVhcigpO1xuICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgaXNFbmFibGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaXNFbmFibGUsXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLmF0dGFjaG1lbnRQaG90b0FjdGlvbigpLmlzUmVxdWlyZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGlzRW5hYmxlOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaXNFbmFibGUsXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiB0aGlzLnRleHRBcmVhQWN0aW9uKCkuaXNSZXF1aXJlZFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5pc0VuYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5waG90b0Zvcm1Hcm91cC5jb250cm9scy5pc1JlcXVpcmVkLmVuYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pc0VuYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmNvbnRyb2xzLmlzUmVxdWlyZWQuZW5hYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRBY3Rpb25Gb3JtU2VnbWVudHNTdWJzY3JpcHRpb25zKCk7XG5cbiAgICAgICAgdGhpcy5hc3NpZ25lZSgpLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmZvckVhY2goKGV2YWx1YXRpb25Dcml0ZXJpYTogTm9kZUNoZWNrTGlzdEV2YWx1YXRpb25Dcml0ZXJpYSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXZhbHVhdGlvbkl0ZW1Db250cm9sID0gdGhpcy5jcmVhdGVFdmFsdWF0aW9uRm9ybUdyb3VwKHtcbiAgICAgICAgICAgICAgICBpc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgY3JpdGVyaWE6IGV2YWx1YXRpb25Dcml0ZXJpYS5jcml0ZXJpYSxcbiAgICAgICAgICAgICAgICBldmFsdWF0aW9uOiBldmFsdWF0aW9uQ3JpdGVyaWEuZXZhbHVhdGlvbixcbiAgICAgICAgICAgICAgICBpZDogZXZhbHVhdGlvbkNyaXRlcmlhLmlkXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkucHVzaChldmFsdWF0aW9uSXRlbUNvbnRyb2wpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRBY3Rpb25Gb3JtU2VnbWVudHNTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRQaG90b0dyb3VwU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuaW5pdENvbW1lbnRHcm91cFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFBob3RvR3JvdXBTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNBdmFpbGFibGVPYnNlcnZlcikpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5zZXRWYWx1ZShmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGVja0xpc3RBY3Rpb25DaGFuZ2VkKHRoaXMuYXNzaWduZWUoKS5pZCwge1xuICAgICAgICAgICAgICAgICAgICBpZDogdGhpcy5hdHRhY2htZW50UGhvdG9BY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMucGhvdG9Gb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnBob3RvRm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuaWQsXG4gICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMuYXR0YWNobWVudFBob3RvQWN0aW9uKCkuY29udGVudEFjdGlvblR5cGUsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5waG90b0Zvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q29tbWVudEdyb3VwU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNBdmFpbGFibGVPYnNlcnZlcikpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNFbmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0KCdpc1JlcXVpcmVkJyk/LnNldFZhbHVlKGZhbHNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hlY2tMaXN0QWN0aW9uQ2hhbmdlZCh0aGlzLmFzc2lnbmVlKCkuaWQsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEFjdGlvblR5cGU6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5jb250ZW50QWN0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldFJhd1ZhbHVlKClcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldCgnaXNSZXF1aXJlZCcpPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgdGhpcy5vbkNoZWNrTGlzdEFjdGlvbkNoYW5nZWQodGhpcy5hc3NpZ25lZSgpLmlkLCB7XG4gICAgICAgICAgICAgICAgaWQ6IHRoaXMudGV4dEFyZWFBY3Rpb24oKS5pZCxcbiAgICAgICAgICAgICAgICBjb250ZW50QWN0aW9uVHlwZTogdGhpcy50ZXh0QXJlYUFjdGlvbigpLmNvbnRlbnRBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWEoZ3JvdXA6IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb24gPSBncm91cC5ldmFsdWF0aW9uLnZhbHVlO1xuICAgICAgICBjb25zdCBjcml0ZXJpYSA9IGdyb3VwLmNyaXRlcmlhLnZhbHVlO1xuICAgICAgICBjb25zdCBpZCA9IGdyb3VwLmlkLnZhbHVlO1xuXG4gICAgICAgIHRoaXMubm9kZUNoZWNrTGlzdEFwaVNlcnZpY2VcbiAgICAgICAgICAgIC51cGRhdGVFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkLCB0aGlzLmFzc2lnbmVlKCkuaWQsIGlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNoZWNrTGlzdEl0ZW0pID0+IHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnVwZGF0ZUNoZWNrTGlzdEl0ZW0oY2hlY2tMaXN0SXRlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXZhbHVhdGlvbkNyaXRlcmlhKGdyb3VwOiBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uID0gZ3JvdXAuZXZhbHVhdGlvbi52YWx1ZTtcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSBncm91cC5jcml0ZXJpYS52YWx1ZTtcblxuICAgICAgICB0aGlzLm5vZGVDaGVja0xpc3RBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuYWRkRXZhbHVhdGlvbkNyaXRlcmlhSXRlbSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGhpcy5hc3NpZ25lZSgpLmlkLCBjcml0ZXJpYSwgZXZhbHVhdGlvbilcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuaXNBZGRCdXR0b25EaXNhYmxlZC5zZXQoZmFsc2UpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNoZWNrTGlzdEl0ZW0pID0+IHRoaXMudXBkYXRlQ3JlYXRlZEV2YWx1YXRpb25Dcml0ZXJpYShjaGVja0xpc3RJdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDcmVhdGVkRXZhbHVhdGlvbkNyaXRlcmlhKFxuICAgICAgICBjaGVja0xpc3RJdGVtOiBOb2RlQ2hlY2tMaXN0SXRlbTxOb2RlQ2hlY2tMaXN0RXZhbHVhdGlvbkl0ZW1Db250ZW50PlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucyA9IGNoZWNrTGlzdEl0ZW0uY29udGVudC5hY3Rpb25zQXNzaWduZWUhWzBdLmFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zO1xuICAgICAgICBjb25zdCBpZCA9IGFjY2VwdGFuY2VDcml0ZXJpYUV2YWx1YXRpb25zLmF0KC0xKT8uaWQ7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5jb250cm9scy5hdCgtMSk/LmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWRDb250cm9sID0gdGhpcy5jcmVhdGVFdmFsdWF0aW9uRm9ybUdyb3VwKHsgLi4uY29udHJvbCwgaWQsIGlzTmV3OiBmYWxzZSB9KTtcblxuICAgICAgICB0aGlzLmV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheS5yZW1vdmVBdCgtMSk7XG4gICAgICAgIHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5LnB1c2goY3JlYXRlZENvbnRyb2wpO1xuICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKGNoZWNrTGlzdEl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRXZhbHVhdGlvbkZvcm1Hcm91cCh7XG4gICAgICAgIGlkLFxuICAgICAgICBjcml0ZXJpYSA9ICcnLFxuICAgICAgICBldmFsdWF0aW9uID0gbnVsbCxcbiAgICAgICAgaXNOZXcgPSB0cnVlXG4gICAgfTogQ3VpRXZhbHVhdGlvbkNyaXRlcmlhRWxlbWVudERhdGEgPSB7fSk6IEZvcm1Hcm91cCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vbk51bGxhYmxlRm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaWQ6IFtpZF0sXG4gICAgICAgICAgICBjcml0ZXJpYTogW2NyaXRlcmlhLCBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyh7IG1heExlbmd0aDogNTAwIH0pXSxcbiAgICAgICAgICAgIGV2YWx1YXRpb246IFtldmFsdWF0aW9uLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICAgICAgaXNOZXc6IFtpc05ld11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kRXhpc3RpbmdFdmFsdWF0aW9uQ3JpdGVyaWEoaWQ6IHN0cmluZyk6IEN1aU51bGxhYmxlPE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWE+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYXNzaWduZWUoKS5hY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChldmFsdWF0aW9uQ3JpdGVyaWE6IE5vZGVDaGVja0xpc3RFdmFsdWF0aW9uQ3JpdGVyaWEpID0+IGV2YWx1YXRpb25Dcml0ZXJpYS5pZCA9PT0gaWRcbiAgICAgICAgICAgICkgfHwgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW92ZUl0ZW1JbkFycmF5PFQ+KGFycmF5OiBUW10sIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZyb21JbmRleCA9PT0gdG9JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IGFycmF5W2Zyb21JbmRleF07XG5cbiAgICAgICAgYXJyYXkuc3BsaWNlKGZyb21JbmRleCwgMSk7XG4gICAgICAgIGFycmF5LnNwbGljZSh0b0luZGV4LCAwLCBpdGVtKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbl9faW5wdXRzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJwaG90b0Zvcm1Hcm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGN1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1aUNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNFbmFibGVcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdQSE9UTycpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VpVG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25fX2lucHV0XCJcbiAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImNvbW1lbnRGb3JtR3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjdWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzRW5hYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgnQ09NTUVOVCcpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY3VpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VpVG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNSZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JFUVVJUkVEJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uX19jcml0ZXJpYS10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGN1aUxhYmVsXG4gICAgICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZm9yPVwiZXZhbHVhdGlvbkNyaXRlcmlhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0KCdFVkFMVUFUSU9OX0NSSVRFUklBJykgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFjdGlvbl9fY3JpdGVyaWEtc3VidGl0bGVcIj57eyB0KCdFQUNIX0VWQUxVQVRJT05fQ1JJVEVSSU9OX1NIT1VMRF9CRScpIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICBjdWlEcmFnTGlzdFxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAoY29udHJvbCBvZiBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrIGNvbnRyb2wuY29udHJvbHNbJ2lkJ107IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBjdWlDaGVja2xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhXG4gICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleCArIDFcIlxuICAgICAgICAgICAgICAgICAgICBjdWlEcmFnRHJvcFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNBZGRCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnREcmFnZ2VkKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NyaXRlcmlhR3JvdXBdPVwiY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXldPVwiZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5XCJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmdJZHNdPVwibG9hZGluZ0lkcygpXCJcbiAgICAgICAgICAgICAgICAgICAgKHNhdmVDbGlja2VkKT1cIm9uU2F2ZUV2YWx1YXRpb25Dcml0ZXJpYSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrZWQpPVwib25DYW5jZWxOZXdFdmFsdWF0aW9uQ3JpdGVyaWEoKVwiXG4gICAgICAgICAgICAgICAgICAgIChkZWxldGVDbGlja2VkKT1cIm9wZW5Nb2RhbERlbGV0ZUV2YWx1YXRpb25Dcml0ZXJpYSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgIH0gQGVtcHR5IHtcbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY3VpRW1wdHlTdGF0ZVxuICAgICAgICAgICAgICAgICAgICBbc3VidGl0bGVdPVwidCgnTk9fRVZBTFVBVElPTl9DUklURVJJQV9UT19WSUVXJylcIlxuICAgICAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uX19mb290ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25QbHVzXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNBZGRCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRFdmFsdWF0aW9uQ3JpdGVyaWFJdGVtKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHQoJ05FV19PUFRJT04nKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -96,7 +96,7 @@ export class CuiCheckListBlockListItemEvaluationCriteriaComponent {
|
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, isStandalone: true, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: { loadingIds: { classPropertyName: "loadingIds", publicName: "loadingIds", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, criteriaGroup: { classPropertyName: "criteriaGroup", publicName: "criteriaGroup", isSignal: true, isRequired: true, transformFunction: null }, evaluationCriteriaFormArray: { classPropertyName: "evaluationCriteriaFormArray", publicName: "evaluationCriteriaFormArray", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { saveClicked: "saveClicked", deleteClicked: "deleteClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *transloco=\"let t\">\
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, isStandalone: true, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: { loadingIds: { classPropertyName: "loadingIds", publicName: "loadingIds", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, criteriaGroup: { classPropertyName: "criteriaGroup", publicName: "criteriaGroup", isSignal: true, isRequired: true, transformFunction: null }, evaluationCriteriaFormArray: { classPropertyName: "evaluationCriteriaFormArray", publicName: "evaluationCriteriaFormArray", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { saveClicked: "saveClicked", deleteClicked: "deleteClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{gap()}}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;gap:8px;align-items:center}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: i2.CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "directive", type: i3.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: i4.CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i5.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "component", type: i6.CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: ["rows", "noBordersAndPaddings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: i8.CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
100
100
|
}
|
|
101
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, decorators: [{
|
|
102
102
|
type: Component,
|
|
@@ -112,6 +112,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
112
112
|
CuiInputNumberModule,
|
|
113
113
|
CuiDragPointerDirective,
|
|
114
114
|
CuiGeneralControlErrorHintComponent
|
|
115
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *transloco=\"let t\">\
|
|
115
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{gap()}}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;gap:8px;align-items:center}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"] }]
|
|
116
116
|
}], ctorParameters: () => [] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FB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QkFDTCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHsgQ3VpTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHtcclxuICAgIEN1aUFsZXJ0U2VydmljZSxcclxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcclxuICAgIEN1aUljb25CdXR0b25Nb2R1bGUsXHJcbiAgICBDdWlJbnB1dE1vZHVsZSxcclxuICAgIEN1aUlucHV0TnVtYmVyTW9kdWxlLFxyXG4gICAgQ3VpU3ZnTW9kdWxlLFxyXG4gICAgQ3VpVGV4dGFyZWFNb2R1bGVcclxufSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB0eXBlIHsgQ3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXAgfSBmcm9tICcuLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24nO1xyXG5cclxuaW1wb3J0IHsgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlbmVyYWwtY29udHJvbC1lcnJvci1oaW50JztcclxuaW1wb3J0IHR5cGUgeyBDdWlFdmFsdWF0aW9uQ3JpdGVyaWFEYXRhIH0gZnJvbSAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEub3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGlbY3VpQ2hlY2tsaXN0QmxvY2tMaXN0SXRlbUV2YWx1YXRpb25Dcml0ZXJpYV0nLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBDdWlJY29uQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxyXG4gICAgICAgIEN1aUxldERpcmVjdGl2ZSxcclxuICAgICAgICBDdWlTdmdNb2R1bGUsXHJcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmUsXHJcbiAgICAgICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICAgICAgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5zY3NzJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQWxlcnRTZXJ2aWNlID0gaW5qZWN0KEN1aUFsZXJ0U2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBFVkFMVUFUSU9OX0FMUkVBRFlfRVhJU1QgPSBgRVZBTFVBVElPTl9BTFJFQURZX0VYSVNUYDtcclxuXHJcbiAgICBwcml2YXRlIHByZXZpb3VzRGF0YTogQ3VpTnVsbGFibGU8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhRGF0YT4gPSBudWxsO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0VkaXRNb2RlID0gc2lnbmFsKGZhbHNlKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc05ldyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlzTmV3LnZhbHVlKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBnYXAgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pc0VkaXRNb2RlKCkgPyA4IDogMCkpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTG9hZGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMubG9hZGluZ0lkcygpW3RoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlkLnZhbHVlXSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEcmFnRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmlzRWRpdE1vZGUoKSAmJiAhdGhpcy5pc0xvYWRpbmcoKSk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBpc0V2YWx1YXRpb25JbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5ldmFsdWF0aW9uLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBpc0NyaXRlcmlhSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYUdyb3VwKCkuY29udHJvbHMuY3JpdGVyaWEuaW52YWxpZCAmJiB0aGlzLmlzRWRpdE1vZGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZ0lkcyA9IGlucHV0LnJlcXVpcmVkPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlhR3JvdXAgPSBpbnB1dC5yZXF1aXJlZDxGb3JtR3JvdXA8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXA+PigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGV2YWx1YXRpb25Dcml0ZXJpYUZvcm1BcnJheSA9IGlucHV0LnJlcXVpcmVkPEZvcm1BcnJheTxGb3JtR3JvdXA+PigpO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBzYXZlQ2xpY2tlZCA9IG91dHB1dDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSBkZWxldGVDbGlja2VkID0gb3V0cHV0PHN0cmluZz4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSBjYW5jZWxDbGlja2VkID0gb3V0cHV0KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0TmV3RXZhbHVhdGlvbkNyaXRlcmlhRWZmZWN0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0RWRpdE1vZGVFZmZlY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25TYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNyaXRlcmlhR3JvdXAoKS5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb24gPSBgJHt0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5ldmFsdWF0aW9uLnZhbHVlfWA7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNoZWNrSXNFdmFsdWF0aW9uQ3JpdGVyaWFFeGlzdChldmFsdWF0aW9uKSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1aUFsZXJ0U2VydmljZVxyXG4gICAgICAgICAgICAgICAgLm9wZW4odGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSh0aGlzLkVWQUxVQVRJT05fQUxSRUFEWV9FWElTVCwgeyBldmFsdWF0aW9uIH0pLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnZXJyb3InXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pc0VkaXRNb2RlLnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUNsaWNrZWQuZW1pdCh0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5jcml0ZXJpYUdyb3VwKCkuY29udHJvbHMuaWQudmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25DYW5jZWwoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNOZXcoKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNhbmNlbENsaWNrZWQuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pc0VkaXRNb2RlLnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNEYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3JpdGVyaWFHcm91cCgpLnNldFZhbHVlKHtcclxuICAgICAgICAgICAgLi4udGhpcy5jcml0ZXJpYUdyb3VwKCkuZ2V0UmF3VmFsdWUoKSxcclxuICAgICAgICAgICAgLi4udGhpcy5wcmV2aW91c0RhdGFcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25Ub2dnbGVFZGl0TW9kZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IGNyaXRlcmlhLCBldmFsdWF0aW9uIH0gPSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5nZXRSYXdWYWx1ZSgpO1xyXG5cclxuICAgICAgICB0aGlzLnByZXZpb3VzRGF0YSA9IHsgY3JpdGVyaWEsIGV2YWx1YXRpb24gfTtcclxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzog0JrQvtC80L/QvtC90LXQvdGCINC00L7Qu9C20LXQvSDQsdGL0Lsg0LHRi9GC0Ywg0L/QvtGB0YLRgNC+0LXQvSDQuNGB0LrQu9GO0YfQuNGC0LXQu9GM0L3QviDQvdCwINGA0LXQsNC60YLQuNCy0L3Ri9GFINGE0L7RgNC80LDRhVxyXG4gICAgcHJpdmF0ZSBpbml0RWRpdE1vZGVFZmZlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgZWZmZWN0KCgpID0+IHRoaXMuY3JpdGVyaWFHcm91cCgpW3RoaXMuaXNFZGl0TW9kZSgpID8gJ2VuYWJsZScgOiAnZGlzYWJsZSddKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdE5ld0V2YWx1YXRpb25Dcml0ZXJpYUVmZmVjdCgpOiB2b2lkIHtcclxuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5pc0VkaXRNb2RlLnNldCh0aGlzLmlzTmV3KCkpLCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tJc0V2YWx1YXRpb25Dcml0ZXJpYUV4aXN0KGV2YWx1YXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5ldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkoKS5jb250cm9scztcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzLnNvbWUoKGNvbnRyb2w6IEZvcm1Hcm91cDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4pID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wuY29udHJvbHMuaWQudmFsdWUgPT09IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlkLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBgJHtjb250cm9sLmdldCgnZXZhbHVhdGlvbicpPy52YWx1ZX1gID09PSBldmFsdWF0aW9uO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgKnRyYW5zbG9jbz1cImxldCB0XCI+XHJcbiAgICA8Zm9ybVxyXG4gICAgICAgICpjdWlMZXQ9XCJjcml0ZXJpYUdyb3VwKCkgYXMgZm9ybVwiXHJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAgICAgICBbY2xhc3MuZm9ybV9lZGl0XT1cImlzRWRpdE1vZGUoKVwiXHJcbiAgICAgICAgY2xhcz1cImZvcm1cIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kZXhcIj57eyBpbmRleCgpIH19Ljwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmICghaXNFZGl0TW9kZSgpKSB7XHJcbiAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xyXG4gICAgICAgICAgICAgICAgICAgIGN1aURyYWdQb2ludGVyXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25EcmFnSGFuZGxlRG90c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBzdHlsZS5nYXA9XCJ7e2dhcCgpfX1weFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y3VpLWlucHV0LW51bWJlclxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImV2YWx1YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIGN1aVRleHRGaWVsZFBsYWNlaG9sZGVyPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNFdmFsdWF0aW9uSW52YWxpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbl09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LW51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgY3VpVGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjcml0ZXJpYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Jvd3NdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNDcml0ZXJpYUludmFsaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgdCgnQUREX0FfREVTQ1JJUFRJT04nKSB9fS4uLlwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0YXJlYVwiXHJcbiAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIEBpZiAoaXNFZGl0TW9kZSgpKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY3VpSWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uQ2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLXN1Y2Nlc3MpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZSgpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjdWlJY29uQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25YQ2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1kYW5nZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uRWRpdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZygpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Ub2dnbGVFZGl0TW9kZSgpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uVHJhc2hcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpc0xvYWRlclNob3duXT1cImlzTG9hZGluZygpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoKVwiXHJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y3VpLWdlbmVyYWwtY29udHJvbC1lcnJvci1oaW50XHJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImZvcm0uY29udHJvbHMuY3JpdGVyaWFcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yLWhpbnRcIlxyXG4gICAgICAgIC8+XHJcbiAgICA8L2Zvcm0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWV2YWx1YXRpb24tY3JpdGVyaWEvY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FB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QkFDTCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1DQUFtQztxQkFDdEMsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEN1aUFsZXJ0U2VydmljZSxcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpSWNvbkJ1dHRvbk1vZHVsZSxcbiAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICBDdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICBDdWlTdmdNb2R1bGUsXG4gICAgQ3VpVGV4dGFyZWFNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYUdyb3VwIH0gZnJvbSAnLi4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uJztcblxuaW1wb3J0IHsgQ3VpRHJhZ1BvaW50ZXJEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5pbXBvcnQgdHlwZSB7IEN1aUV2YWx1YXRpb25Dcml0ZXJpYURhdGEgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tZXZhbHVhdGlvbi1jcml0ZXJpYS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaVtjdWlDaGVja2xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUljb25CdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUlucHV0TW9kdWxlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIEN1aVN2Z01vZHVsZSxcbiAgICAgICAgQ3VpVGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIEN1aURyYWdQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgICBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1ldmFsdWF0aW9uLWNyaXRlcmlhLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDaGVja0xpc3RCbG9ja0xpc3RJdGVtRXZhbHVhdGlvbkNyaXRlcmlhQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgRVZBTFVBVElPTl9BTFJFQURZX0VYSVNUID0gYEVWQUxVQVRJT05fQUxSRUFEWV9FWElTVGA7XG5cbiAgICBwcml2YXRlIHByZXZpb3VzRGF0YTogQ3VpTnVsbGFibGU8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhRGF0YT4gPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRWRpdE1vZGUgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc05ldyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlzTmV3LnZhbHVlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2FwID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNFZGl0TW9kZSgpID8gOCA6IDApKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sb2FkaW5nSWRzKClbdGhpcy5jcml0ZXJpYUdyb3VwKCkuY29udHJvbHMuaWQudmFsdWVdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEcmFnRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmlzRWRpdE1vZGUoKSAmJiAhdGhpcy5pc0xvYWRpbmcoKSk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRXZhbHVhdGlvbkludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5ldmFsdWF0aW9uLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0NyaXRlcmlhSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmNyaXRlcmlhLmludmFsaWQgJiYgdGhpcy5pc0VkaXRNb2RlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmdJZHMgPSBpbnB1dC5yZXF1aXJlZDxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlhR3JvdXAgPSBpbnB1dC5yZXF1aXJlZDxGb3JtR3JvdXA8Q3VpRXZhbHVhdGlvbkNyaXRlcmlhR3JvdXA+PigpO1xuICAgIHB1YmxpYyByZWFkb25seSBldmFsdWF0aW9uQ3JpdGVyaWFGb3JtQXJyYXkgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQXJyYXk8Rm9ybUdyb3VwPj4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzYXZlQ2xpY2tlZCA9IG91dHB1dDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlQ2xpY2tlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbENsaWNrZWQgPSBvdXRwdXQoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXROZXdFdmFsdWF0aW9uQ3JpdGVyaWFFZmZlY3QoKTtcbiAgICAgICAgdGhpcy5pbml0RWRpdE1vZGVFZmZlY3QoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TYXZlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jcml0ZXJpYUdyb3VwKCkuaW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbiA9IGAke3RoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmV2YWx1YXRpb24udmFsdWV9YDtcblxuICAgICAgICBpZiAodGhpcy5jaGVja0lzRXZhbHVhdGlvbkNyaXRlcmlhRXhpc3QoZXZhbHVhdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMuY3VpQWxlcnRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm9wZW4odGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSh0aGlzLkVWQUxVQVRJT05fQUxSRUFEWV9FWElTVCwgeyBldmFsdWF0aW9uIH0pLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgICAgIHRoaXMuc2F2ZUNsaWNrZWQuZW1pdCh0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMuY3JpdGVyaWFHcm91cCgpLmNvbnRyb2xzLmlkLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuZGVsZXRlQ2xpY2tlZC5lbWl0KGlkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV3KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnByZXZpb3VzRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jcml0ZXJpYUdyb3VwKCkuc2V0VmFsdWUoe1xuICAgICAgICAgICAgLi4udGhpcy5jcml0ZXJpYUdyb3VwKCkuZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgICAgIC4uLnRoaXMucHJldmlvdXNEYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvZ2dsZUVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGNyaXRlcmlhLCBldmFsdWF0aW9uIH0gPSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgICAgIHRoaXMucHJldmlvdXNEYXRhID0geyBjcml0ZXJpYSwgZXZhbHVhdGlvbiB9O1xuICAgICAgICB0aGlzLmlzRWRpdE1vZGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgfVxuXG4gICAgLy8gVE9ETzog0JrQvtC80L/QvtC90LXQvdGCINC00L7Qu9C20LXQvSDQsdGL0Lsg0LHRi9GC0Ywg0L/QvtGB0YLRgNC+0LXQvSDQuNGB0LrQu9GO0YfQuNGC0LXQu9GM0L3QviDQvdCwINGA0LXQsNC60YLQuNCy0L3Ri9GFINGE0L7RgNC80LDRhVxuICAgIHByaXZhdGUgaW5pdEVkaXRNb2RlRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5jcml0ZXJpYUdyb3VwKClbdGhpcy5pc0VkaXRNb2RlKCkgPyAnZW5hYmxlJyA6ICdkaXNhYmxlJ10oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TmV3RXZhbHVhdGlvbkNyaXRlcmlhRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5pc0VkaXRNb2RlLnNldCh0aGlzLmlzTmV3KCkpLCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tJc0V2YWx1YXRpb25Dcml0ZXJpYUV4aXN0KGV2YWx1YXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuZXZhbHVhdGlvbkNyaXRlcmlhRm9ybUFycmF5KCkuY29udHJvbHM7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzLnNvbWUoKGNvbnRyb2w6IEZvcm1Hcm91cDxDdWlFdmFsdWF0aW9uQ3JpdGVyaWFHcm91cD4pID0+IHtcbiAgICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzLmlkLnZhbHVlID09PSB0aGlzLmNyaXRlcmlhR3JvdXAoKS5jb250cm9scy5pZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGAke2NvbnRyb2wuZ2V0KCdldmFsdWF0aW9uJyk/LnZhbHVlfWAgPT09IGV2YWx1YXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPGZvcm1cbiAgICAgICAgKmN1aUxldD1cImNyaXRlcmlhR3JvdXAoKSBhcyBmb3JtXCJcbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgW2NsYXNzLmZvcm1fZWRpdF09XCJpc0VkaXRNb2RlKClcIlxuICAgICAgICBjbGFzPVwiZm9ybVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRleFwiPnt7IGluZGV4KCkgfX0uPC9zcGFuPlxuICAgICAgICAgICAgQGlmICghaXNFZGl0TW9kZSgpKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgY3VpRHJhZ1BvaW50ZXJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25EcmFnSGFuZGxlRG90c1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZS5nYXA9XCJ7e2dhcCgpfX1weFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3cmFwcGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Y3VpLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJldmFsdWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY3VpVGV4dEZpZWxkUGxhY2Vob2xkZXI9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNFdmFsdWF0aW9uSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTlcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LW51bWJlclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgY3VpVGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3JpdGVyaWFcIlxuICAgICAgICAgICAgICAgICAgICBbcm93c109XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNDcml0ZXJpYUludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHQoJ0FERF9BX0RFU0NSSVBUSU9OJykgfX0uLi5cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpc0VkaXRNb2RlKCkpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBjdWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uQ2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1zdWNjZXNzKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGN1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25YQ2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktZGFuZ2VyKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25FZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRWRpdE1vZGUoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25UcmFzaFwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0xvYWRlclNob3duXT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjdWktZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnRcbiAgICAgICAgICAgIFtjb250cm9sXT1cImZvcm0uY29udHJvbHMuY3JpdGVyaWFcIlxuICAgICAgICAgICAgY2xhc3M9XCJlcnJvci1oaW50XCJcbiAgICAgICAgLz5cbiAgICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -20,7 +20,7 @@ export class CuiChecklistBlockTitleControlComponent {
|
|
|
20
20
|
return this.control().invalid && this.control().dirty;
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockTitleControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: CuiChecklistBlockTitleControlComponent, isStandalone: true, selector: "cui-checklist-block-title-control", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: CuiChecklistBlockTitleControlComponent, isStandalone: true, selector: "cui-checklist-block-title-control", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"title\"\n >\n {{ t('TITLE') }}\n </label>\n <cui-input-text\n [formControl]=\"control()\"\n cuiTextFieldId=\"title\"\n [cuiTextFieldIsError]=\"isTitleError\"\n cuiTextFieldPlaceholder=\"{{ t('ADD_A_TITLE') }}...\"\n />\n <cui-general-control-error-hint [control]=\"control()\" />\n </cui-form-field>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: i2.CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: i3.CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: i4.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: i5.CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i6.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
24
|
}
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockTitleControlComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
@@ -34,6 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34
34
|
CuiGeneralControlErrorHintComponent,
|
|
35
35
|
ReactiveFormsModule,
|
|
36
36
|
TranslocoDirective
|
|
37
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\
|
|
37
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"title\"\n >\n {{ t('TITLE') }}\n </label>\n <cui-input-text\n [formControl]=\"control()\"\n cuiTextFieldId=\"title\"\n [cuiTextFieldIsError]=\"isTitleError\"\n cuiTextFieldPlaceholder=\"{{ t('ADD_A_TITLE') }}...\"\n />\n <cui-general-control-error-hint [control]=\"control()\" />\n </cui-form-field>\n</ng-container>\n" }]
|
|
38
38
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLXRpdGxlLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL2NoZWNrbGlzdC1ibG9jay9jb21wb25lbnRzL2NoZWNrbGlzdC1ibG9jay10aXRsZS1jb250cm9sL2NoZWNrbGlzdC1ibG9jay10aXRsZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbC9jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsY0FBYyxFQUNkLGNBQWMsRUFDakIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBbUIxRSxNQUFNLE9BQU8sc0NBQXNDO0lBakJuRDtRQWtCb0IsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztLQUszRDtJQUhHLElBQWMsWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxRCxDQUFDOytHQUxRLHNDQUFzQzttR0FBdEMsc0NBQXNDLHNPQ2hDbkQsbWpCQWtCQSwyQ0RBUSxvQkFBb0IsOEJBQ3BCLGtCQUFrQixpSEFDbEIsYUFBYSw4QkFDYixjQUFjLG9mQUNkLGNBQWMsc0lBQ2QsNEJBQTRCLCtCQUM1QixtQ0FBbUMsNEdBQ25DLG1CQUFtQiwwVEFDbkIsa0JBQWtCOzs0RkFNYixzQ0FBc0M7a0JBakJsRCxTQUFTOytCQUNJLG1DQUFtQyxXQUNwQzt3QkFDTCxvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsNEJBQTRCO3dCQUM1QixtQ0FBbUM7d0JBQ25DLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNyQixjQUNXLElBQUksbUJBRUMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgQ3VpSW5wdXRNb2R1bGUsXG4gICAgQ3VpTGFiZWxNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDdWlUZXh0RmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBDdWlHZW5lcmFsQ29udHJvbEVycm9ySGludENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3dpZGdldHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBDdWlIaW50TW9kdWxlLFxuICAgICAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aVRleHRGaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrbGlzdC1ibG9jay10aXRsZS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDaGVja2xpc3RCbG9ja1RpdGxlQ29udHJvbENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIHByb3RlY3RlZCBnZXQgaXNUaXRsZUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sKCkuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2woKS5kaXJ0eTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxjdWktZm9ybS1maWVsZD5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjdWlMYWJlbFxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBmb3I9XCJ0aXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHQoJ1RJVExFJykgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGN1aS1pbnB1dC10ZXh0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCgpXCJcbiAgICAgICAgICAgIGN1aVRleHRGaWVsZElkPVwidGl0bGVcIlxuICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNUaXRsZUVycm9yXCJcbiAgICAgICAgICAgIGN1aVRleHRGaWVsZFBsYWNlaG9sZGVyPVwie3sgdCgnQUREX0FfVElUTEUnKSB9fS4uLlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxjdWktZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQgW2NvbnRyb2xdPVwiY29udHJvbCgpXCIgLz5cbiAgICA8L2N1aS1mb3JtLWZpZWxkPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { CuiChecklistBlockListComponent } from './checklist-block-list';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlDaGVja2xpc3RCbG9ja0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0JztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { CuiChecklistBlockComponent } from './checklist-block.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tsaXN0QmxvY2tDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay5jb21wb25lbnQnO1xuIl19
|
|
@@ -47,4 +47,4 @@ export class CuiCheckListBlockService {
|
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiCheckListBlockService, decorators: [{
|
|
48
48
|
type: Injectable
|
|
49
49
|
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL3NlcnZpY2VzL2NoZWNrbGlzdC1ibG9jay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtuRCxNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRXFCLHlCQUFvQixHQUNqQyxNQUFNLENBQWlFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLHNCQUFpQixHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDdEQsMEJBQXFCLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRWhELG1CQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xELG9CQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDO0tBK0M3RTtJQTdDVSxpQkFBaUIsQ0FBQyxjQUFpRTtRQUN0RixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxhQUE4RDtRQUNsRixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVNLG1CQUFtQixDQUFDLG9CQUFxRTtRQUM1RixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxNQUFNLHdCQUF3QixHQUFHLEtBQU0sQ0FBQyxTQUFTLENBQzdDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLG9CQUFvQixDQUFDLEVBQUUsQ0FDbEUsQ0FBQztZQUVGLEtBQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFDO1lBRXhELE9BQU8sQ0FBQyxHQUFHLEtBQU0sQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEVBQVU7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7WUFDL0IsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBRXRGLEtBQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFbkMsT0FBTyxDQUFDLEdBQUcsS0FBTSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sY0FBYyxDQUFDLEVBQVU7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsbUJBQTRCO1FBQ3BELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQXREUSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBOb2RlQ2hlY2tMaXN0SXRlbSwgTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdWlDaGVja0xpc3RCbG9ja1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbXNTaWduYWwgPVxuICAgICAgICBzaWduYWw8Q3VpTnVsbGFibGU8Tm9kZUNoZWNrTGlzdEl0ZW08Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZT5bXT4+KG51bGwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50SWRTaWduYWwgPSBzaWduYWw8Q3VpTnVsbGFibGU8c3RyaW5nPj4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0RyYWdBdmFpbGFibGVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNoZWNrTGlzdEl0ZW1zID0gdGhpcy5jaGVja0xpc3RJdGVtc1NpZ25hbC5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBvbmVudElkID0gdGhpcy5jb21wb25lbnRJZFNpZ25hbC5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlzRHJhZ0F2YWlsYWJsZSA9IHRoaXMuaXNEcmFnQXZhaWxhYmxlU2lnbmFsLmFzUmVhZG9ubHkoKTtcblxuICAgIHB1YmxpYyBzZXRDaGVja0xpc3RJdGVtcyhjaGVja0xpc3RJdGVtczogTm9kZUNoZWNrTGlzdEl0ZW08Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZT5bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrTGlzdEl0ZW1zU2lnbmFsLnNldChjaGVja0xpc3RJdGVtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZENoZWNrTGlzdEl0ZW0oY2hlY2tMaXN0SXRlbTogTm9kZUNoZWNrTGlzdEl0ZW08Tm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0xpc3RJdGVtc1NpZ25hbC51cGRhdGUoKHZhbHVlKSA9PiAodmFsdWUgPyBbLi4udmFsdWUsIGNoZWNrTGlzdEl0ZW1dIDogW2NoZWNrTGlzdEl0ZW1dKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUNoZWNrTGlzdEl0ZW0odXBkYXRlZENoZWNrTGlzdEl0ZW06IE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jaGVja0xpc3RJdGVtc1NpZ25hbCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoZWNrTGlzdEl0ZW1zU2lnbmFsLnVwZGF0ZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUNoZWNrTGlzdEl0ZW1JbmRleCA9IHZhbHVlIS5maW5kSW5kZXgoXG4gICAgICAgICAgICAgICAgKGNoZWNrTGlzdEl0ZW0pID0+IGNoZWNrTGlzdEl0ZW0uaWQgPT09IHVwZGF0ZWRDaGVja0xpc3RJdGVtLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB2YWx1ZSFbdXBkYXRlQ2hlY2tMaXN0SXRlbUluZGV4XSA9IHVwZGF0ZWRDaGVja0xpc3RJdGVtO1xuXG4gICAgICAgICAgICByZXR1cm4gWy4uLnZhbHVlIV07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVDaGVja0xpc3RJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrTGlzdEl0ZW1zU2lnbmFsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hlY2tMaXN0SXRlbXNTaWduYWwudXBkYXRlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVsZXRlZEl0ZW1JbmRleCA9IHZhbHVlIS5maW5kSW5kZXgoKGNoZWNrbGlzdEl0ZW0pID0+IGNoZWNrbGlzdEl0ZW0uaWQgPT09IGlkKTtcblxuICAgICAgICAgICAgdmFsdWUhLnNwbGljZShkZWxldGVkSXRlbUluZGV4LCAxKTtcblxuICAgICAgICAgICAgcmV0dXJuIFsuLi52YWx1ZSFdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q29tcG9uZW50SWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudElkU2lnbmFsLnNldChpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZURyYWdQZXJtaXNzaW9uKGlzRHJhZ0J1dHRvblZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RyYWdBdmFpbGFibGVTaWduYWwuc2V0KGlzRHJhZ0J1dHRvblZpc2libGUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { CuiCheckListBlockService } from './checklist-block.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvY2hlY2tsaXN0LWJsb2NrL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi9jaGVja2xpc3QtYmxvY2suc2VydmljZSc7XG4iXX0=
|