@eui/components 17.0.0-next.10 → 17.0.0-next.12
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/directives/eui-scroll-handler.directive.d.ts +6 -6
- package/directives/eui-scroll-handler.directive.d.ts.map +1 -1
- package/directives/eui-smooth-scroll.directive.d.ts +1 -1
- package/directives/eui-smooth-scroll.directive.d.ts.map +1 -1
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts +1 -3
- package/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/ecl/eui-ecl-banner/eui-components-ecl-eui-ecl-banner.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-credit.directive.d.ts +8 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-credit.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-description.directive.d.ts +13 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-description.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-picture.directive.d.ts +13 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-picture.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-title.directive.d.ts +13 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner-title.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner.component.d.ts +24 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner.component.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner.module.d.ts +14 -0
- package/ecl/eui-ecl-banner/eui-ecl-banner.module.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/eui-ecl-file-picture.directive.d.ts +13 -0
- package/ecl/eui-ecl-banner/eui-ecl-file-picture.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-banner/index.d.ts +8 -0
- package/ecl/eui-ecl-banner/index.d.ts.map +1 -0
- package/ecl/eui-ecl-button/eui-components-ecl-eui-ecl-button.d.ts.map +1 -0
- package/ecl/eui-ecl-button/eui-ecl-button-label.directive.d.ts +8 -0
- package/ecl/eui-ecl-button/eui-ecl-button-label.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-button/eui-ecl-button.component.d.ts +17 -0
- package/ecl/eui-ecl-button/eui-ecl-button.component.d.ts.map +1 -0
- package/ecl/eui-ecl-button/eui-ecl-button.module.d.ts +11 -0
- package/ecl/eui-ecl-button/eui-ecl-button.module.d.ts.map +1 -0
- package/ecl/eui-ecl-button/index.d.ts +4 -0
- package/ecl/eui-ecl-button/index.d.ts.map +1 -0
- package/ecl/eui-ecl-carousel/eui-components-ecl-eui-ecl-carousel.d.ts.map +1 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel-item.component.d.ts +24 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel-item.component.d.ts.map +1 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel.component.d.ts +75 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel.component.d.ts.map +1 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel.module.d.ts +12 -0
- package/ecl/eui-ecl-carousel/eui-ecl-carousel.module.d.ts.map +1 -0
- package/ecl/eui-ecl-carousel/index.d.ts +4 -0
- package/ecl/eui-ecl-carousel/index.d.ts.map +1 -0
- package/ecl/eui-ecl-icon/eui-components-ecl-eui-ecl-icon.d.ts.map +1 -0
- package/ecl/eui-ecl-icon/eui-ecl-icon.component.d.ts +35 -0
- package/ecl/eui-ecl-icon/eui-ecl-icon.component.d.ts.map +1 -0
- package/ecl/eui-ecl-icon/eui-ecl-icon.module.d.ts +9 -0
- package/ecl/eui-ecl-icon/eui-ecl-icon.module.d.ts.map +1 -0
- package/ecl/eui-ecl-icon/index.d.ts +3 -0
- package/ecl/eui-ecl-icon/index.d.ts.map +1 -0
- package/ecl/eui-ecl-label/eui-components-ecl-eui-ecl-label.d.ts.map +1 -0
- package/ecl/eui-ecl-label/eui-ecl-label.directive.d.ts +9 -0
- package/ecl/eui-ecl-label/eui-ecl-label.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-label/eui-ecl-label.module.d.ts +9 -0
- package/ecl/eui-ecl-label/eui-ecl-label.module.d.ts.map +1 -0
- package/ecl/eui-ecl-label/index.d.ts +3 -0
- package/ecl/eui-ecl-label/index.d.ts.map +1 -0
- package/ecl/eui-ecl-link/eui-components-ecl-eui-ecl-link.d.ts.map +1 -0
- package/ecl/eui-ecl-link/eui-ecl-link-label.directive.d.ts +8 -0
- package/ecl/eui-ecl-link/eui-ecl-link-label.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-link/eui-ecl-link.directive.d.ts +22 -0
- package/ecl/eui-ecl-link/eui-ecl-link.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-link/eui-ecl-link.module.d.ts +10 -0
- package/ecl/eui-ecl-link/eui-ecl-link.module.d.ts.map +1 -0
- package/ecl/eui-ecl-link/index.d.ts +4 -0
- package/ecl/eui-ecl-link/index.d.ts.map +1 -0
- package/ecl/eui-ecl-message/eui-components-ecl-eui-ecl-message.d.ts.map +1 -0
- package/ecl/eui-ecl-message/eui-ecl-message-title.directive.d.ts +8 -0
- package/ecl/eui-ecl-message/eui-ecl-message-title.directive.d.ts.map +1 -0
- package/ecl/eui-ecl-message/eui-ecl-message.component.d.ts +21 -0
- package/ecl/eui-ecl-message/eui-ecl-message.component.d.ts.map +1 -0
- package/ecl/eui-ecl-message/eui-ecl-message.module.d.ts +13 -0
- package/ecl/eui-ecl-message/eui-ecl-message.module.d.ts.map +1 -0
- package/ecl/eui-ecl-message/index.d.ts +4 -0
- package/ecl/eui-ecl-message/index.d.ts.map +1 -0
- package/ecl/shared/eui-components-ecl-shared.d.ts.map +1 -0
- package/ecl/shared/eui-ecl-base.directive.d.ts +13 -0
- package/ecl/shared/eui-ecl-base.directive.d.ts.map +1 -0
- package/ecl/shared/index.d.ts +5 -0
- package/ecl/shared/index.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-base.event.d.ts +6 -0
- package/ecl/shared/models/eui-ecl-base.event.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-breadcrumb.model.d.ts +7 -0
- package/ecl/shared/models/eui-ecl-breadcrumb.model.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-dom.event.d.ts +7 -0
- package/ecl/shared/models/eui-ecl-dom.event.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-file-upload.model.d.ts +6 -0
- package/ecl/shared/models/eui-ecl-file-upload.model.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-gallery-item.model.d.ts +7 -0
- package/ecl/shared/models/eui-ecl-gallery-item.model.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-language.model.d.ts +6 -0
- package/ecl/shared/models/eui-ecl-language.model.d.ts.map +1 -0
- package/ecl/shared/models/eui-ecl-menu-item.model.d.ts +15 -0
- package/ecl/shared/models/eui-ecl-menu-item.model.d.ts.map +1 -0
- package/ecl/shared/models/index.d.ts +8 -0
- package/ecl/shared/models/index.d.ts.map +1 -0
- package/ecl/shared/services/eui-ecl-default-language.service.d.ts +33 -0
- package/ecl/shared/services/eui-ecl-default-language.service.d.ts.map +1 -0
- package/ecl/shared/services/eui-ecl-language.service.d.ts +19 -0
- package/ecl/shared/services/eui-ecl-language.service.d.ts.map +1 -0
- package/ecl/shared/services/eui-ecl-theme.service.d.ts +23 -0
- package/ecl/shared/services/eui-ecl-theme.service.d.ts.map +1 -0
- package/ecl/shared/services/index.d.ts +4 -0
- package/ecl/shared/services/index.d.ts.map +1 -0
- package/ecl/shared/utils/constants/constants.d.ts +10 -0
- package/ecl/shared/utils/constants/constants.d.ts.map +1 -0
- package/ecl/shared/utils/constants/index.d.ts +2 -0
- package/ecl/shared/utils/constants/index.d.ts.map +1 -0
- package/ecl/shared/utils/directives/eui-ecl-click-outside/eui-ecl-click-outside.directive.d.ts +12 -0
- package/ecl/shared/utils/directives/eui-ecl-click-outside/eui-ecl-click-outside.directive.d.ts.map +1 -0
- package/ecl/shared/utils/directives/eui-ecl-click-outside/index.d.ts +2 -0
- package/ecl/shared/utils/directives/eui-ecl-click-outside/index.d.ts.map +1 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.directive.d.ts +8 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.directive.d.ts.map +1 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.module.d.ts +9 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.module.d.ts.map +1 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/index.d.ts +3 -0
- package/ecl/shared/utils/directives/eui-ecl-hidden/index.d.ts.map +1 -0
- package/ecl/shared/utils/directives/index.d.ts +3 -0
- package/ecl/shared/utils/directives/index.d.ts.map +1 -0
- package/ecl/shared/utils/dom/dom-helpers.d.ts +3 -0
- package/ecl/shared/utils/dom/dom-helpers.d.ts.map +1 -0
- package/ecl/shared/utils/dom/index.d.ts +2 -0
- package/ecl/shared/utils/dom/index.d.ts.map +1 -0
- package/ecl/shared/utils/index.d.ts +4 -0
- package/ecl/shared/utils/index.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-message-wc/ecl-message-wc.component.d.ts +10 -0
- package/ecl/webcomponents/ecl-message-wc/ecl-message-wc.component.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-message-wc/eui-components-ecl-webcomponents-ecl-message-wc.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-message-wc/index.d.ts +3 -0
- package/ecl/webcomponents/ecl-message-wc/index.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-message-wc/module.d.ts +10 -0
- package/ecl/webcomponents/ecl-message-wc/module.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-webcomponents-all/eui-components-ecl-webcomponents-ecl-webcomponents-all.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-webcomponents-all/index.d.ts +2 -0
- package/ecl/webcomponents/ecl-webcomponents-all/index.d.ts.map +1 -0
- package/ecl/webcomponents/ecl-webcomponents-all/module.d.ts +9 -0
- package/ecl/webcomponents/ecl-webcomponents-all/module.d.ts.map +1 -0
- package/esm2022/directives/eui-clearable.directive.mjs +4 -4
- package/esm2022/directives/eui-has-permission.directive.mjs +8 -8
- package/esm2022/directives/eui-loading.directive.mjs +4 -4
- package/esm2022/directives/eui-maxlength.directive.mjs +8 -8
- package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +4 -4
- package/esm2022/directives/eui-resizable/eui-resizable.directive.mjs +4 -4
- package/esm2022/directives/eui-resizable/eui-resizable.module.mjs +5 -5
- package/esm2022/directives/eui-scroll-handler.directive.mjs +20 -20
- package/esm2022/directives/eui-smooth-scroll.directive.mjs +12 -12
- package/esm2022/directives/eui-template.directive.mjs +8 -8
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +4 -4
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +4 -9
- package/esm2022/directives/eui-tooltip/eui-tooltip.module.mjs +5 -5
- package/esm2022/ecl/eui-ecl-banner/eui-components-ecl-eui-ecl-banner.mjs +5 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner-credit.directive.mjs +21 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner-description.directive.mjs +38 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner-picture.directive.mjs +37 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner-title.directive.mjs +38 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner.component.mjs +73 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-banner.module.mjs +47 -0
- package/esm2022/ecl/eui-ecl-banner/eui-ecl-file-picture.directive.mjs +37 -0
- package/esm2022/ecl/eui-ecl-banner/index.mjs +8 -0
- package/esm2022/ecl/eui-ecl-button/eui-components-ecl-eui-ecl-button.mjs +5 -0
- package/esm2022/ecl/eui-ecl-button/eui-ecl-button-label.directive.mjs +20 -0
- package/esm2022/ecl/eui-ecl-button/eui-ecl-button.component.mjs +51 -0
- package/esm2022/ecl/eui-ecl-button/eui-ecl-button.module.mjs +20 -0
- package/esm2022/ecl/eui-ecl-button/index.mjs +4 -0
- package/esm2022/ecl/eui-ecl-carousel/eui-components-ecl-eui-ecl-carousel.mjs +5 -0
- package/esm2022/ecl/eui-ecl-carousel/eui-ecl-carousel-item.component.mjs +57 -0
- package/esm2022/ecl/eui-ecl-carousel/eui-ecl-carousel.component.mjs +329 -0
- package/esm2022/ecl/eui-ecl-carousel/eui-ecl-carousel.module.mjs +22 -0
- package/esm2022/ecl/eui-ecl-carousel/index.mjs +4 -0
- package/esm2022/ecl/eui-ecl-icon/eui-components-ecl-eui-ecl-icon.mjs +5 -0
- package/esm2022/ecl/eui-ecl-icon/eui-ecl-icon.component.mjs +123 -0
- package/esm2022/ecl/eui-ecl-icon/eui-ecl-icon.module.mjs +18 -0
- package/esm2022/ecl/eui-ecl-icon/index.mjs +3 -0
- package/esm2022/ecl/eui-ecl-label/eui-components-ecl-eui-ecl-label.mjs +5 -0
- package/esm2022/ecl/eui-ecl-label/eui-ecl-label.directive.mjs +26 -0
- package/esm2022/ecl/eui-ecl-label/eui-ecl-label.module.mjs +18 -0
- package/esm2022/ecl/eui-ecl-label/index.mjs +3 -0
- package/esm2022/ecl/eui-ecl-link/eui-components-ecl-eui-ecl-link.mjs +5 -0
- package/esm2022/ecl/eui-ecl-link/eui-ecl-link-label.directive.mjs +20 -0
- package/esm2022/ecl/eui-ecl-link/eui-ecl-link.directive.mjs +102 -0
- package/esm2022/ecl/eui-ecl-link/eui-ecl-link.module.mjs +19 -0
- package/esm2022/ecl/eui-ecl-link/index.mjs +4 -0
- package/esm2022/ecl/eui-ecl-message/eui-components-ecl-eui-ecl-message.mjs +5 -0
- package/esm2022/ecl/eui-ecl-message/eui-ecl-message-title.directive.mjs +20 -0
- package/esm2022/ecl/eui-ecl-message/eui-ecl-message.component.mjs +84 -0
- package/esm2022/ecl/eui-ecl-message/eui-ecl-message.module.mjs +22 -0
- package/esm2022/ecl/eui-ecl-message/index.mjs +4 -0
- package/esm2022/ecl/shared/eui-components-ecl-shared.mjs +5 -0
- package/esm2022/ecl/shared/eui-ecl-base.directive.mjs +36 -0
- package/esm2022/ecl/shared/index.mjs +5 -0
- package/esm2022/ecl/shared/models/eui-ecl-base.event.mjs +9 -0
- package/esm2022/ecl/shared/models/eui-ecl-breadcrumb.model.mjs +2 -0
- package/esm2022/ecl/shared/models/eui-ecl-dom.event.mjs +14 -0
- package/esm2022/ecl/shared/models/eui-ecl-file-upload.model.mjs +2 -0
- package/esm2022/ecl/shared/models/eui-ecl-gallery-item.model.mjs +2 -0
- package/esm2022/ecl/shared/models/eui-ecl-language.model.mjs +2 -0
- package/esm2022/ecl/shared/models/eui-ecl-menu-item.model.mjs +2 -0
- package/esm2022/ecl/shared/models/index.mjs +8 -0
- package/esm2022/ecl/shared/services/eui-ecl-default-language.service.mjs +295 -0
- package/esm2022/ecl/shared/services/eui-ecl-language.service.mjs +3 -0
- package/esm2022/ecl/shared/services/eui-ecl-theme.service.mjs +46 -0
- package/esm2022/ecl/shared/services/index.mjs +4 -0
- package/esm2022/ecl/shared/utils/constants/constants.mjs +11 -0
- package/esm2022/ecl/shared/utils/constants/index.mjs +2 -0
- package/esm2022/ecl/shared/utils/directives/eui-ecl-click-outside/eui-ecl-click-outside.directive.mjs +31 -0
- package/esm2022/ecl/shared/utils/directives/eui-ecl-click-outside/index.mjs +2 -0
- package/esm2022/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.directive.mjs +24 -0
- package/esm2022/ecl/shared/utils/directives/eui-ecl-hidden/eui-ecl-hidden.module.mjs +18 -0
- package/esm2022/ecl/shared/utils/directives/eui-ecl-hidden/index.mjs +3 -0
- package/esm2022/ecl/shared/utils/directives/index.mjs +3 -0
- package/esm2022/ecl/shared/utils/dom/dom-helpers.mjs +29 -0
- package/esm2022/ecl/shared/utils/dom/index.mjs +2 -0
- package/esm2022/ecl/shared/utils/index.mjs +4 -0
- package/esm2022/ecl/webcomponents/ecl-message-wc/ecl-message-wc.component.mjs +33 -0
- package/esm2022/ecl/webcomponents/ecl-message-wc/eui-components-ecl-webcomponents-ecl-message-wc.mjs +5 -0
- package/esm2022/ecl/webcomponents/ecl-message-wc/index.mjs +3 -0
- package/esm2022/ecl/webcomponents/ecl-message-wc/module.mjs +27 -0
- package/esm2022/ecl/webcomponents/ecl-webcomponents-all/eui-components-ecl-webcomponents-ecl-webcomponents-all.mjs +5 -0
- package/esm2022/ecl/webcomponents/ecl-webcomponents-all/index.mjs +2 -0
- package/esm2022/ecl/webcomponents/ecl-webcomponents-all/module.mjs +20 -0
- package/esm2022/eui-alert/eui-alert.component.mjs +13 -14
- package/esm2022/eui-all/eui-all.module.mjs +5 -10
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +14 -82
- package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +5 -5
- package/esm2022/eui-badge/eui-badge.component.mjs +8 -8
- package/esm2022/eui-block-content/eui-block-content.component.mjs +5 -5
- package/esm2022/eui-block-content/eui-block-content.module.mjs +5 -5
- package/esm2022/eui-block-document/eui-block-document.component.mjs +5 -5
- package/esm2022/eui-block-document/eui-block-document.module.mjs +5 -5
- package/esm2022/eui-button/eui-button.component.mjs +14 -14
- package/esm2022/eui-button-group/eui-button-group.component.mjs +9 -9
- package/esm2022/eui-buttons/eui-buttons.component.mjs +17 -17
- package/esm2022/eui-card/components/eui-card-content/eui-card-content.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-buttons.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-action-icons.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer-menu-content.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-footer/eui-card-footer.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-left-content.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-right-content.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-subtitle.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-header/eui-card-header-title.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-header/eui-card-header.component.mjs +5 -15
- package/esm2022/eui-card/components/eui-card-header-body/eui-card-header-body.component.mjs +4 -4
- package/esm2022/eui-card/components/eui-card-media/eui-card-media.component.mjs +4 -4
- package/esm2022/eui-card/eui-card.component.mjs +12 -18
- package/esm2022/eui-card/eui-card.module.mjs +5 -5
- package/esm2022/eui-card/services/ui-state.service.mjs +4 -4
- package/esm2022/eui-chip/eui-chip.component.mjs +7 -7
- package/esm2022/eui-chip/eui-chip.module.mjs +5 -5
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +17 -17
- package/esm2022/eui-chip-list/eui-chip-list.module.mjs +5 -5
- package/esm2022/eui-chip-list/services/eui-chip-list-drag.service.mjs +4 -4
- package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +14 -14
- package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +12 -13
- package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +4 -5
- package/esm2022/eui-date-range-selector/eui-date-range-selector.module.mjs +5 -5
- package/esm2022/eui-datepicker/eui-datepicker.component.mjs +16 -37
- package/esm2022/eui-datepicker/eui-datepicker.module.mjs +5 -5
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +4 -4
- package/esm2022/eui-dialog/eui-dialog.component.mjs +16 -18
- package/esm2022/eui-dialog/eui-dialog.module.mjs +5 -5
- package/esm2022/eui-dialog/services/eui-dialog.service.mjs +4 -4
- package/esm2022/eui-dimmer/dimmer.component.mjs +5 -5
- package/esm2022/eui-dimmer/dimmer.module.mjs +5 -5
- package/esm2022/eui-disable-content/eui-disable-content.component.mjs +8 -8
- package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +8 -6
- package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +5 -5
- package/esm2022/eui-discussion-thread/eui-discussion-thread.module.mjs +8 -6
- package/esm2022/eui-dropdown/directives/eui-dropdown-content.directive.mjs +4 -4
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +7 -7
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +5 -5
- package/esm2022/eui-dropdown/eui-dropdown.module.mjs +9 -9
- package/esm2022/eui-dropdown/eui-dropdown.service.mjs +4 -4
- package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +4 -4
- package/esm2022/eui-feedback-message/eui-feedback-message.module.mjs +5 -5
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +16 -16
- package/esm2022/eui-fieldset/eui-fieldset.module.mjs +5 -5
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +9 -10
- package/esm2022/eui-file-upload/eui-file-upload.module.mjs +5 -5
- package/esm2022/eui-file-upload/file-preview/file-preview.component.mjs +28 -29
- package/esm2022/eui-file-upload/pipes/filesize.pipe.mjs +4 -4
- package/esm2022/eui-file-upload/progress/eui-file-upload-progress.component.mjs +4 -4
- package/esm2022/eui-file-upload/utils/eui-file-upload.utils.mjs +4 -4
- package/esm2022/eui-growl/eui-growl.component.mjs +7 -7
- package/esm2022/eui-growl/eui-growl.module.mjs +5 -5
- package/esm2022/eui-icon/eui-icon-color.component.mjs +4 -4
- package/esm2022/eui-icon/eui-icon-svg.component.mjs +4 -4
- package/esm2022/eui-icon/eui-icon.component.mjs +4 -4
- package/esm2022/eui-icon/eui-icon.module.mjs +5 -5
- package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +8 -11
- package/esm2022/eui-icon-toggle/eui-icon-toggle.module.mjs +5 -5
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +6 -7
- package/esm2022/eui-input-checkbox/eui-input-checkbox.module.mjs +5 -5
- package/esm2022/eui-input-group/eui-input-group.component.mjs +5 -5
- package/esm2022/eui-input-group/eui-input-group.module.mjs +5 -5
- package/esm2022/eui-input-number/eui-input-number.component.mjs +5 -5
- package/esm2022/eui-input-number/eui-input-number.module.mjs +5 -5
- package/esm2022/eui-input-number/eui-number-control.directive.mjs +4 -4
- package/esm2022/eui-input-radio/eui-input-radio.component.mjs +5 -5
- package/esm2022/eui-input-radio/eui-input-radio.module.mjs +5 -5
- package/esm2022/eui-input-text/eui-input-text.component.mjs +7 -7
- package/esm2022/eui-input-text/eui-input-text.module.mjs +5 -5
- package/esm2022/eui-label/eui-label.component.mjs +4 -4
- package/esm2022/eui-label/eui-label.module.mjs +5 -5
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +6 -6
- package/esm2022/eui-list/eui-list.component.mjs +5 -5
- package/esm2022/eui-list/eui-list.module.mjs +5 -5
- package/esm2022/eui-list/services/eui-list.service.mjs +4 -4
- package/esm2022/eui-menu/eui-menu-item.component.mjs +13 -13
- package/esm2022/eui-menu/eui-menu.component.mjs +5 -9
- package/esm2022/eui-menu/eui-menu.module.mjs +5 -5
- package/esm2022/eui-message-box/eui-message-box.component.mjs +13 -15
- package/esm2022/eui-message-box/eui-message-box.module.mjs +5 -5
- package/esm2022/eui-message-box/services/eui-message-box.service.mjs +4 -4
- package/esm2022/eui-overlay/components/eui-overlay-body/eui-overlay-body.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-footer/eui-overlay-footer.component.mjs +5 -5
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.mjs +7 -7
- package/esm2022/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.mjs +7 -7
- package/esm2022/eui-overlay/eui-overlay.component.mjs +8 -8
- package/esm2022/eui-page/components/eui-page-breadcrumb/eui-page-breadcrumb.component.mjs +4 -4
- package/esm2022/eui-page/components/eui-page-column/eui-page-column.component.mjs +31 -43
- package/esm2022/eui-page/components/eui-page-columns/eui-page-columns.component.mjs +6 -6
- package/esm2022/eui-page/components/eui-page-content/eui-page-content.component.mjs +4 -4
- package/esm2022/eui-page/components/eui-page-footer/eui-page-footer.component.mjs +4 -4
- package/esm2022/eui-page/components/eui-page-header/eui-page-header.component.mjs +11 -11
- package/esm2022/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.mjs +7 -7
- package/esm2022/eui-page/components/eui-page-top-content/eui-page-top-content.component.mjs +4 -4
- package/esm2022/eui-page/eui-page.component.mjs +5 -5
- package/esm2022/eui-page/eui-page.module.mjs +5 -5
- package/esm2022/eui-paginator/eui-paginator.component.mjs +6 -6
- package/esm2022/eui-paginator/eui-paginator.module.mjs +5 -5
- package/esm2022/eui-popover/directives/eui-popover-arrow-position.directive.mjs +4 -4
- package/esm2022/eui-popover/eui-popover.component.mjs +10 -13
- package/esm2022/eui-popover/eui-popover.module.mjs +5 -5
- package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +4 -4
- package/esm2022/eui-progress-bar/eui-progress-bar.module.mjs +5 -5
- package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +9 -9
- package/esm2022/eui-select/eui-select-control.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-multiple.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-mutli-option.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select-option.directive.mjs +4 -4
- package/esm2022/eui-select/eui-select.component.mjs +5 -5
- package/esm2022/eui-select/eui-select.module.mjs +5 -5
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +11 -19
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.module.mjs +5 -5
- package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +8 -14
- package/esm2022/eui-slide-toggle/eui-slide-toggle.module.mjs +5 -5
- package/esm2022/eui-table/directives/eui-table-sticky-columns.directive.mjs +4 -4
- package/esm2022/eui-table/eui-table.component.mjs +4 -6
- package/esm2022/eui-table/eui-table.module.mjs +5 -5
- package/esm2022/eui-table/expandable-row/eui-table-expandable-row.component.mjs +4 -4
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +4 -4
- package/esm2022/eui-table/pipes/eui-table-highlight-filter.pipe.mjs +4 -4
- package/esm2022/eui-table/selectable-header/eui-table-selectable-header.component.mjs +4 -4
- package/esm2022/eui-table/selectable-row/eui-table-selectable-row.component.mjs +4 -4
- package/esm2022/eui-table/services/eui-table-selectable-row.service.mjs +4 -4
- package/esm2022/eui-table/services/eui-table-sort.service.mjs +4 -4
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +4 -4
- package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +5 -5
- package/esm2022/eui-tabs/eui-tab-content/eui-tab-content.component.mjs +4 -4
- package/esm2022/eui-tabs/eui-tab-label/eui-tab-label.component.mjs +7 -7
- package/esm2022/eui-tabs/eui-tabs.component.mjs +8 -19
- package/esm2022/eui-tabs/eui-tabs.module.mjs +5 -5
- package/esm2022/eui-textarea/auto-resize.directive.mjs +4 -4
- package/esm2022/eui-textarea/eui-textarea.component.mjs +5 -5
- package/esm2022/eui-textarea/eui-textarea.module.mjs +5 -5
- package/esm2022/eui-timebar/eui-timebar.component.mjs +8 -8
- package/esm2022/eui-timeline/eui-timeline-item.component.mjs +4 -4
- package/esm2022/eui-timeline/eui-timeline.component.mjs +4 -4
- package/esm2022/eui-timeline/eui-timeline.module.mjs +5 -5
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +4 -4
- package/esm2022/eui-timepicker/eui-timepicker.module.mjs +5 -5
- package/esm2022/eui-tree/eui-dropdown-tree.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree-form-control.directive.mjs +8 -8
- package/esm2022/eui-tree/eui-tree.component.mjs +8 -8
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +4 -4
- package/esm2022/eui-wizard/eui-wizard.component.mjs +4 -4
- package/esm2022/eui-wizard/eui-wizard.module.mjs +5 -5
- package/esm2022/eui-wizard/services/eui-wizard.service.mjs +4 -4
- package/esm2022/externals/charts/chart/chart.component.mjs +4 -4
- package/esm2022/externals/charts/eui-charts.module.mjs +5 -5
- package/esm2022/externals/eui-editor/counters/eui-editor-counters.component.mjs +4 -4
- package/esm2022/externals/eui-editor/directives/eui-editor-maxlength.directive.mjs +4 -4
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +9 -170
- package/esm2022/externals/eui-editor/eui-editor.module.mjs +5 -5
- package/esm2022/externals/eui-editor/html-view/eui-editor-html-view.component.mjs +4 -4
- package/esm2022/externals/eui-editor/image-url-dialog/image-url-dialog.component.mjs +4 -4
- package/esm2022/externals/eui-editor/json-view/eui-editor-json-view.component.mjs +4 -4
- package/esm2022/externals/quill/quill-editor.component.mjs +4 -4
- package/esm2022/externals/quill/quill.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-footer/footer.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-header/header.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-body/sidebar-body.component.mjs +4 -4
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.mjs +7 -7
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.mjs +6 -6
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.mjs +6 -6
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +9 -10
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +8 -9
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.module.mjs +5 -5
- package/esm2022/layout/eui-app/eui-app.component.mjs +8 -8
- package/esm2022/layout/eui-app/eui-app.module.mjs +5 -5
- package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/layout/eui-breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +7 -7
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/layout/eui-footer/footer.component.mjs +5 -5
- package/esm2022/layout/eui-footer/footer.module.mjs +5 -5
- package/esm2022/layout/eui-header/header-app/header-app.component.mjs +13 -13
- package/esm2022/layout/eui-header/header-app-name/header-app-name.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-app-name-logo/header-app-name-logo.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-app-subtitle/header-app-subtitle.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-environment/header-environment.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-logo/header-logo.component.mjs +4 -4
- package/esm2022/layout/eui-header/header-user-profile/header-user-profile.component.mjs +4 -4
- package/esm2022/layout/eui-header/header.component.mjs +6 -6
- package/esm2022/layout/eui-header/header.module.mjs +5 -5
- package/esm2022/layout/eui-language-selector/language-selector.component.mjs +7 -7
- package/esm2022/layout/eui-language-selector/language-selector.module.mjs +5 -5
- package/esm2022/layout/eui-language-selector/modal-selector/modal-selector.component.mjs +5 -5
- package/esm2022/layout/eui-layout.module.mjs +5 -5
- package/esm2022/layout/eui-notifications/eui-notification-item.component.mjs +4 -4
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +4 -4
- package/esm2022/layout/eui-notifications/eui-notifications.module.mjs +5 -5
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +4 -4
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +4 -4
- package/esm2022/layout/eui-notifications-v2/eui-notifications.module.mjs +5 -5
- package/esm2022/layout/eui-search/search.component.mjs +4 -4
- package/esm2022/layout/eui-search/search.module.mjs +5 -5
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.component.mjs +4 -4
- package/esm2022/layout/eui-sidebar-toggle/sidebar-toggle.module.mjs +5 -5
- package/esm2022/layout/eui-toolbar/toolbar-app/toolbar-app.component.mjs +6 -6
- package/esm2022/layout/eui-toolbar/toolbar-center/toolbar-center.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.mjs +6 -6
- package/esm2022/layout/eui-toolbar/toolbar-item/toolbar-item.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-item-notifications/toolbar-item-notifications.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-item-search/toolbar-item-search.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-item-user-profile/toolbar-item-user-profile.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-items/toolbar-items.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-logo/toolbar-logo.component.mjs +4 -4
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +12 -12
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +6 -6
- package/esm2022/layout/eui-toolbar/toolbar.module.mjs +5 -5
- package/esm2022/layout/eui-user-profile/user-profile-card/user-profile-card.component.mjs +4 -4
- package/esm2022/layout/eui-user-profile/user-profile-menu/user-profile-menu.component.mjs +4 -4
- package/esm2022/layout/eui-user-profile/user-profile-menu-item/user-profile-menu-item.component.mjs +4 -4
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +6 -6
- package/esm2022/layout/eui-user-profile/user-profile.module.mjs +5 -5
- package/esm2022/pipes/eui-is-empty.pipe.mjs +8 -8
- package/esm2022/pipes/eui-truncate.pipe.mjs +8 -8
- package/esm2022/shared/base/base-states.directive.mjs +4 -4
- package/esm2022/shared/base/base.directive.mjs +4 -4
- package/esm2022/shared/eui-common-header/common-header.component.mjs +9 -9
- package/esm2022/shared/eui-expand-content/eui-expand-content.component.mjs +9 -9
- package/esm2022/shared/input.directive.mjs +4 -4
- package/eui-alert/eui-alert.component.d.ts +2 -2
- package/eui-alert/eui-alert.component.d.ts.map +1 -1
- package/eui-all/eui-all.module.d.ts +23 -24
- package/eui-all/eui-all.module.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.component.d.ts +4 -26
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-badge/eui-badge.component.d.ts +1 -1
- package/eui-badge/eui-badge.component.d.ts.map +1 -1
- package/eui-buttons/eui-buttons.component.d.ts +5 -2
- package/eui-buttons/eui-buttons.component.d.ts.map +1 -1
- package/eui-card/components/eui-card-header/eui-card-header.component.d.ts +1 -5
- package/eui-card/components/eui-card-header/eui-card-header.component.d.ts.map +1 -1
- package/eui-card/eui-card.component.d.ts +1 -3
- package/eui-card/eui-card.component.d.ts.map +1 -1
- package/eui-chip-list/eui-chip-list.component.d.ts +5 -20
- package/eui-chip-list/eui-chip-list.component.d.ts.map +1 -1
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts +3 -3
- package/eui-dashboard-card/eui-dashboard-card.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts +0 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts +1 -10
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-dialog/eui-dialog.component.d.ts +3 -3
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-disable-content/eui-disable-content.component.d.ts.map +1 -1
- package/eui-discussion-thread/eui-discussion-thread.module.d.ts +3 -1
- package/eui-discussion-thread/eui-discussion-thread.module.d.ts.map +1 -1
- package/eui-fieldset/eui-fieldset.component.d.ts +2 -2
- package/eui-fieldset/eui-fieldset.component.d.ts.map +1 -1
- package/eui-file-upload/eui-file-upload.component.d.ts +4 -4
- package/eui-file-upload/eui-file-upload.component.d.ts.map +1 -1
- package/eui-file-upload/file-preview/file-preview.component.d.ts +1 -0
- package/eui-file-upload/file-preview/file-preview.component.d.ts.map +1 -1
- package/eui-file-upload/pipes/filesize.pipe.d.ts.map +1 -1
- package/eui-growl/eui-growl.component.d.ts +4 -11
- package/eui-growl/eui-growl.component.d.ts.map +1 -1
- package/eui-icon-toggle/eui-icon-toggle.component.d.ts.map +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts +1 -1
- package/eui-input-checkbox/eui-input-checkbox.component.d.ts.map +1 -1
- package/eui-menu/eui-menu-item.component.d.ts +3 -3
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts +1 -6
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-message-box/eui-message-box.component.d.ts +3 -3
- package/eui-message-box/eui-message-box.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header-title/eui-overlay-header-title.component.d.ts.map +1 -1
- package/eui-overlay/components/eui-overlay-header/eui-overlay-header.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts +3 -7
- package/eui-page/components/eui-page-column/eui-page-column.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-columns/eui-page-columns.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-footer/eui-page-footer.component.d.ts.map +1 -1
- package/eui-page/components/eui-page-hero-header/eui-page-hero-header.component.d.ts.map +1 -1
- package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.component.d.ts +3 -4
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts +3 -6
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts +2 -4
- package/eui-slide-toggle/eui-slide-toggle.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts +1 -5
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/eui-tabs/eui-tabs.component.d.ts +1 -11
- package/eui-tabs/eui-tabs.component.d.ts.map +1 -1
- package/externals/eui-editor/eui-editor.component.d.ts +1 -73
- package/externals/eui-editor/eui-editor.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +77 -82
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-ecl-eui-ecl-banner.mjs +274 -0
- package/fesm2022/eui-components-ecl-eui-ecl-banner.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-button.mjs +89 -0
- package/fesm2022/eui-components-ecl-eui-ecl-button.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-carousel.mjs +402 -0
- package/fesm2022/eui-components-ecl-eui-ecl-carousel.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-icon.mjs +145 -0
- package/fesm2022/eui-components-ecl-eui-ecl-icon.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-label.mjs +48 -0
- package/fesm2022/eui-components-ecl-eui-ecl-label.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-link.mjs +140 -0
- package/fesm2022/eui-components-ecl-eui-ecl-link.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-eui-ecl-message.mjs +125 -0
- package/fesm2022/eui-components-ecl-eui-ecl-message.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-shared.mjs +507 -0
- package/fesm2022/eui-components-ecl-shared.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-webcomponents-ecl-message-wc.mjs +63 -0
- package/fesm2022/eui-components-ecl-webcomponents-ecl-message-wc.mjs.map +1 -0
- package/fesm2022/eui-components-ecl-webcomponents-ecl-webcomponents-all.mjs +27 -0
- package/fesm2022/eui-components-ecl-webcomponents-ecl-webcomponents-all.mjs.map +1 -0
- package/fesm2022/eui-components-eui-alert.mjs +12 -13
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-all.mjs +4 -9
- package/fesm2022/eui-components-eui-all.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +17 -85
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +7 -7
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +8 -8
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +8 -8
- package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-group.mjs +8 -8
- package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button.mjs +13 -13
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-buttons.mjs +16 -16
- package/fesm2022/eui-components-eui-buttons.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +55 -71
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +23 -23
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +10 -10
- package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-button.mjs +13 -13
- package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +11 -12
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +7 -8
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-datepicker.mjs +19 -40
- package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dialog.mjs +25 -27
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dimmer.mjs +8 -8
- package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
- package/fesm2022/eui-components-eui-disable-content.mjs +7 -7
- package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +18 -14
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +24 -24
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-feedback-message.mjs +7 -7
- package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +19 -19
- package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +48 -50
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +10 -10
- package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +11 -14
- package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +13 -13
- package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-checkbox.mjs +9 -10
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +8 -8
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +11 -11
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +8 -8
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +10 -10
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +7 -7
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +16 -16
- package/fesm2022/eui-components-eui-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +20 -24
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-message-box.mjs +19 -21
- package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +26 -26
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +69 -81
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-paginator.mjs +9 -9
- package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +16 -19
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +7 -7
- package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs +8 -8
- package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-select.mjs +20 -20
- package/fesm2022/eui-components-eui-select.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +14 -22
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +11 -17
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +34 -36
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +24 -35
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +11 -11
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +7 -7
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +10 -10
- package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +7 -7
- package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +21 -21
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +13 -13
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +7 -7
- package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +27 -188
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +7 -7
- package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +269 -271
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/fesm2022/eui-components-pipes.mjs +14 -14
- package/fesm2022/eui-components-pipes.mjs.map +1 -1
- package/fesm2022/eui-components-shared-base.mjs +6 -6
- package/fesm2022/eui-components-shared-base.mjs.map +1 -1
- package/fesm2022/eui-components-shared.mjs +19 -19
- package/fesm2022/eui-components-shared.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-drawer/sidebar-drawer.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts +2 -2
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts +2 -2
- package/layout/eui-app/eui-app-top-message/top-message.component.d.ts.map +1 -1
- package/layout/eui-header/header.component.d.ts.map +1 -1
- package/layout/eui-language-selector/language-selector.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-app/toolbar-app.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-environment/toolbar-environment.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts +2 -2
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar.component.d.ts.map +1 -1
- package/package.json +78 -24
- package/pipes/eui-truncate.pipe.d.ts.map +1 -1
- package/esm2022/eui-picker/eui-components-eui-picker.mjs +0 -5
- package/esm2022/eui-picker/eui-picker.component.mjs +0 -164
- package/esm2022/eui-picker/eui-picker.module.mjs +0 -41
- package/esm2022/eui-picker/index.mjs +0 -4
- package/esm2022/eui-picker/modal-picker/eui-modal-picker.component.mjs +0 -72
- package/esm2022/eui-picker/models/eui-picker-item.model.mjs +0 -7
- package/eui-picker/eui-components-eui-picker.d.ts.map +0 -1
- package/eui-picker/eui-picker.component.d.ts +0 -55
- package/eui-picker/eui-picker.component.d.ts.map +0 -1
- package/eui-picker/eui-picker.module.d.ts +0 -16
- package/eui-picker/eui-picker.module.d.ts.map +0 -1
- package/eui-picker/index.d.ts +0 -4
- package/eui-picker/index.d.ts.map +0 -1
- package/eui-picker/modal-picker/eui-modal-picker.component.d.ts +0 -22
- package/eui-picker/modal-picker/eui-modal-picker.component.d.ts.map +0 -1
- package/eui-picker/models/eui-picker-item.model.d.ts +0 -7
- package/eui-picker/models/eui-picker-item.model.d.ts.map +0 -1
- package/fesm2022/eui-components-eui-picker.mjs +0 -277
- package/fesm2022/eui-components-eui-picker.mjs.map +0 -1
@@ -48,55 +48,6 @@ export class EuiEditorComponent {
|
|
48
48
|
set isMinimalToolbar(value) {
|
49
49
|
this._isMinimalToolbar = coerceBooleanProperty(value);
|
50
50
|
}
|
51
|
-
/** @deprecated This will be removed in next version of eui */
|
52
|
-
get isRequired() {
|
53
|
-
return this._isRequired;
|
54
|
-
}
|
55
|
-
set isRequired(value) {
|
56
|
-
this._isRequired = coerceBooleanProperty(value);
|
57
|
-
}
|
58
|
-
/** @deprecated This will be removed in next version of eui */
|
59
|
-
get isEditable() {
|
60
|
-
return this._isEditable;
|
61
|
-
}
|
62
|
-
set isEditable(value) {
|
63
|
-
this._isEditable = coerceBooleanProperty(value);
|
64
|
-
}
|
65
|
-
/** @deprecated This will be removed in next version of eui */
|
66
|
-
get hasReadOnlyStyles() {
|
67
|
-
return this._hasReadOnlyStyles;
|
68
|
-
}
|
69
|
-
set hasReadOnlyStyles(value) {
|
70
|
-
this._hasReadOnlyStyles = coerceBooleanProperty(value);
|
71
|
-
}
|
72
|
-
/** @deprecated This will be removed in next version of eui */
|
73
|
-
get strict() {
|
74
|
-
return this._strict;
|
75
|
-
}
|
76
|
-
set strict(value) {
|
77
|
-
this._strict = coerceBooleanProperty(value);
|
78
|
-
}
|
79
|
-
/** @deprecated This will be removed in next version of eui */
|
80
|
-
get preserveWhitespace() {
|
81
|
-
return this._preserveWhitespace;
|
82
|
-
}
|
83
|
-
set preserveWhitespace(value) {
|
84
|
-
this._preserveWhitespace = coerceBooleanProperty(value);
|
85
|
-
}
|
86
|
-
/** @deprecated This will be removed in next version of eui */
|
87
|
-
get spellcheck() {
|
88
|
-
return this._spellcheck;
|
89
|
-
}
|
90
|
-
set spellcheck(value) {
|
91
|
-
this._spellcheck = coerceBooleanProperty(value);
|
92
|
-
}
|
93
|
-
/** @deprecated This will be removed in next version of eui */
|
94
|
-
get isImageUrl() {
|
95
|
-
return this._isImageUrl;
|
96
|
-
}
|
97
|
-
set isImageUrl(value) {
|
98
|
-
this._isImageUrl = coerceBooleanProperty(value);
|
99
|
-
}
|
100
51
|
get isInvalid() {
|
101
52
|
return this._isInvalid;
|
102
53
|
}
|
@@ -114,51 +65,12 @@ export class EuiEditorComponent {
|
|
114
65
|
this.debug = false;
|
115
66
|
this.customToolbarPosition = 'top';
|
116
67
|
this.tabindex = '0';
|
117
|
-
/** @deprecated This will be removed in next version of eui */
|
118
|
-
this.style = null;
|
119
|
-
/** @deprecated This will be removed in next version of eui */
|
120
|
-
this.feedbackTypeClass = 'danger';
|
121
|
-
/** @deprecated This will be removed in next version of eui */
|
122
|
-
this.customOptions = [];
|
123
|
-
/** @deprecated This will be removed in next version of eui */
|
124
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
125
|
-
this.onInit = new EventEmitter();
|
126
|
-
/** @deprecated This will be removed in next version of eui */
|
127
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
128
|
-
this.onTextChange = new EventEmitter();
|
129
|
-
/** @deprecated This will be removed in next version of eui */
|
130
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
131
|
-
this.onSelectionChange = new EventEmitter();
|
132
|
-
/** @deprecated This will be removed in next version of eui */
|
133
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
134
|
-
this.onEditorCreated = new EventEmitter();
|
135
|
-
/** @deprecated This will be removed in next version of eui */
|
136
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
137
|
-
this.onEditorChanged = new EventEmitter();
|
138
|
-
/** @deprecated This will be removed in next version of eui */
|
139
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
140
|
-
this.onContentChanged = new EventEmitter();
|
141
|
-
/** @deprecated This will be removed in next version of eui */
|
142
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
143
|
-
this.onSelectionChanged = new EventEmitter();
|
144
|
-
/** @deprecated This will be removed in next version of eui */
|
145
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
146
|
-
this.onFocus = new EventEmitter();
|
147
|
-
/** @deprecated This will be removed in next version of eui */
|
148
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
149
|
-
this.onBlur = new EventEmitter();
|
150
|
-
/** @deprecated This will be removed in next version of eui */
|
151
|
-
this.getCharactersCounter = new EventEmitter();
|
152
|
-
/** @deprecated This will be removed in next version of eui */
|
153
|
-
this.getWordsCounter = new EventEmitter();
|
154
68
|
// NEW OUTPUTS => eUI13+ only
|
155
69
|
this.editorCreate = new EventEmitter();
|
156
70
|
this.editorChange = new EventEmitter();
|
157
71
|
this.contentChange = new EventEmitter();
|
158
72
|
this.selectionChange = new EventEmitter();
|
159
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
160
73
|
this.focus = new EventEmitter();
|
161
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
162
74
|
this.blur = new EventEmitter();
|
163
75
|
this.charactersCountChange = new EventEmitter();
|
164
76
|
this.wordsCountChange = new EventEmitter();
|
@@ -172,13 +84,6 @@ export class EuiEditorComponent {
|
|
172
84
|
this._showCounters = true;
|
173
85
|
this._isEnabledOnFocus = false;
|
174
86
|
this._isMinimalToolbar = false;
|
175
|
-
this._isRequired = false;
|
176
|
-
this._isEditable = false;
|
177
|
-
this._hasReadOnlyStyles = false;
|
178
|
-
this._strict = true;
|
179
|
-
this._preserveWhitespace = false;
|
180
|
-
this._spellcheck = false;
|
181
|
-
this._isImageUrl = false;
|
182
87
|
this._isInvalid = false;
|
183
88
|
this.minimalToolbarConfig = [
|
184
89
|
{ name: 'headings' },
|
@@ -364,12 +269,10 @@ export class EuiEditorComponent {
|
|
364
269
|
quill.clipboard.addMatcher('PICTURE', (element, delta) => new Delta().insert(''));
|
365
270
|
}
|
366
271
|
this.editorCreate.emit(quill);
|
367
|
-
this.onEditorCreated.emit(quill); // DEPRECATED in eUI15+
|
368
272
|
}
|
369
273
|
_onEditorChanged(event) {
|
370
274
|
console.warn('onEditorChanged() event is DEPRECATED please use contentChange() event instead.');
|
371
275
|
this.editorChange.emit(event);
|
372
|
-
this.onEditorChanged.emit(event); // DEPRECATED in eUI15+
|
373
276
|
}
|
374
277
|
_onContentChanged(event) {
|
375
278
|
if (this.format === 'html') {
|
@@ -392,23 +295,19 @@ export class EuiEditorComponent {
|
|
392
295
|
}
|
393
296
|
}
|
394
297
|
this.contentChange.emit(event); // New emitter
|
395
|
-
this.onContentChanged.emit(event); // DEPRECATED in eUI15+
|
396
298
|
this._onEditorChanged(event); // Sync with editor change event since it's duplicated event
|
397
299
|
}
|
398
300
|
_onSelectionChanged(event) {
|
399
301
|
this.selectionChange.emit(event);
|
400
|
-
this.onSelectionChanged.emit(event); // DEPRECATED in eUI15+
|
401
302
|
}
|
402
303
|
_onFocus(event) {
|
403
304
|
this.isFocused = true;
|
404
305
|
this.focus.emit(event);
|
405
|
-
this.onFocus.emit(event); // DEPRECATED in eUI15+
|
406
306
|
}
|
407
307
|
_onBlur(event) {
|
408
308
|
this.isFocused = false;
|
409
309
|
this.onTouch();
|
410
310
|
this.blur.emit(event);
|
411
|
-
this.onBlur.emit(event); // DEPRECATED in eUI15+
|
412
311
|
}
|
413
312
|
registerOnChange(fn) {
|
414
313
|
this.onChange = fn;
|
@@ -487,9 +386,7 @@ export class EuiEditorComponent {
|
|
487
386
|
}
|
488
387
|
}
|
489
388
|
this.charactersCountChange.emit(this.charactersCount);
|
490
|
-
this.getCharactersCounter.emit(this.charactersCount); // DEPRECATED
|
491
389
|
this.wordsCountChange.emit(this.wordsCount);
|
492
|
-
this.getWordsCounter.emit(this.wordsCount); // DEPRECATED
|
493
390
|
}
|
494
391
|
stripHtml(content) {
|
495
392
|
const regex = /(<([^>]+)>)/gm;
|
@@ -502,18 +399,18 @@ export class EuiEditorComponent {
|
|
502
399
|
const contentToReplace = content.replace(exceptTags, '').replace(regex, ' ').replace(' ', ' ');
|
503
400
|
return contentToReplace.replace(/[\u200B-\u200D\uFEFF]/g, '');
|
504
401
|
}
|
505
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-
|
506
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-
|
402
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: EuiEditorComponent, deps: [{ token: i1.EuiDialogService }, { token: i2.NgControl }], target: i0.ɵɵFactoryTarget.Component }); }
|
403
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: EuiEditorComponent, selector: "eui-editor", inputs: { e2eAttr: "e2eAttr", id: "id", styleClass: "styleClass", placeholder: "placeholder", format: "format", theme: "theme", debug: "debug", customToolbarPosition: "customToolbarPosition", tabindex: "tabindex", modules: "modules", formats: "formats", customToolbarConfig: "customToolbarConfig", height: "height", isReadOnly: "isReadOnly", showCounters: "showCounters", isEnabledOnFocus: "isEnabledOnFocus", isMinimalToolbar: "isMinimalToolbar" }, outputs: { editorCreate: "editorCreate", editorChange: "editorChange", contentChange: "contentChange", selectionChange: "selectionChange", focus: "focus", blur: "blur", charactersCountChange: "charactersCountChange", wordsCountChange: "wordsCountChange" }, host: { properties: { "class.eui-editor": "this.true", "attr.readonly": "this.readonly", "attr.aria-invalid": "this.isInvalid" } }, providers: [
|
507
404
|
// TODO: Check to change the providing way. Provide with injector reference
|
508
405
|
EuiDialogService,
|
509
|
-
], queries: [{ propertyName: "euiEditorCustomToolbar", first: true, predicate: i0.forwardRef(() => EuiEditorCustomToolbarTagDirective), descendants: true }], ngImport: i0, template: "<div [hidden]=\"isReadOnly\" class=\"eui-editor-wrapper\" [style.height]=\"height + 'px'\">\n <quill-editor\n [id]=\"generatedId\"\n class=\"eui-editor {{ styleClass }}\"\n [class.eui-editor--focused]=\"isFocused\"\n [format]=\"format\"\n [formats]=\"formats\"\n [sanitize]=\"true\"\n [modules]=\"modules\"\n [theme]=\"theme\"\n [placeholder]=\"placeholder\"\n [styles]=\"style\"\n [customToolbarPosition]=\"customToolbarPosition\"\n [formControl]=\"formControl\"\n [debug]=\"debug\"\n [tabindex]=\"tabindex\"\n [preserveWhitespace]=\"true\"\n [hasImageFeature]=\"hasImageFeature\"\n (onEditorCreated)=\"_onEditorCreated($event)\"\n (onEditorChanged)=\"_onEditorChanged($event)\"\n (onContentChanged)=\"_onContentChanged($event)\"\n (onSelectionChanged)=\"_onSelectionChanged($event)\"\n (onFocus)=\"_onFocus($event)\"\n (onBlur)=\"_onBlur($event)\">\n <div *ngIf=\"!euiEditorCustomToolbar\" quill-editor-toolbar>\n <div\n *ngIf=\"toolbarConfig.headings\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select headings style\"\n euiTooltip=\"{{ toolbarConfig.headings.label }}\">\n <select class=\"ql-header\" [attr.aria-label]=\"toolbarConfig.headings.label\">\n <option value=\"{{ value }}\" *ngFor=\"let value of toolbarConfig.headings.options\">Heading {{ value }}</option>\n <option selected>Normal</option>\n </select>\n </div>\n <div\n *ngIf=\"toolbarConfig.font\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select font style\"\n euiTooltip=\"{{ toolbarConfig.font.label }}\">\n <select class=\"ql-font\" [attr.aria-label]=\"toolbarConfig.font.label\">\n <option selected>Sans Serif</option>\n <option value=\"serif\">Serif</option>\n <option value=\"monospace\">Monospace</option>\n </select>\n </div>\n <div *ngIf=\"toolbarConfig.bold || toolbarConfig.italic || toolbarConfig.underline || toolbarConfig.strike\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.bold\"\n class=\"ql-bold\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bold.label\"\n euiTooltip=\"{{ toolbarConfig.bold.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.italic\"\n class=\"ql-italic\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.italic.label\"\n euiTooltip=\"{{ toolbarConfig.italic.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.underline\"\n class=\"ql-underline\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.underline.label\"\n euiTooltip=\"{{ toolbarConfig.underline.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.strike\"\n class=\"ql-strike\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.strike.label\"\n euiTooltip=\"{{ toolbarConfig.strike.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.fontColor || toolbarConfig.fontBackground\" class=\"ql-formats\">\n <span *ngIf=\"toolbarConfig.fontColor\" euiTooltip=\"{{ toolbarConfig.fontColor.label }}\">\n <select class=\"ql-color\" [attr.aria-label]=\"toolbarConfig.fontColor.label\"></select>\n </span>\n <span *ngIf=\"toolbarConfig.fontBackground\" euiTooltip=\"{{ toolbarConfig.fontBackground.label }}\">\n <select class=\"ql-background\" [attr.aria-label]=\"toolbarConfig.fontBackground.label\"></select>\n </span>\n </div>\n <div *ngIf=\"toolbarConfig.subscript || toolbarConfig.superscript\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.subscript\"\n class=\"ql-script\"\n value=\"sub\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.subscript.label\"\n euiTooltip=\"{{ toolbarConfig.subscript.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.superscript\"\n class=\"ql-script\"\n value=\"super\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.superscript.label\"\n euiTooltip=\"{{ toolbarConfig.superscript.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.textAlign\" class=\"ql-formats\">\n <span euiTooltip=\"{{ toolbarConfig.textAlign.label }}\">\n <select class=\"ql-align\" [attr.aria-label]=\"toolbarConfig.textAlign.label\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n </div>\n <div\n *ngIf=\"toolbarConfig.orderedList || toolbarConfig.bulletList || toolbarConfig.indentLess || toolbarConfig.indentMore\"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.orderedList\"\n class=\"ql-list\"\n value=\"ordered\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.orderedList.label\"\n euiTooltip=\"{{ toolbarConfig.orderedList.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.bulletList\"\n class=\"ql-list\"\n value=\"bullet\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bulletList.label\"\n euiTooltip=\"{{ toolbarConfig.bulletList.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentLess\"\n class=\"ql-indent\"\n value=\"-1\"\n [attr.aria-label]=\"toolbarConfig.indentLess.label\"\n euiTooltip=\"{{ toolbarConfig.indentLess.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentMore\"\n class=\"ql-indent\"\n value=\"+1\"\n [attr.aria-label]=\"toolbarConfig.indentMore.label\"\n euiTooltip=\"{{ toolbarConfig.indentMore.label }}\">\n </button>\n </div>\n <div\n *ngIf=\"\n toolbarConfig.blockquote ||\n toolbarConfig.codeBlock ||\n toolbarConfig.link ||\n toolbarConfig.image ||\n toolbarConfig.imageUrl ||\n toolbarConfig.video ||\n toolbarConfig.table\n \"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.blockquote\"\n class=\"ql-blockquote\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.blockquote.label\"\n euiTooltip=\"{{ toolbarConfig.blockquote.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.codeBlock\"\n class=\"ql-code-block\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.codeBlock.label\"\n euiTooltip=\"{{ toolbarConfig.codeBlock.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.link\"\n class=\"ql-link\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.link.label\"\n euiTooltip=\"{{ toolbarConfig.link.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.image\"\n class=\"ql-image\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.image.label\"\n euiTooltip=\"{{ toolbarConfig.image.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.imageUrl\"\n [attr.aria-label]=\"toolbarConfig.imageUrl.label\"\n euiTooltip=\"{{ toolbarConfig.imageUrl.label }}\"\n (click)=\"imageUrlHandler()\">\n <eui-icon-svg icon=\"eui-image-add\"></eui-icon-svg>\n </button>\n <button\n *ngIf=\"toolbarConfig.video\"\n class=\"ql-video\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.video.label\"\n euiTooltip=\"{{ toolbarConfig.video.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.table\"\n [attr.aria-label]=\"toolbarConfig.table.label\"\n euiTooltip=\"{{ toolbarConfig.table.label }}\"\n (click)=\"insertTable()\">\n <eui-icon-svg icon=\"eui-ecl-spreadsheet\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.clean || toolbarConfig.delete\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.clean\"\n class=\"ql-clean\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.clean.label\"\n euiTooltip=\"{{ toolbarConfig.clean.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.delete\"\n [attr.aria-label]=\"toolbarConfig.delete.label\"\n euiTooltip=\"{{ toolbarConfig.delete.label }}\"\n (click)=\"editorDeleteContent()\">\n <eui-icon-svg icon=\"eui-delete-forever\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.undo || toolbarConfig.redo\" class=\"ql-formats\">\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.undo\"\n [attr.aria-label]=\"toolbarConfig.undo.label\"\n euiTooltip=\"{{ toolbarConfig.undo.label }}\"\n (click)=\"editorUndo()\">\n <eui-icon-svg icon=\"eui-undo\"></eui-icon-svg>\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.redo\"\n [attr.aria-label]=\"toolbarConfig.redo.label\"\n euiTooltip=\"{{ toolbarConfig.redo.label }}\"\n (click)=\"editorRedo()\">\n <eui-icon-svg icon=\"eui-redo\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.counters\" class=\"ql-formats\">\n <eui-editor-counters\n [hasCharactersCounter]=\"hasCharactersCounter\"\n [charactersCounter]=\"charactersCount\"\n [charactersLabel]=\"charactersCounterLabel\"\n [hasWordsCounter]=\"hasWordsCounter\"\n [wordsCounter]=\"wordsCount\"\n [wordsLabel]=\"wordsCounterLabel\"\n [attr.aria-label]=\"toolbarConfig.counters.label\"\n role=\"button\"\n euiTooltip=\"{{ toolbarConfig.counters.label }}\">\n </eui-editor-counters>\n </div>\n </div>\n <div *ngIf=\"euiEditorCustomToolbar\" quill-editor-toolbar>\n <ng-content select=\"euiEditorCustomToolbar\"></ng-content>\n </div>\n </quill-editor>\n</div>\n\n<!-- READONLY MODE -->\n<div\n [hidden]=\"!isReadOnly\"\n class=\"eui-editor eui-editor--readonly {{ styleClass }}\"\n [class.eui-editor--empty]=\"!value\"\n tabindex=\"{{ tabindex }}\"\n (click)=\"enableEditorOnFocus()\"\n (focusin)=\"enableEditorOnFocus()\">\n <eui-editor-html-view *ngIf=\"format === 'html'\" [content]=\"value\" [theme]=\"theme\"></eui-editor-html-view>\n <eui-editor-json-view *ngIf=\"format === 'json'\" [content]=\"jsonToHtmlContent\" [theme]=\"theme\"></eui-editor-json-view>\n</div>\n", styles: ["@charset \"UTF-8\";.qlbt-operation-menu .qlbt-operation-color-picker{padding:0 12px 10px!important}.eui-editor{--editor-base-font-size: calc(var(--eui-base-font-size-m) + 1px);--editor-base-line-height: 1.25;--editor-paragraph-spacer: var(--eui-base-spacing-m);--editor-lists-spacer: var(--eui-base-spacing-s);--picker-font-size: var(--eui-base-font-size-s);--picker-height: var(--eui-base-spacing-xl);--picker-width: calc(6 * var(--eui-base-spacing-m));--button-height: var(--eui-base-spacing-xl);--button-width: var(--eui-base-spacing-xl)}.eui-editor .ql-container{box-sizing:border-box;font-size:var(--eui-base-font-size);height:100%;margin:0;position:relative;resize:vertical;white-space:pre-wrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-container.ql-snow .ql-tooltip{align-items:center;display:flex;background:var(--eui-base-color-primary-5);box-shadow:var(--eui-base-shadow-z-depth-1);left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing{align-items:center;display:flex;left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block;width:100%}.eui-editor .ql-container.ql-snow a.ql-preview{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top;width:100%}.eui-editor .ql-toolbar{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-35);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow{box-sizing:border-box}.eui-editor .ql-toolbar.ql-snow .ql-formats{align-items:center;background-color:var(--eui-base-color-grey-2);border:1px solid var(--eui-base-color-grey-35);border-radius:5px;display:inline-flex;margin-bottom:var(--eui-base-spacing-xs);margin-right:var(--eui-base-spacing-xs);vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker{align-items:center;color:var(--eui-base-color-grey-darker);display:inline-flex;height:var(--picker-height);max-height:var(--picker-height);position:relative;vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active,.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker .ql-picker-label{align-items:center;border-color:transparent;display:flex;font-size:var(--picker-font-size)}.eui-editor .ql-toolbar.ql-snow .ql-formats select{background-color:transparent}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active,.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats button{align-items:center;background-color:transparent;border:0 solid var(--eui-base-color-grey-50);box-shadow:none;color:var(--eui-base-color-grey-75);cursor:pointer;display:inline-flex;height:var(--button-height);justify-content:center;min-width:var(--button-width)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.active,.eui-editor .ql-toolbar.ql-snow .ql-formats button.ql-active{background:var(--eui-base-color-accent);color:var(--eui-base-color-primary)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:first-child{border-radius:5px 0 0 5px}.eui-editor .ql-toolbar.ql-snow .ql-formats button:last-child{border-radius:0 5px 5px 0}.eui-editor .ql-toolbar.ql-snow .ql-formats button .eui-icon{font-size:var(--eui-base-font-size-2xl)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active,.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters{align-items:center;cursor:auto;display:inline-flex;width:auto}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter{color:var(--eui-base-color-info);font-size:var(--eui-base-font-size-s);font-weight:900}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter.chars-counter--error{color:var(--eui-base-color-danger)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-label{color:var(--eui-base-color-grey-dark);font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker{height:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-2xs) 0;width:calc(7 * var(--eui-base-spacing-m))}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before{content:\"Small\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smaller]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{content:\"Smaller\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smallest]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{content:\"Smallest\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before{content:\"Large\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-small{font-size:var(--eui-base-font-size-s)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{font-size:var(--eui-base-font-size-2xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-large{font-size:var(--eui-base-font-size-xl)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-huge{font-size:var(--eui-base-font-size-4xl)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"1\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"2\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"3\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"4\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"5\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"6\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item:before{content:\"Sans Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=serif]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=monospace]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=sans-serif]:before{font-family:arial,sans-serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{font-family:times new roman,serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{font-family:courier new,monospace!important}.eui-editor .ql-toolbar.ql-snow .ql-color-picker{width:var(--eui-base-spacing-xl)}.eui-editor .ql-toolbar .eui-editor-custom-toolbar{display:inline-flex;margin:0;padding:0;vertical-align:middle}.eui-editor .ql-editor{box-sizing:border-box;height:100%;line-height:var(--editor-base-line-height);outline:none;overflow-y:auto;padding:var(--eui-base-spacing-s);tab-size:4;text-align:left;white-space:inherit;word-break:normal;word-wrap:break-word;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor h1{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h2{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-editor h3{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-editor h4{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h5{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h6{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor .h7{font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h8{font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h9{font:normal normal 400 .625rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor p{margin-bottom:var(--editor-paragraph-spacer)}.eui-editor .ql-editor p:first-child{margin-top:0}.eui-editor .ql-editor p:last-child{margin-bottom:0}.eui-editor .ql-editor em,.eui-editor .ql-editor i{font-style:italic!important}.eui-editor .ql-editor strong,.eui-editor .ql-editor b{font-weight:700!important}.eui-editor .ql-editor strong em,.eui-editor .ql-editor strong i,.eui-editor .ql-editor b em,.eui-editor .ql-editor b i{font-style:italic!important;font-weight:700!important}.eui-editor .ql-editor strong em u,.eui-editor .ql-editor strong i u,.eui-editor .ql-editor b em u,.eui-editor .ql-editor b i u{text-decoration:underline!important}.eui-editor .ql-editor blockquote{border-left:var(--eui-base-spacing-xs) solid var(--eui-base-color-grey-75);margin-bottom:0;margin-top:0;padding-left:var(--eui-base-spacing-m)}.eui-editor .ql-editor code,.eui-editor .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.eui-editor .ql-editor pre{margin-bottom:var(--eui-base-spacing-xs);margin-top:var(--eui-base-spacing-xs);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);white-space:pre-wrap}.eui-editor .ql-editor code{font-size:85%;padding:2px 4px;word-break:break-word}.eui-editor .ql-editor ol,.eui-editor .ql-editor ul{margin-bottom:var(--editor-lists-spacer)}.eui-editor .ql-editor ol{counter-reset:inherit;list-style:none}.eui-editor .ql-editor ol li{padding-left:var(--eui-base-spacing-s)}.eui-editor .ql-editor ol li[data-list=bullet]{list-style:none}.eui-editor .ql-editor ol li[data-list=bullet]>.ql-ui:before{content:\"\\2022\";font-size:var(--eui-base-font-size-xl);margin-left:calc(-2.125 * var(--eui-base-spacing-m));position:absolute;top:calc(-.75 * var(--eui-base-spacing-2xs))}.eui-editor .ql-editor ol li[data-list=ordered]{list-style:none}.eui-editor .ql-editor pre.ql-syntax{background-color:var(--eui-base-color-grey-dark);color:#f5f5f5;overflow:visible}.eui-editor .ql-editor iframe,.eui-editor .ql-editor img{display:inline-block;height:1;width:1}.eui-editor .ql-editor.ql-blank:before{left:var(--eui-base-spacing-m);position:absolute;right:0}.eui-editor .ql-editor p,.eui-editor .ql-editor label,.eui-editor .ql-editor .label,.eui-editor .ql-editor blockquote,.eui-editor .ql-editor abbr,.eui-editor .ql-editor mark,.eui-editor .ql-editor del{font-size:var(--editor-base-font-size)}.eui-editor.eui-editor--focused .ql-container{box-shadow:var(--eui-base-shadow-z-depth-0);outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor.eui-editor--readonly .ql-container{border:none}.eui-editor.eui-editor--readonly .ql-editor{min-height:calc(var(--eui-base-spacing-2xl) + 2px);padding:0 0 var(--eui-base-spacing-m) 0}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container{border:none;outline:1px dashed var(--eui-base-color-grey-50)}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container:hover{outline:1px solid var(--eui-base-color-grey-75)}.eui-editor-wrapper{position:relative}.eui-editor-wrapper .eui-editor{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.eui-editor-wrapper .eui-editor .ql-container{background-color:var(--eui-base-color-white);border:1px solid #ccc;flex-grow:1;padding:.35rem}.eui-editor-wrapper .eui-editor .ql-container .ngx-quill-view{border:0}eui-editor{position:relative;width:100%}eui-editor.ng-invalid.ng-touched .eui-editor:not(.eui-editor--readonly) .ql-container{outline:1px solid var(--eui-base-color-danger)}.ql-container .qlbt-selection-line.qlbt-selection-line-left:before{background-color:#0589f3;border-radius:5px;content:\"\";height:5px;left:-2px;position:absolute;top:-2px;width:5px}.ql-container .qlbt-selection-line.qlbt-selection-line-right:before{background-color:#0589f3;border-radius:5px;bottom:-3px;content:\"\";height:5px;position:absolute;right:-2px;width:5px}.quill-better-table-wrapper{overflow-x:auto}table.quill-better-table{border-collapse:collapse;table-layout:fixed}table.quill-better-table td{border:1px solid #000;padding:2px 5px}.qlbt-operation-menu{background-color:#fff;box-shadow:0 2px 8px #00000026;font-size:14px;overflow:hidden;z-index:100}.qlbt-operation-menu .qlbt-operation-menu-dividing{background-color:#efefef;height:1px}.qlbt-operation-menu .qlbt-operation-menu-subtitle{color:#999;font-size:14px;padding:5px 16px}.qlbt-operation-menu .qlbt-operation-color-picker{align-items:center;background-color:#fff;display:flex;flex-wrap:wrap;overflow:hidden;padding:0 16px 10px}.qlbt-operation-menu .qlbt-operation-color-picker .qlbt-operation-color-picker-item{border:1px solid #595959;cursor:pointer;height:20px;margin-bottom:5px;margin-right:5px;width:20px}.qlbt-operation-menu .qlbt-operation-menu-item{align-items:center;background-color:#fff;color:#595959;cursor:pointer;display:flex;overflow:hidden;padding:10px 16px;text-overflow:ellipsis}.qlbt-operation-menu .qlbt-operation-menu-item:hover{background-color:#efefef}.qlbt-operation-menu .qlbt-operation-menu-item .qlbt-operation-menu-icon{font-size:0;height:20px;margin-right:8px;width:20px}.qlbt-col-tool{align-items:flex-end;display:flex;height:16px;overflow:hidden;position:absolute;z-index:99}.qlbt-col-tool .qlbt-col-tool-cell{background-color:#fff;border-bottom:1px solid #000;border-right:1px solid #000;border-top:1px solid #000;position:relative}.qlbt-col-tool .qlbt-col-tool-cell:first-child{border-left:1px solid #000}.qlbt-col-tool .qlbt-col-tool-cell-holder{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:-1px;top:0;width:1px;z-index:3}.qlbt-col-tool .qlbt-col-tool-cell-holder:hover{background-color:#0589f3}.qlbt-col-tool .qlbt-col-tool-cell-holder:before{content:\"\";display:block;height:100%;left:-6px;position:absolute;top:0;width:8px}.qlbt-col-tool .qlbt-col-tool-cell-holder:after{content:\"\";display:block;height:100%;position:absolute;right:-6px;top:0;width:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "content", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i5.QuillEditorComponent, selector: "quill-editor", inputs: ["id", "format", "theme", "modules", "debug", "placeholder", "maxLength", "minLength", "formats", "customToolbarPosition", "styles", "scrollingContainer", "bounds", "customOptions", "trackChanges", "hasImageFeature", "readOnly", "required", "sanitize", "strict", "preserveWhitespace", "valueGetter", "valueSetter"], outputs: ["onEditorCreated", "onContentChanged", "onSelectionChanged", "onFocus", "onBlur"] }, { kind: "component", type: i6.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i7.EuiEditorJsonViewComponent, selector: "eui-editor-json-view", inputs: ["theme", "content"] }, { kind: "component", type: i8.EuiEditorHtmlViewComponent, selector: "eui-editor-html-view", inputs: ["content", "theme"] }, { kind: "component", type: i9.EuiEditorCountersComponent, selector: "eui-editor-counters", inputs: ["charactersCounter", "charactersLabel", "wordsCounter", "wordsLabel", "isMaxLengthValid", "hasCharactersCounter", "hasWordsCounter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
406
|
+
], queries: [{ propertyName: "euiEditorCustomToolbar", first: true, predicate: i0.forwardRef(() => EuiEditorCustomToolbarTagDirective), descendants: true }], ngImport: i0, template: "<div [hidden]=\"isReadOnly\" class=\"eui-editor-wrapper\" [style.height]=\"height + 'px'\">\n <quill-editor\n [id]=\"generatedId\"\n class=\"eui-editor {{ styleClass }}\"\n [class.eui-editor--focused]=\"isFocused\"\n [format]=\"format\"\n [formats]=\"formats\"\n [sanitize]=\"true\"\n [modules]=\"modules\"\n [theme]=\"theme\"\n [placeholder]=\"placeholder\"\n [customToolbarPosition]=\"customToolbarPosition\"\n [formControl]=\"formControl\"\n [debug]=\"debug\"\n [tabindex]=\"tabindex\"\n [preserveWhitespace]=\"true\"\n [hasImageFeature]=\"hasImageFeature\"\n (onEditorCreated)=\"_onEditorCreated($event)\"\n (onEditorChanged)=\"_onEditorChanged($event)\"\n (onContentChanged)=\"_onContentChanged($event)\"\n (onSelectionChanged)=\"_onSelectionChanged($event)\"\n (onFocus)=\"_onFocus($event)\"\n (onBlur)=\"_onBlur($event)\">\n <div *ngIf=\"!euiEditorCustomToolbar\" quill-editor-toolbar>\n <div\n *ngIf=\"toolbarConfig.headings\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select headings style\"\n euiTooltip=\"{{ toolbarConfig.headings.label }}\">\n <select class=\"ql-header\" [attr.aria-label]=\"toolbarConfig.headings.label\">\n <option value=\"{{ value }}\" *ngFor=\"let value of toolbarConfig.headings.options\">Heading {{ value }}</option>\n <option selected>Normal</option>\n </select>\n </div>\n <div\n *ngIf=\"toolbarConfig.font\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select font style\"\n euiTooltip=\"{{ toolbarConfig.font.label }}\">\n <select class=\"ql-font\" [attr.aria-label]=\"toolbarConfig.font.label\">\n <option selected>Sans Serif</option>\n <option value=\"serif\">Serif</option>\n <option value=\"monospace\">Monospace</option>\n </select>\n </div>\n <div *ngIf=\"toolbarConfig.bold || toolbarConfig.italic || toolbarConfig.underline || toolbarConfig.strike\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.bold\"\n class=\"ql-bold\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bold.label\"\n euiTooltip=\"{{ toolbarConfig.bold.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.italic\"\n class=\"ql-italic\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.italic.label\"\n euiTooltip=\"{{ toolbarConfig.italic.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.underline\"\n class=\"ql-underline\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.underline.label\"\n euiTooltip=\"{{ toolbarConfig.underline.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.strike\"\n class=\"ql-strike\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.strike.label\"\n euiTooltip=\"{{ toolbarConfig.strike.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.fontColor || toolbarConfig.fontBackground\" class=\"ql-formats\">\n <span *ngIf=\"toolbarConfig.fontColor\" euiTooltip=\"{{ toolbarConfig.fontColor.label }}\">\n <select class=\"ql-color\" [attr.aria-label]=\"toolbarConfig.fontColor.label\"></select>\n </span>\n <span *ngIf=\"toolbarConfig.fontBackground\" euiTooltip=\"{{ toolbarConfig.fontBackground.label }}\">\n <select class=\"ql-background\" [attr.aria-label]=\"toolbarConfig.fontBackground.label\"></select>\n </span>\n </div>\n <div *ngIf=\"toolbarConfig.subscript || toolbarConfig.superscript\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.subscript\"\n class=\"ql-script\"\n value=\"sub\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.subscript.label\"\n euiTooltip=\"{{ toolbarConfig.subscript.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.superscript\"\n class=\"ql-script\"\n value=\"super\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.superscript.label\"\n euiTooltip=\"{{ toolbarConfig.superscript.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.textAlign\" class=\"ql-formats\">\n <span euiTooltip=\"{{ toolbarConfig.textAlign.label }}\">\n <select class=\"ql-align\" [attr.aria-label]=\"toolbarConfig.textAlign.label\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n </div>\n <div\n *ngIf=\"toolbarConfig.orderedList || toolbarConfig.bulletList || toolbarConfig.indentLess || toolbarConfig.indentMore\"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.orderedList\"\n class=\"ql-list\"\n value=\"ordered\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.orderedList.label\"\n euiTooltip=\"{{ toolbarConfig.orderedList.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.bulletList\"\n class=\"ql-list\"\n value=\"bullet\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bulletList.label\"\n euiTooltip=\"{{ toolbarConfig.bulletList.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentLess\"\n class=\"ql-indent\"\n value=\"-1\"\n [attr.aria-label]=\"toolbarConfig.indentLess.label\"\n euiTooltip=\"{{ toolbarConfig.indentLess.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentMore\"\n class=\"ql-indent\"\n value=\"+1\"\n [attr.aria-label]=\"toolbarConfig.indentMore.label\"\n euiTooltip=\"{{ toolbarConfig.indentMore.label }}\">\n </button>\n </div>\n <div\n *ngIf=\"\n toolbarConfig.blockquote ||\n toolbarConfig.codeBlock ||\n toolbarConfig.link ||\n toolbarConfig.image ||\n toolbarConfig.imageUrl ||\n toolbarConfig.video ||\n toolbarConfig.table\n \"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.blockquote\"\n class=\"ql-blockquote\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.blockquote.label\"\n euiTooltip=\"{{ toolbarConfig.blockquote.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.codeBlock\"\n class=\"ql-code-block\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.codeBlock.label\"\n euiTooltip=\"{{ toolbarConfig.codeBlock.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.link\"\n class=\"ql-link\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.link.label\"\n euiTooltip=\"{{ toolbarConfig.link.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.image\"\n class=\"ql-image\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.image.label\"\n euiTooltip=\"{{ toolbarConfig.image.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.imageUrl\"\n [attr.aria-label]=\"toolbarConfig.imageUrl.label\"\n euiTooltip=\"{{ toolbarConfig.imageUrl.label }}\"\n (click)=\"imageUrlHandler()\">\n <eui-icon-svg icon=\"eui-image-add\"></eui-icon-svg>\n </button>\n <button\n *ngIf=\"toolbarConfig.video\"\n class=\"ql-video\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.video.label\"\n euiTooltip=\"{{ toolbarConfig.video.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.table\"\n [attr.aria-label]=\"toolbarConfig.table.label\"\n euiTooltip=\"{{ toolbarConfig.table.label }}\"\n (click)=\"insertTable()\">\n <eui-icon-svg icon=\"eui-ecl-spreadsheet\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.clean || toolbarConfig.delete\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.clean\"\n class=\"ql-clean\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.clean.label\"\n euiTooltip=\"{{ toolbarConfig.clean.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.delete\"\n [attr.aria-label]=\"toolbarConfig.delete.label\"\n euiTooltip=\"{{ toolbarConfig.delete.label }}\"\n (click)=\"editorDeleteContent()\">\n <eui-icon-svg icon=\"eui-delete-forever\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.undo || toolbarConfig.redo\" class=\"ql-formats\">\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.undo\"\n [attr.aria-label]=\"toolbarConfig.undo.label\"\n euiTooltip=\"{{ toolbarConfig.undo.label }}\"\n (click)=\"editorUndo()\">\n <eui-icon-svg icon=\"eui-undo\"></eui-icon-svg>\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.redo\"\n [attr.aria-label]=\"toolbarConfig.redo.label\"\n euiTooltip=\"{{ toolbarConfig.redo.label }}\"\n (click)=\"editorRedo()\">\n <eui-icon-svg icon=\"eui-redo\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.counters\" class=\"ql-formats\">\n <eui-editor-counters\n [hasCharactersCounter]=\"hasCharactersCounter\"\n [charactersCounter]=\"charactersCount\"\n [charactersLabel]=\"charactersCounterLabel\"\n [hasWordsCounter]=\"hasWordsCounter\"\n [wordsCounter]=\"wordsCount\"\n [wordsLabel]=\"wordsCounterLabel\"\n [attr.aria-label]=\"toolbarConfig.counters.label\"\n role=\"button\"\n euiTooltip=\"{{ toolbarConfig.counters.label }}\">\n </eui-editor-counters>\n </div>\n </div>\n <div *ngIf=\"euiEditorCustomToolbar\" quill-editor-toolbar>\n <ng-content select=\"euiEditorCustomToolbar\"></ng-content>\n </div>\n </quill-editor>\n</div>\n\n<!-- READONLY MODE -->\n<div\n [hidden]=\"!isReadOnly\"\n class=\"eui-editor eui-editor--readonly {{ styleClass }}\"\n [class.eui-editor--empty]=\"!value\"\n tabindex=\"{{ tabindex }}\"\n (click)=\"enableEditorOnFocus()\"\n (focusin)=\"enableEditorOnFocus()\">\n <eui-editor-html-view *ngIf=\"format === 'html'\" [content]=\"value\" [theme]=\"theme\"></eui-editor-html-view>\n <eui-editor-json-view *ngIf=\"format === 'json'\" [content]=\"jsonToHtmlContent\" [theme]=\"theme\"></eui-editor-json-view>\n</div>\n", styles: ["@charset \"UTF-8\";.qlbt-operation-menu .qlbt-operation-color-picker{padding:0 12px 10px!important}.eui-editor{--editor-base-font-size: calc(var(--eui-base-font-size-m) + 1px);--editor-base-line-height: 1.25;--editor-paragraph-spacer: var(--eui-base-spacing-m);--editor-lists-spacer: var(--eui-base-spacing-s);--picker-font-size: var(--eui-base-font-size-s);--picker-height: var(--eui-base-spacing-xl);--picker-width: calc(6 * var(--eui-base-spacing-m));--button-height: var(--eui-base-spacing-xl);--button-width: var(--eui-base-spacing-xl)}.eui-editor .ql-container{box-sizing:border-box;font-size:var(--eui-base-font-size);height:100%;margin:0;position:relative;resize:vertical;white-space:pre-wrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-container.ql-snow .ql-tooltip{align-items:center;display:flex;background:var(--eui-base-color-primary-5);box-shadow:var(--eui-base-shadow-z-depth-1);left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing{align-items:center;display:flex;left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block;width:100%}.eui-editor .ql-container.ql-snow a.ql-preview{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top;width:100%}.eui-editor .ql-toolbar{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-35);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow{box-sizing:border-box}.eui-editor .ql-toolbar.ql-snow .ql-formats{align-items:center;background-color:var(--eui-base-color-grey-2);border:1px solid var(--eui-base-color-grey-35);border-radius:5px;display:inline-flex;margin-bottom:var(--eui-base-spacing-xs);margin-right:var(--eui-base-spacing-xs);vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker{align-items:center;color:var(--eui-base-color-grey-darker);display:inline-flex;height:var(--picker-height);max-height:var(--picker-height);position:relative;vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker .ql-picker-label{align-items:center;border-color:transparent;display:flex;font-size:var(--picker-font-size)}.eui-editor .ql-toolbar.ql-snow .ql-formats select{background-color:transparent}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button{align-items:center;background-color:transparent;border:0 solid var(--eui-base-color-grey-50);box-shadow:none;color:var(--eui-base-color-grey-75);cursor:pointer;display:inline-flex;height:var(--button-height);justify-content:center;min-width:var(--button-width)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.active,.eui-editor .ql-toolbar.ql-snow .ql-formats button.ql-active{background:var(--eui-base-color-accent);color:var(--eui-base-color-primary)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:first-child{border-radius:5px 0 0 5px}.eui-editor .ql-toolbar.ql-snow .ql-formats button:last-child{border-radius:0 5px 5px 0}.eui-editor .ql-toolbar.ql-snow .ql-formats button .eui-icon{font-size:var(--eui-base-font-size-2xl)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters{align-items:center;cursor:auto;display:inline-flex;width:auto}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter{color:var(--eui-base-color-info);font-size:var(--eui-base-font-size-s);font-weight:900}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter.chars-counter--error{color:var(--eui-base-color-danger)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-label{color:var(--eui-base-color-grey-dark);font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker{height:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-2xs) 0;width:calc(7 * var(--eui-base-spacing-m))}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before{content:\"Small\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smaller]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{content:\"Smaller\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smallest]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{content:\"Smallest\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before{content:\"Large\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-small{font-size:var(--eui-base-font-size-s)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{font-size:var(--eui-base-font-size-2xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-large{font-size:var(--eui-base-font-size-xl)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-huge{font-size:var(--eui-base-font-size-4xl)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"1\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"2\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"3\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"4\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"5\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"6\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item:before{content:\"Sans Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=serif]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=monospace]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=sans-serif]:before{font-family:arial,sans-serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{font-family:times new roman,serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{font-family:courier new,monospace!important}.eui-editor .ql-toolbar.ql-snow .ql-color-picker{width:var(--eui-base-spacing-xl)}.eui-editor .ql-toolbar .eui-editor-custom-toolbar{display:inline-flex;margin:0;padding:0;vertical-align:middle}.eui-editor .ql-editor{box-sizing:border-box;height:100%;line-height:var(--editor-base-line-height);outline:none;overflow-y:auto;padding:var(--eui-base-spacing-s);tab-size:4;text-align:left;white-space:inherit;word-break:normal;word-wrap:break-word;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor h1{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h2{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-editor h3{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-editor h4{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h5{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h6{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor .h7{font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h8{font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h9{font:normal normal 400 .625rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor p{margin-bottom:var(--editor-paragraph-spacer)}.eui-editor .ql-editor p:first-child{margin-top:0}.eui-editor .ql-editor p:last-child{margin-bottom:0}.eui-editor .ql-editor em,.eui-editor .ql-editor i{font-style:italic!important}.eui-editor .ql-editor strong,.eui-editor .ql-editor b{font-weight:700!important}.eui-editor .ql-editor strong em,.eui-editor .ql-editor strong i,.eui-editor .ql-editor b em,.eui-editor .ql-editor b i{font-style:italic!important;font-weight:700!important}.eui-editor .ql-editor strong em u,.eui-editor .ql-editor strong i u,.eui-editor .ql-editor b em u,.eui-editor .ql-editor b i u{text-decoration:underline!important}.eui-editor .ql-editor blockquote{border-left:var(--eui-base-spacing-xs) solid var(--eui-base-color-grey-75);margin-bottom:0;margin-top:0;padding-left:var(--eui-base-spacing-m)}.eui-editor .ql-editor code,.eui-editor .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.eui-editor .ql-editor pre{margin-bottom:var(--eui-base-spacing-xs);margin-top:var(--eui-base-spacing-xs);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);white-space:pre-wrap}.eui-editor .ql-editor code{font-size:85%;padding:2px 4px;word-break:break-word}.eui-editor .ql-editor ol,.eui-editor .ql-editor ul{margin-bottom:var(--editor-lists-spacer)}.eui-editor .ql-editor ol{counter-reset:inherit;list-style:none}.eui-editor .ql-editor ol li{padding-left:var(--eui-base-spacing-s)}.eui-editor .ql-editor ol li[data-list=bullet]{list-style:none}.eui-editor .ql-editor ol li[data-list=bullet]>.ql-ui:before{content:\"\\2022\";font-size:var(--eui-base-font-size-xl);margin-left:calc(-2.125 * var(--eui-base-spacing-m));position:absolute;top:calc(-.75 * var(--eui-base-spacing-2xs))}.eui-editor .ql-editor ol li[data-list=ordered]{list-style:none}.eui-editor .ql-editor pre.ql-syntax{background-color:var(--eui-base-color-grey-dark);color:#f5f5f5;overflow:visible}.eui-editor .ql-editor iframe,.eui-editor .ql-editor img{display:inline-block;height:1;width:1}.eui-editor .ql-editor.ql-blank:before{left:var(--eui-base-spacing-m);position:absolute;right:0}.eui-editor .ql-editor p,.eui-editor .ql-editor label,.eui-editor .ql-editor .label,.eui-editor .ql-editor blockquote,.eui-editor .ql-editor abbr,.eui-editor .ql-editor mark,.eui-editor .ql-editor del{font-size:var(--editor-base-font-size)}.eui-editor.eui-editor--focused .ql-container{box-shadow:var(--eui-base-shadow-z-depth-0)}.eui-editor.eui-editor--focused .ql-container:active:not([readonly]),.eui-editor.eui-editor--focused .ql-container:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor.eui-editor--focused .ql-container [tabindex=\"0\"]:active:not([readonly]),.eui-editor.eui-editor--focused .ql-container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor.eui-editor--readonly .ql-container{border:none}.eui-editor.eui-editor--readonly .ql-editor{min-height:calc(var(--eui-base-spacing-2xl) + 2px);padding:0 0 var(--eui-base-spacing-m) 0}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container{border:none;outline:1px dashed var(--eui-base-color-grey-50)}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container:hover{outline:1px solid var(--eui-base-color-grey-75)}.eui-editor-wrapper{position:relative}.eui-editor-wrapper .eui-editor{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.eui-editor-wrapper .eui-editor .ql-container{background-color:var(--eui-base-color-white);border:1px solid #ccc;flex-grow:1;padding:.35rem}.eui-editor-wrapper .eui-editor .ql-container .ngx-quill-view{border:0}eui-editor{position:relative;width:100%}eui-editor.ng-invalid.ng-touched .eui-editor:not(.eui-editor--readonly) .ql-container{outline:1px solid var(--eui-base-color-danger)}.ql-container .qlbt-selection-line.qlbt-selection-line-left:before{background-color:#0589f3;border-radius:5px;content:\"\";height:5px;left:-2px;position:absolute;top:-2px;width:5px}.ql-container .qlbt-selection-line.qlbt-selection-line-right:before{background-color:#0589f3;border-radius:5px;bottom:-3px;content:\"\";height:5px;position:absolute;right:-2px;width:5px}.quill-better-table-wrapper{overflow-x:auto}table.quill-better-table{border-collapse:collapse;table-layout:fixed}table.quill-better-table td{border:1px solid #000;padding:2px 5px}.qlbt-operation-menu{background-color:#fff;box-shadow:0 2px 8px #00000026;font-size:14px;overflow:hidden;z-index:100}.qlbt-operation-menu .qlbt-operation-menu-dividing{background-color:#efefef;height:1px}.qlbt-operation-menu .qlbt-operation-menu-subtitle{color:#999;font-size:14px;padding:5px 16px}.qlbt-operation-menu .qlbt-operation-color-picker{align-items:center;background-color:#fff;display:flex;flex-wrap:wrap;overflow:hidden;padding:0 16px 10px}.qlbt-operation-menu .qlbt-operation-color-picker .qlbt-operation-color-picker-item{border:1px solid #595959;cursor:pointer;height:20px;margin-bottom:5px;margin-right:5px;width:20px}.qlbt-operation-menu .qlbt-operation-menu-item{align-items:center;background-color:#fff;color:#595959;cursor:pointer;display:flex;overflow:hidden;padding:10px 16px;text-overflow:ellipsis}.qlbt-operation-menu .qlbt-operation-menu-item:hover{background-color:#efefef}.qlbt-operation-menu .qlbt-operation-menu-item .qlbt-operation-menu-icon{font-size:0;height:20px;margin-right:8px;width:20px}.qlbt-col-tool{align-items:flex-end;display:flex;height:16px;overflow:hidden;position:absolute;z-index:99}.qlbt-col-tool .qlbt-col-tool-cell{background-color:#fff;border-bottom:1px solid #000;border-right:1px solid #000;border-top:1px solid #000;position:relative}.qlbt-col-tool .qlbt-col-tool-cell:first-child{border-left:1px solid #000}.qlbt-col-tool .qlbt-col-tool-cell-holder{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:-1px;top:0;width:1px;z-index:3}.qlbt-col-tool .qlbt-col-tool-cell-holder:hover{background-color:#0589f3}.qlbt-col-tool .qlbt-col-tool-cell-holder:before{content:\"\";display:block;height:100%;left:-6px;position:absolute;top:0;width:8px}.qlbt-col-tool .qlbt-col-tool-cell-holder:after{content:\"\";display:block;height:100%;position:absolute;right:-6px;top:0;width:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "component", type: i5.QuillEditorComponent, selector: "quill-editor", inputs: ["id", "format", "theme", "modules", "debug", "placeholder", "maxLength", "minLength", "formats", "customToolbarPosition", "styles", "scrollingContainer", "bounds", "customOptions", "trackChanges", "hasImageFeature", "readOnly", "required", "sanitize", "strict", "preserveWhitespace", "valueGetter", "valueSetter"], outputs: ["onEditorCreated", "onContentChanged", "onSelectionChanged", "onFocus", "onBlur"] }, { kind: "component", type: i6.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i7.EuiEditorJsonViewComponent, selector: "eui-editor-json-view", inputs: ["theme", "content"] }, { kind: "component", type: i8.EuiEditorHtmlViewComponent, selector: "eui-editor-html-view", inputs: ["content", "theme"] }, { kind: "component", type: i9.EuiEditorCountersComponent, selector: "eui-editor-counters", inputs: ["charactersCounter", "charactersLabel", "wordsCounter", "wordsLabel", "isMaxLengthValid", "hasCharactersCounter", "hasWordsCounter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
510
407
|
}
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: EuiEditorComponent, decorators: [{
|
512
409
|
type: Component,
|
513
410
|
args: [{ selector: 'eui-editor', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
514
411
|
// TODO: Check to change the providing way. Provide with injector reference
|
515
412
|
EuiDialogService,
|
516
|
-
], template: "<div [hidden]=\"isReadOnly\" class=\"eui-editor-wrapper\" [style.height]=\"height + 'px'\">\n <quill-editor\n [id]=\"generatedId\"\n class=\"eui-editor {{ styleClass }}\"\n [class.eui-editor--focused]=\"isFocused\"\n [format]=\"format\"\n [formats]=\"formats\"\n [sanitize]=\"true\"\n [modules]=\"modules\"\n [theme]=\"theme\"\n [placeholder]=\"placeholder\"\n [styles]=\"style\"\n [customToolbarPosition]=\"customToolbarPosition\"\n [formControl]=\"formControl\"\n [debug]=\"debug\"\n [tabindex]=\"tabindex\"\n [preserveWhitespace]=\"true\"\n [hasImageFeature]=\"hasImageFeature\"\n (onEditorCreated)=\"_onEditorCreated($event)\"\n (onEditorChanged)=\"_onEditorChanged($event)\"\n (onContentChanged)=\"_onContentChanged($event)\"\n (onSelectionChanged)=\"_onSelectionChanged($event)\"\n (onFocus)=\"_onFocus($event)\"\n (onBlur)=\"_onBlur($event)\">\n <div *ngIf=\"!euiEditorCustomToolbar\" quill-editor-toolbar>\n <div\n *ngIf=\"toolbarConfig.headings\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select headings style\"\n euiTooltip=\"{{ toolbarConfig.headings.label }}\">\n <select class=\"ql-header\" [attr.aria-label]=\"toolbarConfig.headings.label\">\n <option value=\"{{ value }}\" *ngFor=\"let value of toolbarConfig.headings.options\">Heading {{ value }}</option>\n <option selected>Normal</option>\n </select>\n </div>\n <div\n *ngIf=\"toolbarConfig.font\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select font style\"\n euiTooltip=\"{{ toolbarConfig.font.label }}\">\n <select class=\"ql-font\" [attr.aria-label]=\"toolbarConfig.font.label\">\n <option selected>Sans Serif</option>\n <option value=\"serif\">Serif</option>\n <option value=\"monospace\">Monospace</option>\n </select>\n </div>\n <div *ngIf=\"toolbarConfig.bold || toolbarConfig.italic || toolbarConfig.underline || toolbarConfig.strike\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.bold\"\n class=\"ql-bold\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bold.label\"\n euiTooltip=\"{{ toolbarConfig.bold.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.italic\"\n class=\"ql-italic\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.italic.label\"\n euiTooltip=\"{{ toolbarConfig.italic.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.underline\"\n class=\"ql-underline\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.underline.label\"\n euiTooltip=\"{{ toolbarConfig.underline.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.strike\"\n class=\"ql-strike\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.strike.label\"\n euiTooltip=\"{{ toolbarConfig.strike.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.fontColor || toolbarConfig.fontBackground\" class=\"ql-formats\">\n <span *ngIf=\"toolbarConfig.fontColor\" euiTooltip=\"{{ toolbarConfig.fontColor.label }}\">\n <select class=\"ql-color\" [attr.aria-label]=\"toolbarConfig.fontColor.label\"></select>\n </span>\n <span *ngIf=\"toolbarConfig.fontBackground\" euiTooltip=\"{{ toolbarConfig.fontBackground.label }}\">\n <select class=\"ql-background\" [attr.aria-label]=\"toolbarConfig.fontBackground.label\"></select>\n </span>\n </div>\n <div *ngIf=\"toolbarConfig.subscript || toolbarConfig.superscript\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.subscript\"\n class=\"ql-script\"\n value=\"sub\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.subscript.label\"\n euiTooltip=\"{{ toolbarConfig.subscript.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.superscript\"\n class=\"ql-script\"\n value=\"super\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.superscript.label\"\n euiTooltip=\"{{ toolbarConfig.superscript.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.textAlign\" class=\"ql-formats\">\n <span euiTooltip=\"{{ toolbarConfig.textAlign.label }}\">\n <select class=\"ql-align\" [attr.aria-label]=\"toolbarConfig.textAlign.label\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n </div>\n <div\n *ngIf=\"toolbarConfig.orderedList || toolbarConfig.bulletList || toolbarConfig.indentLess || toolbarConfig.indentMore\"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.orderedList\"\n class=\"ql-list\"\n value=\"ordered\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.orderedList.label\"\n euiTooltip=\"{{ toolbarConfig.orderedList.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.bulletList\"\n class=\"ql-list\"\n value=\"bullet\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bulletList.label\"\n euiTooltip=\"{{ toolbarConfig.bulletList.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentLess\"\n class=\"ql-indent\"\n value=\"-1\"\n [attr.aria-label]=\"toolbarConfig.indentLess.label\"\n euiTooltip=\"{{ toolbarConfig.indentLess.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentMore\"\n class=\"ql-indent\"\n value=\"+1\"\n [attr.aria-label]=\"toolbarConfig.indentMore.label\"\n euiTooltip=\"{{ toolbarConfig.indentMore.label }}\">\n </button>\n </div>\n <div\n *ngIf=\"\n toolbarConfig.blockquote ||\n toolbarConfig.codeBlock ||\n toolbarConfig.link ||\n toolbarConfig.image ||\n toolbarConfig.imageUrl ||\n toolbarConfig.video ||\n toolbarConfig.table\n \"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.blockquote\"\n class=\"ql-blockquote\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.blockquote.label\"\n euiTooltip=\"{{ toolbarConfig.blockquote.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.codeBlock\"\n class=\"ql-code-block\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.codeBlock.label\"\n euiTooltip=\"{{ toolbarConfig.codeBlock.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.link\"\n class=\"ql-link\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.link.label\"\n euiTooltip=\"{{ toolbarConfig.link.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.image\"\n class=\"ql-image\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.image.label\"\n euiTooltip=\"{{ toolbarConfig.image.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.imageUrl\"\n [attr.aria-label]=\"toolbarConfig.imageUrl.label\"\n euiTooltip=\"{{ toolbarConfig.imageUrl.label }}\"\n (click)=\"imageUrlHandler()\">\n <eui-icon-svg icon=\"eui-image-add\"></eui-icon-svg>\n </button>\n <button\n *ngIf=\"toolbarConfig.video\"\n class=\"ql-video\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.video.label\"\n euiTooltip=\"{{ toolbarConfig.video.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.table\"\n [attr.aria-label]=\"toolbarConfig.table.label\"\n euiTooltip=\"{{ toolbarConfig.table.label }}\"\n (click)=\"insertTable()\">\n <eui-icon-svg icon=\"eui-ecl-spreadsheet\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.clean || toolbarConfig.delete\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.clean\"\n class=\"ql-clean\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.clean.label\"\n euiTooltip=\"{{ toolbarConfig.clean.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.delete\"\n [attr.aria-label]=\"toolbarConfig.delete.label\"\n euiTooltip=\"{{ toolbarConfig.delete.label }}\"\n (click)=\"editorDeleteContent()\">\n <eui-icon-svg icon=\"eui-delete-forever\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.undo || toolbarConfig.redo\" class=\"ql-formats\">\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.undo\"\n [attr.aria-label]=\"toolbarConfig.undo.label\"\n euiTooltip=\"{{ toolbarConfig.undo.label }}\"\n (click)=\"editorUndo()\">\n <eui-icon-svg icon=\"eui-undo\"></eui-icon-svg>\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.redo\"\n [attr.aria-label]=\"toolbarConfig.redo.label\"\n euiTooltip=\"{{ toolbarConfig.redo.label }}\"\n (click)=\"editorRedo()\">\n <eui-icon-svg icon=\"eui-redo\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.counters\" class=\"ql-formats\">\n <eui-editor-counters\n [hasCharactersCounter]=\"hasCharactersCounter\"\n [charactersCounter]=\"charactersCount\"\n [charactersLabel]=\"charactersCounterLabel\"\n [hasWordsCounter]=\"hasWordsCounter\"\n [wordsCounter]=\"wordsCount\"\n [wordsLabel]=\"wordsCounterLabel\"\n [attr.aria-label]=\"toolbarConfig.counters.label\"\n role=\"button\"\n euiTooltip=\"{{ toolbarConfig.counters.label }}\">\n </eui-editor-counters>\n </div>\n </div>\n <div *ngIf=\"euiEditorCustomToolbar\" quill-editor-toolbar>\n <ng-content select=\"euiEditorCustomToolbar\"></ng-content>\n </div>\n </quill-editor>\n</div>\n\n<!-- READONLY MODE -->\n<div\n [hidden]=\"!isReadOnly\"\n class=\"eui-editor eui-editor--readonly {{ styleClass }}\"\n [class.eui-editor--empty]=\"!value\"\n tabindex=\"{{ tabindex }}\"\n (click)=\"enableEditorOnFocus()\"\n (focusin)=\"enableEditorOnFocus()\">\n <eui-editor-html-view *ngIf=\"format === 'html'\" [content]=\"value\" [theme]=\"theme\"></eui-editor-html-view>\n <eui-editor-json-view *ngIf=\"format === 'json'\" [content]=\"jsonToHtmlContent\" [theme]=\"theme\"></eui-editor-json-view>\n</div>\n", styles: ["@charset \"UTF-8\";.qlbt-operation-menu .qlbt-operation-color-picker{padding:0 12px 10px!important}.eui-editor{--editor-base-font-size: calc(var(--eui-base-font-size-m) + 1px);--editor-base-line-height: 1.25;--editor-paragraph-spacer: var(--eui-base-spacing-m);--editor-lists-spacer: var(--eui-base-spacing-s);--picker-font-size: var(--eui-base-font-size-s);--picker-height: var(--eui-base-spacing-xl);--picker-width: calc(6 * var(--eui-base-spacing-m));--button-height: var(--eui-base-spacing-xl);--button-width: var(--eui-base-spacing-xl)}.eui-editor .ql-container{box-sizing:border-box;font-size:var(--eui-base-font-size);height:100%;margin:0;position:relative;resize:vertical;white-space:pre-wrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-container.ql-snow .ql-tooltip{align-items:center;display:flex;background:var(--eui-base-color-primary-5);box-shadow:var(--eui-base-shadow-z-depth-1);left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing{align-items:center;display:flex;left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block;width:100%}.eui-editor .ql-container.ql-snow a.ql-preview{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top;width:100%}.eui-editor .ql-toolbar{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-35);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow{box-sizing:border-box}.eui-editor .ql-toolbar.ql-snow .ql-formats{align-items:center;background-color:var(--eui-base-color-grey-2);border:1px solid var(--eui-base-color-grey-35);border-radius:5px;display:inline-flex;margin-bottom:var(--eui-base-spacing-xs);margin-right:var(--eui-base-spacing-xs);vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker{align-items:center;color:var(--eui-base-color-grey-darker);display:inline-flex;height:var(--picker-height);max-height:var(--picker-height);position:relative;vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active,.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker .ql-picker-label{align-items:center;border-color:transparent;display:flex;font-size:var(--picker-font-size)}.eui-editor .ql-toolbar.ql-snow .ql-formats select{background-color:transparent}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active,.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats button{align-items:center;background-color:transparent;border:0 solid var(--eui-base-color-grey-50);box-shadow:none;color:var(--eui-base-color-grey-75);cursor:pointer;display:inline-flex;height:var(--button-height);justify-content:center;min-width:var(--button-width)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.active,.eui-editor .ql-toolbar.ql-snow .ql-formats button.ql-active{background:var(--eui-base-color-accent);color:var(--eui-base-color-primary)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:first-child{border-radius:5px 0 0 5px}.eui-editor .ql-toolbar.ql-snow .ql-formats button:last-child{border-radius:0 5px 5px 0}.eui-editor .ql-toolbar.ql-snow .ql-formats button .eui-icon{font-size:var(--eui-base-font-size-2xl)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active,.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus{outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters{align-items:center;cursor:auto;display:inline-flex;width:auto}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter{color:var(--eui-base-color-info);font-size:var(--eui-base-font-size-s);font-weight:900}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter.chars-counter--error{color:var(--eui-base-color-danger)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-label{color:var(--eui-base-color-grey-dark);font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker{height:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-2xs) 0;width:calc(7 * var(--eui-base-spacing-m))}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before{content:\"Small\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smaller]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{content:\"Smaller\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smallest]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{content:\"Smallest\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before{content:\"Large\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-small{font-size:var(--eui-base-font-size-s)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{font-size:var(--eui-base-font-size-2xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-large{font-size:var(--eui-base-font-size-xl)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-huge{font-size:var(--eui-base-font-size-4xl)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"1\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"2\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"3\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"4\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"5\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"6\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item:before{content:\"Sans Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=serif]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=monospace]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=sans-serif]:before{font-family:arial,sans-serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{font-family:times new roman,serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{font-family:courier new,monospace!important}.eui-editor .ql-toolbar.ql-snow .ql-color-picker{width:var(--eui-base-spacing-xl)}.eui-editor .ql-toolbar .eui-editor-custom-toolbar{display:inline-flex;margin:0;padding:0;vertical-align:middle}.eui-editor .ql-editor{box-sizing:border-box;height:100%;line-height:var(--editor-base-line-height);outline:none;overflow-y:auto;padding:var(--eui-base-spacing-s);tab-size:4;text-align:left;white-space:inherit;word-break:normal;word-wrap:break-word;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor h1{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h2{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-editor h3{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-editor h4{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h5{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h6{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor .h7{font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h8{font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h9{font:normal normal 400 .625rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor p{margin-bottom:var(--editor-paragraph-spacer)}.eui-editor .ql-editor p:first-child{margin-top:0}.eui-editor .ql-editor p:last-child{margin-bottom:0}.eui-editor .ql-editor em,.eui-editor .ql-editor i{font-style:italic!important}.eui-editor .ql-editor strong,.eui-editor .ql-editor b{font-weight:700!important}.eui-editor .ql-editor strong em,.eui-editor .ql-editor strong i,.eui-editor .ql-editor b em,.eui-editor .ql-editor b i{font-style:italic!important;font-weight:700!important}.eui-editor .ql-editor strong em u,.eui-editor .ql-editor strong i u,.eui-editor .ql-editor b em u,.eui-editor .ql-editor b i u{text-decoration:underline!important}.eui-editor .ql-editor blockquote{border-left:var(--eui-base-spacing-xs) solid var(--eui-base-color-grey-75);margin-bottom:0;margin-top:0;padding-left:var(--eui-base-spacing-m)}.eui-editor .ql-editor code,.eui-editor .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.eui-editor .ql-editor pre{margin-bottom:var(--eui-base-spacing-xs);margin-top:var(--eui-base-spacing-xs);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);white-space:pre-wrap}.eui-editor .ql-editor code{font-size:85%;padding:2px 4px;word-break:break-word}.eui-editor .ql-editor ol,.eui-editor .ql-editor ul{margin-bottom:var(--editor-lists-spacer)}.eui-editor .ql-editor ol{counter-reset:inherit;list-style:none}.eui-editor .ql-editor ol li{padding-left:var(--eui-base-spacing-s)}.eui-editor .ql-editor ol li[data-list=bullet]{list-style:none}.eui-editor .ql-editor ol li[data-list=bullet]>.ql-ui:before{content:\"\\2022\";font-size:var(--eui-base-font-size-xl);margin-left:calc(-2.125 * var(--eui-base-spacing-m));position:absolute;top:calc(-.75 * var(--eui-base-spacing-2xs))}.eui-editor .ql-editor ol li[data-list=ordered]{list-style:none}.eui-editor .ql-editor pre.ql-syntax{background-color:var(--eui-base-color-grey-dark);color:#f5f5f5;overflow:visible}.eui-editor .ql-editor iframe,.eui-editor .ql-editor img{display:inline-block;height:1;width:1}.eui-editor .ql-editor.ql-blank:before{left:var(--eui-base-spacing-m);position:absolute;right:0}.eui-editor .ql-editor p,.eui-editor .ql-editor label,.eui-editor .ql-editor .label,.eui-editor .ql-editor blockquote,.eui-editor .ql-editor abbr,.eui-editor .ql-editor mark,.eui-editor .ql-editor del{font-size:var(--editor-base-font-size)}.eui-editor.eui-editor--focused .ql-container{box-shadow:var(--eui-base-shadow-z-depth-0);outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;-moz-outline-radius:var(--eui-base-border-radius);transition:outline .15s ease-in-out,border .15s ease-in-out}.eui-editor.eui-editor--readonly .ql-container{border:none}.eui-editor.eui-editor--readonly .ql-editor{min-height:calc(var(--eui-base-spacing-2xl) + 2px);padding:0 0 var(--eui-base-spacing-m) 0}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container{border:none;outline:1px dashed var(--eui-base-color-grey-50)}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container:hover{outline:1px solid var(--eui-base-color-grey-75)}.eui-editor-wrapper{position:relative}.eui-editor-wrapper .eui-editor{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.eui-editor-wrapper .eui-editor .ql-container{background-color:var(--eui-base-color-white);border:1px solid #ccc;flex-grow:1;padding:.35rem}.eui-editor-wrapper .eui-editor .ql-container .ngx-quill-view{border:0}eui-editor{position:relative;width:100%}eui-editor.ng-invalid.ng-touched .eui-editor:not(.eui-editor--readonly) .ql-container{outline:1px solid var(--eui-base-color-danger)}.ql-container .qlbt-selection-line.qlbt-selection-line-left:before{background-color:#0589f3;border-radius:5px;content:\"\";height:5px;left:-2px;position:absolute;top:-2px;width:5px}.ql-container .qlbt-selection-line.qlbt-selection-line-right:before{background-color:#0589f3;border-radius:5px;bottom:-3px;content:\"\";height:5px;position:absolute;right:-2px;width:5px}.quill-better-table-wrapper{overflow-x:auto}table.quill-better-table{border-collapse:collapse;table-layout:fixed}table.quill-better-table td{border:1px solid #000;padding:2px 5px}.qlbt-operation-menu{background-color:#fff;box-shadow:0 2px 8px #00000026;font-size:14px;overflow:hidden;z-index:100}.qlbt-operation-menu .qlbt-operation-menu-dividing{background-color:#efefef;height:1px}.qlbt-operation-menu .qlbt-operation-menu-subtitle{color:#999;font-size:14px;padding:5px 16px}.qlbt-operation-menu .qlbt-operation-color-picker{align-items:center;background-color:#fff;display:flex;flex-wrap:wrap;overflow:hidden;padding:0 16px 10px}.qlbt-operation-menu .qlbt-operation-color-picker .qlbt-operation-color-picker-item{border:1px solid #595959;cursor:pointer;height:20px;margin-bottom:5px;margin-right:5px;width:20px}.qlbt-operation-menu .qlbt-operation-menu-item{align-items:center;background-color:#fff;color:#595959;cursor:pointer;display:flex;overflow:hidden;padding:10px 16px;text-overflow:ellipsis}.qlbt-operation-menu .qlbt-operation-menu-item:hover{background-color:#efefef}.qlbt-operation-menu .qlbt-operation-menu-item .qlbt-operation-menu-icon{font-size:0;height:20px;margin-right:8px;width:20px}.qlbt-col-tool{align-items:flex-end;display:flex;height:16px;overflow:hidden;position:absolute;z-index:99}.qlbt-col-tool .qlbt-col-tool-cell{background-color:#fff;border-bottom:1px solid #000;border-right:1px solid #000;border-top:1px solid #000;position:relative}.qlbt-col-tool .qlbt-col-tool-cell:first-child{border-left:1px solid #000}.qlbt-col-tool .qlbt-col-tool-cell-holder{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:-1px;top:0;width:1px;z-index:3}.qlbt-col-tool .qlbt-col-tool-cell-holder:hover{background-color:#0589f3}.qlbt-col-tool .qlbt-col-tool-cell-holder:before{content:\"\";display:block;height:100%;left:-6px;position:absolute;top:0;width:8px}.qlbt-col-tool .qlbt-col-tool-cell-holder:after{content:\"\";display:block;height:100%;position:absolute;right:-6px;top:0;width:8px}\n"] }]
|
413
|
+
], template: "<div [hidden]=\"isReadOnly\" class=\"eui-editor-wrapper\" [style.height]=\"height + 'px'\">\n <quill-editor\n [id]=\"generatedId\"\n class=\"eui-editor {{ styleClass }}\"\n [class.eui-editor--focused]=\"isFocused\"\n [format]=\"format\"\n [formats]=\"formats\"\n [sanitize]=\"true\"\n [modules]=\"modules\"\n [theme]=\"theme\"\n [placeholder]=\"placeholder\"\n [customToolbarPosition]=\"customToolbarPosition\"\n [formControl]=\"formControl\"\n [debug]=\"debug\"\n [tabindex]=\"tabindex\"\n [preserveWhitespace]=\"true\"\n [hasImageFeature]=\"hasImageFeature\"\n (onEditorCreated)=\"_onEditorCreated($event)\"\n (onEditorChanged)=\"_onEditorChanged($event)\"\n (onContentChanged)=\"_onContentChanged($event)\"\n (onSelectionChanged)=\"_onSelectionChanged($event)\"\n (onFocus)=\"_onFocus($event)\"\n (onBlur)=\"_onBlur($event)\">\n <div *ngIf=\"!euiEditorCustomToolbar\" quill-editor-toolbar>\n <div\n *ngIf=\"toolbarConfig.headings\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select headings style\"\n euiTooltip=\"{{ toolbarConfig.headings.label }}\">\n <select class=\"ql-header\" [attr.aria-label]=\"toolbarConfig.headings.label\">\n <option value=\"{{ value }}\" *ngFor=\"let value of toolbarConfig.headings.options\">Heading {{ value }}</option>\n <option selected>Normal</option>\n </select>\n </div>\n <div\n *ngIf=\"toolbarConfig.font\"\n class=\"ql-formats\"\n role=\"application\"\n aria-label=\"Select font style\"\n euiTooltip=\"{{ toolbarConfig.font.label }}\">\n <select class=\"ql-font\" [attr.aria-label]=\"toolbarConfig.font.label\">\n <option selected>Sans Serif</option>\n <option value=\"serif\">Serif</option>\n <option value=\"monospace\">Monospace</option>\n </select>\n </div>\n <div *ngIf=\"toolbarConfig.bold || toolbarConfig.italic || toolbarConfig.underline || toolbarConfig.strike\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.bold\"\n class=\"ql-bold\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bold.label\"\n euiTooltip=\"{{ toolbarConfig.bold.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.italic\"\n class=\"ql-italic\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.italic.label\"\n euiTooltip=\"{{ toolbarConfig.italic.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.underline\"\n class=\"ql-underline\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.underline.label\"\n euiTooltip=\"{{ toolbarConfig.underline.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.strike\"\n class=\"ql-strike\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.strike.label\"\n euiTooltip=\"{{ toolbarConfig.strike.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.fontColor || toolbarConfig.fontBackground\" class=\"ql-formats\">\n <span *ngIf=\"toolbarConfig.fontColor\" euiTooltip=\"{{ toolbarConfig.fontColor.label }}\">\n <select class=\"ql-color\" [attr.aria-label]=\"toolbarConfig.fontColor.label\"></select>\n </span>\n <span *ngIf=\"toolbarConfig.fontBackground\" euiTooltip=\"{{ toolbarConfig.fontBackground.label }}\">\n <select class=\"ql-background\" [attr.aria-label]=\"toolbarConfig.fontBackground.label\"></select>\n </span>\n </div>\n <div *ngIf=\"toolbarConfig.subscript || toolbarConfig.superscript\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.subscript\"\n class=\"ql-script\"\n value=\"sub\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.subscript.label\"\n euiTooltip=\"{{ toolbarConfig.subscript.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.superscript\"\n class=\"ql-script\"\n value=\"super\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.superscript.label\"\n euiTooltip=\"{{ toolbarConfig.superscript.label }}\">\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.textAlign\" class=\"ql-formats\">\n <span euiTooltip=\"{{ toolbarConfig.textAlign.label }}\">\n <select class=\"ql-align\" [attr.aria-label]=\"toolbarConfig.textAlign.label\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n </div>\n <div\n *ngIf=\"toolbarConfig.orderedList || toolbarConfig.bulletList || toolbarConfig.indentLess || toolbarConfig.indentMore\"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.orderedList\"\n class=\"ql-list\"\n value=\"ordered\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.orderedList.label\"\n euiTooltip=\"{{ toolbarConfig.orderedList.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.bulletList\"\n class=\"ql-list\"\n value=\"bullet\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.bulletList.label\"\n euiTooltip=\"{{ toolbarConfig.bulletList.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentLess\"\n class=\"ql-indent\"\n value=\"-1\"\n [attr.aria-label]=\"toolbarConfig.indentLess.label\"\n euiTooltip=\"{{ toolbarConfig.indentLess.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.indentMore\"\n class=\"ql-indent\"\n value=\"+1\"\n [attr.aria-label]=\"toolbarConfig.indentMore.label\"\n euiTooltip=\"{{ toolbarConfig.indentMore.label }}\">\n </button>\n </div>\n <div\n *ngIf=\"\n toolbarConfig.blockquote ||\n toolbarConfig.codeBlock ||\n toolbarConfig.link ||\n toolbarConfig.image ||\n toolbarConfig.imageUrl ||\n toolbarConfig.video ||\n toolbarConfig.table\n \"\n class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.blockquote\"\n class=\"ql-blockquote\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.blockquote.label\"\n euiTooltip=\"{{ toolbarConfig.blockquote.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.codeBlock\"\n class=\"ql-code-block\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.codeBlock.label\"\n euiTooltip=\"{{ toolbarConfig.codeBlock.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.link\"\n class=\"ql-link\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.link.label\"\n euiTooltip=\"{{ toolbarConfig.link.label }}\">\n </button>\n <button\n *ngIf=\"toolbarConfig.image\"\n class=\"ql-image\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.image.label\"\n euiTooltip=\"{{ toolbarConfig.image.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.imageUrl\"\n [attr.aria-label]=\"toolbarConfig.imageUrl.label\"\n euiTooltip=\"{{ toolbarConfig.imageUrl.label }}\"\n (click)=\"imageUrlHandler()\">\n <eui-icon-svg icon=\"eui-image-add\"></eui-icon-svg>\n </button>\n <button\n *ngIf=\"toolbarConfig.video\"\n class=\"ql-video\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.video.label\"\n euiTooltip=\"{{ toolbarConfig.video.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.table\"\n [attr.aria-label]=\"toolbarConfig.table.label\"\n euiTooltip=\"{{ toolbarConfig.table.label }}\"\n (click)=\"insertTable()\">\n <eui-icon-svg icon=\"eui-ecl-spreadsheet\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.clean || toolbarConfig.delete\" class=\"ql-formats\">\n <button\n *ngIf=\"toolbarConfig.clean\"\n class=\"ql-clean\"\n type=\"button\"\n [attr.aria-label]=\"toolbarConfig.clean.label\"\n euiTooltip=\"{{ toolbarConfig.clean.label }}\">\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.delete\"\n [attr.aria-label]=\"toolbarConfig.delete.label\"\n euiTooltip=\"{{ toolbarConfig.delete.label }}\"\n (click)=\"editorDeleteContent()\">\n <eui-icon-svg icon=\"eui-delete-forever\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.undo || toolbarConfig.redo\" class=\"ql-formats\">\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.undo\"\n [attr.aria-label]=\"toolbarConfig.undo.label\"\n euiTooltip=\"{{ toolbarConfig.undo.label }}\"\n (click)=\"editorUndo()\">\n <eui-icon-svg icon=\"eui-undo\"></eui-icon-svg>\n </button>\n <button\n type=\"button\"\n *ngIf=\"toolbarConfig.redo\"\n [attr.aria-label]=\"toolbarConfig.redo.label\"\n euiTooltip=\"{{ toolbarConfig.redo.label }}\"\n (click)=\"editorRedo()\">\n <eui-icon-svg icon=\"eui-redo\"></eui-icon-svg>\n </button>\n </div>\n <div *ngIf=\"toolbarConfig.counters\" class=\"ql-formats\">\n <eui-editor-counters\n [hasCharactersCounter]=\"hasCharactersCounter\"\n [charactersCounter]=\"charactersCount\"\n [charactersLabel]=\"charactersCounterLabel\"\n [hasWordsCounter]=\"hasWordsCounter\"\n [wordsCounter]=\"wordsCount\"\n [wordsLabel]=\"wordsCounterLabel\"\n [attr.aria-label]=\"toolbarConfig.counters.label\"\n role=\"button\"\n euiTooltip=\"{{ toolbarConfig.counters.label }}\">\n </eui-editor-counters>\n </div>\n </div>\n <div *ngIf=\"euiEditorCustomToolbar\" quill-editor-toolbar>\n <ng-content select=\"euiEditorCustomToolbar\"></ng-content>\n </div>\n </quill-editor>\n</div>\n\n<!-- READONLY MODE -->\n<div\n [hidden]=\"!isReadOnly\"\n class=\"eui-editor eui-editor--readonly {{ styleClass }}\"\n [class.eui-editor--empty]=\"!value\"\n tabindex=\"{{ tabindex }}\"\n (click)=\"enableEditorOnFocus()\"\n (focusin)=\"enableEditorOnFocus()\">\n <eui-editor-html-view *ngIf=\"format === 'html'\" [content]=\"value\" [theme]=\"theme\"></eui-editor-html-view>\n <eui-editor-json-view *ngIf=\"format === 'json'\" [content]=\"jsonToHtmlContent\" [theme]=\"theme\"></eui-editor-json-view>\n</div>\n", styles: ["@charset \"UTF-8\";.qlbt-operation-menu .qlbt-operation-color-picker{padding:0 12px 10px!important}.eui-editor{--editor-base-font-size: calc(var(--eui-base-font-size-m) + 1px);--editor-base-line-height: 1.25;--editor-paragraph-spacer: var(--eui-base-spacing-m);--editor-lists-spacer: var(--eui-base-spacing-s);--picker-font-size: var(--eui-base-font-size-s);--picker-height: var(--eui-base-spacing-xl);--picker-width: calc(6 * var(--eui-base-spacing-m));--button-height: var(--eui-base-spacing-xl);--button-width: var(--eui-base-spacing-xl)}.eui-editor .ql-container{box-sizing:border-box;font-size:var(--eui-base-font-size);height:100%;margin:0;position:relative;resize:vertical;white-space:pre-wrap;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-container.ql-snow .ql-tooltip{align-items:center;display:flex;background:var(--eui-base-color-primary-5);box-shadow:var(--eui-base-shadow-z-depth-1);left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing{align-items:center;display:flex;left:50%!important;position:absolute;transform:translate(-50%,60%);width:75%}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing.ql-hidden{display:none}.eui-editor .ql-container.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block;width:100%}.eui-editor .ql-container.ql-snow a.ql-preview{max-width:100%;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top;width:100%}.eui-editor .ql-toolbar{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-35);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow{box-sizing:border-box}.eui-editor .ql-toolbar.ql-snow .ql-formats{align-items:center;background-color:var(--eui-base-color-grey-2);border:1px solid var(--eui-base-color-grey-35);border-radius:5px;display:inline-flex;margin-bottom:var(--eui-base-spacing-xs);margin-right:var(--eui-base-spacing-xs);vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker{align-items:center;color:var(--eui-base-color-grey-darker);display:inline-flex;height:var(--picker-height);max-height:var(--picker-height);position:relative;vertical-align:middle}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-picker .ql-picker-label{align-items:center;border-color:transparent;display:flex;font-size:var(--picker-font-size)}.eui-editor .ql-toolbar.ql-snow .ql-formats select{background-color:transparent}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats select:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats select:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button{align-items:center;background-color:transparent;border:0 solid var(--eui-base-color-grey-50);box-shadow:none;color:var(--eui-base-color-grey-75);cursor:pointer;display:inline-flex;height:var(--button-height);justify-content:center;min-width:var(--button-width)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:hover{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-info)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.active,.eui-editor .ql-toolbar.ql-snow .ql-formats button.ql-active{background:var(--eui-base-color-accent);color:var(--eui-base-color-primary)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:first-child{border-radius:5px 0 0 5px}.eui-editor .ql-toolbar.ql-snow .ql-formats button:last-child{border-radius:0 5px 5px 0}.eui-editor .ql-toolbar.ql-snow .ql-formats button .eui-icon{font-size:var(--eui-base-font-size-2xl)}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:active:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button:active [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:active [tabindex=\"0\"]:focus:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus [tabindex=\"0\"]:active:not([readonly]),.eui-editor .ql-toolbar.ql-snow .ql-formats button:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters{align-items:center;cursor:auto;display:inline-flex;width:auto}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter{color:var(--eui-base-color-info);font-size:var(--eui-base-font-size-s);font-weight:900}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-counter.chars-counter--error,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-counter.chars-counter--error{color:var(--eui-base-color-danger)}.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .chars-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .words-label,.eui-editor .ql-toolbar.ql-snow .ql-formats button.editor-counters .bytes-label{color:var(--eui-base-color-grey-dark);font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-formats .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:1px}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker{height:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-2xs) 0;width:calc(7 * var(--eui-base-spacing-m))}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before{content:\"Small\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smaller]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{content:\"Smaller\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=smallest]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{content:\"Smallest\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before{content:\"Large\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-label[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=small]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-small{font-size:var(--eui-base-font-size-s)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smaller]:before{font-size:var(--eui-base-font-size-xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=smallest]:before{font-size:var(--eui-base-font-size-2xs)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=large]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-large{font-size:var(--eui-base-font-size-xl)}.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-picker-item[data-value=huge]:before,.eui-editor .ql-toolbar.ql-snow .ql-size.ql-picker .ql-size-huge{font-size:var(--eui-base-font-size-4xl)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item:before{content:\"Normal\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"1\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"2\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"3\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"4\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"5\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-label[data-value=\"6\"]:before,.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"1\"]:before{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"2\"]:before{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"3\"]:before{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"4\"]:before{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"5\"]:before{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-header.ql-picker .ql-picker-item[data-value=\"6\"]:before{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker{align-items:center;display:flex;height:var(--picker-height);width:var(--picker-width)}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item:before{content:\"Sans Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=serif]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-label[data-value=monospace]:before,.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=sans-serif]:before{font-family:arial,sans-serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=serif]:before{font-family:times new roman,serif!important}.eui-editor .ql-toolbar.ql-snow .ql-font.ql-picker .ql-picker-item[data-value=monospace]:before{font-family:courier new,monospace!important}.eui-editor .ql-toolbar.ql-snow .ql-color-picker{width:var(--eui-base-spacing-xl)}.eui-editor .ql-toolbar .eui-editor-custom-toolbar{display:inline-flex;margin:0;padding:0;vertical-align:middle}.eui-editor .ql-editor{box-sizing:border-box;height:100%;line-height:var(--editor-base-line-height);outline:none;overflow-y:auto;padding:var(--eui-base-spacing-s);tab-size:4;text-align:left;white-space:inherit;word-break:normal;word-wrap:break-word;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor h1{font:normal normal 400 2rem/2.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h2{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family)}.eui-editor .ql-editor h3{font:normal normal 400 1.5rem/1.75rem var(--eui-base-font-family)}.eui-editor .ql-editor h4{font:normal normal 400 1.25rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h5{font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.eui-editor .ql-editor h6{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-editor .ql-editor .h7{font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h8{font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor .h9{font:normal normal 400 .625rem/1rem var(--eui-base-font-family)}.eui-editor .ql-editor p{margin-bottom:var(--editor-paragraph-spacer)}.eui-editor .ql-editor p:first-child{margin-top:0}.eui-editor .ql-editor p:last-child{margin-bottom:0}.eui-editor .ql-editor em,.eui-editor .ql-editor i{font-style:italic!important}.eui-editor .ql-editor strong,.eui-editor .ql-editor b{font-weight:700!important}.eui-editor .ql-editor strong em,.eui-editor .ql-editor strong i,.eui-editor .ql-editor b em,.eui-editor .ql-editor b i{font-style:italic!important;font-weight:700!important}.eui-editor .ql-editor strong em u,.eui-editor .ql-editor strong i u,.eui-editor .ql-editor b em u,.eui-editor .ql-editor b i u{text-decoration:underline!important}.eui-editor .ql-editor blockquote{border-left:var(--eui-base-spacing-xs) solid var(--eui-base-color-grey-75);margin-bottom:0;margin-top:0;padding-left:var(--eui-base-spacing-m)}.eui-editor .ql-editor code,.eui-editor .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.eui-editor .ql-editor pre{margin-bottom:var(--eui-base-spacing-xs);margin-top:var(--eui-base-spacing-xs);padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);white-space:pre-wrap}.eui-editor .ql-editor code{font-size:85%;padding:2px 4px;word-break:break-word}.eui-editor .ql-editor ol,.eui-editor .ql-editor ul{margin-bottom:var(--editor-lists-spacer)}.eui-editor .ql-editor ol{counter-reset:inherit;list-style:none}.eui-editor .ql-editor ol li{padding-left:var(--eui-base-spacing-s)}.eui-editor .ql-editor ol li[data-list=bullet]{list-style:none}.eui-editor .ql-editor ol li[data-list=bullet]>.ql-ui:before{content:\"\\2022\";font-size:var(--eui-base-font-size-xl);margin-left:calc(-2.125 * var(--eui-base-spacing-m));position:absolute;top:calc(-.75 * var(--eui-base-spacing-2xs))}.eui-editor .ql-editor ol li[data-list=ordered]{list-style:none}.eui-editor .ql-editor pre.ql-syntax{background-color:var(--eui-base-color-grey-dark);color:#f5f5f5;overflow:visible}.eui-editor .ql-editor iframe,.eui-editor .ql-editor img{display:inline-block;height:1;width:1}.eui-editor .ql-editor.ql-blank:before{left:var(--eui-base-spacing-m);position:absolute;right:0}.eui-editor .ql-editor p,.eui-editor .ql-editor label,.eui-editor .ql-editor .label,.eui-editor .ql-editor blockquote,.eui-editor .ql-editor abbr,.eui-editor .ql-editor mark,.eui-editor .ql-editor del{font-size:var(--editor-base-font-size)}.eui-editor.eui-editor--focused .ql-container{box-shadow:var(--eui-base-shadow-z-depth-0)}.eui-editor.eui-editor--focused .ql-container:active:not([readonly]),.eui-editor.eui-editor--focused .ql-container:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor.eui-editor--focused .ql-container [tabindex=\"0\"]:active:not([readonly]),.eui-editor.eui-editor--focused .ql-container [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-editor.eui-editor--readonly .ql-container{border:none}.eui-editor.eui-editor--readonly .ql-editor{min-height:calc(var(--eui-base-spacing-2xl) + 2px);padding:0 0 var(--eui-base-spacing-m) 0}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container{border:none;outline:1px dashed var(--eui-base-color-grey-50)}.eui-editor.eui-editor--readonly.eui-editor--empty .ql-container:hover{outline:1px solid var(--eui-base-color-grey-75)}.eui-editor-wrapper{position:relative}.eui-editor-wrapper .eui-editor{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.eui-editor-wrapper .eui-editor .ql-container{background-color:var(--eui-base-color-white);border:1px solid #ccc;flex-grow:1;padding:.35rem}.eui-editor-wrapper .eui-editor .ql-container .ngx-quill-view{border:0}eui-editor{position:relative;width:100%}eui-editor.ng-invalid.ng-touched .eui-editor:not(.eui-editor--readonly) .ql-container{outline:1px solid var(--eui-base-color-danger)}.ql-container .qlbt-selection-line.qlbt-selection-line-left:before{background-color:#0589f3;border-radius:5px;content:\"\";height:5px;left:-2px;position:absolute;top:-2px;width:5px}.ql-container .qlbt-selection-line.qlbt-selection-line-right:before{background-color:#0589f3;border-radius:5px;bottom:-3px;content:\"\";height:5px;position:absolute;right:-2px;width:5px}.quill-better-table-wrapper{overflow-x:auto}table.quill-better-table{border-collapse:collapse;table-layout:fixed}table.quill-better-table td{border:1px solid #000;padding:2px 5px}.qlbt-operation-menu{background-color:#fff;box-shadow:0 2px 8px #00000026;font-size:14px;overflow:hidden;z-index:100}.qlbt-operation-menu .qlbt-operation-menu-dividing{background-color:#efefef;height:1px}.qlbt-operation-menu .qlbt-operation-menu-subtitle{color:#999;font-size:14px;padding:5px 16px}.qlbt-operation-menu .qlbt-operation-color-picker{align-items:center;background-color:#fff;display:flex;flex-wrap:wrap;overflow:hidden;padding:0 16px 10px}.qlbt-operation-menu .qlbt-operation-color-picker .qlbt-operation-color-picker-item{border:1px solid #595959;cursor:pointer;height:20px;margin-bottom:5px;margin-right:5px;width:20px}.qlbt-operation-menu .qlbt-operation-menu-item{align-items:center;background-color:#fff;color:#595959;cursor:pointer;display:flex;overflow:hidden;padding:10px 16px;text-overflow:ellipsis}.qlbt-operation-menu .qlbt-operation-menu-item:hover{background-color:#efefef}.qlbt-operation-menu .qlbt-operation-menu-item .qlbt-operation-menu-icon{font-size:0;height:20px;margin-right:8px;width:20px}.qlbt-col-tool{align-items:flex-end;display:flex;height:16px;overflow:hidden;position:absolute;z-index:99}.qlbt-col-tool .qlbt-col-tool-cell{background-color:#fff;border-bottom:1px solid #000;border-right:1px solid #000;border-top:1px solid #000;position:relative}.qlbt-col-tool .qlbt-col-tool-cell:first-child{border-left:1px solid #000}.qlbt-col-tool .qlbt-col-tool-cell-holder{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:-1px;top:0;width:1px;z-index:3}.qlbt-col-tool .qlbt-col-tool-cell-holder:hover{background-color:#0589f3}.qlbt-col-tool .qlbt-col-tool-cell-holder:before{content:\"\";display:block;height:100%;left:-6px;position:absolute;top:0;width:8px}.qlbt-col-tool .qlbt-col-tool-cell-holder:after{content:\"\";display:block;height:100%;position:absolute;right:-6px;top:0;width:8px}\n"] }]
|
517
414
|
}], ctorParameters: () => [{ type: i1.EuiDialogService }, { type: i2.NgControl }], propDecorators: { e2eAttr: [{
|
518
415
|
type: Input
|
519
416
|
}], id: [{
|
@@ -534,56 +431,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7",
|
|
534
431
|
type: Input
|
535
432
|
}], modules: [{
|
536
433
|
type: Input
|
537
|
-
}], style: [{
|
538
|
-
type: Input
|
539
434
|
}], formats: [{
|
540
435
|
type: Input
|
541
|
-
}], customToolbarOptions: [{
|
542
|
-
type: Input
|
543
|
-
}], maxLength: [{
|
544
|
-
type: Input
|
545
|
-
}], minLength: [{
|
546
|
-
type: Input
|
547
|
-
}], formControlName: [{
|
548
|
-
type: Input
|
549
|
-
}], feedbackTypeClass: [{
|
550
|
-
type: Input
|
551
|
-
}], validationErrorMessage: [{
|
552
|
-
type: Input
|
553
|
-
}], scrollingContainer: [{
|
554
|
-
type: Input
|
555
|
-
}], bounds: [{
|
556
|
-
type: Input
|
557
|
-
}], customOptions: [{
|
558
|
-
type: Input
|
559
|
-
}], trackChanges: [{
|
560
|
-
type: Input
|
561
436
|
}], customToolbarConfig: [{
|
562
437
|
type: Input
|
563
438
|
}], height: [{
|
564
439
|
type: Input
|
565
|
-
}], onInit: [{
|
566
|
-
type: Output
|
567
|
-
}], onTextChange: [{
|
568
|
-
type: Output
|
569
|
-
}], onSelectionChange: [{
|
570
|
-
type: Output
|
571
|
-
}], onEditorCreated: [{
|
572
|
-
type: Output
|
573
|
-
}], onEditorChanged: [{
|
574
|
-
type: Output
|
575
|
-
}], onContentChanged: [{
|
576
|
-
type: Output
|
577
|
-
}], onSelectionChanged: [{
|
578
|
-
type: Output
|
579
|
-
}], onFocus: [{
|
580
|
-
type: Output
|
581
|
-
}], onBlur: [{
|
582
|
-
type: Output
|
583
|
-
}], getCharactersCounter: [{
|
584
|
-
type: Output
|
585
|
-
}], getWordsCounter: [{
|
586
|
-
type: Output
|
587
440
|
}], editorCreate: [{
|
588
441
|
type: Output
|
589
442
|
}], editorChange: [{
|
@@ -617,20 +470,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7",
|
|
617
470
|
type: Input
|
618
471
|
}], isMinimalToolbar: [{
|
619
472
|
type: Input
|
620
|
-
}], isRequired: [{
|
621
|
-
type: Input
|
622
|
-
}], isEditable: [{
|
623
|
-
type: Input
|
624
|
-
}], hasReadOnlyStyles: [{
|
625
|
-
type: Input
|
626
|
-
}], strict: [{
|
627
|
-
type: Input
|
628
|
-
}], preserveWhitespace: [{
|
629
|
-
type: Input
|
630
|
-
}], spellcheck: [{
|
631
|
-
type: Input
|
632
|
-
}], isImageUrl: [{
|
633
|
-
type: Input
|
634
473
|
}], isInvalid: [{
|
635
474
|
type: HostBinding,
|
636
475
|
args: ['attr.aria-invalid']
|
@@ -641,14 +480,14 @@ export class EuiEditorCustomToolbarTagDirective {
|
|
641
480
|
this.elementRef = elementRef;
|
642
481
|
this.elementClass = 'eui-editor-custom-toolbar';
|
643
482
|
}
|
644
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-
|
645
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-
|
483
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: EuiEditorCustomToolbarTagDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
484
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: EuiEditorCustomToolbarTagDirective, selector: "euiEditorCustomToolbar", host: { properties: { "class": "this.elementClass" } }, ngImport: i0 }); }
|
646
485
|
}
|
647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-
|
486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: EuiEditorCustomToolbarTagDirective, decorators: [{
|
648
487
|
type: Directive,
|
649
488
|
args: [{ selector: 'euiEditorCustomToolbar' }]
|
650
489
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { elementClass: [{
|
651
490
|
type: HostBinding,
|
652
491
|
args: ['class']
|
653
492
|
}] } });
|
654
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9leHRlcm5hbHMvZXVpLWVkaXRvci9ldWktZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2V4dGVybmFscy9ldWktZWRpdG9yL2V1aS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsR0FFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RixPQUFPLEVBQUUscUJBQXFCLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7O0FBVDlGLDBHQUEwRztBQUMxRyxNQUFNLFNBQVMsR0FBUSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFTdkMsd0NBQXdDO0FBQ3hDLElBQUksZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFjbEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9GM0IsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFD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O3NCQURmLEtBQUs7Z0JBU0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVNGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO2dCQVVGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUs7Z0JBVUYsa0JBQWtCO3NCQURyQixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixXQUFXO3VCQUFDLG1CQUFtQjs7QUFpWXBDLG9CQUFvQjtBQUVwQixNQUFNLE9BQU8sa0NBQWtDO0lBRzNDLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGbkIsaUJBQVksR0FBRywyQkFBMkIsQ0FBQztJQUVyQixDQUFDO3dJQUhwQyxrQ0FBa0M7NEhBQWxDLGtDQUFrQzs7a0dBQWxDLGtDQUFrQztrQkFEOUMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTsrRUFFdkIsWUFBWTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkluaXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgT25EZXN0cm95LFxuICAgIERpcmVjdGl2ZSxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250ZW50Q2hhbmdlLCBRdWlsbE1vZHVsZXMgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXh0ZXJuYWxzL3F1aWxsJztcblxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbixuby11bmRlcnNjb3JlLWRhbmdsZSxpZC1kZW55bGlzdCxpZC1tYXRjaFxuY29uc3QgUXVpbGxUeXBlOiBhbnkgPSB3aW5kb3dbJ1F1aWxsJ107XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCBEZWx0YSBmcm9tICdxdWlsbC1kZWx0YSc7XG5cbmltcG9ydCB7IEV1aURpYWxvZ0NvbmZpZywgRXVpRGlhbG9nU2VydmljZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktZGlhbG9nJztcblxuaW1wb3J0IHsgQmV0dGVyVGFibGVNb2R1bGUsIEJsdXIsIEVkaXRvckNoYW5nZVNlbGVjdGlvbiwgRm9jdXMsIFNlbGVjdGlvbkNoYW5nZSwgVG9vbGJhckl0ZW1Db25maWcgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXh0ZXJuYWxzL3F1aWxsJztcbmltcG9ydCB7IEV1aUVkaXRvckltYWdlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS11cmwtZGlhbG9nL2ltYWdlLXVybC1kaWFsb2cuY29tcG9uZW50Jztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbmxldCBRdWlsbEJldHRlclRhYmxlID0gd2luZG93WydxdWlsbEJldHRlclRhYmxlJ107XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHNlbGVjdG9yOiAnZXVpLWVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC8vIFRPRE86IENoZWNrIHRvIGNoYW5nZSB0aGUgcHJvdmlkaW5nIHdheS4gUHJvdmlkZSB3aXRoIGluamVjdG9yIHJlZmVyZW5jZVxuICAgICAgICBFdWlEaWFsb2dTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktZWRpdG9yJztcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICAgIEBJbnB1dCgpIGZvcm1hdDogJ2h0bWwnIHwgJ2pzb24nID0gJ2h0bWwnO1xuICAgIEBJbnB1dCgpIHRoZW1lOiAnc25vdycgfCAnYnViYmxlJyA9ICdzbm93JztcbiAgICBASW5wdXQoKSBkZWJ1ZzogJ3dhcm4nIHwgJ2xvZycgfCAnZXJyb3InIHwgZmFsc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjdXN0b21Ub29sYmFyUG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgPSAndG9wJztcbiAgICBASW5wdXQoKSB0YWJpbmRleCA9ICcwJztcbiAgICBASW5wdXQoKSBtb2R1bGVzOiBRdWlsbE1vZHVsZXM7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBmb3JtYXRzPzogc3RyaW5nW10gfCBudWxsO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQElucHV0KCkgY3VzdG9tVG9vbGJhck9wdGlvbnM/OiBhbnk7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIEBJbnB1dCgpIGZlZWRiYWNrVHlwZUNsYXNzID0gJ2Rhbmdlcic7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSB2YWxpZGF0aW9uRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBzY3JvbGxpbmdDb250YWluZXI/OiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IG51bGw7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSBib3VuZHM/OiBIVE1MRWxlbWVudCB8IHN0cmluZztcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIEBJbnB1dCgpIGN1c3RvbU9wdGlvbnM6IGFueVtdID0gW107XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKSB0cmFja0NoYW5nZXM/OiAndXNlcicgfCAnYWxsJztcbiAgICAvLyBORVcgRVVJIElOUFVUU1xuICAgIEBJbnB1dCgpIGN1c3RvbVRvb2xiYXJDb25maWc6IFRvb2xiYXJJdGVtQ29uZmlnW107XG4gICAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkluaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uVGV4dENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uRWRpdG9yQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIFF1aWxsVHlwZT4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkVkaXRvckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvckNoYW5nZVNlbGVjdGlvbiB8IENvbnRlbnRDaGFuZ2U+KCk7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25Db250ZW50Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGVudENoYW5nZT4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZT4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1cz4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEJsdXI+KCk7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBAT3V0cHV0KCkgZ2V0Q2hhcmFjdGVyc0NvdW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIEBPdXRwdXQoKSBnZXRXb3Jkc0NvdW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8vIE5FVyBPVVRQVVRTID0+IGVVSTEzKyBvbmx5XG4gICAgQE91dHB1dCgpIGVkaXRvckNyZWF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIFF1aWxsVHlwZT4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0b3JDaGFuZ2VTZWxlY3Rpb24gfCBDb250ZW50Q2hhbmdlPigpO1xuICAgIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZW50Q2hhbmdlPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZT4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzPigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyPigpO1xuICAgIEBPdXRwdXQoKSBjaGFyYWN0ZXJzQ291bnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgd29yZHNDb3VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ldWktZWRpdG9yJykgdHJ1ZTogYm9vbGVhbjtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yZWFkb25seScpXG4gICAgZ2V0IHJlYWRvbmx5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVhZE9ubHkgPyAncmVhZG9ubHknIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IGFueSA9ICcnO1xuICAgIHB1YmxpYyBjaGFyYWN0ZXJzQ291bnQgPSAwO1xuICAgIHB1YmxpYyB3b3Jkc0NvdW50ID0gMDtcbiAgICBwdWJsaWMgYnl0ZXNDb3VudCA9IDA7XG4gICAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBnZW5lcmF0ZWRJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMganNvblRvSHRtbENvbnRlbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgdG9vbGJhckNvbmZpZzogeyBbaWQ6IHN0cmluZ106IHsgbGFiZWw6IHN0cmluZzsgb3B0aW9uczogYW55W107IGRpYWxvZ01lc3NhZ2U6IHN0cmluZyB9IH07XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlFZGl0b3JDdXN0b21Ub29sYmFyVGFnRGlyZWN0aXZlKSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgZXVpRWRpdG9yQ3VzdG9tVG9vbGJhcjogRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzUmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1JlYWRPbmx5O1xuICAgIH1cbiAgICBzZXQgaXNSZWFkT25seSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzUmVhZE9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NvdW50ZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvdW50ZXJzO1xuICAgIH1cbiAgICBzZXQgc2hvd0NvdW50ZXJzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd0NvdW50ZXJzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2hvd0NvdW50ZXJzID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0VuYWJsZWRPbkZvY3VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNFbmFibGVkT25Gb2N1cztcbiAgICB9XG4gICAgc2V0IGlzRW5hYmxlZE9uRm9jdXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5faXNFbmFibGVkT25Gb2N1cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzRW5hYmxlZE9uRm9jdXMgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc01pbmltYWxUb29sYmFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNaW5pbWFsVG9vbGJhcjtcbiAgICB9XG4gICAgc2V0IGlzTWluaW1hbFRvb2xiYXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc01pbmltYWxUb29sYmFyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNNaW5pbWFsVG9vbGJhciA9IGZhbHNlO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQElucHV0KClcbiAgICBnZXQgaXNSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUmVxdWlyZWQ7XG4gICAgfVxuICAgIHNldCBpc1JlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNSZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAvKiogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCB2ZXJzaW9uIG9mIGV1aSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0VkaXRhYmxlO1xuICAgIH1cbiAgICBzZXQgaXNFZGl0YWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRWRpdGFibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0VkaXRhYmxlID0gZmFsc2U7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNSZWFkT25seVN0eWxlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc1JlYWRPbmx5U3R5bGVzO1xuICAgIH1cbiAgICBzZXQgaGFzUmVhZE9ubHlTdHlsZXModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9oYXNSZWFkT25seVN0eWxlcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2hhc1JlYWRPbmx5U3R5bGVzID0gZmFsc2U7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzdHJpY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJpY3Q7XG4gICAgfVxuICAgIHNldCBzdHJpY3QodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9zdHJpY3QgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zdHJpY3QgPSB0cnVlO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcHJlc2VydmVXaGl0ZXNwYWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJlc2VydmVXaGl0ZXNwYWNlO1xuICAgIH1cbiAgICBzZXQgcHJlc2VydmVXaGl0ZXNwYWNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fcHJlc2VydmVXaGl0ZXNwYWNlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcHJlc2VydmVXaGl0ZXNwYWNlID0gZmFsc2U7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiBvZiBldWkgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzcGVsbGNoZWNrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3BlbGxjaGVjaztcbiAgICB9XG4gICAgc2V0IHNwZWxsY2hlY2sodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9zcGVsbGNoZWNrID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc3BlbGxjaGVjayA9IGZhbHNlO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IHZlcnNpb24gb2YgZXVpICovXG4gICAgQElucHV0KClcbiAgICBnZXQgaXNJbWFnZVVybCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW1hZ2VVcmw7XG4gICAgfVxuICAgIHNldCBpc0ltYWdlVXJsKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5faXNJbWFnZVVybCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzSW1hZ2VVcmwgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWludmFsaWQnKVxuICAgIGdldCBpc0ludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQ7XG4gICAgfVxuICAgIHNldCBpc0ludmFsaWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0ludmFsaWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcXVpbGw6IHR5cGVvZiBRdWlsbFR5cGU7XG4gICAgcHJpdmF0ZSBtaW5pbWFsVG9vbGJhckNvbmZpZzogVG9vbGJhckl0ZW1Db25maWdbXSA9IFtcbiAgICAgICAgeyBuYW1lOiAnaGVhZGluZ3MnIH0sXG4gICAgICAgIHsgbmFtZTogJ2JvbGQnIH0sXG4gICAgICAgIHsgbmFtZTogJ2l0YWxpYycgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kZXJsaW5lJyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250Q29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ3RleHRBbGlnbicgfSxcbiAgICAgICAgeyBuYW1lOiAnbGluaycgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlVXJsJyB9LFxuICAgICAgICB7IG5hbWU6ICdjbGVhbicgfSxcbiAgICAgICAgeyBuYW1lOiAnZGVsZXRlJyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRvJyB9LFxuICAgICAgICB7IG5hbWU6ICdyZWRvJyB9LFxuICAgICAgICB7IG5hbWU6ICdjb3VudGVycycgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgZGVmYXVsdFRvb2xiYXJDb25maWc6IFRvb2xiYXJJdGVtQ29uZmlnW10gPSBbXG4gICAgICAgIHsgbmFtZTogJ2hlYWRpbmdzJywgbGFiZWw6ICdTdHlsZSAtIEFwcGx5IGFuIEhUTUwgdGFnIG9yIENTUyBjbGFzcyB0byB0aGUgc2VsZWN0ZWQgdGV4dCcsIG9wdGlvbnM6IFsxLCAyLCAzLCA0LCA1LCA2XSB9LFxuICAgICAgICB7IG5hbWU6ICdmb250JywgbGFiZWw6ICdGb250IC0gQ2hhbmdlIHRoZSBmb250IGZhY2UnIH0sXG4gICAgICAgIHsgbmFtZTogJ2JvbGQnLCBsYWJlbDogJ0JvbGQgKEN0cmwgKyBCKSAtIE1ha2UgdGhlIHNlbGVjdGVkIHRleHQgYm9sZCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaXRhbGljJywgbGFiZWw6ICdJdGFsaWMgKEN0cmwgKyBJKSAtIEl0YWxpY2l6ZSB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kZXJsaW5lJywgbGFiZWw6ICdVbmRlcmxpbmUgKEN0cmwgKyBVKSAtIFVuZGVybGluZSB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnc3RyaWtlJywgbGFiZWw6ICdTdHJpa2V0aHJvdWdoIC0gRHJhdyBhIGxpbmUgdG8gdGhlIG1pZGRsZSBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnZm9udENvbG9yJywgbGFiZWw6ICdGb250IENvbG9yIC0gQ2hhbmdlIHRoZSB0ZXh0IGNvbG9yJyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250QmFja2dyb3VuZCcsIGxhYmVsOiAnRm9udCBCYWNrZ3JvdW5kIC0gQ2hhbmdlIHRoZSB0ZXh0IGJhY2tncm91bmQgY29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ3N1YnNjcmlwdCcsIGxhYmVsOiAnU3Vic2NyaXB0IC0gQ3JlYXRlIHNzbWFsbCBsZXR0ZXJzIGJlbG93IHRoZSB0ZXh0IGJhc2VsaW5lJyB9LFxuICAgICAgICB7IG5hbWU6ICdzdXBlcnNjcmlwdCcsIGxhYmVsOiAnU3VwZXJzY3JpcHQgLSBDcmVhdGUgc21hbGwgbGV0dGVycyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAndGV4dEFsaWduJywgbGFiZWw6ICdUZXh0IEFsaWduIC0gQWxpZ24gdGhlIHRleHQgdG8gdGhlIHNlbGVjdGVkIHBvc2l0aW9uOiBsZWZ0IChkZWZhdWx0KSwgY2VudGVyLCByaWdodCBvciBqdXN0aWZ5JyB9LFxuICAgICAgICB7IG5hbWU6ICdvcmRlcmVkTGlzdCcsIGxhYmVsOiAnTnVtYmVyaW5nIC0gU3RhcnQgYW4gb3JkZXJlZCBsaXN0JyB9LFxuICAgICAgICB7IG5hbWU6ICdidWxsZXRMaXN0JywgbGFiZWw6ICdCdWxsZXRzIC0gU3RhcnQgYSBidWxsZXRlZCBsaXN0JyB9LFxuICAgICAgICB7IG5hbWU6ICdpbmRlbnRMZXNzJywgbGFiZWw6ICdEZWNyZWFzZSBJbmRlbnQgLSBEZWNyZWFzZSB0aGUgaW5kZW50IGxldmVsIG9mIHRoZSBwYXJhZ3JhcGgnIH0sXG4gICAgICAgIHsgbmFtZTogJ2luZGVudE1vcmUnLCBsYWJlbDogJ0luY3JlYXNlIEluZGVudCAtIEluY3JlYXNlIHRoZSBpbmRlbnQgbGV2ZWwgb2YgdGhlIHBhcmFncmFwaCcgfSxcbiAgICAgICAgeyBuYW1lOiAnYmxvY2txdW90ZScsIGxhYmVsOiAnQmxvY2txdW90ZSAtIENyZWF0ZSBhIHF1b3RlZCBibG9jayBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnY29kZUJsb2NrJywgbGFiZWw6ICdJbnNlcnQgQ29kZSBCbG9jayAtIEluc2VydCBhIGNvZGUgYmxvY2sgYXQgdGhlIGN1cnNvciByb3cgcG9zaXRpb24nIH0sXG4gICAgICAgIHsgbmFtZTogJ2xpbmsnLCBsYWJlbDogJ0luc2VydCBIeXBlcmxpbmsgKEN0cmwgKyBLKSAtIENyZWF0ZSBhIGxpbmsgdG8gYSBXZWIgcGFnZSwgYSBwaWN0dXJlLCBhbiBlLW1haWwgYWRkcmVzcyBvciBhIHByb2dyYW0nIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlJywgbGFiZWw6ICdJbnNlcnQgUGljdHVyZSAtIEluc2VydCBhIHBpY3R1cmUgZnJvbSBhIGZpbGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ltYWdlVXJsJywgbGFiZWw6ICdJbnNlcnQgUGljdHVyZSBmcm9tIFVSTCAtIEluc2VydCBhIHBpY3R1cmUgZnJvbSBhIHJlbW90ZSBVUkwnLCBkaWFsb2dNZXNzYWdlOiAnRW50ZXIgaW1hZ2UgbGluayBVUkwnIH0sXG4gICAgICAgIHsgbmFtZTogJ3ZpZGVvJywgbGFiZWw6ICdJbnNlcnQgVmlkZW8gLSBJbnNlcnQgYSB2aWRlbyBmcm9tIGEgZmlsZScgfSxcbiAgICAgICAgeyBuYW1lOiAndGFibGUnLCBsYWJlbDogJ0luc2VydCBUYWJsZSAtIEluc2VydCBhIDN4MyByb3dzL2NvbHMgdGFibGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2NsZWFuJywgbGFiZWw6ICdSZW1vdmUgU3R5bGVzIC0gUmVtb3ZlIHRoZSBzdHlsZXMgb2YgdGhlIHNlbGVjdGVkIHRleHQnIH0sXG4gICAgICAgIHsgbmFtZTogJ2RlbGV0ZScsIGxhYmVsOiBcIkRlbGV0ZSBjb250ZW50IC0gUGVybWFuZW50bHkgZGVsZXRlcyBlZGl0b3IncyBjb250ZW50c1wiIH0sXG4gICAgICAgIHsgbmFtZTogJ3VuZG8nLCBsYWJlbDogJ1VuZG8gKEN0cmwgKyBaKSAtIENhbmNlbHMgdGhlIHByZXZpb3VzIGFjdGlvbicgfSxcbiAgICAgICAgeyBuYW1lOiAncmVkbycsIGxhYmVsOiAnUmVkbyAoQ3RybCArIFkpIC0gRG8gdGhlIG5leHQgaGlzdG9yeSBhY3Rpb24gYWdhaW4nIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdjb3VudGVycycsXG4gICAgICAgICAgICBsYWJlbDogJ0NvdW50ZXJzIC0gQ2hhcmFjdGVycyBhbmQgd29yZHMgY291bnRlcnMgKHN0cmlwcGVkIEh0bWwpJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdjaGFyYWN0ZXJzJywgbGFiZWw6ICdDaGFyYWN0ZXJzJyB9LFxuICAgICAgICAgICAgICAgIHsgbmFtZTogJ3dvcmRzJywgbGFiZWw6ICdXb3JkcycgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgXTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXVpRGlhbG9nU2VydmljZTogRXVpRGlhbG9nU2VydmljZSwgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm5nQ29udHJvbC5jb250cm9sLnN0YXR1cyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gc3RhdHVzICE9PSAnVkFMSUQnO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdlbmVyYXRlZElkID0gdGhpcy5pZCA/IHRoaXMuaWQgOiAnZXVpLWVkaXRvci0nICsgKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgMSkudG9TdHJpbmcoKTtcblxuICAgICAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB7fTtcbiAgICAgICAgaWYgKCF0aGlzLmN1c3RvbVRvb2xiYXJDb25maWcgJiYgIXRoaXMuaXNNaW5pbWFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIFt0Lm5hbWVdOiB7IGxhYmVsOiB0LmxhYmVsLCBvcHRpb25zOiB0Lm9wdGlvbnMsIGRpYWxvZ01lc3NhZ2U6IHQuZGlhbG9nTWVzc2FnZSB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbVRvb2xiYXJDb25maWcgJiYgIXRoaXMuaXNNaW5pbWFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy5jdXN0b21Ub29sYmFyQ29uZmlnLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9ICF0LmxhYmVsID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkubGFiZWwgOiB0LmxhYmVsO1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb25zID0gIXQub3B0aW9ucyA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLm9wdGlvbnMgOiB0Lm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9ICF0LmRpYWxvZ01lc3NhZ2UgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5kaWFsb2dNZXNzYWdlIDogdC5kaWFsb2dNZXNzYWdlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHQubmFtZSA9PT0gJ2NvdW50ZXJzJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXQub3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gdC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uTGFiZWwgPSBvcHRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBvcHRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKChkdGMpID0+IGR0Yy5uYW1lID09PSAnY291bnRlcnMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucy5maW5kKChvKSA9PiBvLm5hbWUgPT09IG9wdGlvbi5uYW1lKS5sYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBuYW1lOiBvcHRpb24ubmFtZSwgbGFiZWw6IG9wdGlvbkxhYmVsIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy50b29sYmFyQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBbdC5uYW1lXTogeyBsYWJlbCwgb3B0aW9ucywgZGlhbG9nTWVzc2FnZTogZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTWluaW1hbFRvb2xiYXIpIHtcbiAgICAgICAgICAgIHRoaXMubWluaW1hbFRvb2xiYXJDb25maWcuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gIXQubGFiZWwgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5sYWJlbCA6IHQubGFiZWw7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9ICF0Lm9wdGlvbnMgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5vcHRpb25zIDogdC5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSAhdC5kaWFsb2dNZXNzYWdlID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkuZGlhbG9nTWVzc2FnZSA6IHQuZGlhbG9nTWVzc2FnZTtcblxuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy50b29sYmFyQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBbdC5uYW1lXTogeyBsYWJlbCwgb3B0aW9ucywgZGlhbG9nTWVzc2FnZTogZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlRWRpdG9yT25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbmFibGVkT25Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5pc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaW1hZ2VVcmxIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBsZXQgaW1hZ2VVcmxEaWFsb2dGb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgICAgICB0aGlzLmV1aURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhcbiAgICAgICAgICAgIG5ldyBFdWlEaWFsb2dDb25maWcoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRvb2xiYXJDb25maWcuaW1hZ2VVcmwuZGlhbG9nTWVzc2FnZSxcbiAgICAgICAgICAgICAgICBpc0hhbmRsZUNsb3NlT25BY2NlcHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgYm9keUNvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEV1aUVkaXRvckltYWdlRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9ybVZhbHVlQ2hhbmdlOiAoZm9ybTogRm9ybUdyb3VwKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VVcmxEaWFsb2dGb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGltYWdlVXJsRGlhbG9nRm9ybSAmJiBpbWFnZVVybERpYWxvZ0Zvcm0udmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5jbG9zZURpYWxvZygpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMucXVpbGwuZ2V0U2VsZWN0aW9uKCkgfHwgeyBpbmRleDogMCwgbGVuZ3RoOiAwIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsLmluc2VydEVtYmVkKHJhbmdlLmluZGV4LCAnaW1hZ2UnLCBpbWFnZVVybERpYWxvZ0Zvcm0uZ2V0KCd1cmwnKS52YWx1ZSwgJ3VzZXInKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBlZGl0b3JVbmRvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1aWxsWydoaXN0b3J5J10udW5kbygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlZGl0b3JSZWRvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1aWxsWydoaXN0b3J5J10ucmVkbygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlZGl0b3JEZWxldGVDb250ZW50KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSBuZXcgRXVpRGlhbG9nQ29uZmlnKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIGNvbnRlbnQnLFxuICAgICAgICAgICAgY29udGVudDogXCI8cD5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGVkaXRvcidzIGNvbnRlbnQ/PC9wPlwiLFxuICAgICAgICAgICAgaGFzQ2xvc2VCdXR0b246IGZhbHNlLFxuICAgICAgICAgICAgYWNjZXB0OiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWlsbC5zZXRDb250ZW50cyhudWxsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGluc2VydFRhYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlTW9kdWxlLmluc2VydFRhYmxlKDMsIDMpO1xuICAgIH1cblxuICAgIGdldCBoYXNJbWFnZUZlYXR1cmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV1aUVkaXRvckN1c3RvbVRvb2xiYXJcbiAgICAgICAgICAgID8gdGhpcy5ldWlFZGl0b3JDdXN0b21Ub29sYmFyPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnFsLWltYWdlJylcbiAgICAgICAgICAgIDogdGhpcy50b29sYmFyQ29uZmlnLmltYWdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25FZGl0b3JDcmVhdGVkKHF1aWxsOiB0eXBlb2YgUXVpbGxUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVpbGwgPSBxdWlsbDtcblxuICAgICAgICBpZiAodGhpcy5pc0VuYWJsZWRPbkZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLnF1aWxsLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdGhpcy52YWx1ZSBhcyBzdHJpbmcgfSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUoZGVsdGEpO1xuICAgICAgICAgICAgdGhpcy5xdWlsbC5zZXRDb250ZW50cyhkZWx0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdqc29uJykge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5xdWlsbC5zZXRDb250ZW50cyhKU09OLnBhcnNlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5oYXNJbWFnZUZlYXR1cmUpIHtcbiAgICAgICAgICAgIHF1aWxsLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdJTUcnLCAoZWxlbWVudDogRWxlbWVudCwgZGVsdGE6IERlbHRhKSA9PiBuZXcgRGVsdGEoKS5pbnNlcnQoJycpKTtcbiAgICAgICAgICAgIHF1aWxsLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdQSUNUVVJFJywgKGVsZW1lbnQ6IEVsZW1lbnQsIGRlbHRhOiBEZWx0YSkgPT4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVkaXRvckNyZWF0ZS5lbWl0KHF1aWxsKTtcbiAgICAgICAgdGhpcy5vbkVkaXRvckNyZWF0ZWQuZW1pdChxdWlsbCk7IC8vIERFUFJFQ0FURUQgaW4gZVVJMTUrXG4gICAgfVxuXG4gICAgcHVibGljIF9vbkVkaXRvckNoYW5nZWQoZXZlbnQ6IEVkaXRvckNoYW5nZVNlbGVjdGlvbiB8IENvbnRlbnRDaGFuZ2UgfCBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLndhcm4oJ29uRWRpdG9yQ2hhbmdlZCgpIGV2ZW50IGlzIERFUFJFQ0FURUQgcGxlYXNlIHVzZSBjb250ZW50Q2hhbmdlKCkgZXZlbnQgaW5zdGVhZC4nKTtcbiAgICAgICAgdGhpcy5lZGl0b3JDaGFuZ2UuZW1pdChldmVudCBhcyBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLm9uRWRpdG9yQ2hhbmdlZC5lbWl0KGV2ZW50IGFzIENvbnRlbnRDaGFuZ2UpOyAvLyBERVBSRUNBVEVEIGluIGVVSTE1K1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25Db250ZW50Q2hhbmdlZChldmVudDogQ29udGVudENoYW5nZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50Lmh0bWw7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKHRoaXMudmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5odG1sRW50aXRpZXNEZWNvZGUodGhpcy52YWx1ZSBhcyBzdHJpbmcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdqc29uJykge1xuICAgICAgICAgICAgaWYgKGV2ZW50LnRleHQgIT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGV2ZW50LmNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycyhldmVudC50ZXh0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gdGhpcy5odG1sRW50aXRpZXNEZWNvZGUoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5qc29uVG9IdG1sQ29udGVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnMoJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuanNvblRvSHRtbENvbnRlbnQgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGVudENoYW5nZS5lbWl0KGV2ZW50KTsgLy8gTmV3IGVtaXR0ZXJcbiAgICAgICAgdGhpcy5vbkNvbnRlbnRDaGFuZ2VkLmVtaXQoZXZlbnQpOyAvLyBERVBSRUNBVEVEIGluIGVVSTE1K1xuICAgICAgICB0aGlzLl9vbkVkaXRvckNoYW5nZWQoZXZlbnQpOyAvLyBTeW5jIHdpdGggZWRpdG9yIGNoYW5nZSBldmVudCBzaW5jZSBpdCdzIGR1cGxpY2F0ZWQgZXZlbnRcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uU2VsZWN0aW9uQ2hhbmdlZChldmVudDogU2VsZWN0aW9uQ2hhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KGV2ZW50KTsgLy8gREVQUkVDQVRFRCBpbiBlVUkxNStcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uRm9jdXMoZXZlbnQ6IEZvY3VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb2N1cy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpOyAvLyBERVBSRUNBVEVEIGluIGVVSTE1K1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25CbHVyKGV2ZW50OiBCbHVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICB0aGlzLmJsdXIuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMub25CbHVyLmVtaXQoZXZlbnQpOyAvLyBERVBSRUNBVEVEIGluIGVVSTE1K1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuanNvblRvSHRtbENvbnRlbnQgPSB0aGlzLnZhbHVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucXVpbGwpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMucXVpbGwuY2xpcGJvYXJkLmNvbnZlcnQoeyBodG1sOiB0aGlzLnZhbHVlIGFzIHN0cmluZyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKGRlbHRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbC5zZXRDb250ZW50cyhkZWx0YSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnF1aWxsLnNldENvbnRlbnRzKEpTT04ucGFyc2UodGhpcy52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnModGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRhYmxlTW9kdWxlKCk6IEJldHRlclRhYmxlTW9kdWxlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucXVpbGwuZ2V0TW9kdWxlKCdiZXR0ZXItdGFibGUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIGh0bWxFbnRpdGllc0RlY29kZShjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBsZXQgYyA9IGNvbnRlbnQ7XG4gICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICBjID0gYy5yZXBsYWNlKCcmYW1wOycsICcmJyk7XG4gICAgICAgICAgICBjID0gYy5yZXBsYWNlKCcmbmJzcDsnLCAnICcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGM7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NoYXJhY3RlcnNDb3VudGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnY2hhcmFjdGVycycpO1xuICAgIH1cblxuICAgIGdldCBjaGFyYWN0ZXJzQ291bnRlckxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJDb25maWcuY291bnRlcnMub3B0aW9ucy5maW5kKChvKSA9PiBvLm5hbWUgPT09ICdjaGFyYWN0ZXJzJyk/LmxhYmVsO1xuICAgIH1cblxuICAgIGdldCBoYXNXb3Jkc0NvdW50ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJDb25maWcuY291bnRlcnMub3B0aW9ucy5maW5kKChvKSA9PiBvLm5hbWUgPT09ICd3b3JkcycpO1xuICAgIH1cblxuICAgIGdldCB3b3Jkc0NvdW50ZXJMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnd29yZHMnKT8ubGFiZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb3VudGVycyhjb250ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgbGV0IHRleHQ6IHN0cmluZztcbiAgICAgICAgY29uc3QgcmVnZXggPSAvXFxzKy87XG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBpZiAoY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCA+IDAgJiYgdGhpcy5xdWlsbCkge1xuICAgICAgICAgICAgICAgIHRleHQgPSB0aGlzLnN0cmlwSHRtbChjb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IHRleHQubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRleHQgPSB0aGlzLmNsZWFuSHRtbChjb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLndvcmRzQ291bnQgPSAhdGV4dCA/IDAgOiB0ZXh0LnRyaW0oKS5zcGxpdChyZWdleCkuZmlsdGVyKHQgPT4gdCAhPT0gJycpLmxlbmd0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5ieXRlc0NvdW50ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICBpZiAoY29udGVudCAmJiB0aGlzLnF1aWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMuc3RyaXBIdG1sKHRoaXMucXVpbGwucm9vdC5pbm5lckhUTUwpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50ID0gdGV4dC5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5jbGVhbkh0bWwodGhpcy5xdWlsbC5yb290LmlubmVySFRNTCk7XG4gICAgICAgICAgICAgICAgdGhpcy53b3Jkc0NvdW50ID0gIXRleHQgPyAwIDogdGV4dC50cmltKCkuc3BsaXQocmVnZXgpLmZpbHRlcih0ID0+IHQgIT09ICcnKS5sZW5ndGg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLndvcmRzQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuYnl0ZXNDb3VudCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudENoYW5nZS5lbWl0KHRoaXMuY2hhcmFjdGVyc0NvdW50KTtcbiAgICAgICAgdGhpcy5nZXRDaGFyYWN0ZXJzQ291bnRlci5lbWl0KHRoaXMuY2hhcmFjdGVyc0NvdW50KTsgLy8gREVQUkVDQVRFRFxuXG4gICAgICAgIHRoaXMud29yZHNDb3VudENoYW5nZS5lbWl0KHRoaXMud29yZHNDb3VudCk7XG4gICAgICAgIHRoaXMuZ2V0V29yZHNDb3VudGVyLmVtaXQodGhpcy53b3Jkc0NvdW50KTsgLy8gREVQUkVDQVRFRFxuICAgIH1cblxuICAgIHByaXZhdGUgc3RyaXBIdG1sKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyg8KFtePl0rKT4pL2dtO1xuICAgICAgICBjb25zdCBjb250ZW50VG9SZXBsYWNlID0gY29udGVudC5yZXBsYWNlKHJlZ2V4LCAnJyk7XG4gICAgICAgIHJldHVybiBjb250ZW50VG9SZXBsYWNlLnJlcGxhY2UoL1tcXHUyMDBCLVxcdTIwMERcXHVGRUZGXS9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhbkh0bWwoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZXhjZXB0VGFncyA9IC88c3Ryb25nPnw8XFwvc3Ryb25nPnw8Yj58PFxcL2I+fDxpPnw8XFwvaT58PGVtPnw8XFwvZW0+fDxzPnw8XFwvcz58PHN0cmlrZT58PFxcL3N0cmlrZT58PHU+fDxcXC91Pi9nbTtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvKDwoW14+XSspPikvZ207XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUb1JlcGxhY2UgPSBjb250ZW50LnJlcGxhY2UoZXhjZXB0VGFncywgJycpLnJlcGxhY2UocmVnZXgsICcgJykucmVwbGFjZSgnICAnLCAnICcpO1xuICAgICAgICByZXR1cm4gY29udGVudFRvUmVwbGFjZS5yZXBsYWNlKC9bXFx1MjAwQi1cXHUyMDBEXFx1RkVGRl0vZywgJycpO1xuICAgIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2V1aUVkaXRvckN1c3RvbVRvb2xiYXInIH0pXG5leHBvcnQgY2xhc3MgRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGVsZW1lbnRDbGFzcyA9ICdldWktZWRpdG9yLWN1c3RvbS10b29sYmFyJztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuLyogZXNsaW50LWVuYWJsZSAqL1xuIiwiPGRpdiBbaGlkZGVuXT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cImV1aS1lZGl0b3Itd3JhcHBlclwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0ICsgJ3B4J1wiPlxuICAgIDxxdWlsbC1lZGl0b3JcbiAgICAgICAgW2lkXT1cImdlbmVyYXRlZElkXCJcbiAgICAgICAgY2xhc3M9XCJldWktZWRpdG9yIHt7IHN0eWxlQ2xhc3MgfX1cIlxuICAgICAgICBbY2xhc3MuZXVpLWVkaXRvci0tZm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICAgICAgICBbZm9ybWF0XT1cImZvcm1hdFwiXG4gICAgICAgIFtmb3JtYXRzXT1cImZvcm1hdHNcIlxuICAgICAgICBbc2FuaXRpemVdPVwidHJ1ZVwiXG4gICAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuICAgICAgICBbdGhlbWVdPVwidGhlbWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbc3R5bGVzXT1cInN0eWxlXCJcbiAgICAgICAgW2N1c3RvbVRvb2xiYXJQb3NpdGlvbl09XCJjdXN0b21Ub29sYmFyUG9zaXRpb25cIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbZGVidWddPVwiZGVidWdcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICBbcHJlc2VydmVXaGl0ZXNwYWNlXT1cInRydWVcIlxuICAgICAgICBbaGFzSW1hZ2VGZWF0dXJlXT1cImhhc0ltYWdlRmVhdHVyZVwiXG4gICAgICAgIChvbkVkaXRvckNyZWF0ZWQpPVwiX29uRWRpdG9yQ3JlYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uRWRpdG9yQ2hhbmdlZCk9XCJfb25FZGl0b3JDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJfb25Db250ZW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJfb25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAob25Gb2N1cyk9XCJfb25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKG9uQmx1cik9XCJfb25CbHVyKCRldmVudClcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFldWlFZGl0b3JDdXN0b21Ub29sYmFyXCIgcXVpbGwtZWRpdG9yLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmhlYWRpbmdzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWZvcm1hdHNcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdCBoZWFkaW5ncyBzdHlsZVwiXG4gICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaGVhZGluZ3MubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtaGVhZGVyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmhlYWRpbmdzLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ7eyB2YWx1ZSB9fVwiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB0b29sYmFyQ29uZmlnLmhlYWRpbmdzLm9wdGlvbnNcIj5IZWFkaW5nIHt7IHZhbHVlIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+Tm9ybWFsPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuZm9udFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb25cIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgZm9udCBzdHlsZVwiXG4gICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZm9udC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1mb250XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmZvbnQubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5TYW5zIFNlcmlmPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzZXJpZlwiPlNlcmlmPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtb25vc3BhY2VcIj5Nb25vc3BhY2U8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuYm9sZCB8fCB0b29sYmFyQ29uZmlnLml0YWxpYyB8fCB0b29sYmFyQ29uZmlnLnVuZGVybGluZSB8fCB0b29sYmFyQ29uZmlnLnN0cmlrZVwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmJvbGRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWJvbGRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmJvbGQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5ib2xkLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaXRhbGljXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pdGFsaWNcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLml0YWxpYy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLml0YWxpYy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtdW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy51bmRlcmxpbmUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy51bmRlcmxpbmUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdHJpa2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLXN0cmlrZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuc3RyaWtlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuc3RyaWtlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRDb2xvciB8fCB0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kXCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRDb2xvclwiIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmZvbnRDb2xvci5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZm9udENvbG9yLmxhYmVsXCI+PC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG9vbGJhckNvbmZpZy5mb250QmFja2dyb3VuZFwiIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kLmxhYmVsXCI+PC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdWJzY3JpcHQgfHwgdG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdFwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN1YnNjcmlwdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtc2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJzdWJcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnN1YnNjcmlwdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnN1YnNjcmlwdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1zY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN1cGVyXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnRleHRBbGlnblwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnRleHRBbGlnbi5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudGV4dEFsaWduLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNlbnRlclwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJpZ2h0XCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwianVzdGlmeVwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcub3JkZXJlZExpc3QgfHwgdG9vbGJhckNvbmZpZy5idWxsZXRMaXN0IHx8IHRvb2xiYXJDb25maWcuaW5kZW50TGVzcyB8fCB0b29sYmFyQ29uZmlnLmluZGVudE1vcmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJvcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5vcmRlcmVkTGlzdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuYnVsbGV0TGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiYnVsbGV0XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5idWxsZXRMaXN0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuYnVsbGV0TGlzdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pbmRlbnRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmluZGVudExlc3MubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmluZGVudE1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWluZGVudFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiKzFcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaW5kZW50TW9yZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmluZGVudE1vcmUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuYmxvY2txdW90ZSB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmNvZGVCbG9jayB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmxpbmsgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5pbWFnZSB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmltYWdlVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcudmlkZW8gfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy50YWJsZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuYmxvY2txdW90ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtYmxvY2txdW90ZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuYmxvY2txdW90ZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmJsb2NrcXVvdGUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jb2RlQmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmNvZGVCbG9jay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmNvZGVCbG9jay5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmxpbmsubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5saW5rLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pbWFnZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmltYWdlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmltYWdlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmltYWdlVXJsLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaW1hZ2VVcmwubGFiZWwgfX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VVcmxIYW5kbGVyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWltYWdlLWFkZFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnZpZGVvXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC12aWRlb1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudmlkZW8ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy52aWRlby5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy50YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy50YWJsZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnRhYmxlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluc2VydFRhYmxlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWVjbC1zcHJlYWRzaGVldFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jbGVhbiB8fCB0b29sYmFyQ29uZmlnLmRlbGV0ZVwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmNsZWFuXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1jbGVhblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuY2xlYW4ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jbGVhbi5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5kZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvckRlbGV0ZUNvbnRlbnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktZGVsZXRlLWZvcmV2ZXJcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kbyB8fCB0b29sYmFyQ29uZmlnLnJlZG9cIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy51bmRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudW5kby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JVbmRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXVuZG9cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcucmVkb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5yZWRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcucmVkby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JSZWRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXJlZG9cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuY291bnRlcnNcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWVkaXRvci1jb3VudGVyc1xuICAgICAgICAgICAgICAgICAgICBbaGFzQ2hhcmFjdGVyc0NvdW50ZXJdPVwiaGFzQ2hhcmFjdGVyc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2hhcmFjdGVyc0NvdW50ZXJdPVwiY2hhcmFjdGVyc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NoYXJhY3RlcnNMYWJlbF09XCJjaGFyYWN0ZXJzQ291bnRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2hhc1dvcmRzQ291bnRlcl09XCJoYXNXb3Jkc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNDb3VudGVyXT1cIndvcmRzQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNMYWJlbF09XCJ3b3Jkc0NvdW50ZXJMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWVkaXRvci1jb3VudGVycz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIiBxdWlsbC1lZGl0b3ItdG9vbGJhcj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvcXVpbGwtZWRpdG9yPlxuPC9kaXY+XG5cbjwhLS0gUkVBRE9OTFkgTU9ERSAtLT5cbjxkaXZcbiAgICBbaGlkZGVuXT1cIiFpc1JlYWRPbmx5XCJcbiAgICBjbGFzcz1cImV1aS1lZGl0b3IgZXVpLWVkaXRvci0tcmVhZG9ubHkge3sgc3R5bGVDbGFzcyB9fVwiXG4gICAgW2NsYXNzLmV1aS1lZGl0b3ItLWVtcHR5XT1cIiF2YWx1ZVwiXG4gICAgdGFiaW5kZXg9XCJ7eyB0YWJpbmRleCB9fVwiXG4gICAgKGNsaWNrKT1cImVuYWJsZUVkaXRvck9uRm9jdXMoKVwiXG4gICAgKGZvY3VzaW4pPVwiZW5hYmxlRWRpdG9yT25Gb2N1cygpXCI+XG4gICAgPGV1aS1lZGl0b3ItaHRtbC12aWV3ICpuZ0lmPVwiZm9ybWF0ID09PSAnaHRtbCdcIiBbY29udGVudF09XCJ2YWx1ZVwiIFt0aGVtZV09XCJ0aGVtZVwiPjwvZXVpLWVkaXRvci1odG1sLXZpZXc+XG4gICAgPGV1aS1lZGl0b3ItanNvbi12aWV3ICpuZ0lmPVwiZm9ybWF0ID09PSAnanNvbidcIiBbY29udGVudF09XCJqc29uVG9IdG1sQ29udGVudFwiIFt0aGVtZV09XCJ0aGVtZVwiPjwvZXVpLWVkaXRvci1qc29uLXZpZXc+XG48L2Rpdj5cbiJdfQ==
|
493
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9leHRlcm5hbHMvZXVpLWVkaXRvci9ldWktZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2V4dGVybmFscy9ldWktZWRpdG9yL2V1aS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFFWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsR0FFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RixPQUFPLEVBQUUscUJBQXFCLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7O0FBVDlGLDBHQUEwRztBQUMxRyxNQUFNLFNBQVMsR0FBUSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFTdkMsd0NBQXdDO0FBQ3hDLElBQUksZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFjbEQsTUFBTSxPQUFPLGtCQUFrQjtJQTJCM0IsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFD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O2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFMEIsSUFBSTtzQkFBcEMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRzNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQWlCNUIsc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJakYsVUFBVTtzQkFEYixLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBU0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQVVGLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxtQkFBbUI7O0FBeVhwQyxvQkFBb0I7QUFFcEIsTUFBTSxPQUFPLGtDQUFrQztJQUczQyxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRm5CLGlCQUFZLEdBQUcsMkJBQTJCLENBQUM7SUFFckIsQ0FBQztzSUFIcEMsa0NBQWtDOzBIQUFsQyxrQ0FBa0M7O2dHQUFsQyxrQ0FBa0M7a0JBRDlDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUU7K0VBRXZCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgT25Jbml0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uRGVzdHJveSxcbiAgICBEaXJlY3RpdmUsXG4gICAgQ29udGVudENoaWxkLFxuICAgIGZvcndhcmRSZWYsXG4gICAgRWxlbWVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udGVudENoYW5nZSwgUXVpbGxNb2R1bGVzIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V4dGVybmFscy9xdWlsbCc7XG5cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24sbm8tdW5kZXJzY29yZS1kYW5nbGUsaWQtZGVueWxpc3QsaWQtbWF0Y2hcbmNvbnN0IFF1aWxsVHlwZTogYW55ID0gd2luZG93WydRdWlsbCddO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgRGVsdGEgZnJvbSAncXVpbGwtZGVsdGEnO1xuXG5pbXBvcnQgeyBFdWlEaWFsb2dDb25maWcsIEV1aURpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWRpYWxvZyc7XG5cbmltcG9ydCB7IEJldHRlclRhYmxlTW9kdWxlLCBCbHVyLCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIEZvY3VzLCBTZWxlY3Rpb25DaGFuZ2UsIFRvb2xiYXJJdGVtQ29uZmlnIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V4dGVybmFscy9xdWlsbCc7XG5pbXBvcnQgeyBFdWlFZGl0b3JJbWFnZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtdXJsLWRpYWxvZy9pbWFnZS11cmwtZGlhbG9nLmNvbXBvbmVudCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWNvbnN0XG5sZXQgUXVpbGxCZXR0ZXJUYWJsZSA9IHdpbmRvd1sncXVpbGxCZXR0ZXJUYWJsZSddO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBzZWxlY3RvcjogJ2V1aS1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBUT0RPOiBDaGVjayB0byBjaGFuZ2UgdGhlIHByb3ZpZGluZyB3YXkuIFByb3ZpZGUgd2l0aCBpbmplY3RvciByZWZlcmVuY2VcbiAgICAgICAgRXVpRGlhbG9nU2VydmljZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGUyZUF0dHIgPSAnZXVpLWVkaXRvcic7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzID0gJyc7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgICBASW5wdXQoKSBmb3JtYXQ6ICdodG1sJyB8ICdqc29uJyA9ICdodG1sJztcbiAgICBASW5wdXQoKSB0aGVtZTogJ3Nub3cnIHwgJ2J1YmJsZScgPSAnc25vdyc7XG4gICAgQElucHV0KCkgZGVidWc6ICd3YXJuJyB8ICdsb2cnIHwgJ2Vycm9yJyB8IGZhbHNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgY3VzdG9tVG9vbGJhclBvc2l0aW9uOiAndG9wJyB8ICdib3R0b20nID0gJ3RvcCc7XG4gICAgQElucHV0KCkgdGFiaW5kZXggPSAnMCc7XG4gICAgQElucHV0KCkgbW9kdWxlczogUXVpbGxNb2R1bGVzO1xuICAgIEBJbnB1dCgpIGZvcm1hdHM/OiBzdHJpbmdbXSB8IG51bGw7XG4gICAgLy8gTkVXIEVVSSBJTlBVVFNcbiAgICBASW5wdXQoKSBjdXN0b21Ub29sYmFyQ29uZmlnOiBUb29sYmFySXRlbUNvbmZpZ1tdO1xuICAgIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xuICAgIC8vIE5FVyBPVVRQVVRTID0+IGVVSTEzKyBvbmx5XG4gICAgQE91dHB1dCgpIGVkaXRvckNyZWF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dHlwZW9mIFF1aWxsVHlwZT4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0b3JDaGFuZ2VTZWxlY3Rpb24gfCBDb250ZW50Q2hhbmdlPigpO1xuICAgIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZW50Q2hhbmdlPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZT4oKTtcbiAgICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzPigpO1xuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyPigpO1xuICAgIEBPdXRwdXQoKSBjaGFyYWN0ZXJzQ291bnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgd29yZHNDb3VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ldWktZWRpdG9yJykgdHJ1ZTogYm9vbGVhbjtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yZWFkb25seScpXG4gICAgZ2V0IHJlYWRvbmx5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmVhZE9ubHkgPyAncmVhZG9ubHknIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IGFueSA9ICcnO1xuICAgIHB1YmxpYyBjaGFyYWN0ZXJzQ291bnQgPSAwO1xuICAgIHB1YmxpYyB3b3Jkc0NvdW50ID0gMDtcbiAgICBwdWJsaWMgYnl0ZXNDb3VudCA9IDA7XG4gICAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBnZW5lcmF0ZWRJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMganNvblRvSHRtbENvbnRlbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgdG9vbGJhckNvbmZpZzogeyBbaWQ6IHN0cmluZ106IHsgbGFiZWw6IHN0cmluZzsgb3B0aW9uczogYW55W107IGRpYWxvZ01lc3NhZ2U6IHN0cmluZyB9IH07XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBFdWlFZGl0b3JDdXN0b21Ub29sYmFyVGFnRGlyZWN0aXZlKSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgZXVpRWRpdG9yQ3VzdG9tVG9vbGJhcjogRXVpRWRpdG9yQ3VzdG9tVG9vbGJhclRhZ0RpcmVjdGl2ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzUmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1JlYWRPbmx5O1xuICAgIH1cbiAgICBzZXQgaXNSZWFkT25seSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzUmVhZE9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1JlYWRPbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NvdW50ZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvdW50ZXJzO1xuICAgIH1cbiAgICBzZXQgc2hvd0NvdW50ZXJzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2hvd0NvdW50ZXJzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2hvd0NvdW50ZXJzID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc0VuYWJsZWRPbkZvY3VzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNFbmFibGVkT25Gb2N1cztcbiAgICB9XG4gICAgc2V0IGlzRW5hYmxlZE9uRm9jdXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5faXNFbmFibGVkT25Gb2N1cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzRW5hYmxlZE9uRm9jdXMgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBpc01pbmltYWxUb29sYmFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNaW5pbWFsVG9vbGJhcjtcbiAgICB9XG4gICAgc2V0IGlzTWluaW1hbFRvb2xiYXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc01pbmltYWxUb29sYmFyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNNaW5pbWFsVG9vbGJhciA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaW52YWxpZCcpXG4gICAgZ2V0IGlzSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZDtcbiAgICB9XG4gICAgc2V0IGlzSW52YWxpZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lzSW52YWxpZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBxdWlsbDogdHlwZW9mIFF1aWxsVHlwZTtcbiAgICBwcml2YXRlIG1pbmltYWxUb29sYmFyQ29uZmlnOiBUb29sYmFySXRlbUNvbmZpZ1tdID0gW1xuICAgICAgICB7IG5hbWU6ICdoZWFkaW5ncycgfSxcbiAgICAgICAgeyBuYW1lOiAnYm9sZCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaXRhbGljJyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRlcmxpbmUnIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnRDb2xvcicgfSxcbiAgICAgICAgeyBuYW1lOiAndGV4dEFsaWduJyB9LFxuICAgICAgICB7IG5hbWU6ICdsaW5rJyB9LFxuICAgICAgICB7IG5hbWU6ICdpbWFnZScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2VVcmwnIH0sXG4gICAgICAgIHsgbmFtZTogJ2NsZWFuJyB9LFxuICAgICAgICB7IG5hbWU6ICdkZWxldGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ3VuZG8nIH0sXG4gICAgICAgIHsgbmFtZTogJ3JlZG8nIH0sXG4gICAgICAgIHsgbmFtZTogJ2NvdW50ZXJzJyB9LFxuICAgIF07XG4gICAgcHJpdmF0ZSBkZWZhdWx0VG9vbGJhckNvbmZpZzogVG9vbGJhckl0ZW1Db25maWdbXSA9IFtcbiAgICAgICAgeyBuYW1lOiAnaGVhZGluZ3MnLCBsYWJlbDogJ1N0eWxlIC0gQXBwbHkgYW4gSFRNTCB0YWcgb3IgQ1NTIGNsYXNzIHRvIHRoZSBzZWxlY3RlZCB0ZXh0Jywgb3B0aW9uczogWzEsIDIsIDMsIDQsIDUsIDZdIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnQnLCBsYWJlbDogJ0ZvbnQgLSBDaGFuZ2UgdGhlIGZvbnQgZmFjZScgfSxcbiAgICAgICAgeyBuYW1lOiAnYm9sZCcsIGxhYmVsOiAnQm9sZCAoQ3RybCArIEIpIC0gTWFrZSB0aGUgc2VsZWN0ZWQgdGV4dCBib2xkJyB9LFxuICAgICAgICB7IG5hbWU6ICdpdGFsaWMnLCBsYWJlbDogJ0l0YWxpYyAoQ3RybCArIEkpIC0gSXRhbGljaXplIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICd1bmRlcmxpbmUnLCBsYWJlbDogJ1VuZGVybGluZSAoQ3RybCArIFUpIC0gVW5kZXJsaW5lIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdzdHJpa2UnLCBsYWJlbDogJ1N0cmlrZXRocm91Z2ggLSBEcmF3IGEgbGluZSB0byB0aGUgbWlkZGxlIG9mIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdmb250Q29sb3InLCBsYWJlbDogJ0ZvbnQgQ29sb3IgLSBDaGFuZ2UgdGhlIHRleHQgY29sb3InIH0sXG4gICAgICAgIHsgbmFtZTogJ2ZvbnRCYWNrZ3JvdW5kJywgbGFiZWw6ICdGb250IEJhY2tncm91bmQgLSBDaGFuZ2UgdGhlIHRleHQgYmFja2dyb3VuZCBjb2xvcicgfSxcbiAgICAgICAgeyBuYW1lOiAnc3Vic2NyaXB0JywgbGFiZWw6ICdTdWJzY3JpcHQgLSBDcmVhdGUgc3NtYWxsIGxldHRlcnMgYmVsb3cgdGhlIHRleHQgYmFzZWxpbmUnIH0sXG4gICAgICAgIHsgbmFtZTogJ3N1cGVyc2NyaXB0JywgbGFiZWw6ICdTdXBlcnNjcmlwdCAtIENyZWF0ZSBzbWFsbCBsZXR0ZXJzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICd0ZXh0QWxpZ24nLCBsYWJlbDogJ1RleHQgQWxpZ24gLSBBbGlnbiB0aGUgdGV4dCB0byB0aGUgc2VsZWN0ZWQgcG9zaXRpb246IGxlZnQgKGRlZmF1bHQpLCBjZW50ZXIsIHJpZ2h0IG9yIGp1c3RpZnknIH0sXG4gICAgICAgIHsgbmFtZTogJ29yZGVyZWRMaXN0JywgbGFiZWw6ICdOdW1iZXJpbmcgLSBTdGFydCBhbiBvcmRlcmVkIGxpc3QnIH0sXG4gICAgICAgIHsgbmFtZTogJ2J1bGxldExpc3QnLCBsYWJlbDogJ0J1bGxldHMgLSBTdGFydCBhIGJ1bGxldGVkIGxpc3QnIH0sXG4gICAgICAgIHsgbmFtZTogJ2luZGVudExlc3MnLCBsYWJlbDogJ0RlY3JlYXNlIEluZGVudCAtIERlY3JlYXNlIHRoZSBpbmRlbnQgbGV2ZWwgb2YgdGhlIHBhcmFncmFwaCcgfSxcbiAgICAgICAgeyBuYW1lOiAnaW5kZW50TW9yZScsIGxhYmVsOiAnSW5jcmVhc2UgSW5kZW50IC0gSW5jcmVhc2UgdGhlIGluZGVudCBsZXZlbCBvZiB0aGUgcGFyYWdyYXBoJyB9LFxuICAgICAgICB7IG5hbWU6ICdibG9ja3F1b3RlJywgbGFiZWw6ICdCbG9ja3F1b3RlIC0gQ3JlYXRlIGEgcXVvdGVkIGJsb2NrIG9mIHRoZSBzZWxlY3RlZCB0ZXh0JyB9LFxuICAgICAgICB7IG5hbWU6ICdjb2RlQmxvY2snLCBsYWJlbDogJ0luc2VydCBDb2RlIEJsb2NrIC0gSW5zZXJ0IGEgY29kZSBibG9jayBhdCB0aGUgY3Vyc29yIHJvdyBwb3NpdGlvbicgfSxcbiAgICAgICAgeyBuYW1lOiAnbGluaycsIGxhYmVsOiAnSW5zZXJ0IEh5cGVybGluayAoQ3RybCArIEspIC0gQ3JlYXRlIGEgbGluayB0byBhIFdlYiBwYWdlLCBhIHBpY3R1cmUsIGFuIGUtbWFpbCBhZGRyZXNzIG9yIGEgcHJvZ3JhbScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2UnLCBsYWJlbDogJ0luc2VydCBQaWN0dXJlIC0gSW5zZXJ0IGEgcGljdHVyZSBmcm9tIGEgZmlsZScgfSxcbiAgICAgICAgeyBuYW1lOiAnaW1hZ2VVcmwnLCBsYWJlbDogJ0luc2VydCBQaWN0dXJlIGZyb20gVVJMIC0gSW5zZXJ0IGEgcGljdHVyZSBmcm9tIGEgcmVtb3RlIFVSTCcsIGRpYWxvZ01lc3NhZ2U6ICdFbnRlciBpbWFnZSBsaW5rIFVSTCcgfSxcbiAgICAgICAgeyBuYW1lOiAndmlkZW8nLCBsYWJlbDogJ0luc2VydCBWaWRlbyAtIEluc2VydCBhIHZpZGVvIGZyb20gYSBmaWxlJyB9LFxuICAgICAgICB7IG5hbWU6ICd0YWJsZScsIGxhYmVsOiAnSW5zZXJ0IFRhYmxlIC0gSW5zZXJ0IGEgM3gzIHJvd3MvY29scyB0YWJsZScgfSxcbiAgICAgICAgeyBuYW1lOiAnY2xlYW4nLCBsYWJlbDogJ1JlbW92ZSBTdHlsZXMgLSBSZW1vdmUgdGhlIHN0eWxlcyBvZiB0aGUgc2VsZWN0ZWQgdGV4dCcgfSxcbiAgICAgICAgeyBuYW1lOiAnZGVsZXRlJywgbGFiZWw6IFwiRGVsZXRlIGNvbnRlbnQgLSBQZXJtYW5lbnRseSBkZWxldGVzIGVkaXRvcidzIGNvbnRlbnRzXCIgfSxcbiAgICAgICAgeyBuYW1lOiAndW5kbycsIGxhYmVsOiAnVW5kbyAoQ3RybCArIFopIC0gQ2FuY2VscyB0aGUgcHJldmlvdXMgYWN0aW9uJyB9LFxuICAgICAgICB7IG5hbWU6ICdyZWRvJywgbGFiZWw6ICdSZWRvIChDdHJsICsgWSkgLSBEbyB0aGUgbmV4dCBoaXN0b3J5IGFjdGlvbiBhZ2FpbicgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvdW50ZXJzJyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnRlcnMgLSBDaGFyYWN0ZXJzIGFuZCB3b3JkcyBjb3VudGVycyAoc3RyaXBwZWQgSHRtbCknLFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgbmFtZTogJ2NoYXJhY3RlcnMnLCBsYWJlbDogJ0NoYXJhY3RlcnMnIH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAnd29yZHMnLCBsYWJlbDogJ1dvcmRzJyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBldWlEaWFsb2dTZXJ2aWNlOiBFdWlEaWFsb2dTZXJ2aWNlLCBwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sKSB7XG4gICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLmNvbnRyb2wuc3RhdHVzKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBzdGF0dXMgIT09ICdWQUxJRCc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZ2VuZXJhdGVkSWQgPSB0aGlzLmlkID8gdGhpcy5pZCA6ICdldWktZWRpdG9yLScgKyAoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwMCkgKyAxKS50b1N0cmluZygpO1xuXG4gICAgICAgIHRoaXMudG9vbGJhckNvbmZpZyA9IHt9O1xuICAgICAgICBpZiAoIXRoaXMuY3VzdG9tVG9vbGJhckNvbmZpZyAmJiAhdGhpcy5pc01pbmltYWxUb29sYmFyKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMudG9vbGJhckNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgW3QubmFtZV06IHsgbGFiZWw6IHQubGFiZWwsIG9wdGlvbnM6IHQub3B0aW9ucywgZGlhbG9nTWVzc2FnZTogdC5kaWFsb2dNZXNzYWdlIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tVG9vbGJhckNvbmZpZyAmJiAhdGhpcy5pc01pbmltYWxUb29sYmFyKSB7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbVRvb2xiYXJDb25maWcuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gIXQubGFiZWwgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5sYWJlbCA6IHQubGFiZWw7XG4gICAgICAgICAgICAgICAgbGV0IG9wdGlvbnMgPSAhdC5vcHRpb25zID8gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkub3B0aW9ucyA6IHQub3B0aW9ucztcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gIXQuZGlhbG9nTWVzc2FnZSA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLmRpYWxvZ01lc3NhZ2UgOiB0LmRpYWxvZ01lc3NhZ2U7XG5cbiAgICAgICAgICAgICAgICBpZiAodC5uYW1lID09PSAnY291bnRlcnMnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdC5vcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gdGhpcy5kZWZhdWx0VG9vbGJhckNvbmZpZy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHQubmFtZSkub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSB0Lm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25MYWJlbCA9IG9wdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG9wdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoKGR0YykgPT4gZHRjLm5hbWUgPT09ICdjb3VudGVycycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gb3B0aW9uLm5hbWUpLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IG5hbWU6IG9wdGlvbi5uYW1lLCBsYWJlbDogb3B0aW9uTGFiZWwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIFt0Lm5hbWVdOiB7IGxhYmVsLCBvcHRpb25zLCBkaWFsb2dNZXNzYWdlOiBkIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNaW5pbWFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy5taW5pbWFsVG9vbGJhckNvbmZpZy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSAhdC5sYWJlbCA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLmxhYmVsIDogdC5sYWJlbDtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gIXQub3B0aW9ucyA/IHRoaXMuZGVmYXVsdFRvb2xiYXJDb25maWcuZmluZCgoYykgPT4gYy5uYW1lID09PSB0Lm5hbWUpLm9wdGlvbnMgOiB0Lm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9ICF0LmRpYWxvZ01lc3NhZ2UgPyB0aGlzLmRlZmF1bHRUb29sYmFyQ29uZmlnLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdC5uYW1lKS5kaWFsb2dNZXNzYWdlIDogdC5kaWFsb2dNZXNzYWdlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnRvb2xiYXJDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIFt0Lm5hbWVdOiB7IGxhYmVsLCBvcHRpb25zLCBkaWFsb2dNZXNzYWdlOiBkIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmFibGVFZGl0b3JPbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0VuYWJsZWRPbkZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmlzUmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpbWFnZVVybEhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIGxldCBpbWFnZVVybERpYWxvZ0Zvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgICAgIHRoaXMuZXVpRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgICAgICAgbmV3IEV1aURpYWxvZ0NvbmZpZyh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMudG9vbGJhckNvbmZpZy5pbWFnZVVybC5kaWFsb2dNZXNzYWdlLFxuICAgICAgICAgICAgICAgIGlzSGFuZGxlQ2xvc2VPbkFjY2VwdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBib2R5Q29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogRXVpRWRpdG9ySW1hZ2VEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25Gb3JtVmFsdWVDaGFuZ2U6IChmb3JtOiBGb3JtR3JvdXApOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVVybERpYWxvZ0Zvcm0gPSBmb3JtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW1hZ2VVcmxEaWFsb2dGb3JtICYmIGltYWdlVXJsRGlhbG9nRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5xdWlsbC5nZXRTZWxlY3Rpb24oKSB8fCB7IGluZGV4OiAwLCBsZW5ndGg6IDAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGwuaW5zZXJ0RW1iZWQocmFuZ2UuaW5kZXgsICdpbWFnZScsIGltYWdlVXJsRGlhbG9nRm9ybS5nZXQoJ3VybCcpLnZhbHVlLCAndXNlcicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvclVuZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVpbGxbJ2hpc3RvcnknXS51bmRvKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvclJlZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVpbGxbJ2hpc3RvcnknXS5yZWRvKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVkaXRvckRlbGV0ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBFdWlEaWFsb2dDb25maWcoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUgY29udGVudCcsXG4gICAgICAgICAgICBjb250ZW50OiBcIjxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgZWRpdG9yJ3MgY29udGVudD88L3A+XCIsXG4gICAgICAgICAgICBoYXNDbG9zZUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKG51bGwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ldWlEaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coY29uZmlnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5zZXJ0VGFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGVNb2R1bGUuaW5zZXJ0VGFibGUoMywgMyk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0ltYWdlRmVhdHVyZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXVpRWRpdG9yQ3VzdG9tVG9vbGJhclxuICAgICAgICAgICAgPyB0aGlzLmV1aUVkaXRvckN1c3RvbVRvb2xiYXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtaW1hZ2UnKVxuICAgICAgICAgICAgOiB0aGlzLnRvb2xiYXJDb25maWcuaW1hZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkVkaXRvckNyZWF0ZWQocXVpbGw6IHR5cGVvZiBRdWlsbFR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5xdWlsbCA9IHF1aWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRW5hYmxlZE9uRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGwuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBjb25zdCBkZWx0YSA9IHRoaXMucXVpbGwuY2xpcGJvYXJkLmNvbnZlcnQoeyBodG1sOiB0aGlzLnZhbHVlIGFzIHN0cmluZyB9KTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShkZWx0YSk7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKGRlbHRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnNldENvbnRlbnRzKEpTT04ucGFyc2UodGhpcy52YWx1ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmhhc0ltYWdlRmVhdHVyZSkge1xuICAgICAgICAgICAgcXVpbGwuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ0lNRycsIChlbGVtZW50OiBFbGVtZW50LCBkZWx0YTogRGVsdGEpID0+IG5ldyBEZWx0YSgpLmluc2VydCgnJykpO1xuICAgICAgICAgICAgcXVpbGwuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ1BJQ1RVUkUnLCAoZWxlbWVudDogRWxlbWVudCwgZGVsdGE6IERlbHRhKSA9PiBuZXcgRGVsdGEoKS5pbnNlcnQoJycpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yQ3JlYXRlLmVtaXQocXVpbGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBfb25FZGl0b3JDaGFuZ2VkKGV2ZW50OiBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24gfCBDb250ZW50Q2hhbmdlIHwgRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdvbkVkaXRvckNoYW5nZWQoKSBldmVudCBpcyBERVBSRUNBVEVEIHBsZWFzZSB1c2UgY29udGVudENoYW5nZSgpIGV2ZW50IGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuZWRpdG9yQ2hhbmdlLmVtaXQoZXZlbnQgYXMgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX29uQ29udGVudENoYW5nZWQoZXZlbnQ6IENvbnRlbnRDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBldmVudC5odG1sO1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb3VudGVycyh0aGlzLnZhbHVlIGFzIHN0cmluZyk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKHRoaXMudmFsdWUgYXMgc3RyaW5nKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIGlmIChldmVudC50ZXh0ICE9PSAnXFxuJykge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBldmVudC5jb250ZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ291bnRlcnMoZXZlbnQudGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5qc29uVG9IdG1sQ29udGVudCA9IHRoaXMuaHRtbEVudGl0aWVzRGVjb2RlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuanNvblRvSHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKCcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRlbnRDaGFuZ2UuZW1pdChldmVudCk7IC8vIE5ldyBlbWl0dGVyXG4gICAgICAgIHRoaXMuX29uRWRpdG9yQ2hhbmdlZChldmVudCk7IC8vIFN5bmMgd2l0aCBlZGl0b3IgY2hhbmdlIGV2ZW50IHNpbmNlIGl0J3MgZHVwbGljYXRlZCBldmVudFxuICAgIH1cblxuICAgIHB1YmxpYyBfb25TZWxlY3Rpb25DaGFuZ2VkKGV2ZW50OiBTZWxlY3Rpb25DaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkZvY3VzKGV2ZW50OiBGb2N1cyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIF9vbkJsdXIoZXZlbnQ6IEJsdXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgICAgICB0aGlzLmpzb25Ub0h0bWxDb250ZW50ID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnF1aWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0aGlzLnF1aWxsLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdGhpcy52YWx1ZSBhcyBzdHJpbmcgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShkZWx0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGwuc2V0Q29udGVudHMoZGVsdGEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5xdWlsbC5zZXRDb250ZW50cyhKU09OLnBhcnNlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvdW50ZXJzKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0YWJsZU1vZHVsZSgpOiBCZXR0ZXJUYWJsZU1vZHVsZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1aWxsLmdldE1vZHVsZSgnYmV0dGVyLXRhYmxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBodG1sRW50aXRpZXNEZWNvZGUoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGMgPSBjb250ZW50O1xuICAgICAgICBpZiAoYykge1xuICAgICAgICAgICAgYyA9IGMucmVwbGFjZSgnJmFtcDsnLCAnJicpO1xuICAgICAgICAgICAgYyA9IGMucmVwbGFjZSgnJm5ic3A7JywgJyAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGdldCBoYXNDaGFyYWN0ZXJzQ291bnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ2NoYXJhY3RlcnMnKTtcbiAgICB9XG5cbiAgICBnZXQgY2hhcmFjdGVyc0NvdW50ZXJMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnY2hhcmFjdGVycycpPy5sYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgaGFzV29yZHNDb3VudGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYmFyQ29uZmlnLmNvdW50ZXJzLm9wdGlvbnMuZmluZCgobykgPT4gby5uYW1lID09PSAnd29yZHMnKTtcbiAgICB9XG5cbiAgICBnZXQgd29yZHNDb3VudGVyTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhckNvbmZpZy5jb3VudGVycy5vcHRpb25zLmZpbmQoKG8pID0+IG8ubmFtZSA9PT0gJ3dvcmRzJyk/LmxhYmVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQ291bnRlcnMoY29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCB0ZXh0OiBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1xccysvO1xuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdodG1sJykge1xuICAgICAgICAgICAgaWYgKGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggPiAwICYmIHRoaXMucXVpbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5zdHJpcEh0bWwoY29udGVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnQgPSB0ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gdGhpcy5jbGVhbkh0bWwoY29udGVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy53b3Jkc0NvdW50ID0gIXRleHQgPyAwIDogdGV4dC50cmltKCkuc3BsaXQocmVnZXgpLmZpbHRlcih0ID0+IHQgIT09ICcnKS5sZW5ndGg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcmFjdGVyc0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLndvcmRzQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuYnl0ZXNDb3VudCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdqc29uJykge1xuICAgICAgICAgICAgaWYgKGNvbnRlbnQgJiYgdGhpcy5xdWlsbCkge1xuICAgICAgICAgICAgICAgIHRleHQgPSB0aGlzLnN0cmlwSHRtbCh0aGlzLnF1aWxsLnJvb3QuaW5uZXJIVE1MKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IHRleHQubGVuZ3RoO1xuXG4gICAgICAgICAgICAgICAgdGV4dCA9IHRoaXMuY2xlYW5IdG1sKHRoaXMucXVpbGwucm9vdC5pbm5lckhUTUwpO1xuICAgICAgICAgICAgICAgIHRoaXMud29yZHNDb3VudCA9ICF0ZXh0ID8gMCA6IHRleHQudHJpbSgpLnNwbGl0KHJlZ2V4KS5maWx0ZXIodCA9PiB0ICE9PSAnJykubGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJhY3RlcnNDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy53b3Jkc0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmJ5dGVzQ291bnQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFyYWN0ZXJzQ291bnRDaGFuZ2UuZW1pdCh0aGlzLmNoYXJhY3RlcnNDb3VudCk7XG5cbiAgICAgICAgdGhpcy53b3Jkc0NvdW50Q2hhbmdlLmVtaXQodGhpcy53b3Jkc0NvdW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmlwSHRtbChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByZWdleCA9IC8oPChbXj5dKyk+KS9nbTtcbiAgICAgICAgY29uc3QgY29udGVudFRvUmVwbGFjZSA9IGNvbnRlbnQucmVwbGFjZShyZWdleCwgJycpO1xuICAgICAgICByZXR1cm4gY29udGVudFRvUmVwbGFjZS5yZXBsYWNlKC9bXFx1MjAwQi1cXHUyMDBEXFx1RkVGRl0vZywgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYW5IdG1sKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGV4Y2VwdFRhZ3MgPSAvPHN0cm9uZz58PFxcL3N0cm9uZz58PGI+fDxcXC9iPnw8aT58PFxcL2k+fDxlbT58PFxcL2VtPnw8cz58PFxcL3M+fDxzdHJpa2U+fDxcXC9zdHJpa2U+fDx1Pnw8XFwvdT4vZ207XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyg8KFtePl0rKT4pL2dtO1xuICAgICAgICBjb25zdCBjb250ZW50VG9SZXBsYWNlID0gY29udGVudC5yZXBsYWNlKGV4Y2VwdFRhZ3MsICcnKS5yZXBsYWNlKHJlZ2V4LCAnICcpLnJlcGxhY2UoJyAgJywgJyAnKTtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRUb1JlcGxhY2UucmVwbGFjZSgvW1xcdTIwMEItXFx1MjAwRFxcdUZFRkZdL2csICcnKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdldWlFZGl0b3JDdXN0b21Ub29sYmFyJyB9KVxuZXhwb3J0IGNsYXNzIEV1aUVkaXRvckN1c3RvbVRvb2xiYXJUYWdEaXJlY3RpdmUge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBlbGVtZW50Q2xhc3MgPSAnZXVpLWVkaXRvci1jdXN0b20tdG9vbGJhcic7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbn1cbi8qIGVzbGludC1lbmFibGUgKi9cbiIsIjxkaXYgW2hpZGRlbl09XCJpc1JlYWRPbmx5XCIgY2xhc3M9XCJldWktZWRpdG9yLXdyYXBwZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCArICdweCdcIj5cbiAgICA8cXVpbGwtZWRpdG9yXG4gICAgICAgIFtpZF09XCJnZW5lcmF0ZWRJZFwiXG4gICAgICAgIGNsYXNzPVwiZXVpLWVkaXRvciB7eyBzdHlsZUNsYXNzIH19XCJcbiAgICAgICAgW2NsYXNzLmV1aS1lZGl0b3ItLWZvY3VzZWRdPVwiaXNGb2N1c2VkXCJcbiAgICAgICAgW2Zvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgICBbZm9ybWF0c109XCJmb3JtYXRzXCJcbiAgICAgICAgW3Nhbml0aXplXT1cInRydWVcIlxuICAgICAgICBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICAgICAgW3RoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2N1c3RvbVRvb2xiYXJQb3NpdGlvbl09XCJjdXN0b21Ub29sYmFyUG9zaXRpb25cIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbZGVidWddPVwiZGVidWdcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICBbcHJlc2VydmVXaGl0ZXNwYWNlXT1cInRydWVcIlxuICAgICAgICBbaGFzSW1hZ2VGZWF0dXJlXT1cImhhc0ltYWdlRmVhdHVyZVwiXG4gICAgICAgIChvbkVkaXRvckNyZWF0ZWQpPVwiX29uRWRpdG9yQ3JlYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uRWRpdG9yQ2hhbmdlZCk9XCJfb25FZGl0b3JDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJfb25Db250ZW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJfb25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAob25Gb2N1cyk9XCJfb25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKG9uQmx1cik9XCJfb25CbHVyKCRldmVudClcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFldWlFZGl0b3JDdXN0b21Ub29sYmFyXCIgcXVpbGwtZWRpdG9yLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmhlYWRpbmdzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWZvcm1hdHNcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJhcHBsaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlbGVjdCBoZWFkaW5ncyBzdHlsZVwiXG4gICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaGVhZGluZ3MubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtaGVhZGVyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmhlYWRpbmdzLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ7eyB2YWx1ZSB9fVwiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiB0b29sYmFyQ29uZmlnLmhlYWRpbmdzLm9wdGlvbnNcIj5IZWFkaW5nIHt7IHZhbHVlIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+Tm9ybWFsPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuZm9udFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCJcbiAgICAgICAgICAgICAgICByb2xlPVwiYXBwbGljYXRpb25cIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgZm9udCBzdHlsZVwiXG4gICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZm9udC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1mb250XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmZvbnQubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD5TYW5zIFNlcmlmPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzZXJpZlwiPlNlcmlmPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJtb25vc3BhY2VcIj5Nb25vc3BhY2U8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuYm9sZCB8fCB0b29sYmFyQ29uZmlnLml0YWxpYyB8fCB0b29sYmFyQ29uZmlnLnVuZGVybGluZSB8fCB0b29sYmFyQ29uZmlnLnN0cmlrZVwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmJvbGRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWJvbGRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmJvbGQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5ib2xkLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaXRhbGljXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pdGFsaWNcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLml0YWxpYy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLml0YWxpYy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnVuZGVybGluZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtdW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy51bmRlcmxpbmUubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy51bmRlcmxpbmUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdHJpa2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLXN0cmlrZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuc3RyaWtlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuc3RyaWtlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRDb2xvciB8fCB0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kXCIgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmZvbnRDb2xvclwiIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmZvbnRDb2xvci5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtY29sb3JcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZm9udENvbG9yLmxhYmVsXCI+PC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG9vbGJhckNvbmZpZy5mb250QmFja2dyb3VuZFwiIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmZvbnRCYWNrZ3JvdW5kLmxhYmVsXCI+PC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5zdWJzY3JpcHQgfHwgdG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdFwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN1YnNjcmlwdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtc2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJzdWJcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLnN1YnNjcmlwdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnN1YnNjcmlwdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1zY3JpcHRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInN1cGVyXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5zdXBlcnNjcmlwdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnN1cGVyc2NyaXB0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnRleHRBbGlnblwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnRleHRBbGlnbi5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudGV4dEFsaWduLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNlbnRlclwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJpZ2h0XCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwianVzdGlmeVwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcub3JkZXJlZExpc3QgfHwgdG9vbGJhckNvbmZpZy5idWxsZXRMaXN0IHx8IHRvb2xiYXJDb25maWcuaW5kZW50TGVzcyB8fCB0b29sYmFyQ29uZmlnLmluZGVudE1vcmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJvcmRlcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5vcmRlcmVkTGlzdC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLm9yZGVyZWRMaXN0LmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuYnVsbGV0TGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiYnVsbGV0XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5idWxsZXRMaXN0LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuYnVsbGV0TGlzdC5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1pbmRlbnRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIi0xXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmluZGVudExlc3MubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5pbmRlbnRMZXNzLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmluZGVudE1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWluZGVudFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiKzFcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuaW5kZW50TW9yZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmluZGVudE1vcmUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcuYmxvY2txdW90ZSB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmNvZGVCbG9jayB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmxpbmsgfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy5pbWFnZSB8fFxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyQ29uZmlnLmltYWdlVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgIHRvb2xiYXJDb25maWcudmlkZW8gfHxcbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhckNvbmZpZy50YWJsZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1mb3JtYXRzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuYmxvY2txdW90ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicWwtYmxvY2txdW90ZVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuYmxvY2txdW90ZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmJsb2NrcXVvdGUubGFiZWwgfX1cIj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jb2RlQmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmNvZGVCbG9jay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmNvZGVCbG9jay5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmxpbmsubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5saW5rLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInFsLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5pbWFnZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLmltYWdlLmxhYmVsIH19XCI+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmltYWdlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sYmFyQ29uZmlnLmltYWdlVXJsLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuaW1hZ2VVcmwubGFiZWwgfX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW1hZ2VVcmxIYW5kbGVyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWltYWdlLWFkZFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLnZpZGVvXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC12aWRlb1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcudmlkZW8ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy52aWRlby5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy50YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy50YWJsZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGV1aVRvb2x0aXA9XCJ7eyB0b29sYmFyQ29uZmlnLnRhYmxlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluc2VydFRhYmxlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWVjbC1zcHJlYWRzaGVldFwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9vbGJhckNvbmZpZy5jbGVhbiB8fCB0b29sYmFyQ29uZmlnLmRlbGV0ZVwiIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0b29sYmFyQ29uZmlnLmNsZWFuXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJxbC1jbGVhblwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuY2xlYW4ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jbGVhbi5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidG9vbGJhckNvbmZpZy5kZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcuZGVsZXRlLmxhYmVsIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvckRlbGV0ZUNvbnRlbnQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktZGVsZXRlLWZvcmV2ZXJcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kbyB8fCB0b29sYmFyQ29uZmlnLnJlZG9cIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcudW5kb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy51bmRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcudW5kby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JVbmRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXVuZG9cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRvb2xiYXJDb25maWcucmVkb1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5yZWRvLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpVG9vbHRpcD1cInt7IHRvb2xiYXJDb25maWcucmVkby5sYWJlbCB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3JSZWRvKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLXJlZG9cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvb2xiYXJDb25maWcuY291bnRlcnNcIiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWVkaXRvci1jb3VudGVyc1xuICAgICAgICAgICAgICAgICAgICBbaGFzQ2hhcmFjdGVyc0NvdW50ZXJdPVwiaGFzQ2hhcmFjdGVyc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2hhcmFjdGVyc0NvdW50ZXJdPVwiY2hhcmFjdGVyc0NvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NoYXJhY3RlcnNMYWJlbF09XCJjaGFyYWN0ZXJzQ291bnRlckxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2hhc1dvcmRzQ291bnRlcl09XCJoYXNXb3Jkc0NvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNDb3VudGVyXT1cIndvcmRzQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbd29yZHNMYWJlbF09XCJ3b3Jkc0NvdW50ZXJMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBldWlUb29sdGlwPVwie3sgdG9vbGJhckNvbmZpZy5jb3VudGVycy5sYWJlbCB9fVwiPlxuICAgICAgICAgICAgICAgIDwvZXVpLWVkaXRvci1jb3VudGVycz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIiBxdWlsbC1lZGl0b3ItdG9vbGJhcj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV1aUVkaXRvckN1c3RvbVRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvcXVpbGwtZWRpdG9yPlxuPC9kaXY+XG5cbjwhLS0gUkVBRE9OTFkgTU9ERSAtLT5cbjxkaXZcbiAgICBbaGlkZGVuXT1cIiFpc1JlYWRPbmx5XCJcbiAgICBjbGFzcz1cImV1aS1lZGl0b3IgZXVpLWVkaXRvci0tcmVhZG9ubHkge3sgc3R5bGVDbGFzcyB9fVwiXG4gICAgW2NsYXNzLmV1aS1lZGl0b3ItLWVtcHR5XT1cIiF2YWx1ZVwiXG4gICAgdGFiaW5kZXg9XCJ7eyB0YWJpbmRleCB9fVwiXG4gICAgKGNsaWNrKT1cImVuYWJsZUVkaXRvck9uRm9jdXMoKVwiXG4gICAgKGZvY3VzaW4pPVwiZW5hYmxlRWRpdG9yT25Gb2N1cygpXCI+XG4gICAgPGV1aS1lZGl0b3ItaHRtbC12aWV3ICpuZ0lmPVwiZm9ybWF0ID09PSAnaHRtbCdcIiBbY29udGVudF09XCJ2YWx1ZVwiIFt0aGVtZV09XCJ0aGVtZVwiPjwvZXVpLWVkaXRvci1odG1sLXZpZXc+XG4gICAgPGV1aS1lZGl0b3ItanNvbi12aWV3ICpuZ0lmPVwiZm9ybWF0ID09PSAnanNvbidcIiBbY29udGVudF09XCJqc29uVG9IdG1sQ29udGVudFwiIFt0aGVtZV09XCJ0aGVtZVwiPjwvZXVpLWVkaXRvci1qc29uLXZpZXc+XG48L2Rpdj5cbiJdfQ==
|