@wizishop/wizi-block 4.2.22-beta → 4.2.23-beta
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/assets/i18n/en.json +1 -1
- package/assets/i18n/fr.json +1 -1
- package/bundles/wizishop-wizi-block.umd.js +602 -385
- package/bundles/wizishop-wizi-block.umd.js.map +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js +1 -1
- package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
- package/esm2015/lib/components/blocks/blocks.component.js +1 -1
- package/esm2015/lib/components/components.module.js +1 -1
- package/esm2015/lib/components/configs/configs.component.js +2 -2
- package/esm2015/lib/components/container-block/container-block.component.js +1 -1
- package/esm2015/lib/components/previews/previews.component.js +1 -1
- package/esm2015/lib/dtos/apis/amplify/amplify-category.dto.js +1 -1
- package/esm2015/lib/dtos/apis/amplify/amplify-guide.dto.js +1 -1
- package/esm2015/lib/dtos/apis/amplify/amplify-media.dto.js +1 -1
- package/esm2015/lib/dtos/apis/amplify/amplify-paginated.dto.js +1 -1
- package/esm2015/lib/dtos/apis/amplify/amplify-product.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-badges.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-brand.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-category.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-facet-value.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-facet.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-image.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-list.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-price.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-variant-option.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog-variant.dto.js +1 -1
- package/esm2015/lib/dtos/apis/catalogs/catalog.dto.js +1 -1
- package/esm2015/lib/dtos/apis/comments/comment-list.dto.js +1 -1
- package/esm2015/lib/dtos/apis/comments/comment.dto.js +1 -1
- package/esm2015/lib/dtos/apis/forms/form-detail.dto.js +1 -1
- package/esm2015/lib/dtos/apis/forms/form-list.dto.js +1 -1
- package/esm2015/lib/dtos/apis/maps/open-map.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-more.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-selected.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-triple-column.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-classic.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-selected.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/code/code-html.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/code/code-javascript.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/code/code-stylesheet.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq-accordion.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq-frame.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq-list-icon.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq-simple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/faq/faq.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/forms/forms-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/forms/forms-imageleft.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/forms/forms-imageright.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/forms/forms-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/four-images-title.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-banner.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-big-and-double.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-bigs-and-double-middle.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-double.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-quadruple-left-one-right.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-quadruple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/images-triple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images/two-images-title-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-left-text-right.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-right-text-left.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-left-text-right.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-one-text-one.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-right-text-left.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-left-text-right.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-right-text-left.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/images-texts/images-texts-text-one-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-button.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-buttontxt.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-background-form-left.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-background-form-right.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-fullpage.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-left-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-right-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/map/map-text-form.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-image.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/newsletter/newsletter-center-image.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/onboarding/forms-onboarding.do.js +1 -1
- package/esm2015/lib/dtos/blocks/parent-block.dto.js +3 -2
- package/esm2015/lib/dtos/blocks/product/product-zoom-complete-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-complete-slider.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-complete.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-more.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-selected.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom-triple-column.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/product/product-zoom.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/products-list/products-list-classic.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/products-list/products-list-selected.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/products-list/products-list-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/quotes/quotes-author.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/quotes/quotes-simple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/quotes/quotes-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-aligned.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/rassurances/rassurances-triple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/reviews/reviews-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/reviews/reviews-waterfall.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/separators/separator-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/sliders/sliders-double-imageright.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/sliders/sliders-fullpage.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/sliders/sliders-imageright.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/sliders/sliders-leftnav.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/sliders/sliders-with-banner.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/socials/socials-like.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/socials/socials-network.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/socials/socials-page-complex.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/socials/socials-page-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-link.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-rows-icon-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-banner.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-txt.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-double-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-double.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-one-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-one.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-quadruple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-quadruple-numbers.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-quadruple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-triple-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/texts/texts-triple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/timer/timer-airport.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/timer/timer-background.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/timer/timer-clock.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/timer/timer-multiple-img.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/timer/timer-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/videos/videos-simple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/videos/videos-txt-content.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/videos/videos-txt.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/witness/about-block.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/witness/witness-background-double.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/witness/witness-background-one.dto.js +2 -2
- package/esm2015/lib/dtos/blocks/witness/witness-quadruple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/witness/witness-triple.dto.js +1 -1
- package/esm2015/lib/dtos/blocks/witness/witness-twice.dto.js +1 -1
- package/esm2015/lib/dtos/configs/apis/api.dto.js +1 -1
- package/esm2015/lib/dtos/configs/blocks/block-config.dto.js +1 -1
- package/esm2015/lib/dtos/configs/blocks/blocks-list.dto.js +1 -1
- package/esm2015/lib/dtos/configs/buttons/button.dto.js +1 -1
- package/esm2015/lib/dtos/configs/external/external-config.dto.js +1 -1
- package/esm2015/lib/dtos/configs/fonts/font-awesome.dto.js +1 -1
- package/esm2015/lib/dtos/configs/images/four-images-title-element.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/image/font-or-media.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/image/image-media-and-text.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/image/image-media.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/image/payment-or-media.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/media-width-height.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/media.dto.js +1 -1
- package/esm2015/lib/dtos/configs/medias/text/text-media.dto.js +1 -1
- package/esm2015/lib/dtos/configs/structures/structure-config.dto.js +1 -1
- package/esm2015/lib/dtos/configs/structures/structures-list.dto.js +1 -1
- package/esm2015/lib/dtos/configs/translations/translations.dto.js +1 -1
- package/esm2015/lib/dtos/configs/types/types.dto.js +1 -1
- package/esm2015/lib/dtos/configs/witness/about-element.dto.js +1 -1
- package/esm2015/lib/dtos/forms/forms.dto.js +2 -2
- package/esm2015/lib/dtos/utils/quill/crypted-link.dto.js +1 -1
- package/esm2015/lib/dtos/utils/quill/custom-link.dto.js +1 -1
- package/esm2015/lib/dtos/utils/quill/delta.dto.js +1 -1
- package/esm2015/lib/dtos/utils/quill/icon.dto.js +1 -1
- package/esm2015/lib/dtos/utils/quill/line-break.dto.js +1 -1
- package/esm2015/lib/dtos/utils/quill-html-editor/html-formatter.js +1 -1
- package/esm2015/lib/dtos/utils/quill-html-editor/logger.js +1 -1
- package/esm2015/lib/dtos/utils/quill-html-editor/options.js +1 -1
- package/esm2015/lib/dtos/utils/quill-html-editor/quill.htmlEditButton.js +1 -1
- package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-more.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-selected.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-triple-column.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-classic.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-selected.service.js +1 -1
- package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/code/code-html.service.js +1 -1
- package/esm2015/lib/services/blocks/code/code-javascript.service.js +1 -1
- package/esm2015/lib/services/blocks/code/code-stylesheet.service.js +1 -1
- package/esm2015/lib/services/blocks/faq/faq-accordion.service.js +1 -1
- package/esm2015/lib/services/blocks/faq/faq-frame.service.js +1 -1
- package/esm2015/lib/services/blocks/faq/faq-list-icon.service.js +1 -1
- package/esm2015/lib/services/blocks/faq/faq-simple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/faq/faq-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/forms/forms-background.service.js +1 -1
- package/esm2015/lib/services/blocks/forms/forms-imageleft.service.js +1 -1
- package/esm2015/lib/services/blocks/forms/forms-imageright.service.js +1 -1
- package/esm2015/lib/services/blocks/forms/forms-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/images/four-images-title.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-banner.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-big-and-double.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-bigs-and-double-middle.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-double.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-quadruple-left-one-right.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-quadruple.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/images/images-triple.service.js +1 -1
- package/esm2015/lib/services/blocks/images/two-images-title-text.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-big-left-text-right.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-big-right-text-left.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-left-text-right.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-one-text-one.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-right-text-left.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-small-left-text-right.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-small-right-text-left.service.js +1 -1
- package/esm2015/lib/services/blocks/images-texts/images-texts-text-one-text.service.js +1 -1
- package/esm2015/lib/services/blocks/launch-videos/launch-videos-button.service.js +1 -1
- package/esm2015/lib/services/blocks/launch-videos/launch-videos-buttontxt.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-background-form-left.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-background-form-right.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-fullpage.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-left-text.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-right-text.service.js +1 -1
- package/esm2015/lib/services/blocks/map/map-text-form.service.js +1 -1
- package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-background.service.js +1 -1
- package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-image.service.js +1 -1
- package/esm2015/lib/services/blocks/newsletter/newsletter-center-image.service.js +1 -1
- package/esm2015/lib/services/blocks/onboarding/forms-onboarding.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-complete-background.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-complete-slider.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-complete.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-more.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-selected.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom-triple-column.service.js +1 -1
- package/esm2015/lib/services/blocks/product/product-zoom.service.js +1 -1
- package/esm2015/lib/services/blocks/products-list/products-list-classic.service.js +1 -1
- package/esm2015/lib/services/blocks/products-list/products-list-selected.service.js +1 -1
- package/esm2015/lib/services/blocks/products-list/products-list-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/quotes/quotes-author.service.js +1 -1
- package/esm2015/lib/services/blocks/quotes/quotes-simple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/quotes/quotes-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-aligned.service.js +1 -1
- package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/rassurances/rassurances-triple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/reviews/reviews-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/reviews/reviews-waterfall.service.js +1 -1
- package/esm2015/lib/services/blocks/separator/separator-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/sliders/sliders-double-imageright.service.js +1 -1
- package/esm2015/lib/services/blocks/sliders/sliders-fullpage.service.js +1 -1
- package/esm2015/lib/services/blocks/sliders/sliders-imageright.service.js +1 -1
- package/esm2015/lib/services/blocks/sliders/sliders-leftnav.service.js +1 -1
- package/esm2015/lib/services/blocks/sliders/sliders-with-banner.service.js +1 -1
- package/esm2015/lib/services/blocks/socials/socials-like.service.js +1 -1
- package/esm2015/lib/services/blocks/socials/socials-network.service.js +1 -1
- package/esm2015/lib/services/blocks/socials/socials-page-complex.service.js +1 -1
- package/esm2015/lib/services/blocks/socials/socials-page-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-link.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +1 -1
- package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-double-background.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-double.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-one-background.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-one.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-quadruple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-quadruple-numbers.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-quadruple.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-triple-background.service.js +1 -1
- package/esm2015/lib/services/blocks/texts/texts-triple.service.js +1 -1
- package/esm2015/lib/services/blocks/timer/timer-airport.service.js +1 -1
- package/esm2015/lib/services/blocks/timer/timer-background.service.js +1 -1
- package/esm2015/lib/services/blocks/timer/timer-clock.service.js +1 -1
- package/esm2015/lib/services/blocks/timer/timer-multiple-img.service.js +1 -1
- package/esm2015/lib/services/blocks/timer/timer-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/videos/videos-simple.service.js +1 -1
- package/esm2015/lib/services/blocks/videos/videos-txt-content.service.js +1 -1
- package/esm2015/lib/services/blocks/videos/videos-txt-left.service.js +1 -1
- package/esm2015/lib/services/blocks/videos/videos-txt.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/about-block.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/witness-background-double.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/witness-background-one.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/witness-quadruple.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/witness-triple.service.js +1 -1
- package/esm2015/lib/services/blocks/witness/witness-twice.service.js +1 -1
- package/esm2015/lib/services/structures/amplify-product/amplify-product.service.js +1 -1
- package/esm2015/lib/services/structures/amplify-products-list/amplify-products-list.service.js +1 -1
- package/esm2015/lib/services/structures/code/code.service.js +1 -1
- package/esm2015/lib/services/structures/faq/faq.service.js +1 -1
- package/esm2015/lib/services/structures/forms/forms.service.js +1 -1
- package/esm2015/lib/services/structures/images/images.service.js +1 -1
- package/esm2015/lib/services/structures/images-texts/images-texts.service.js +1 -1
- package/esm2015/lib/services/structures/launch-videos/launch-videos.service.js +1 -1
- package/esm2015/lib/services/structures/map/map.service.js +1 -1
- package/esm2015/lib/services/structures/newsletter/newsletter.service.js +1 -1
- package/esm2015/lib/services/structures/onboarding/onboarding.service.js +1 -1
- package/esm2015/lib/services/structures/parent-structures.service.js +1 -1
- package/esm2015/lib/services/structures/product/product.service.js +1 -1
- package/esm2015/lib/services/structures/products-list/products-list.service.js +1 -1
- package/esm2015/lib/services/structures/quotes/quotes.service.js +1 -1
- package/esm2015/lib/services/structures/rassurances/rassurances.service.js +1 -1
- package/esm2015/lib/services/structures/reviews/reviews.service.js +1 -1
- package/esm2015/lib/services/structures/separator/separator.service.js +1 -1
- package/esm2015/lib/services/structures/sliders/sliders.service.js +1 -1
- package/esm2015/lib/services/structures/socials/socials.service.js +1 -1
- package/esm2015/lib/services/structures/text-backgrounds/text-backgrounds.service.js +1 -1
- package/esm2015/lib/services/structures/texts/texts.service.js +1 -1
- package/esm2015/lib/services/structures/timer/timer.service.js +1 -1
- package/esm2015/lib/services/structures/videos/videos.service.js +1 -1
- package/esm2015/lib/services/structures/witness/witness.service.js +1 -1
- package/esm2015/lib/services/utils/api.service.js +1 -1
- package/esm2015/lib/services/utils/config.service.js +1 -1
- package/esm2015/lib/services/utils/content.service.js +1 -1
- package/esm2015/lib/services/utils/currency.service.js +1 -1
- package/esm2015/lib/services/utils/expected-images.service.js +1 -1
- package/esm2015/lib/services/utils/external-config.service.js +1 -1
- package/esm2015/lib/services/utils/font-awesome.service.js +1 -1
- package/esm2015/lib/services/utils/injector.service.js +1 -1
- package/esm2015/lib/services/utils/media-connector.service.js +1 -1
- package/esm2015/lib/services/utils/quill.service.js +1 -1
- package/esm2015/lib/services/utils/structure-config.service.js +1 -1
- package/esm2015/lib/services/utils/translate-block.service.js +1 -1
- package/esm2015/lib/services/utils/vimeo.service.js +1 -1
- package/esm2015/lib/services/utils/youtube.service.js +1 -1
- package/esm2015/lib/services/wizi-block.service.js +1 -1
- package/esm2015/lib/shared/animations/list/animate-list-from-left.animation.js +1 -1
- package/esm2015/lib/shared/animations/list/animate-list-from-right.animation.js +1 -1
- package/esm2015/lib/shared/components/editorjs/editorjs.component.js +27 -7
- package/esm2015/lib/shared/components/editorjs/tools/inline/bold-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/italic-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +76 -15
- package/esm2015/lib/shared/components/editorjs/tools/inline/strike-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/subscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/superscript-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-background-color-tool.component.js +5 -7
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-color-tool.component.js +4 -2
- package/esm2015/lib/shared/components/editorjs/tools/inline/text-size-tool.component.js +4 -3
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/color-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +51 -20
- package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/inline/underline-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/code-edit-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/indent-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/ordered-list-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/outdent-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/quote-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/redo-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-align-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +3 -2
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +35 -7
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +5 -6
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/undo-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/paragraph/unordered-list-tool.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/colors.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-conversion.service.js +13 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +35 -2
- package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.js +20 -0
- package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/en-i18n.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/fr-i18n.component.js +1 -1
- package/esm2015/lib/shared/components/editorjs/tools/utils/texts.component.js +1 -1
- package/esm2015/lib/shared/components/faq/faq.component.js +1 -1
- package/esm2015/lib/shared/components/loader/loader.component.js +1 -1
- package/esm2015/lib/shared/components/quill/quill.component.js +1 -1
- package/esm2015/lib/shared/components/shared-components.module.js +1 -1
- package/esm2015/lib/shared/components/small-loader/small-loader.component.js +1 -1
- package/esm2015/lib/shared/components/star/star.component.js +1 -1
- package/esm2015/lib/shared/components/structure-amplify-search-category/structure-amplify-search-category.component.js +1 -1
- package/esm2015/lib/shared/components/structure-amplify-search-product/structure-amplify-search-product.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config/structure-config.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config-checkbox/structure-config-checkbox.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config-extend-input/structure-config-extended-input.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config-font/structure-config-font.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config-input/structure-config-input.component.js +1 -1
- package/esm2015/lib/shared/components/structure-config-payment/structure-config-payment.component.js +1 -1
- package/esm2015/lib/shared/components/structure-search-product/structure-search-product.component.js +1 -1
- package/esm2015/lib/shared/components/structure-select/structure-select.component.js +1 -1
- package/esm2015/lib/shared/components/structure-tools/structure-tools.component.js +1 -1
- package/esm2015/lib/shared/directives/auto-focus/auto-focus.directive.js +1 -1
- package/esm2015/lib/shared/directives/auto-hide/auto-hide.directive.js +1 -1
- package/esm2015/lib/shared/directives/get-size-image/get-size-image.directive.js +1 -1
- package/esm2015/lib/shared/directives/holdable/holdable.directive.js +1 -1
- package/esm2015/lib/shared/directives/pictures-template/pictures-template.directive.js +1 -1
- package/esm2015/lib/shared/directives/shared-directives.module.js +1 -1
- package/esm2015/lib/shared/directives/show-delete-button/show-delete-button.directive.js +1 -1
- package/esm2015/lib/shared/pipes/add-zero-for-timer/add-zero-for-timer.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/answer-type/answer-type.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/array-number/array-number.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/check-payment-value/check-payment-value.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/even-odd/even-odd.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/img-path/img-path.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/safe-style/safe-style.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/safe-url/safe-url.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/shared-pipes.module.js +1 -1
- package/esm2015/lib/shared/pipes/strip-tags/strip-tags.pipe.js +1 -1
- package/esm2015/lib/shared/pipes/tiny-color/tiny-color.pipe.js +1 -1
- package/esm2015/lib/shared/shared.module.js +1 -1
- package/esm2015/lib/structures/amplify-product/zoom/amplify-product-zoom.component.js +1 -1
- package/esm2015/lib/structures/amplify-product/zoom-more/amplify-product-zoom-more.component.js +1 -1
- package/esm2015/lib/structures/amplify-product/zoom-selected/amplify-product-zoom-selected.component.js +1 -1
- package/esm2015/lib/structures/amplify-product/zoom-triple-column/amplify-product-zoom-triple-column.component.js +1 -1
- package/esm2015/lib/structures/amplify-products-list/classic/amplify-products-list-classic.component.js +1 -1
- package/esm2015/lib/structures/amplify-products-list/selected/amplify-products-list-selected.component.js +1 -1
- package/esm2015/lib/structures/amplify-products-list/simple/amplify-products-list-simple.component.js +1 -1
- package/esm2015/lib/structures/code/code-html/code-html.component.js +1 -1
- package/esm2015/lib/structures/code/code-javascript/code-javascript.component.js +1 -1
- package/esm2015/lib/structures/code/code-stylesheet/code-stylesheet.component.js +1 -1
- package/esm2015/lib/structures/faq/accordion/faq-accordion.component.js +1 -1
- package/esm2015/lib/structures/faq/frame/faq-frame.component.js +1 -1
- package/esm2015/lib/structures/faq/list-icon/faq-list-icon.component.js +1 -1
- package/esm2015/lib/structures/faq/simple/faq-simple.component.js +1 -1
- package/esm2015/lib/structures/faq/simple-background/faq-simple-background.component.js +1 -1
- package/esm2015/lib/structures/forms/background/forms-background.component.js +1 -1
- package/esm2015/lib/structures/forms/imageleft/forms-imageleft.component.js +1 -1
- package/esm2015/lib/structures/forms/imageright/forms-imageright.component.js +1 -1
- package/esm2015/lib/structures/forms/simple/forms-simple.component.js +1 -1
- package/esm2015/lib/structures/images/banner/images-banner.component.js +1 -1
- package/esm2015/lib/structures/images/big-and-double/images-big-and-double.component.js +1 -1
- package/esm2015/lib/structures/images/bigs-and-double-middle/images-bigs-and-double-middle.component.js +1 -1
- package/esm2015/lib/structures/images/double/images-double.component.js +1 -1
- package/esm2015/lib/structures/images/four-images-title/four-images-title.component.js +1 -1
- package/esm2015/lib/structures/images/quadruple/images-quadruple.component.js +1 -1
- package/esm2015/lib/structures/images/quadruple-left-one-right/images-quadruple-left-one-right.component.js +1 -1
- package/esm2015/lib/structures/images/simple/images-simple.component.js +1 -1
- package/esm2015/lib/structures/images/triple/images-triple.component.js +1 -1
- package/esm2015/lib/structures/images/two-images-title-text/two-images-title-text.component.js +1 -1
- package/esm2015/lib/structures/images-texts/big-left-text-right/images-texts-big-left-text-right.component.js +1 -1
- package/esm2015/lib/structures/images-texts/big-right-text-left/images-texts-big-right-text-left.component.js +1 -1
- package/esm2015/lib/structures/images-texts/left-text-right/images-texts-left-text-right.component.js +1 -1
- package/esm2015/lib/structures/images-texts/one-text-one/images-texts-one-text-one.component.js +1 -1
- package/esm2015/lib/structures/images-texts/right-text-left/images-texts-right-text-left.component.js +1 -1
- package/esm2015/lib/structures/images-texts/small-left-text-right/images-texts-small-left-text-right.component.js +1 -1
- package/esm2015/lib/structures/images-texts/small-right-text-left/images-texts-small-right-text-left.component.js +1 -1
- package/esm2015/lib/structures/images-texts/text-one-text/images-texts-text-one-text.component.js +1 -1
- package/esm2015/lib/structures/launch-videos/button/launch-videos-button.component.js +1 -1
- package/esm2015/lib/structures/launch-videos/buttontxt/launch-videos-buttontxt.component.js +1 -1
- package/esm2015/lib/structures/loader-component.module.js +1 -1
- package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +1 -1
- package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +1 -1
- package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +1 -1
- package/esm2015/lib/structures/map/left-text/map-left-text.component.js +1 -1
- package/esm2015/lib/structures/map/right-text/map-right-text.component.js +1 -1
- package/esm2015/lib/structures/map/text-form/map-text-form.component.js +1 -1
- package/esm2015/lib/structures/newsletter/aligned-center-background/newsletter-aligned-center-background.component.js +1 -1
- package/esm2015/lib/structures/newsletter/aligned-center-image/newsletter-aligned-center-image.component.js +1 -1
- package/esm2015/lib/structures/newsletter/center-image/newsletter-center-image.component.js +1 -1
- package/esm2015/lib/structures/onboarding/onboarding/forms-onboarding.component.js +1 -1
- package/esm2015/lib/structures/product/zoom/product-zoom.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-complete/product-zoom-complete.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-complete-background/product-zoom-complete-background.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-complete-slider/product-zoom-complete-slider.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-more/product-zoom-more.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-selected/product-zoom-selected.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-simple/product-zoom-simple.component.js +1 -1
- package/esm2015/lib/structures/product/zoom-triple-column/product-zoom-triple-column.component.js +1 -1
- package/esm2015/lib/structures/products-list/classic/products-list-classic.component.js +1 -1
- package/esm2015/lib/structures/products-list/selected/products-list-selected.component.js +1 -1
- package/esm2015/lib/structures/products-list/simple/products-list-simple.component.js +1 -1
- package/esm2015/lib/structures/quotes/author/quotes-author.component.js +1 -1
- package/esm2015/lib/structures/quotes/simple/quotes-simple.component.js +1 -1
- package/esm2015/lib/structures/quotes/simple-background/quotes-simple-background.component.js +1 -1
- package/esm2015/lib/structures/rassurances/quadruple-aligned/rassurances-quadruple-aligned.component.js +1 -1
- package/esm2015/lib/structures/rassurances/quadruple-background/rassurances-quadruple-background.component.js +1 -1
- package/esm2015/lib/structures/rassurances/triple-background/rassurances-triple-background.component.js +1 -1
- package/esm2015/lib/structures/reviews/simple/reviews-simple.component.js +1 -1
- package/esm2015/lib/structures/reviews/waterfall/reviews-waterfall.component.js +1 -1
- package/esm2015/lib/structures/separator/separator-simple/separator-simple.component.js +1 -1
- package/esm2015/lib/structures/sliders/double-imageright/slider-double-imageright.component.js +1 -1
- package/esm2015/lib/structures/sliders/fullpage/slider-fullpage.component.js +1 -1
- package/esm2015/lib/structures/sliders/imageright/slider-imageright.component.js +1 -1
- package/esm2015/lib/structures/sliders/leftnav/slider-leftnav.component.js +1 -1
- package/esm2015/lib/structures/sliders/with-banner/slider-with-banner.component.js +1 -1
- package/esm2015/lib/structures/socials/like/socials-like.component.js +1 -1
- package/esm2015/lib/structures/socials/network/socials-network.component.js +1 -1
- package/esm2015/lib/structures/socials/page-complex/socials-page-complex.component.js +1 -1
- package/esm2015/lib/structures/socials/page-simple/socials-page-simple.component.js +1 -1
- package/esm2015/lib/structures/structures.component.js +1 -1
- package/esm2015/lib/structures/structures.module.js +1 -1
- package/esm2015/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.js +7 -2
- package/esm2015/lib/structures/text-backgrounds/link/text-backgrounds-link.component.js +1 -1
- package/esm2015/lib/structures/text-backgrounds/simple/text-backgrounds-simple.component.js +1 -1
- package/esm2015/lib/structures/text-backgrounds/three-rows-icon-text/text-backgrounds-three-rows-icon-text.component.js +2 -2
- package/esm2015/lib/structures/text-backgrounds/two-rows-icon-text/text-backgrounds-two-rows-icon-text.component.js +2 -2
- package/esm2015/lib/structures/text-backgrounds/with-banner/text-backgrounds-with-banner.component.js +1 -1
- package/esm2015/lib/structures/text-backgrounds/with-txt/text-backgrounds-with-txt.component.js +1 -1
- package/esm2015/lib/structures/texts/double/texts-double.component.js +1 -1
- package/esm2015/lib/structures/texts/double-background/texts-double-background.component.js +1 -1
- package/esm2015/lib/structures/texts/one/texts-one.component.js +1 -1
- package/esm2015/lib/structures/texts/one-background/texts-one-background.component.js +1 -1
- package/esm2015/lib/structures/texts/quadruple/texts-quadruple.component.js +1 -1
- package/esm2015/lib/structures/texts/quadruple-background/texts-quadruple-background.component.js +1 -1
- package/esm2015/lib/structures/texts/quadruple-numbers/texts-quadruple-numbers.component.js +2 -2
- package/esm2015/lib/structures/texts/triple/texts-triple.component.js +1 -1
- package/esm2015/lib/structures/texts/triple-background/texts-triple-background.component.js +1 -1
- package/esm2015/lib/structures/timer/airport/timer-airport.component.js +2 -2
- package/esm2015/lib/structures/timer/background/timer-background.component.js +2 -2
- package/esm2015/lib/structures/timer/clock/timer-clock.component.js +2 -2
- package/esm2015/lib/structures/timer/multiple-img/timer-multiple-img.component.js +2 -2
- package/esm2015/lib/structures/timer/simple/timer-simple.component.js +2 -2
- package/esm2015/lib/structures/videos/simple/videos-simple.component.js +1 -1
- package/esm2015/lib/structures/videos/txt/videos-txt.component.js +1 -1
- package/esm2015/lib/structures/videos/txt-content/videos-txt-content.component.js +1 -1
- package/esm2015/lib/structures/videos/txt-left/videos-txt-left.component.js +1 -1
- package/esm2015/lib/structures/witness/about-block/about-block.component.js +1 -1
- package/esm2015/lib/structures/witness/background-double/witness-background-double.component.js +1 -1
- package/esm2015/lib/structures/witness/background-one/witness-background-one.component.js +1 -1
- package/esm2015/lib/structures/witness/quadruple/witness-quadruple.component.js +1 -1
- package/esm2015/lib/structures/witness/triple/witness-triple.component.js +1 -1
- package/esm2015/lib/structures/witness/twice/witness-twice.component.js +1 -1
- package/esm2015/lib/wizi-block.component.js +4 -4
- package/esm2015/lib/wizi-block.module.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/wizishop-wizi-block.js +227 -226
- package/fesm2015/wizishop-wizi-block.js +276 -74
- package/fesm2015/wizishop-wizi-block.js.map +1 -1
- package/lib/shared/components/editorjs/editorjs.component.d.ts +5 -1
- package/lib/shared/components/editorjs/tools/inline/link-tool.component.d.ts +1 -0
- package/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.d.ts +2 -2
- package/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.d.ts +5 -0
- package/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.d.ts +2 -0
- package/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.d.ts +7 -0
- package/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.d.ts +1 -0
- package/package.json +1 -1
- package/wizi-block.scss +2116 -1857
- package/wizishop-wizi-block.d.ts +226 -225
- package/wizishop-wizi-block.metadata.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { isBlockFocused, setBlockFocus } from '../utils/editorjs-tool.component';
|
|
3
|
+
import { editorJSI18nDictionnary } from '../utils/editorjs-translation.service';
|
|
3
4
|
import { InlineStyleTool } from './tool-type/inline-style-tool.component';
|
|
4
5
|
// @dynamic
|
|
5
6
|
export class LinkTool extends InlineStyleTool {
|
|
@@ -30,6 +31,8 @@ export class LinkTool extends InlineStyleTool {
|
|
|
30
31
|
linkInputId: 'linkInput',
|
|
31
32
|
targetCheckboxId: 'targetCheckbox',
|
|
32
33
|
obfuscationCheckboxId: 'obfuscationCheckbox',
|
|
34
|
+
addButtonClass: 'ce-inline-actions--link__add',
|
|
35
|
+
deleteButtonClass: 'ce-inline-actions--link__delete',
|
|
33
36
|
};
|
|
34
37
|
this.attributeName = 'data-htap,href';
|
|
35
38
|
this.attributesToApply = [];
|
|
@@ -90,10 +93,11 @@ export class LinkTool extends InlineStyleTool {
|
|
|
90
93
|
if (!this.parentEditor) {
|
|
91
94
|
this.parentEditor = this.findParentEditor();
|
|
92
95
|
}
|
|
96
|
+
let uuid = this.parentEditor.getAttribute('id').replace('editorJs-', '');
|
|
93
97
|
this.attributesToApply = [];
|
|
94
|
-
let targetCheckbox = this.parentEditor.querySelector('#' + this.linkCss['targetCheckboxId']);
|
|
95
|
-
let obfuscationCheckbox = this.parentEditor.querySelector('#' + this.linkCss['obfuscationCheckboxId']);
|
|
96
|
-
let linkInput = this.parentEditor.querySelector('#' + this.linkCss['linkInputId']);
|
|
98
|
+
let targetCheckbox = this.parentEditor.querySelector('#' + this.linkCss['targetCheckboxId'] + uuid);
|
|
99
|
+
let obfuscationCheckbox = this.parentEditor.querySelector('#' + this.linkCss['obfuscationCheckboxId'] + uuid);
|
|
100
|
+
let linkInput = this.parentEditor.querySelector('#' + this.linkCss['linkInputId'] + uuid);
|
|
97
101
|
if (targetCheckbox.checked) {
|
|
98
102
|
this.attributesToApply.push({
|
|
99
103
|
name: 'target',
|
|
@@ -122,7 +126,25 @@ export class LinkTool extends InlineStyleTool {
|
|
|
122
126
|
this.openLinkDropdown();
|
|
123
127
|
});
|
|
124
128
|
}
|
|
129
|
+
deleteLink() {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
if (!this.parentEditor) {
|
|
132
|
+
this.parentEditor = this.findParentEditor();
|
|
133
|
+
}
|
|
134
|
+
this.tag = 'A';
|
|
135
|
+
this.attributesToApply = null;
|
|
136
|
+
this.modifies.tag = true;
|
|
137
|
+
this.resetUserSelection();
|
|
138
|
+
yield this.surround(null, true);
|
|
139
|
+
this.checkState(this.currentSelection);
|
|
140
|
+
this.openLinkDropdown();
|
|
141
|
+
});
|
|
142
|
+
}
|
|
125
143
|
renderActions() {
|
|
144
|
+
if (!this.parentEditor) {
|
|
145
|
+
this.parentEditor = this.findParentEditor();
|
|
146
|
+
}
|
|
147
|
+
let uuid = this.parentEditor.getAttribute('id').replace('editorJs-', '');
|
|
126
148
|
let container = document.createElement('div');
|
|
127
149
|
container.className = this.linkCss['container'] + ' hidden';
|
|
128
150
|
let linkContainer = document.createElement('div');
|
|
@@ -132,27 +154,31 @@ export class LinkTool extends InlineStyleTool {
|
|
|
132
154
|
let obfuscationContainer = document.createElement('div');
|
|
133
155
|
obfuscationContainer.className = this.linkCss['obfuscationContainer'];
|
|
134
156
|
let applyButton = document.createElement('button');
|
|
135
|
-
applyButton.
|
|
157
|
+
applyButton.className = this.linkCss['addButtonClass'];
|
|
158
|
+
applyButton.innerText = editorJSI18nDictionnary.messages.tools.link['add'];
|
|
136
159
|
applyButton.addEventListener('click', () => this.applyLink());
|
|
137
160
|
let linkInput = document.createElement('input');
|
|
138
|
-
linkInput.setAttribute('id', this.linkCss['linkInputId']);
|
|
139
|
-
linkInput.setAttribute('placeholder',
|
|
161
|
+
linkInput.setAttribute('id', this.linkCss['linkInputId'] + uuid);
|
|
162
|
+
linkInput.setAttribute('placeholder', editorJSI18nDictionnary.messages.tools.link['placeholder']);
|
|
140
163
|
let targetCheckbox = document.createElement('input');
|
|
141
|
-
targetCheckbox.setAttribute('id', this.linkCss['targetCheckboxId']);
|
|
164
|
+
targetCheckbox.setAttribute('id', this.linkCss['targetCheckboxId'] + uuid);
|
|
142
165
|
targetCheckbox.setAttribute('type', 'checkbox');
|
|
143
166
|
let targetLabel = document.createElement('label');
|
|
144
|
-
targetLabel.innerText =
|
|
145
|
-
targetLabel.setAttribute('for', this.linkCss['targetCheckboxId']);
|
|
167
|
+
targetLabel.innerText = editorJSI18nDictionnary.messages.tools.link['external'];
|
|
168
|
+
targetLabel.setAttribute('for', this.linkCss['targetCheckboxId'] + uuid);
|
|
146
169
|
let obfuscationCheckbox = document.createElement('input');
|
|
147
|
-
obfuscationCheckbox.setAttribute('id', this.linkCss['obfuscationCheckboxId']);
|
|
170
|
+
obfuscationCheckbox.setAttribute('id', this.linkCss['obfuscationCheckboxId'] + uuid);
|
|
148
171
|
obfuscationCheckbox.setAttribute('type', 'checkbox');
|
|
149
172
|
let obfuscationLabel = document.createElement('label');
|
|
150
|
-
obfuscationLabel.innerText =
|
|
151
|
-
obfuscationLabel.setAttribute('for', this.linkCss['obfuscationCheckboxId']);
|
|
173
|
+
obfuscationLabel.innerText = editorJSI18nDictionnary.messages.tools.link['obfuscated'];
|
|
174
|
+
obfuscationLabel.setAttribute('for', this.linkCss['obfuscationCheckboxId'] + uuid);
|
|
152
175
|
let obfuscationTooltipContainer = document.createElement('div');
|
|
153
176
|
let obbfuscationTooltip = document.createElement('div');
|
|
154
|
-
obbfuscationTooltip.innerHTML =
|
|
177
|
+
obbfuscationTooltip.innerHTML = editorJSI18nDictionnary.messages.tools.link['info'];
|
|
155
178
|
obfuscationTooltipContainer.appendChild(obbfuscationTooltip);
|
|
179
|
+
let deleteButton = document.createElement('button');
|
|
180
|
+
deleteButton.className = this.linkCss['deleteButtonClass'] + ' hidden';
|
|
181
|
+
deleteButton.addEventListener('click', () => this.deleteLink());
|
|
156
182
|
linkContainer.appendChild(linkInput);
|
|
157
183
|
targetContainer.appendChild(targetCheckbox);
|
|
158
184
|
targetContainer.appendChild(targetLabel);
|
|
@@ -163,9 +189,42 @@ export class LinkTool extends InlineStyleTool {
|
|
|
163
189
|
container.appendChild(targetContainer);
|
|
164
190
|
container.appendChild(obfuscationContainer);
|
|
165
191
|
container.appendChild(applyButton);
|
|
192
|
+
container.appendChild(deleteButton);
|
|
166
193
|
return container;
|
|
167
194
|
}
|
|
168
|
-
showActions(mark) {
|
|
195
|
+
showActions(mark) {
|
|
196
|
+
if (!this.parentEditor) {
|
|
197
|
+
this.parentEditor = this.findParentEditor();
|
|
198
|
+
}
|
|
199
|
+
let uuid = this.parentEditor.getAttribute('id').replace('editorJs-', '');
|
|
200
|
+
let targetCheckbox = this.parentEditor.querySelector('#' + this.linkCss['targetCheckboxId'] + uuid);
|
|
201
|
+
let obfuscationCheckbox = this.parentEditor.querySelector('#' + this.linkCss['obfuscationCheckboxId'] + uuid);
|
|
202
|
+
let linkInput = this.parentEditor.querySelector('#' + this.linkCss['linkInputId'] + uuid);
|
|
203
|
+
let deleteButton = this.parentEditor.querySelector('.' + this.linkCss['deleteButtonClass']);
|
|
204
|
+
let addButton = this.parentEditor.querySelector('.' + this.linkCss['addButtonClass']);
|
|
205
|
+
linkInput.value = '';
|
|
206
|
+
if (this.checkState(this.getSelection())) {
|
|
207
|
+
let selection = this.getSelection();
|
|
208
|
+
let element = this.hasStyle(selection.anchorNode);
|
|
209
|
+
linkInput.value = element.getAttribute(element.tagName.toLowerCase() === 'a' ? 'href' : 'data-htap');
|
|
210
|
+
targetCheckbox.checked = element.getAttribute('target') === '_blank';
|
|
211
|
+
obfuscationCheckbox.checked = element.tagName.toLowerCase() === 'span';
|
|
212
|
+
if (deleteButton.classList.contains('hidden')) {
|
|
213
|
+
deleteButton.classList.remove('hidden');
|
|
214
|
+
}
|
|
215
|
+
if (!addButton.classList.contains('hidden')) {
|
|
216
|
+
addButton.classList.add('hidden');
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
if (!deleteButton.classList.contains('hidden')) {
|
|
221
|
+
deleteButton.classList.add('hidden');
|
|
222
|
+
}
|
|
223
|
+
if (addButton.classList.contains('hidden')) {
|
|
224
|
+
addButton.classList.remove('hidden');
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
169
228
|
hideActions() { }
|
|
170
229
|
openLinkDropdown() {
|
|
171
230
|
if (!this.parentEditor) {
|
|
@@ -175,6 +234,7 @@ export class LinkTool extends InlineStyleTool {
|
|
|
175
234
|
this.saveUserSelection();
|
|
176
235
|
if (linkDropdown) {
|
|
177
236
|
if (linkDropdown.classList.contains('hidden')) {
|
|
237
|
+
this.showActions(null);
|
|
178
238
|
let viewportOffset = linkDropdown.getBoundingClientRect();
|
|
179
239
|
if (viewportOffset.left + linkDropdown.offsetWidth > document.body.offsetWidth) {
|
|
180
240
|
let left = parseInt(window.getComputedStyle(linkDropdown, null).getPropertyValue('left')) -
|
|
@@ -194,6 +254,7 @@ export class LinkTool extends InlineStyleTool {
|
|
|
194
254
|
}, 400);
|
|
195
255
|
}
|
|
196
256
|
else {
|
|
257
|
+
this.resetUserSelection();
|
|
197
258
|
this.isLinkDropdownOpen = false;
|
|
198
259
|
linkDropdown.classList.add('hidden');
|
|
199
260
|
}
|
|
@@ -218,4 +279,4 @@ export class LinkTool extends InlineStyleTool {
|
|
|
218
279
|
}
|
|
219
280
|
}
|
|
220
281
|
LinkTool.title = 'Link';
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9icmlhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvaW5saW5lL2xpbmstdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBbUIsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVMsU0FBUSxlQUFlO0lBc0V6QyxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUFwRUssZ0JBQVcsR0FBVyxNQUFNLENBQUM7UUFFN0IsUUFBRyxHQUFHO1lBQ25CLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFTSxVQUFLLEdBQWtDO1lBQzNDLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsTUFBTSxDQUFDO1FBRWIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBRTFCLGFBQVEsR0FBRztZQUNQLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxJQUFJO1NBQ2xCLENBQUM7UUFFRixZQUFPLEdBQVc7WUFDZCxTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLGFBQWEsRUFBRSxvQ0FBb0M7WUFDbkQsZUFBZSxFQUFFLGlDQUFpQztZQUNsRCxvQkFBb0IsRUFBRSxzQ0FBc0M7WUFDNUQsV0FBVyxFQUFFLFdBQVc7WUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdC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QUMsV0FBVyxDQUFDLENBQUMsRUFBRTtvQkFDdkQsT0FBTztpQkFDVjtnQkFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNuQztZQUNELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O0FBeFBhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgQXR0cmlidXRlT2JqZWN0LCBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgTGlua1Rvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0xpbmsnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ2xpbmsnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLWxpbmsnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHByaXZhdGUgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdTUEFOJztcblxuICAgIGhhc1NlcGFyYXRvckJlZm9yZSA9IHRydWU7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgbGlua0NzczogT2JqZWN0ID0ge1xuICAgICAgICBjb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGluaycsXG4gICAgICAgIGxpbmtDb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fY29udGFpbmVyJyxcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX3RhcmdldCcsXG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX29iZnVzY2F0aW9uJyxcbiAgICAgICAgbGlua0lucHV0SWQ6ICdsaW5rSW5wdXQnLFxuICAgICAgICB0YXJnZXRDaGVja2JveElkOiAndGFyZ2V0Q2hlY2tib3gnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94SWQ6ICdvYmZ1c2NhdGlvbkNoZWNrYm94JyxcbiAgICB9O1xuXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ2RhdGEtaHRhcCxocmVmJztcblxuICAgIGF0dHJpYnV0ZXNUb0FwcGx5OiBBcnJheTxBdHRyaWJ1dGVPYmplY3Q+IHwgbnVsbCA9IFtdO1xuXG4gICAgaXNMaW5rRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3J0Y3V0KCkge1xuICAgICAgICByZXR1cm4gJ0NNRCtLJztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKSk7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UsIGFwcGx5TGluazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseUxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICBhc3luYyBhcHBseUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseSA9IFtdO1xuXG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10pIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBsZXQgbGlua0lucHV0ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ2xpbmtJbnB1dElkJ10pIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGlmICh0YXJnZXRDaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnX2JsYW5rJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ1NQQU4nO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1RvQXBwbHkucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2RhdGEtaHRhcCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGJ0b2EobGlua0lucHV0LnZhbHVlKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50YWcgPSAnQSc7XG4gICAgICAgICAgICB0aGlzLm1vZGlmaWVzLnRhZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdocmVmJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbGlua0lucHV0LnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIHRoaXMub3BlbkxpbmtEcm9wZG93bigpO1xuICAgIH1cblxuICAgIHJlbmRlckFjdGlvbnMoKSB7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10gKyAnIGhpZGRlbic7XG5cbiAgICAgICAgbGV0IGxpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGlua0NvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2xpbmtDb250YWluZXInXTtcbiAgICAgICAgbGV0IHRhcmdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWyd0YXJnZXRDb250YWluZXInXTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25Db250YWluZXInXTtcbiAgICAgICAgbGV0IGFwcGx5QnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGFwcGx5QnV0dG9uLmlubmVyVGV4dCA9IHRoaXMuYXBpLmkxOG4udCgnYWRkJyk7XG4gICAgICAgIGFwcGx5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5hcHBseUxpbmsoKSk7XG5cbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddKTtcbiAgICAgICAgbGlua0lucHV0LnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCB0aGlzLmFwaS5pMThuLnQoJ3BsYWNlaG9sZGVyJykpO1xuICAgICAgICBsZXQgdGFyZ2V0Q2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWyd0YXJnZXRDaGVja2JveElkJ10pO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IHRhcmdldExhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuaW5uZXJUZXh0ID0gdGhpcy5hcGkuaTE4bi50KCdleHRlcm5hbCcpO1xuICAgICAgICB0YXJnZXRMYWJlbC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIHRoaXMubGlua0Nzc1sndGFyZ2V0Q2hlY2tib3hJZCddKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ2hlY2tib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddKTtcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkxhYmVsLmlubmVyVGV4dCA9IHRoaXMuYXBpLmkxOG4udCgnb2JmdXNjYXRlZCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkxhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgdGhpcy5saW5rQ3NzWydvYmZ1c2NhdGlvbkNoZWNrYm94SWQnXSk7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvblRvb2x0aXBDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGV0IG9iYmZ1c2NhdGlvblRvb2x0aXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgb2JiZnVzY2F0aW9uVG9vbHRpcC5pbm5lckhUTUwgPSB0aGlzLmFwaS5pMThuLnQoJ2luZm8nKTtcbiAgICAgICAgb2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iYmZ1c2NhdGlvblRvb2x0aXApO1xuXG4gICAgICAgIGxpbmtDb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0lucHV0KTtcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyLmFwcGVuZENoaWxkKHRhcmdldENoZWNrYm94KTtcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyLmFwcGVuZENoaWxkKHRhcmdldExhYmVsKTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25DaGVja2JveCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uTGFiZWwpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvblRvb2x0aXBDb250YWluZXIpO1xuXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5rQ29udGFpbmVyKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRhcmdldENvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkNvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChhcHBseUJ1dHRvbik7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBzaG93QWN0aW9ucyhtYXJrKSB7fVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7fVxuXG4gICAgb3BlbkxpbmtEcm9wZG93bigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGlua0Ryb3Bkb3duID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLicgKyB0aGlzLmxpbmtDc3NbJ2NvbnRhaW5lciddKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAobGlua0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAobGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmlld3BvcnRPZmZzZXQgPSBsaW5rRHJvcGRvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXdwb3J0T2Zmc2V0LmxlZnQgKyAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikub2Zmc2V0V2lkdGggPiBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsZWZ0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGxpbmtEcm9wZG93biwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnbGVmdCcpKSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAodmlld3BvcnRPZmZzZXQubGVmdCArICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5vZmZzZXRXaWR0aCAtIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikuc3R5bGUubGVmdCA9IGxlZnQudG9TdHJpbmcoKSArICdweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+bGlua0Ryb3Bkb3duKS5zdHlsZS50b3AgPVxuICAgICAgICAgICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy5jZS1pbmxpbmUtdG9vbGJhcl9fYnV0dG9ucycpKS5vZmZzZXRIZWlnaHQgLVxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldFRvcCArIHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICAgICAgICAgJ3B4JztcbiAgICAgICAgICAgICAgICBsaW5rRHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMuaXNMaW5rRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlua0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBsaW5rRHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSB7XG4gICAgICAgIGxldCBjb2xvclNlbGVjdGlvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydjb250YWluZXInXSk7XG4gICAgICAgIGlmICh0aGlzLmlzTGlua0Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgd2hpbGUgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5saW5rQ3NzWydjb250YWluZXInXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzTGlua0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpKTtcbiAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICBjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLnRvb2xiYXIuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvbGluay10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFtQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUF3RXpDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXRFSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU3QixRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxzQkFBc0I7U0FDekMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFMUIsYUFBUSxHQUFHO1lBQ1AsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssRUFBRSxLQUFLO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUVGLFlBQU8sR0FBVztZQUNkLFNBQVMsRUFBRSx5QkFBeUI7WUFDcEMsYUFBYSxFQUFFLG9DQUFvQztZQUNuRCxlQUFlLEVBQUUsaUNBQWlDO1lBQ2xELG9CQUFvQixFQUFFLHNDQUFz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QUN4QztTQUNKO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQU07UUFDM0IsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sT0FBTyxFQUFFO2dCQUNaLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUN2RCxPQUFPO2lCQUNWO2dCQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ25DO1lBQ0QsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUNoQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7QUFwVGEsY0FBSyxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVPYmplY3QsIGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgTGlua1Rvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0xpbmsnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ2xpbmsnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLWxpbmsnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHByaXZhdGUgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdTUEFOJztcblxuICAgIGhhc1NlcGFyYXRvckJlZm9yZSA9IHRydWU7XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogdHJ1ZSxcbiAgICB9O1xuXG4gICAgbGlua0NzczogT2JqZWN0ID0ge1xuICAgICAgICBjb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGluaycsXG4gICAgICAgIGxpbmtDb250YWluZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fY29udGFpbmVyJyxcbiAgICAgICAgdGFyZ2V0Q29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX3RhcmdldCcsXG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLWxpbmtfX29iZnVzY2F0aW9uJyxcbiAgICAgICAgbGlua0lucHV0SWQ6ICdsaW5rSW5wdXQnLFxuICAgICAgICB0YXJnZXRDaGVja2JveElkOiAndGFyZ2V0Q2hlY2tib3gnLFxuICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94SWQ6ICdvYmZ1c2NhdGlvbkNoZWNrYm94JyxcbiAgICAgICAgYWRkQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fYWRkJyxcbiAgICAgICAgZGVsZXRlQnV0dG9uQ2xhc3M6ICdjZS1pbmxpbmUtYWN0aW9ucy0tbGlua19fZGVsZXRlJyxcbiAgICB9O1xuXG4gICAgYXR0cmlidXRlTmFtZTogc3RyaW5nID0gJ2RhdGEtaHRhcCxocmVmJztcblxuICAgIGF0dHJpYnV0ZXNUb0FwcGx5OiBBcnJheTxBdHRyaWJ1dGVPYmplY3Q+IHwgbnVsbCA9IFtdO1xuXG4gICAgaXNMaW5rRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNob3J0Y3V0KCkge1xuICAgICAgICByZXR1cm4gJ0NNRCtLJztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKSk7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UsIGFwcGx5TGluazogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChhcHBseUxpbmspIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICBhc3luYyBhcHBseUxpbmsoKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHV1aWQgPSB0aGlzLnBhcmVudEVkaXRvci5nZXRBdHRyaWJ1dGUoJ2lkJykucmVwbGFjZSgnZWRpdG9ySnMtJywgJycpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5ID0gW107XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICBpZiAodGFyZ2V0Q2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ19ibGFuaycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JmdXNjYXRpb25DaGVja2JveC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLnRhZyA9ICdTUEFOJztcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXMudGFnID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5LnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdkYXRhLWh0YXAnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBidG9hKGxpbmtJbnB1dC52YWx1ZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVzVG9BcHBseS5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnaHJlZicsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxpbmtJbnB1dC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLm9wZW5MaW5rRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGVMaW5rKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFnID0gJ0EnO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNUb0FwcGx5ID0gbnVsbDtcbiAgICAgICAgdGhpcy5tb2RpZmllcy50YWcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc2V0VXNlclNlbGVjdGlvbigpO1xuICAgICAgICBhd2FpdCB0aGlzLnN1cnJvdW5kKG51bGwsIHRydWUpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5jdXJyZW50U2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5vcGVuTGlua0Ryb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgcmVuZGVyQWN0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG4gICAgICAgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10gKyAnIGhpZGRlbic7XG5cbiAgICAgICAgbGV0IGxpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGlua0NvbnRhaW5lci5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2xpbmtDb250YWluZXInXTtcbiAgICAgICAgbGV0IHRhcmdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0YXJnZXRDb250YWluZXIuY2xhc3NOYW1lID0gdGhpcy5saW5rQ3NzWyd0YXJnZXRDb250YWluZXInXTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25Db250YWluZXInXTtcbiAgICAgICAgbGV0IGFwcGx5QnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGFwcGx5QnV0dG9uLmNsYXNzTmFtZSA9IHRoaXMubGlua0Nzc1snYWRkQnV0dG9uQ2xhc3MnXTtcbiAgICAgICAgYXBwbHlCdXR0b24uaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snYWRkJ107XG4gICAgICAgIGFwcGx5QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5hcHBseUxpbmsoKSk7XG5cbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCk7XG4gICAgICAgIGxpbmtJbnB1dC5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1sncGxhY2Vob2xkZXInXSk7XG4gICAgICAgIGxldCB0YXJnZXRDaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIHRhcmdldENoZWNrYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICB0YXJnZXRDaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IHRhcmdldExhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMubGlua1snZXh0ZXJuYWwnXTtcbiAgICAgICAgdGFyZ2V0TGFiZWwuc2V0QXR0cmlidXRlKCdmb3InLCB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpO1xuICAgICAgICBsZXQgb2JmdXNjYXRpb25DaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ2hlY2tib3guc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgb2JmdXNjYXRpb25DaGVja2JveC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnY2hlY2tib3gnKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICBvYmZ1c2NhdGlvbkxhYmVsLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ29iZnVzY2F0ZWQnXTtcbiAgICAgICAgb2JmdXNjYXRpb25MYWJlbC5zZXRBdHRyaWJ1dGUoJ2ZvcicsIHRoaXMubGlua0Nzc1snb2JmdXNjYXRpb25DaGVja2JveElkJ10gKyB1dWlkKTtcbiAgICAgICAgbGV0IG9iZnVzY2F0aW9uVG9vbHRpcENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgb2JiZnVzY2F0aW9uVG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBvYmJmdXNjYXRpb25Ub29sdGlwLmlubmVySFRNTCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmxpbmtbJ2luZm8nXTtcbiAgICAgICAgb2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iYmZ1c2NhdGlvblRvb2x0aXApO1xuICAgICAgICBsZXQgZGVsZXRlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5jbGFzc05hbWUgPSB0aGlzLmxpbmtDc3NbJ2RlbGV0ZUJ1dHRvbkNsYXNzJ10gKyAnIGhpZGRlbic7XG4gICAgICAgIGRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuZGVsZXRlTGluaygpKTtcblxuICAgICAgICBsaW5rQ29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtJbnB1dCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDaGVja2JveCk7XG4gICAgICAgIHRhcmdldENvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRMYWJlbCk7XG4gICAgICAgIG9iZnVzY2F0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iZnVzY2F0aW9uQ2hlY2tib3gpO1xuICAgICAgICBvYmZ1c2NhdGlvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmZ1c2NhdGlvbkxhYmVsKTtcbiAgICAgICAgb2JmdXNjYXRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Ub29sdGlwQ29udGFpbmVyKTtcblxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0NvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0YXJnZXRDb250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQob2JmdXNjYXRpb25Db250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYXBwbHlCdXR0b24pO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZGVsZXRlQnV0dG9uKTtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdXVpZCA9IHRoaXMucGFyZW50RWRpdG9yLmdldEF0dHJpYnV0ZSgnaWQnKS5yZXBsYWNlKCdlZGl0b3JKcy0nLCAnJyk7XG5cbiAgICAgICAgbGV0IHRhcmdldENoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ3RhcmdldENoZWNrYm94SWQnXSArIHV1aWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgIGxldCBvYmZ1c2NhdGlvbkNoZWNrYm94ID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignIycgKyB0aGlzLmxpbmtDc3NbJ29iZnVzY2F0aW9uQ2hlY2tib3hJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGxpbmtJbnB1dCA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJyMnICsgdGhpcy5saW5rQ3NzWydsaW5rSW5wdXRJZCddICsgdXVpZCkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgbGV0IGRlbGV0ZUJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydkZWxldGVCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGV0IGFkZEJ1dHRvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydhZGRCdXR0b25DbGFzcyddKTtcbiAgICAgICAgbGlua0lucHV0LnZhbHVlID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSkpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSk7XG4gICAgICAgICAgICBsaW5rSW5wdXQudmFsdWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnID8gJ2hyZWYnIDogJ2RhdGEtaHRhcCcpO1xuICAgICAgICAgICAgdGFyZ2V0Q2hlY2tib3guY2hlY2tlZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKSA9PT0gJ19ibGFuayc7XG4gICAgICAgICAgICBvYmZ1c2NhdGlvbkNoZWNrYm94LmNoZWNrZWQgPSBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3NwYW4nO1xuICAgICAgICAgICAgaWYgKGRlbGV0ZUJ1dHRvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhZGRCdXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghZGVsZXRlQnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBkZWxldGVCdXR0b24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWRkQnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBhZGRCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlQWN0aW9ucygpIHt9XG5cbiAgICBvcGVuTGlua0Ryb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBsaW5rRHJvcGRvd24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuJyArIHRoaXMubGlua0Nzc1snY29udGFpbmVyJ10pO1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGlmIChsaW5rRHJvcGRvd24pIHtcbiAgICAgICAgICAgIGlmIChsaW5rRHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0FjdGlvbnMobnVsbCk7XG4gICAgICAgICAgICAgICAgbGV0IHZpZXdwb3J0T2Zmc2V0ID0gbGlua0Ryb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGlmICh2aWV3cG9ydE9mZnNldC5sZWZ0ICsgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLm9mZnNldFdpZHRoID4gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbGVmdCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShsaW5rRHJvcGRvd24sIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2xlZnQnKSkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdwb3J0T2Zmc2V0LmxlZnQgKyAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikub2Zmc2V0V2lkdGggLSBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD5saW5rRHJvcGRvd24pLnN0eWxlLmxlZnQgPSBsZWZ0LnRvU3RyaW5nKCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PmxpbmtEcm9wZG93bikuc3R5bGUudG9wID1cbiAgICAgICAgICAgICAgICAgICAgJy0nICtcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuY2UtaW5saW5lLXRvb2xiYXJfX2J1dHRvbnMnKSkub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm5vZGVzLmJ1dHRvbi5vZmZzZXRUb3AgKyB0aGlzLm5vZGVzLmJ1dHRvbi5vZmZzZXRIZWlnaHQpXG4gICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoKSArXG4gICAgICAgICAgICAgICAgICAgICdweCc7XG4gICAgICAgICAgICAgICAgbGlua0Ryb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzTGlua0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtEcm9wZG93bk9wZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sIDQwMCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBsaW5rRHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0xpbmtEcm9wZG93bkZvY3VzZWRPdXQoJGV2ZW50KSB7XG4gICAgICAgIGxldCBjb2xvclNlbGVjdGlvbiA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3IoJy4nICsgdGhpcy5saW5rQ3NzWydjb250YWluZXInXSk7XG4gICAgICAgIGlmICh0aGlzLmlzTGlua0Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgd2hpbGUgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5saW5rQ3NzWydjb250YWluZXInXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzTGlua0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpKTtcbiAgICAgICAgICAgIHRoaXMuaXNMaW5rRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICBjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLnRvb2xiYXIuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -68,4 +68,4 @@ export class StrikeTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
StrikeTool.title = 'Strike';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaWtlLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9zdHJpa2UtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFnRDNDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQTlDSyxnQkFBVyxHQUFXLGVBQWUsQ0FBQztRQUV0QyxRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSx3QkFBd0I7U0FDM0MsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBd0JFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQWpGYSxnQkFBSyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgU3RyaWtlVG9vbCBleHRlbmRzIElubGluZVN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnU3RyaWtlJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICdzdHJpa2V0aHJvdWdoJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1zdHJpa2UnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHByaXZhdGUgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdTJztcblxuICAgIG1vZGlmaWVzID0ge1xuICAgICAgICB0YWc6IHRydWUsXG4gICAgICAgIHN0eWxlOiBmYWxzZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -68,4 +68,4 @@ export class SubscriptTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
SubscriptTool.title = 'Subscript';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0LXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS9zdWJzY3JpcHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLFdBQVc7QUFDWCxNQUFNLE9BQU8sYUFBYyxTQUFRLGVBQWU7SUFnRDlDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQTlDSyxnQkFBVyxHQUFXLFdBQVcsQ0FBQztRQUVsQyxRQUFHLEdBQUc7WUFDbkIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwyQkFBMkI7U0FDOUMsQ0FBQztRQUVNLFVBQUssR0FBa0M7WUFDM0MsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxLQUFLLENBQUM7UUFFWixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsSUFBSTtZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEtBQUs7WUFDWixTQUFTLEVBQUUsS0FBSztTQUNuQixDQUFDO1FBd0JFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFjLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQWpGYSxtQkFBSyxHQUFHLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cywgU3R5bGVPYmplY3QgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTdHlsZVRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9pbmxpbmUtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdFRvb2wgZXh0ZW5kcyBJbmxpbmVTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1N1YnNjcmlwdCc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnc3Vic2NyaXB0JztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS1zdWJzY3JpcHQnLFxuICAgIH07XG5cbiAgICBwcml2YXRlIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHByaXZhdGUgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdTVUInO1xuXG4gICAgbW9kaWZpZXMgPSB7XG4gICAgICAgIHRhZzogdHJ1ZSxcbiAgICAgICAgc3R5bGU6IGZhbHNlLFxuICAgICAgICBjbGFzczogZmFsc2UsXG4gICAgICAgIGF0dHJpYnV0ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -68,4 +68,4 @@ export class SuperscriptTool extends InlineStyleTool {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
SuperscriptTool.title = 'Superscript';
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJzY3JpcHQtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvaW5saW5lL3N1cGVyc2NyaXB0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxXQUFXO0FBQ1gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQWdEaEQsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBOUNLLGdCQUFXLEdBQVcsYUFBYSxDQUFDO1FBRXBDLFFBQUcsR0FBRztZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsY0FBYyxFQUFFLDZCQUE2QjtTQUNoRCxDQUFDO1FBRU0sVUFBSyxHQUFrQztZQUMzQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLGFBQVEsR0FBRztZQUNQLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxLQUFLO1NBQ25CLENBQUM7UUF3QkUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQWMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7O0FBakZhLHFCQUFLLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzLCBTdHlsZU9iamVjdCB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IElubGluZVN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2lubGluZS1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgU3VwZXJzY3JpcHRUb29sIGV4dGVuZHMgSW5saW5lU3R5bGVUb29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdTdXBlcnNjcmlwdCc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAnc3VwZXJzY3JpcHQnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXN1cGVyc2NyaXB0JyxcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBwcml2YXRlIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1VQJztcblxuICAgIG1vZGlmaWVzID0ge1xuICAgICAgICB0YWc6IHRydWUsXG4gICAgICAgIHN0eWxlOiBmYWxzZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG59XG4iXX0=
|
package/esm2015/lib/shared/components/editorjs/tools/inline/text-background-color-tool.component.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { isBlockFocused, setBlockFocus } from '../utils/editorjs-tool.component';
|
|
3
|
+
import { editorJSI18nDictionnary } from '../utils/editorjs-translation.service';
|
|
3
4
|
import { ColorTool } from './tool-type/color-tool.component';
|
|
4
5
|
// @dynamic
|
|
5
6
|
export class TextBackgroundColorTool extends ColorTool {
|
|
@@ -73,12 +74,8 @@ export class TextBackgroundColorTool extends ColorTool {
|
|
|
73
74
|
}
|
|
74
75
|
applyColor(color, inputToFocus = null) {
|
|
75
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
console.log('applyColor');
|
|
77
77
|
let colorIndicator = this.nodes.button.querySelectorAll('.' + this.CSS.colorIndicatorModifier)[0];
|
|
78
78
|
this.style.input = color;
|
|
79
|
-
console.log('this.style.input');
|
|
80
|
-
console.log(this.style.input);
|
|
81
|
-
console.warn(color);
|
|
82
79
|
this.resetUserSelection();
|
|
83
80
|
yield this.surround(null, true);
|
|
84
81
|
this.checkDefaultColors();
|
|
@@ -98,6 +95,7 @@ export class TextBackgroundColorTool extends ColorTool {
|
|
|
98
95
|
if (!isBlockFocused) {
|
|
99
96
|
setBlockFocus(this.parentEditor);
|
|
100
97
|
}
|
|
98
|
+
this.checkDefaultColors();
|
|
101
99
|
const isActive = this.hasStyle(selection.anchorNode) ? true : false;
|
|
102
100
|
this.nodes.button.classList.toggle(this.CSS.buttonActive, isActive);
|
|
103
101
|
return isActive;
|
|
@@ -123,13 +121,13 @@ export class TextBackgroundColorTool extends ColorTool {
|
|
|
123
121
|
let removeColorContainerIcon = document.createElement('span');
|
|
124
122
|
removeColorContainer.classList.add(this.CSS.removeBackgroundColorClass);
|
|
125
123
|
removeColorContainer.addEventListener('click', () => this.applyColor('rgba(0,0,0,0)'));
|
|
126
|
-
removeColorContainer.innerText =
|
|
124
|
+
removeColorContainer.innerText = editorJSI18nDictionnary.messages.tools.textBackgroundColor['None'];
|
|
127
125
|
removeColorContainer.appendChild(removeColorContainerIcon);
|
|
128
126
|
this.colorSelection.appendChild(removeColorContainer);
|
|
129
127
|
let customColor = document.createElement('div');
|
|
130
128
|
customColor.className = this.colorSelectionCss['container'];
|
|
131
129
|
let text = document.createElement('p');
|
|
132
|
-
text.innerText =
|
|
130
|
+
text.innerText = editorJSI18nDictionnary.messages.tools.textBackgroundColor['customColor'];
|
|
133
131
|
let button = document.createElement('div');
|
|
134
132
|
button.addEventListener('click', (event) => this.openCustomColorPicker(event));
|
|
135
133
|
let container = this.createCustomColorPicker();
|
|
@@ -155,4 +153,4 @@ export class TextBackgroundColorTool extends ColorTool {
|
|
|
155
153
|
}
|
|
156
154
|
}
|
|
157
155
|
TextBackgroundColorTool.title = 'Background Color';
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1iYWNrZ3JvdW5kLWNvbG9yLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2JyaWFuL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9pbmxpbmUvdGV4dC1iYWNrZ3JvdW5kLWNvbG9yLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RCxXQUFXO0FBQ1gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFNBQVM7SUEyRGxELFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXpESyxnQkFBVyxHQUFXLHFCQUFxQixDQUFDO1FBRTdELFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUscUNBQXFDO1lBQ3JELHNCQUFzQixFQUFFLHFEQUFxRDtZQUM3RSxzQkFBc0IsRUFBRSxvQ0FBb0M7WUFDNUQsYUFBYSxFQUFFLGlDQUFpQztZQUNoRCwwQkFBMEIsRUFBRSw2Q0FBNkM7U0FDNUUsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFYixVQUFLLEdBQWdCO1lBQ2pCLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUsYUFBYTtZQUN0QixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFFRixhQUFRLEdBQUc7WUFDUCxHQUFHLEVBQUUsS0FBSztZQUNWLEtB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O1NBQzFDO0lBQ0wsQ0FBQzs7QUFsTGEsNkJBQUssR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cywgU3R5bGVPYmplY3QgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10b29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2xvclRvb2wgfSBmcm9tICcuL3Rvb2wtdHlwZS9jb2xvci10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVGV4dEJhY2tncm91bmRDb2xvclRvb2wgZXh0ZW5kcyBDb2xvclRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ0JhY2tncm91bmQgQ29sb3InO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3RleHRiYWNrZ3JvdW5kY29sb3InO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0QmFja2dyb3VuZENvbG9yJyxcbiAgICAgICAgY29sb3JJbmRpY2F0b3JNb2RpZmllcjogJ2NlLWlubGluZS10b29sLS10ZXh0QmFja2dyb3VuZENvbG9yX19jb2xvckluZGljYXRvcicsXG4gICAgICAgIGNvbG9yU2VsZWN0aW9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtYWN0aW9ucy0tYmFja2dyb3VuZENvbG9yJyxcbiAgICAgICAgY29sb3JQaWNrZXJJZDogJ2NvbG9yUGlja2VyLXRleHRCYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICByZW1vdmVCYWNrZ3JvdW5kQ29sb3JDbGFzczogJ2NlLWlubGluZS10b29sLS10ZXh0QmFja2dyb3VuZENvbG9yX19yZW1vdmUnLFxuICAgIH07XG5cbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH0gPSB7XG4gICAgICAgIGJ1dHRvbjogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBhcGk6IGFueTtcblxuICAgIHByaXZhdGUgX3N0YXRlOiBib29sZWFuO1xuXG4gICAgdGFnID0gJ1NQQU4nO1xuXG4gICAgc3R5bGU6IFN0eWxlT2JqZWN0ID0ge1xuICAgICAgICBwcm9wZXJ0eTogJ2JhY2tncm91bmQtY29sb3InLFxuICAgICAgICB2YWx1ZTogJyQxJyxcbiAgICAgICAgZGVmYXVsdDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgaW5wdXQ6ICcnLFxuICAgIH07XG5cbiAgICBtb2RpZmllcyA9IHtcbiAgICAgICAgdGFnOiBmYWxzZSxcbiAgICAgICAgc3R5bGU6IHRydWUsXG4gICAgICAgIGNsYXNzOiBmYWxzZSxcbiAgICAgICAgYXR0cmlidXRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbkNvbG9yUGlja2VyKCkpO1xuICAgICAgICB0aGlzLmNvbG9ySW5kaWNhdG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICB0aGlzLmNvbG9ySW5kaWNhdG9yLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuY29sb3JJbmRpY2F0b3JNb2RpZmllcik7XG4gICAgICAgIHRoaXMuY29sb3JJbmRpY2F0b3Iuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yOicgKyB0aGlzLmdldEN1cnJlbnRDb2xvckFwcGxpZWQodGhpcy5nZXRTZWxlY3Rpb24oKS5hbmNob3JOb2RlLnBhcmVudEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmFwcGVuZCh0aGlzLmNvbG9ySW5kaWNhdG9yKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlLCBhcHBseUNvbG9yOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKGFwcGx5Q29sb3IpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZXhlY0NvbW1hbmRTdHlsZSh0aGlzLnRhZyk7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBhcHBseUNvbG9yKGNvbG9yOiBzdHJpbmcsIGlucHV0VG9Gb2N1czogSFRNTElucHV0RWxlbWVudCA9IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ2FwcGx5Q29sb3InKTtcbiAgICAgICAgbGV0IGNvbG9ySW5kaWNhdG9yID0gdGhpcy5ub2Rlcy5idXR0b24ucXVlcnlTZWxlY3RvckFsbCgnLicgKyB0aGlzLkNTUy5jb2xvckluZGljYXRvck1vZGlmaWVyKVswXTtcbiAgICAgICAgdGhpcy5zdHlsZS5pbnB1dCA9IGNvbG9yO1xuICAgICAgICBjb25zb2xlLmxvZygndGhpcy5zdHlsZS5pbnB1dCcpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0eWxlLmlucHV0KTtcbiAgICAgICAgY29uc29sZS53YXJuKGNvbG9yKTtcbiAgICAgICAgdGhpcy5yZXNldFVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zdXJyb3VuZChudWxsLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jaGVja0RlZmF1bHRDb2xvcnMoKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuY3VycmVudFNlbGVjdGlvbik7XG4gICAgICAgIGNvbG9ySW5kaWNhdG9yLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnYmFja2dyb3VuZC1jb2xvcjonICsgY29sb3IpO1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGlmIChpbnB1dFRvRm9jdXMpIHtcbiAgICAgICAgICAgIGlucHV0VG9Gb2N1cy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIC8vdGhpcy5oaWRlQWN0aW9ucygpO1xuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmhhc1N0eWxlKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cblxuICAgIHJlbmRlckFjdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdGlvbi5jbGFzc05hbWUgPSB0aGlzLmNvbG9yU2VsZWN0aW9uQ3NzWyd3cmFwcGVyJ10gKyAnIGhpZGRlbiAnICsgdGhpcy5DU1MuY29sb3JTZWxlY3Rpb25Nb2RpZmllcjtcbiAgICAgICAgdGhpcy5jb2xvcnMuZm9yRWFjaCgoY29sb3JSb3cpID0+IHtcbiAgICAgICAgICAgIGxldCByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHJvdy5jbGFzc05hbWUgPSB0aGlzLmNvbG9yU2VsZWN0aW9uQ3NzWydyb3cnXTtcbiAgICAgICAgICAgIGNvbG9yUm93LmZvckVhY2goKGNvbG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbG9yICYmIGNvbG9yICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yRWxlbWVudC5jbGFzc05hbWUgPSB0aGlzLmNvbG9yU2VsZWN0aW9uQ3NzWydpdGVtJ107XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2JhY2tncm91bmQtY29sb3I6JyArIGNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5hcHBseUNvbG9yKGNvbG9yKSk7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5hcHBlbmRDaGlsZChjb2xvckVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdGlvbi5hcHBlbmRDaGlsZChyb3cpO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IHJlbW92ZUNvbG9yQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxldCByZW1vdmVDb2xvckNvbnRhaW5lckljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHJlbW92ZUNvbG9yQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MucmVtb3ZlQmFja2dyb3VuZENvbG9yQ2xhc3MpO1xuICAgICAgICByZW1vdmVDb2xvckNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlDb2xvcigncmdiYSgwLDAsMCwwKScpKTtcbiAgICAgICAgcmVtb3ZlQ29sb3JDb250YWluZXIuaW5uZXJUZXh0ID0gdGhpcy5hcGkuaTE4bi50KCdOb25lJyk7XG4gICAgICAgIHJlbW92ZUNvbG9yQ29udGFpbmVyLmFwcGVuZENoaWxkKHJlbW92ZUNvbG9yQ29udGFpbmVySWNvbik7XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uYXBwZW5kQ2hpbGQocmVtb3ZlQ29sb3JDb250YWluZXIpO1xuXG4gICAgICAgIGxldCBjdXN0b21Db2xvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjdXN0b21Db2xvci5jbGFzc05hbWUgPSB0aGlzLmNvbG9yU2VsZWN0aW9uQ3NzWydjb250YWluZXInXTtcbiAgICAgICAgbGV0IHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XG4gICAgICAgIHRleHQuaW5uZXJUZXh0ID0gdGhpcy5hcGkuaTE4bi50KCdjdXN0b21Db2xvcicpO1xuICAgICAgICBsZXQgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5vcGVuQ3VzdG9tQ29sb3JQaWNrZXIoZXZlbnQpKTtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IHRoaXMuY3JlYXRlQ3VzdG9tQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgYnV0dG9uLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG5cbiAgICAgICAgY3VzdG9tQ29sb3IuYXBwZW5kQ2hpbGQodGV4dCk7XG4gICAgICAgIGN1c3RvbUNvbG9yLmFwcGVuZENoaWxkKGJ1dHRvbik7XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uYXBwZW5kQ2hpbGQoY3VzdG9tQ29sb3IpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yU2VsZWN0aW9uO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgdGhpcy5zdHlsZS5pbnB1dCA9IG1hcmsgJiYgbWFyay5zdHlsZSAmJiBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA/IG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yIDogJyNmNWYxY2MnO1xuXG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24ub25jaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuc3R5bGUuaW5wdXQ7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7XG4gICAgICAgIGxldCBjb2xvclNlbGVjdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MuY29sb3JTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIHRoaXMuaXNDb2xvclNlbGVjdGlvbk9wZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICBjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1iYWNrZ3JvdW5kLWNvbG9yLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL2lubGluZS90ZXh0LWJhY2tncm91bmQtY29sb3ItdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdELFdBQVc7QUFDWCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBUztJQTJEbEQsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBekRLLGdCQUFXLEdBQVcscUJBQXFCLENBQUM7UUFFN0QsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSxxQ0FBcUM7WUFDckQsc0JBQXNCLEVBQUUscURBQXFEO1lBQzdFLHNCQUFzQixFQUFFLG9DQUFvQztZQUM1RCxhQUFhLEVBQUUsaUNBQWlDO1lBQ2hELDBCQUEwQixFQUFFLDZDQUE2QztTQUM1RSxDQUFDO1FBRUYsVUFBSyxHQUFrQztZQUNuQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLE1BQU0sQ0FBQztRQUViLFVBQUssR0FBZ0I7WUFDakIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixLQUFLLEVBQUUsSUFBSTtZQUNYLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLEtBQUssRUFBRSxFQUFFO1NBQ1os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b25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMsIFN0eWxlT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZWRpdG9ySlNJMThuRGljdGlvbm5hcnkgfSBmcm9tICcuLi91dGlscy9lZGl0b3Jqcy10cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbG9yVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL2NvbG9yLXRvb2wuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBUZXh0QmFja2dyb3VuZENvbG9yVG9vbCBleHRlbmRzIENvbG9yVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnQmFja2dyb3VuZCBDb2xvcic7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmROYW1lOiBzdHJpbmcgPSAndGV4dGJhY2tncm91bmRjb2xvcic7XG5cbiAgICBDU1MgPSB7XG4gICAgICAgIGJ1dHRvbjogJ2NlLWlubGluZS10b29sJyxcbiAgICAgICAgYnV0dG9uQWN0aXZlOiAnY2UtaW5saW5lLXRvb2wtLWFjdGl2ZScsXG4gICAgICAgIGJ1dHRvbk1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXRleHRCYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICBjb2xvckluZGljYXRvck1vZGlmaWVyOiAnY2UtaW5saW5lLXRvb2wtLXRleHRCYWNrZ3JvdW5kQ29sb3JfX2NvbG9ySW5kaWNhdG9yJyxcbiAgICAgICAgY29sb3JTZWxlY3Rpb25Nb2RpZmllcjogJ2NlLWlubGluZS1hY3Rpb25zLS1iYWNrZ3JvdW5kQ29sb3InLFxuICAgICAgICBjb2xvclBpY2tlcklkOiAnY29sb3JQaWNrZXItdGV4dEJhY2tncm91bmRDb2xvcicsXG4gICAgICAgIHJlbW92ZUJhY2tncm91bmRDb2xvckNsYXNzOiAnY2UtaW5saW5lLXRvb2wtLXRleHRCYWNrZ3JvdW5kQ29sb3JfX3JlbW92ZScsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnU1BBTic7XG5cbiAgICBzdHlsZTogU3R5bGVPYmplY3QgPSB7XG4gICAgICAgIHByb3BlcnR5OiAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIHZhbHVlOiAnJDEnLFxuICAgICAgICBkZWZhdWx0OiAndHJhbnNwYXJlbnQnLFxuICAgICAgICBpbnB1dDogJycsXG4gICAgfTtcblxuICAgIG1vZGlmaWVzID0ge1xuICAgICAgICB0YWc6IGZhbHNlLFxuICAgICAgICBzdHlsZTogdHJ1ZSxcbiAgICAgICAgY2xhc3M6IGZhbHNlLFxuICAgICAgICBhdHRyaWJ1dGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuQ29sb3JQaWNrZXIoKSk7XG4gICAgICAgIHRoaXMuY29sb3JJbmRpY2F0b3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHRoaXMuY29sb3JJbmRpY2F0b3IuY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5jb2xvckluZGljYXRvck1vZGlmaWVyKTtcbiAgICAgICAgdGhpcy5jb2xvckluZGljYXRvci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3I6JyArIHRoaXMuZ2V0Q3VycmVudENvbG9yQXBwbGllZCh0aGlzLmdldFNlbGVjdGlvbigpLmFuY2hvck5vZGUucGFyZW50RWxlbWVudClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uYXBwZW5kKHRoaXMuY29sb3JJbmRpY2F0b3IpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UsIGFwcGx5Q29sb3I6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAoYXBwbHlDb2xvcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmdldFNlbGVjdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGFwcGx5Q29sb3IoY29sb3I6IHN0cmluZywgaW5wdXRUb0ZvY3VzOiBIVE1MSW5wdXRFbGVtZW50ID0gbnVsbCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBsZXQgY29sb3JJbmRpY2F0b3IgPSB0aGlzLm5vZGVzLmJ1dHRvbi5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLmNvbG9ySW5kaWNhdG9yTW9kaWZpZXIpWzBdO1xuICAgICAgICB0aGlzLnN0eWxlLmlucHV0ID0gY29sb3I7XG4gICAgICAgIHRoaXMucmVzZXRVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc3Vycm91bmQobnVsbCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tEZWZhdWx0Q29sb3JzKCk7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZSh0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgICAgICBjb2xvckluZGljYXRvci5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2JhY2tncm91bmQtY29sb3I6JyArIGNvbG9yKTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoaW5wdXRUb0ZvY3VzKSB7XG4gICAgICAgICAgICBpbnB1dFRvRm9jdXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICAvL3RoaXMuaGlkZUFjdGlvbnMoKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hlY2tEZWZhdWx0Q29sb3JzKCk7XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5oYXNTdHlsZSg8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuQ1NTLmJ1dHRvbkFjdGl2ZSwgaXNBY3RpdmUpO1xuXG4gICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICByZW5kZXJBY3Rpb25zKCkge1xuICAgICAgICB0aGlzLmNvbG9yU2VsZWN0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uY2xhc3NOYW1lID0gdGhpcy5jb2xvclNlbGVjdGlvbkNzc1snd3JhcHBlciddICsgJyBoaWRkZW4gJyArIHRoaXMuQ1NTLmNvbG9yU2VsZWN0aW9uTW9kaWZpZXI7XG4gICAgICAgIHRoaXMuY29sb3JzLmZvckVhY2goKGNvbG9yUm93KSA9PiB7XG4gICAgICAgICAgICBsZXQgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICByb3cuY2xhc3NOYW1lID0gdGhpcy5jb2xvclNlbGVjdGlvbkNzc1sncm93J107XG4gICAgICAgICAgICBjb2xvclJvdy5mb3JFYWNoKChjb2xvcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb2xvciAmJiBjb2xvciAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvckVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy5jb2xvclNlbGVjdGlvbkNzc1snaXRlbSddO1xuICAgICAgICAgICAgICAgICAgICBjb2xvckVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsICdiYWNrZ3JvdW5kLWNvbG9yOicgKyBjb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuYXBwbHlDb2xvcihjb2xvcikpO1xuICAgICAgICAgICAgICAgICAgICByb3cuYXBwZW5kQ2hpbGQoY29sb3JFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uYXBwZW5kQ2hpbGQocm93KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCByZW1vdmVDb2xvckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBsZXQgcmVtb3ZlQ29sb3JDb250YWluZXJJY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICByZW1vdmVDb2xvckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLnJlbW92ZUJhY2tncm91bmRDb2xvckNsYXNzKTtcbiAgICAgICAgcmVtb3ZlQ29sb3JDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLmFwcGx5Q29sb3IoJ3JnYmEoMCwwLDAsMCknKSk7XG4gICAgICAgIHJlbW92ZUNvbG9yQ29udGFpbmVyLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLnRleHRCYWNrZ3JvdW5kQ29sb3JbJ05vbmUnXTtcbiAgICAgICAgcmVtb3ZlQ29sb3JDb250YWluZXIuYXBwZW5kQ2hpbGQocmVtb3ZlQ29sb3JDb250YWluZXJJY29uKTtcbiAgICAgICAgdGhpcy5jb2xvclNlbGVjdGlvbi5hcHBlbmRDaGlsZChyZW1vdmVDb2xvckNvbnRhaW5lcik7XG5cbiAgICAgICAgbGV0IGN1c3RvbUNvbG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGN1c3RvbUNvbG9yLmNsYXNzTmFtZSA9IHRoaXMuY29sb3JTZWxlY3Rpb25Dc3NbJ2NvbnRhaW5lciddO1xuICAgICAgICBsZXQgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTtcbiAgICAgICAgdGV4dC5pbm5lclRleHQgPSBlZGl0b3JKU0kxOG5EaWN0aW9ubmFyeS5tZXNzYWdlcy50b29scy50ZXh0QmFja2dyb3VuZENvbG9yWydjdXN0b21Db2xvciddO1xuICAgICAgICBsZXQgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5vcGVuQ3VzdG9tQ29sb3JQaWNrZXIoZXZlbnQpKTtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IHRoaXMuY3JlYXRlQ3VzdG9tQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgYnV0dG9uLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG5cbiAgICAgICAgY3VzdG9tQ29sb3IuYXBwZW5kQ2hpbGQodGV4dCk7XG4gICAgICAgIGN1c3RvbUNvbG9yLmFwcGVuZENoaWxkKGJ1dHRvbik7XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uYXBwZW5kQ2hpbGQoY3VzdG9tQ29sb3IpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yU2VsZWN0aW9uO1xuICAgIH1cblxuICAgIHNob3dBY3Rpb25zKG1hcmspIHtcbiAgICAgICAgdGhpcy5zdHlsZS5pbnB1dCA9IG1hcmsgJiYgbWFyay5zdHlsZSAmJiBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA/IG1hcmsuc3R5bGUuYmFja2dyb3VuZENvbG9yIDogJyNmNWYxY2MnO1xuXG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24ub25jaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBtYXJrLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuc3R5bGUuaW5wdXQ7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY29sb3JTZWxlY3Rpb24uaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaGlkZUFjdGlvbnMoKSB7XG4gICAgICAgIGxldCBjb2xvclNlbGVjdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MuY29sb3JTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIHRoaXMuaXNDb2xvclNlbGVjdGlvbk9wZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICBjb2xvclNlbGVjdGlvbi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|