desy-angular 14.0.1 → 14.2.0
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/esm2022/lib/desy-angular.module.mjs +2 -2
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +10 -9
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +1 -1
- package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +1 -1
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +18 -19
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +3 -3
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +7 -18
- package/esm2022/lib/desy-commons/components/content/content.component.mjs +1 -1
- package/esm2022/lib/desy-commons/components/description/description.component.mjs +2 -2
- package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +3 -3
- package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +1 -1
- package/esm2022/lib/desy-commons/components/title/title.component.mjs +2 -2
- package/esm2022/lib/desy-commons/desy-commons.module.mjs +6 -34
- package/esm2022/lib/desy-commons/interfaces/description-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/divider-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/icon-data.mjs +1 -1
- package/esm2022/lib/desy-commons/interfaces/title-data.mjs +1 -1
- package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +12 -9
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +23 -17
- package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +34 -25
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +14 -14
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +3 -3
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +7 -7
- package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +12 -5
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +10 -10
- package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +18 -15
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +7 -5
- package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +2 -2
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +20 -16
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +12 -8
- package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +1 -1
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +13 -13
- package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +3 -3
- package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +8 -8
- package/esm2022/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +1 -1
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +9 -9
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +37 -34
- package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +4 -4
- package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +5 -5
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +45 -42
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +2 -2
- package/esm2022/lib/desy-forms/directives/condition.directive.mjs +2 -2
- package/esm2022/lib/desy-forms/interfaces/error-message-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/fieldset-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-checkbox-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-radio-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/label-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/legend-data.mjs +1 -1
- package/esm2022/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
- package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +11 -7
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +2 -2
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +18 -9
- package/esm2022/lib/desy-modals/desy-modals.module.mjs +6 -17
- package/esm2022/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-button-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-icon-data.mjs +1 -1
- package/esm2022/lib/desy-modals/interfaces/modal-options.mjs +1 -1
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +6 -6
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +6 -4
- package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +6 -6
- package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +4 -4
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +6 -6
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +3 -3
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +21 -17
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +11 -15
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +8 -6
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +23 -19
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +1 -1
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +5 -5
- package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +2 -2
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +9 -17
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +3 -3
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +5 -16
- package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +3 -3
- package/esm2022/lib/desy-nav/interfaces/breadcrumbs.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/error-summary-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/footer-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/footer-logo.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-advanced-logo.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-dropdown-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-mobile-text-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/header-subnav-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/index.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-navigation.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/menubar-item.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/nav-item-event.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/nav-item.data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/notification-items-data.mjs +1 -1
- package/esm2022/lib/desy-nav/interfaces/notification-options.mjs +1 -1
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +17 -12
- package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +2 -2
- package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +2 -2
- package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +6 -35
- package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +4 -4
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +10 -6
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +2 -2
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +3 -3
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +225 -33
- package/esm2022/lib/desy-tables/desy-tables.module.mjs +5 -22
- package/esm2022/lib/desy-tables/directives/cell.directive.mjs +2 -2
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +6 -3
- package/esm2022/lib/desy-tables/directives/row.directive.mjs +3 -3
- package/esm2022/lib/desy-tables/interfaces/cell-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/head-cell-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/recalculate-table-params.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/row-data.mjs +1 -1
- package/esm2022/lib/desy-tables/interfaces/wrapper-data.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +9 -9
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/card/card.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +4 -4
- package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/details/details.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/item/item.component.mjs +6 -6
- package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +5 -5
- package/esm2022/lib/desy-views/components/status/status.component.mjs +3 -3
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +7 -7
- package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +2 -2
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +9 -8
- package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +1 -1
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +15 -9
- package/esm2022/lib/desy-views/desy-views.module.mjs +5 -19
- package/esm2022/lib/desy-views/interfaces/description-item.data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/status-icon-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/status-item-title-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/tabs-items-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/tabs-panel-data.mjs +1 -1
- package/esm2022/lib/desy-views/interfaces/term-definition.data.mjs +1 -1
- package/esm2022/lib/desy-views/services/alert.service.mjs +5 -5
- package/esm2022/lib/shared/components/accessibility/accessibility-attributes.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +2 -2
- package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +2 -2
- package/esm2022/lib/shared/components/content-base/content-base.component.mjs +2 -2
- package/esm2022/lib/shared/components/index.mjs +1 -1
- package/esm2022/lib/shared/components/spinner/spinner.component.mjs +5 -5
- package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +2 -2
- package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +7 -3
- package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +2 -2
- package/esm2022/lib/shared/directives/accessibility-directive.mjs +7 -5
- package/esm2022/lib/shared/directives/attribute-change.directive.mjs +5 -5
- package/esm2022/lib/shared/directives/click-outside.directive.mjs +2 -2
- package/esm2022/lib/shared/directives/content-change.directive.mjs +3 -3
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +9 -7
- package/esm2022/lib/shared/directives/inner-content.directive.mjs +2 -2
- package/esm2022/lib/shared/interfaces/accessibility-data.mjs +1 -1
- package/esm2022/lib/shared/pipes/external-href.pipe.mjs +2 -2
- package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +2 -2
- package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +3 -3
- package/esm2022/lib/shared/shared.module.mjs +4 -6
- package/esm2022/lib/shared/sharedExternal.module.mjs +3 -7
- package/esm2022/lib/shared/utils/focus-utils.mjs +2 -3
- package/esm2022/lib/shared/utils/search-utils.mjs +5 -5
- package/esm2022/lib/shared/utils/string-utils.mjs +9 -7
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/desy-angular.mjs +901 -754
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +3 -3
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +2 -1
- package/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +3 -3
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +7 -7
- package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +1 -1
- package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +2 -2
- package/lib/desy-forms/components/tree/tree.component.d.ts +5 -5
- package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
- package/lib/desy-modals/components/dialog/dialog.component.d.ts +1 -1
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +2 -2
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
- package/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.d.ts +2 -2
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/header-mobile-text-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +1 -1
- package/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.d.ts +2 -2
- package/lib/desy-nav/interfaces/nav-item-event.data.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +3 -3
- package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +19 -1
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +1 -1
- package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
+
import { ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, } from '@angular/core';
|
|
3
3
|
import { ContentComponent } from '../../../desy-commons/components/content/content.component';
|
|
4
4
|
import { DescriptionComponent } from '../../../desy-commons/components/description/description.component';
|
|
5
5
|
import { IconComponent } from '../../../desy-commons/components/icon/icon.component';
|
|
@@ -63,7 +63,10 @@ export class ModalComponent extends AccessibilityComponent {
|
|
|
63
63
|
}
|
|
64
64
|
clickButtonEmit(item, event) {
|
|
65
65
|
this.clickButton.emit(event);
|
|
66
|
-
if (item instanceof ModalButtonPrimaryComponent ||
|
|
66
|
+
if (item instanceof ModalButtonPrimaryComponent ||
|
|
67
|
+
item instanceof ModalButtonSecondaryComponent ||
|
|
68
|
+
item instanceof ModalButtonLoaderPrimaryComponent ||
|
|
69
|
+
item instanceof ModalButtonLoaderSecondaryComponent) {
|
|
67
70
|
item.clickEvent.emit(event);
|
|
68
71
|
}
|
|
69
72
|
}
|
|
@@ -92,21 +95,27 @@ export class ModalComponent extends AccessibilityComponent {
|
|
|
92
95
|
return classes;
|
|
93
96
|
}
|
|
94
97
|
getPrimaryItems() {
|
|
95
|
-
return this.primaryButtonComponents && this.primaryButtonComponents.length > 0
|
|
98
|
+
return this.primaryButtonComponents && this.primaryButtonComponents.length > 0
|
|
99
|
+
? this.primaryButtonComponents.toArray()
|
|
96
100
|
: this.itemsPrimary;
|
|
97
101
|
}
|
|
98
102
|
getSecondaryItems() {
|
|
99
|
-
return this.secondaryButtonComponents && this.secondaryButtonComponents.length > 0
|
|
103
|
+
return this.secondaryButtonComponents && this.secondaryButtonComponents.length > 0
|
|
104
|
+
? this.secondaryButtonComponents.toArray()
|
|
100
105
|
: this.itemsSecondary;
|
|
101
106
|
}
|
|
102
107
|
getPrimaryLoaderItems() {
|
|
103
|
-
return this.primaryButtonLoaderComponents && this.primaryButtonLoaderComponents.length > 0
|
|
108
|
+
return this.primaryButtonLoaderComponents && this.primaryButtonLoaderComponents.length > 0
|
|
109
|
+
? this.primaryButtonLoaderComponents.toArray()
|
|
110
|
+
: this.itemsLoaderPrimary;
|
|
104
111
|
}
|
|
105
112
|
getSecondaryLoaderItems() {
|
|
106
|
-
return this.secondaryButtonLoaderComponents && this.secondaryButtonLoaderComponents.length > 0
|
|
113
|
+
return this.secondaryButtonLoaderComponents && this.secondaryButtonLoaderComponents.length > 0
|
|
114
|
+
? this.secondaryButtonLoaderComponents.toArray()
|
|
115
|
+
: this.itemsLoaderSecondary;
|
|
107
116
|
}
|
|
108
117
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalComponent, selector: "desy-modal", inputs: { titleModal: "titleModal", description: "description", itemsPrimary: "itemsPrimary", itemsSecondary: "itemsSecondary", itemsLoaderPrimary: "itemsLoaderPrimary", itemsLoaderSecondary: "itemsLoaderSecondary", icon: "icon", headingLevel: "headingLevel", isDismissible: "isDismissible", id: "id", classes: "classes", caller: "caller" }, outputs: { closeModal: "closeModal", clickButton: "clickButton" }, queries: [{ propertyName: "titleComponent", predicate: TitleComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "primaryButtonComponents", predicate: ModalButtonPrimaryComponent }, { propertyName: "secondaryButtonComponents", predicate: ModalButtonSecondaryComponent }, { propertyName: "primaryButtonLoaderComponents", predicate: ModalButtonLoaderPrimaryComponent }, { propertyName: "secondaryButtonLoaderComponents", predicate: ModalButtonLoaderSecondaryComponent }, { propertyName: "iconComponent", predicate: IconComponent }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"[ 'mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container [ngSwitch]=\"iconComponent ? iconComponent.type : icon.type\">\n <svg *ngSwitchCase=\"'discard'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM5.29,5.29a9.63,9.63,0,0,1,12.23-1,.26.26,0,0,1,0,.4L4.67,17.56a.27.27,0,0,1-.4,0,9.49,9.49,0,0,1,1-12.24ZM18.75,18.76a9.53,9.53,0,0,1-12.23,1,.26.26,0,0,1,0-.4L19.37,6.49a.26.26,0,0,1,.4,0,9.49,9.49,0,0,1-1,12.24Z\" fill=\"currentColor\"></path></svg>\n <svg *ngSwitchCase=\"'delete'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M19.5,7.5H4.5A.5.5,0,0,0,4,8V22a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8A.5.5,0,0,0,19.5,7.5Zm-9.25,13a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Zm5,0a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Z\" fill=\"currentColor\"></path><path d=\"M22,4H17.25A.25.25,0,0,1,17,3.75V2.5A2.5,2.5,0,0,0,14.5,0h-5A2.5,2.5,0,0,0,7,2.5V3.75A.25.25,0,0,1,6.75,4H2A1,1,0,0,0,2,6H22a1,1,0,0,0,0-2ZM9,3.75V2.5A.5.5,0,0,1,9.5,2h5a.5.5,0,0,1,.5.5V3.75a.25.25,0,0,1-.25.25H9.25A.25.25,0,0,1,9,3.75Z\" fill=\"currentColor\"></path></g></svg>\n <svg *ngSwitchCase=\"'publish'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M23.82,1.12A.5.5,0,0,0,23.31,1l-23,9.5A.5.5,0,0,0,0,11a.51.51,0,0,0,.32.46l6.33,2.45a.52.52,0,0,0,.47-.05l8.4-6a.5.5,0,0,1,.64.77l-7,6.75a.51.51,0,0,0-.15.36V22.5a.49.49,0,0,0,.37.48.49.49,0,0,0,.56-.23l3.17-5.42a.25.25,0,0,1,.33-.1l5.83,3.21a.5.5,0,0,0,.73-.33l4-18.5A.5.5,0,0,0,23.82,1.12Z\" fill=\"currentColor\"></path></svg>\n <svg *ngSwitchCase=\"'changes'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M12,13a1,1,0,0,0,1-1V8a1,1,0,1,0-2,0v4A1,1,0,0,0,12,13Z\" fill=\"currentColor\"></path><circle cx=\"11.99\" cy=\"15.71\" r=\"1.25\" fill=\"currentColor\"></circle><path d=\"M19.29,5.53a9.72,9.72,0,0,0-9.55-3A10.25,10.25,0,0,0,2.38,9.61a.26.26,0,0,1-.27.18l-1-.13a.47.47,0,0,0-.47.22.47.47,0,0,0,0,.52l2.47,4.35a.51.51,0,0,0,.44.25.52.52,0,0,0,.36-.16l3.47-3.59a.48.48,0,0,0,.12-.51A.5.5,0,0,0,7,10.41l-1.88-.24A.23.23,0,0,1,5,10.05a.22.22,0,0,1,0-.21,7.67,7.67,0,0,1,5.37-4.9,7.23,7.23,0,0,1,7.1,2.25,1.25,1.25,0,1,0,1.87-1.66Z\" fill=\"currentColor\"></path><path d=\"M4.79,16.7a1.24,1.24,0,0,0-.11,1.76,9.72,9.72,0,0,0,9.55,3,10.24,10.24,0,0,0,7.37-7.12.24.24,0,0,1,.27-.17l1.06.12a.5.5,0,0,0,.48-.22.49.49,0,0,0,0-.52l-2.5-4.33A.51.51,0,0,0,20.55,9a.52.52,0,0,0-.43.15l-3.45,3.62a.5.5,0,0,0-.11.51.49.49,0,0,0,.41.33l1.85.22A.25.25,0,0,1,19,14a.22.22,0,0,1,0,.21,7.67,7.67,0,0,1-5.36,4.9,7.26,7.26,0,0,1-7.11-2.25A1.24,1.24,0,0,0,4.79,16.7Z\" fill=\"currentColor\"></path></g></svg>\n <svg *ngSwitchCase=\"'edit'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M13.94,15a2,2,0,0,1-.67.45L9.73,16.86a2,2,0,0,1-2.6-2.6l1.41-3.53A2.18,2.18,0,0,1,9,10.05l5.88-5.88a.25.25,0,0,0-.17-.43H3.37A3.12,3.12,0,0,0,.25,6.86V20.62a3.12,3.12,0,0,0,3.12,3.12H17.13a3.12,3.12,0,0,0,3.12-3.12V9.29a.25.25,0,0,0-.43-.17Z\" fill=\"currentColor\"></path><path d=\"M18.57,3.3a.51.51,0,0,0-.71,0l-7.81,7.82a.36.36,0,0,0-.11.16L8.52,14.82a.51.51,0,0,0,.11.54.54.54,0,0,0,.54.11l3.54-1.42a.45.45,0,0,0,.17-.11l7.81-7.81a.51.51,0,0,0,.15-.35.53.53,0,0,0-.15-.36Z\" fill=\"currentColor\"></path><path d=\"M23.16,3.65a2,2,0,0,0,0-2.82,2,2,0,0,0-2.83,0L19.28,1.89a.56.56,0,0,0-.15.35.47.47,0,0,0,.15.35L21.4,4.71a.47.47,0,0,0,.35.15.57.57,0,0,0,.35-.15Z\" fill=\"currentColor\"></path></g></svg>\n </ng-container>\n </div>\n\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h5>\n </ng-container>\n\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div class=\"flex flex-wrap gap-sm w-full\" *ngIf=\"itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0) || itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)\"\n [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\n <ng-template #buttons let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"items[0].classes\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button>\n </div>\n\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\"\n [disabled]=\"item.disabled\"\n [classes]=\"item.classes\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button>\n </li> \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\n </div>\n\n <!-- Button loader -->\n <div class=\"flex flex-wrap gap-sm w-full\" *ngIf=\"(primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0) || (secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)\" \n [ngClass]=\"((primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0)) && ((secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\n <ng-template #buttonsLoader let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\n <desy-button-loader (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [loaderText]=\"items[0].loaderText\"\n [loaderClasses]=\"items[0].loaderClasses\"\n [state]=\"items[0].state\"\n [successText]=\"items[0].successText\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"(items[0].state === null || items[0].state === 'is-success') ? items[0].classes : items[0].classes + ' c-button-loader--is-loading'\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button-loader>\n </div>\n\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button-loader (clickEvent)=\"clickButtonEmit(item, $event)\"\n [loaderText]=\"item.loaderText\"\n [loaderClasses]=\"item.loaderClasses\"\n [state]=\"item.state\"\n [successText]=\"item.successText\"\n [disabled]=\"item.disabled\"\n [classes]=\"(item.state === null || item.state === 'is-success') ? item.classes : item.classes + ' c-button-loader--is-loading'\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button-loader>\n </li> \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getPrimaryLoaderItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getSecondaryLoaderItems() }\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.ContentChangeDirective, selector: "[desyContentChange]", inputs: ["observeProperties"], outputs: ["desyContentChange", "desyContentChangeMutation"] }, { kind: "directive", type: i4.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i5.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i6.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "fragment", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i7.ButtonLoaderComponent, selector: "desy-button-loader", inputs: ["loaderText", "loaderClasses", "state", "successText"] }, { kind: "pipe", type: i8.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalComponent, selector: "desy-modal", inputs: { titleModal: "titleModal", description: "description", itemsPrimary: "itemsPrimary", itemsSecondary: "itemsSecondary", itemsLoaderPrimary: "itemsLoaderPrimary", itemsLoaderSecondary: "itemsLoaderSecondary", icon: "icon", headingLevel: "headingLevel", isDismissible: "isDismissible", id: "id", classes: "classes", caller: "caller" }, outputs: { closeModal: "closeModal", clickButton: "clickButton" }, queries: [{ propertyName: "titleComponent", predicate: TitleComponent }, { propertyName: "descriptionComponent", predicate: DescriptionComponent }, { propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "primaryButtonComponents", predicate: ModalButtonPrimaryComponent }, { propertyName: "secondaryButtonComponents", predicate: ModalButtonSecondaryComponent }, { propertyName: "primaryButtonLoaderComponents", predicate: ModalButtonLoaderPrimaryComponent }, { propertyName: "secondaryButtonLoaderComponents", predicate: ModalButtonLoaderSecondaryComponent }, { propertyName: "iconComponent", predicate: IconComponent }], usesInheritance: true, ngImport: i0, template: "<div\n [class]=\"\n ['mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes]\n | makeHtmlList\n \"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <div\n *ngIf=\"iconComponent || icon\"\n class=\"flex justify-center p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container [ngSwitch]=\"iconComponent ? iconComponent.type : icon.type\">\n <svg\n *ngSwitchCase=\"'discard'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-alert-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM5.29,5.29a9.63,9.63,0,0,1,12.23-1,.26.26,0,0,1,0,.4L4.67,17.56a.27.27,0,0,1-.4,0,9.49,9.49,0,0,1,1-12.24ZM18.75,18.76a9.53,9.53,0,0,1-12.23,1,.26.26,0,0,1,0-.4L19.37,6.49a.26.26,0,0,1,.4,0,9.49,9.49,0,0,1-1,12.24Z\"\n fill=\"currentColor\"></path>\n </svg>\n <svg\n *ngSwitchCase=\"'delete'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-alert-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M19.5,7.5H4.5A.5.5,0,0,0,4,8V22a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8A.5.5,0,0,0,19.5,7.5Zm-9.25,13a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Zm5,0a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M22,4H17.25A.25.25,0,0,1,17,3.75V2.5A2.5,2.5,0,0,0,14.5,0h-5A2.5,2.5,0,0,0,7,2.5V3.75A.25.25,0,0,1,6.75,4H2A1,1,0,0,0,2,6H22a1,1,0,0,0,0-2ZM9,3.75V2.5A.5.5,0,0,1,9.5,2h5a.5.5,0,0,1,.5.5V3.75a.25.25,0,0,1-.25.25H9.25A.25.25,0,0,1,9,3.75Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n <svg\n *ngSwitchCase=\"'publish'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M23.82,1.12A.5.5,0,0,0,23.31,1l-23,9.5A.5.5,0,0,0,0,11a.51.51,0,0,0,.32.46l6.33,2.45a.52.52,0,0,0,.47-.05l8.4-6a.5.5,0,0,1,.64.77l-7,6.75a.51.51,0,0,0-.15.36V22.5a.49.49,0,0,0,.37.48.49.49,0,0,0,.56-.23l3.17-5.42a.25.25,0,0,1,.33-.1l5.83,3.21a.5.5,0,0,0,.73-.33l4-18.5A.5.5,0,0,0,23.82,1.12Z\"\n fill=\"currentColor\"></path>\n </svg>\n <svg\n *ngSwitchCase=\"'changes'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M12,13a1,1,0,0,0,1-1V8a1,1,0,1,0-2,0v4A1,1,0,0,0,12,13Z\"\n fill=\"currentColor\"></path>\n <circle\n cx=\"11.99\"\n cy=\"15.71\"\n r=\"1.25\"\n fill=\"currentColor\"></circle>\n <path\n d=\"M19.29,5.53a9.72,9.72,0,0,0-9.55-3A10.25,10.25,0,0,0,2.38,9.61a.26.26,0,0,1-.27.18l-1-.13a.47.47,0,0,0-.47.22.47.47,0,0,0,0,.52l2.47,4.35a.51.51,0,0,0,.44.25.52.52,0,0,0,.36-.16l3.47-3.59a.48.48,0,0,0,.12-.51A.5.5,0,0,0,7,10.41l-1.88-.24A.23.23,0,0,1,5,10.05a.22.22,0,0,1,0-.21,7.67,7.67,0,0,1,5.37-4.9,7.23,7.23,0,0,1,7.1,2.25,1.25,1.25,0,1,0,1.87-1.66Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M4.79,16.7a1.24,1.24,0,0,0-.11,1.76,9.72,9.72,0,0,0,9.55,3,10.24,10.24,0,0,0,7.37-7.12.24.24,0,0,1,.27-.17l1.06.12a.5.5,0,0,0,.48-.22.49.49,0,0,0,0-.52l-2.5-4.33A.51.51,0,0,0,20.55,9a.52.52,0,0,0-.43.15l-3.45,3.62a.5.5,0,0,0-.11.51.49.49,0,0,0,.41.33l1.85.22A.25.25,0,0,1,19,14a.22.22,0,0,1,0,.21,7.67,7.67,0,0,1-5.36,4.9,7.26,7.26,0,0,1-7.11-2.25A1.24,1.24,0,0,0,4.79,16.7Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n <svg\n *ngSwitchCase=\"'edit'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M13.94,15a2,2,0,0,1-.67.45L9.73,16.86a2,2,0,0,1-2.6-2.6l1.41-3.53A2.18,2.18,0,0,1,9,10.05l5.88-5.88a.25.25,0,0,0-.17-.43H3.37A3.12,3.12,0,0,0,.25,6.86V20.62a3.12,3.12,0,0,0,3.12,3.12H17.13a3.12,3.12,0,0,0,3.12-3.12V9.29a.25.25,0,0,0-.43-.17Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M18.57,3.3a.51.51,0,0,0-.71,0l-7.81,7.82a.36.36,0,0,0-.11.16L8.52,14.82a.51.51,0,0,0,.11.54.54.54,0,0,0,.54.11l3.54-1.42a.45.45,0,0,0,.17-.11l7.81-7.81a.51.51,0,0,0,.15-.35.53.53,0,0,0-.15-.36Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M23.16,3.65a2,2,0,0,0,0-2.82,2,2,0,0,0-2.83,0L19.28,1.89a.56.56,0,0,0-.15.35.47.47,0,0,0,.15.35L21.4,4.71a.47.47,0,0,0,.35.15.57.57,0,0,0,.35-.15Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n </ng-container>\n </div>\n\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\n <h1\n *ngSwitchCase=\"1\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h1>\n <h2\n *ngSwitchCase=\"2\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h2>\n <h3\n *ngSwitchCase=\"3\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h3>\n <h4\n *ngSwitchCase=\"4\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h4>\n <h5\n *ngSwitchCase=\"5\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h5>\n </ng-container>\n\n <div\n *ngIf=\"descriptionIsHtml\"\n [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\"\n [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null,\n }\"></ng-container>\n </div>\n <p\n *ngIf=\"!descriptionIsHtml\"\n [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\"\n [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null,\n }\"></ng-container>\n </p>\n\n <div\n *ngIf=\"contentComponent || caller\"\n class=\"p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div\n class=\"flex flex-wrap gap-sm w-full\"\n *ngIf=\"\n itemsPrimary ||\n (primaryButtonComponents && primaryButtonComponents.length > 0) ||\n itemsSecondary ||\n (secondaryButtonComponents && secondaryButtonComponents.length > 0)\n \"\n [ngClass]=\"\n (itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) &&\n (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0))\n ? 'justify-between'\n : 'justify-center'\n \">\n <ng-template\n #buttons\n let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div\n class=\"mt-sm\"\n *ngIf=\"items.length === 1\">\n <desy-button\n (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"items[0].classes\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button>\n </div>\n\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\n <ul\n class=\"flex flex-wrap gap-sm\"\n *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button\n (clickEvent)=\"clickButtonEmit(item, $event)\"\n [disabled]=\"item.disabled\"\n [classes]=\"item.classes\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button>\n </li>\n \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\n </div>\n\n <!-- Button loader -->\n <div\n class=\"flex flex-wrap gap-sm w-full\"\n *ngIf=\"\n (primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0) ||\n (secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)\n \"\n [ngClass]=\"\n primaryButtonLoaderComponents &&\n primaryButtonLoaderComponents.length > 0 &&\n secondaryButtonLoaderComponents &&\n secondaryButtonLoaderComponents.length > 0\n ? 'justify-between'\n : 'justify-center'\n \">\n <ng-template\n #buttonsLoader\n let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div\n class=\"mt-sm\"\n *ngIf=\"items.length === 1\">\n <desy-button-loader\n (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [loaderText]=\"items[0].loaderText\"\n [loaderClasses]=\"items[0].loaderClasses\"\n [state]=\"items[0].state\"\n [successText]=\"items[0].successText\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"\n items[0].state === null || items[0].state === 'is-success'\n ? items[0].classes\n : items[0].classes + ' c-button-loader--is-loading'\n \"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button-loader>\n </div>\n\n <ul\n class=\"flex flex-wrap gap-sm\"\n *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button-loader\n (clickEvent)=\"clickButtonEmit(item, $event)\"\n [loaderText]=\"item.loaderText\"\n [loaderClasses]=\"item.loaderClasses\"\n [state]=\"item.state\"\n [successText]=\"item.successText\"\n [disabled]=\"item.disabled\"\n [classes]=\"\n item.state === null || item.state === 'is-success'\n ? item.classes\n : item.classes + ' c-button-loader--is-loading'\n \"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button-loader>\n </li>\n \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getPrimaryLoaderItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getSecondaryLoaderItems() }\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\n <button\n (click)=\"closeDialog()\"\n class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\"\n aria-label=\"X: Cerrar la ventana emergente\"\n type=\"button\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 140 140\"\n width=\"1em\"\n height=\"1em\"\n class=\"w-4 h-4\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\"\n fill=\"currentColor\" />\n </svg>\n </button>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.ContentChangeDirective, selector: "[desyContentChange]", inputs: ["observeProperties"], outputs: ["desyContentChange", "desyContentChangeMutation"] }, { kind: "directive", type: i4.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i5.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i6.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "fragment", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i7.ButtonLoaderComponent, selector: "desy-button-loader", inputs: ["loaderText", "loaderClasses", "state", "successText"] }, { kind: "pipe", type: i8.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
110
119
|
}
|
|
111
120
|
__decorate([
|
|
112
121
|
DesyContentChild(),
|
|
@@ -126,7 +135,7 @@ __decorate([
|
|
|
126
135
|
], ModalComponent.prototype, "iconComponent", void 0);
|
|
127
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, decorators: [{
|
|
128
137
|
type: Component,
|
|
129
|
-
args: [{ selector: 'desy-modal', template: "<div [class]=\"[ 'mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <div *ngIf=\"iconComponent || icon\" class=\"flex justify-center p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container [ngSwitch]=\"iconComponent ? iconComponent.type : icon.type\">\n <svg *ngSwitchCase=\"'discard'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM5.29,5.29a9.63,9.63,0,0,1,12.23-1,.26.26,0,0,1,0,.4L4.67,17.56a.27.27,0,0,1-.4,0,9.49,9.49,0,0,1,1-12.24ZM18.75,18.76a9.53,9.53,0,0,1-12.23,1,.26.26,0,0,1,0-.4L19.37,6.49a.26.26,0,0,1,.4,0,9.49,9.49,0,0,1-1,12.24Z\" fill=\"currentColor\"></path></svg>\n <svg *ngSwitchCase=\"'delete'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-alert-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M19.5,7.5H4.5A.5.5,0,0,0,4,8V22a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8A.5.5,0,0,0,19.5,7.5Zm-9.25,13a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Zm5,0a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Z\" fill=\"currentColor\"></path><path d=\"M22,4H17.25A.25.25,0,0,1,17,3.75V2.5A2.5,2.5,0,0,0,14.5,0h-5A2.5,2.5,0,0,0,7,2.5V3.75A.25.25,0,0,1,6.75,4H2A1,1,0,0,0,2,6H22a1,1,0,0,0,0-2ZM9,3.75V2.5A.5.5,0,0,1,9.5,2h5a.5.5,0,0,1,.5.5V3.75a.25.25,0,0,1-.25.25H9.25A.25.25,0,0,1,9,3.75Z\" fill=\"currentColor\"></path></g></svg>\n <svg *ngSwitchCase=\"'publish'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M23.82,1.12A.5.5,0,0,0,23.31,1l-23,9.5A.5.5,0,0,0,0,11a.51.51,0,0,0,.32.46l6.33,2.45a.52.52,0,0,0,.47-.05l8.4-6a.5.5,0,0,1,.64.77l-7,6.75a.51.51,0,0,0-.15.36V22.5a.49.49,0,0,0,.37.48.49.49,0,0,0,.56-.23l3.17-5.42a.25.25,0,0,1,.33-.1l5.83,3.21a.5.5,0,0,0,.73-.33l4-18.5A.5.5,0,0,0,23.82,1.12Z\" fill=\"currentColor\"></path></svg>\n <svg *ngSwitchCase=\"'changes'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M12,13a1,1,0,0,0,1-1V8a1,1,0,1,0-2,0v4A1,1,0,0,0,12,13Z\" fill=\"currentColor\"></path><circle cx=\"11.99\" cy=\"15.71\" r=\"1.25\" fill=\"currentColor\"></circle><path d=\"M19.29,5.53a9.72,9.72,0,0,0-9.55-3A10.25,10.25,0,0,0,2.38,9.61a.26.26,0,0,1-.27.18l-1-.13a.47.47,0,0,0-.47.22.47.47,0,0,0,0,.52l2.47,4.35a.51.51,0,0,0,.44.25.52.52,0,0,0,.36-.16l3.47-3.59a.48.48,0,0,0,.12-.51A.5.5,0,0,0,7,10.41l-1.88-.24A.23.23,0,0,1,5,10.05a.22.22,0,0,1,0-.21,7.67,7.67,0,0,1,5.37-4.9,7.23,7.23,0,0,1,7.1,2.25,1.25,1.25,0,1,0,1.87-1.66Z\" fill=\"currentColor\"></path><path d=\"M4.79,16.7a1.24,1.24,0,0,0-.11,1.76,9.72,9.72,0,0,0,9.55,3,10.24,10.24,0,0,0,7.37-7.12.24.24,0,0,1,.27-.17l1.06.12a.5.5,0,0,0,.48-.22.49.49,0,0,0,0-.52l-2.5-4.33A.51.51,0,0,0,20.55,9a.52.52,0,0,0-.43.15l-3.45,3.62a.5.5,0,0,0-.11.51.49.49,0,0,0,.41.33l1.85.22A.25.25,0,0,1,19,14a.22.22,0,0,1,0,.21,7.67,7.67,0,0,1-5.36,4.9,7.26,7.26,0,0,1-7.11-2.25A1.24,1.24,0,0,0,4.79,16.7Z\" fill=\"currentColor\"></path></g></svg>\n <svg *ngSwitchCase=\"'edit'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"block w-16 h-16 text-primary-light\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\"><g><path d=\"M13.94,15a2,2,0,0,1-.67.45L9.73,16.86a2,2,0,0,1-2.6-2.6l1.41-3.53A2.18,2.18,0,0,1,9,10.05l5.88-5.88a.25.25,0,0,0-.17-.43H3.37A3.12,3.12,0,0,0,.25,6.86V20.62a3.12,3.12,0,0,0,3.12,3.12H17.13a3.12,3.12,0,0,0,3.12-3.12V9.29a.25.25,0,0,0-.43-.17Z\" fill=\"currentColor\"></path><path d=\"M18.57,3.3a.51.51,0,0,0-.71,0l-7.81,7.82a.36.36,0,0,0-.11.16L8.52,14.82a.51.51,0,0,0,.11.54.54.54,0,0,0,.54.11l3.54-1.42a.45.45,0,0,0,.17-.11l7.81-7.81a.51.51,0,0,0,.15-.35.53.53,0,0,0-.15-.36Z\" fill=\"currentColor\"></path><path d=\"M23.16,3.65a2,2,0,0,0,0-2.82,2,2,0,0,0-2.83,0L19.28,1.89a.56.56,0,0,0-.15.35.47.47,0,0,0,.15.35L21.4,4.71a.47.47,0,0,0,.35.15.57.57,0,0,0,.35-.15Z\" fill=\"currentColor\"></path></g></svg>\n </ng-container>\n </div>\n\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\n <h1 *ngSwitchCase=\"1\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h1>\n <h2 *ngSwitchCase=\"2\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h2>\n <h3 *ngSwitchCase=\"3\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h3>\n <h4 *ngSwitchCase=\"4\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h4>\n <h5 *ngSwitchCase=\"5\" [attr.id]=\"'label-' + id\" [class]=\"getTitleClasses()\" tabindex=\"-1\">\n <ng-container *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null\n }\"></ng-container>\n </h5>\n </ng-container>\n\n <div *ngIf=\"descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </div>\n <p *ngIf=\"!descriptionIsHtml\" [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\" [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null\n }\"></ng-container>\n </p>\n\n <div *ngIf=\"contentComponent || caller\" class=\"p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div class=\"flex flex-wrap gap-sm w-full\" *ngIf=\"itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0) || itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)\"\n [ngClass]=\"(itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) && (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\n <ng-template #buttons let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\n <desy-button (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"items[0].classes\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button>\n </div>\n\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button (clickEvent)=\"clickButtonEmit(item, $event)\"\n [disabled]=\"item.disabled\"\n [classes]=\"item.classes\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button>\n </li> \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\n </div>\n\n <!-- Button loader -->\n <div class=\"flex flex-wrap gap-sm w-full\" *ngIf=\"(primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0) || (secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)\" \n [ngClass]=\"((primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0)) && ((secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)) ? 'justify-between' : 'justify-center'\">\n <ng-template #buttonsLoader let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div class=\"mt-sm\" *ngIf=\"items.length === 1\">\n <desy-button-loader (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [loaderText]=\"items[0].loaderText\"\n [loaderClasses]=\"items[0].loaderClasses\"\n [state]=\"items[0].state\"\n [successText]=\"items[0].successText\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"(items[0].state === null || items[0].state === 'is-success') ? items[0].classes : items[0].classes + ' c-button-loader--is-loading'\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button-loader>\n </div>\n\n <ul class=\"flex flex-wrap gap-sm\" *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button-loader (clickEvent)=\"clickButtonEmit(item, $event)\"\n [loaderText]=\"item.loaderText\"\n [loaderClasses]=\"item.loaderClasses\"\n [state]=\"item.state\"\n [successText]=\"item.successText\"\n [disabled]=\"item.disabled\"\n [classes]=\"(item.state === null || item.state === 'is-success') ? item.classes : item.classes + ' c-button-loader--is-loading'\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button-loader>\n </li> \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getPrimaryLoaderItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getSecondaryLoaderItems() }\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\n <button (click)=\"closeDialog()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar la ventana emergente\" type=\"button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\n </button>\n </div>\n </ng-container>\n</div>\n" }]
|
|
138
|
+
args: [{ selector: 'desy-modal', template: "<div\n [class]=\"\n ['mt-16 sm:mt-0 relative max-w-lg mx-auto p-base lg:p-lg border border-neutral-base rounded bg-white', classes]\n | makeHtmlList\n \"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <div\n *ngIf=\"iconComponent || icon\"\n class=\"flex justify-center p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\n <ng-container [ngSwitch]=\"iconComponent ? iconComponent.type : icon.type\">\n <svg\n *ngSwitchCase=\"'discard'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-alert-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM5.29,5.29a9.63,9.63,0,0,1,12.23-1,.26.26,0,0,1,0,.4L4.67,17.56a.27.27,0,0,1-.4,0,9.49,9.49,0,0,1,1-12.24ZM18.75,18.76a9.53,9.53,0,0,1-12.23,1,.26.26,0,0,1,0-.4L19.37,6.49a.26.26,0,0,1,.4,0,9.49,9.49,0,0,1-1,12.24Z\"\n fill=\"currentColor\"></path>\n </svg>\n <svg\n *ngSwitchCase=\"'delete'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-alert-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M19.5,7.5H4.5A.5.5,0,0,0,4,8V22a2,2,0,0,0,2,2H18a2,2,0,0,0,2-2V8A.5.5,0,0,0,19.5,7.5Zm-9.25,13a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Zm5,0a.75.75,0,0,1-1.5,0v-9a.75.75,0,0,1,1.5,0Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M22,4H17.25A.25.25,0,0,1,17,3.75V2.5A2.5,2.5,0,0,0,14.5,0h-5A2.5,2.5,0,0,0,7,2.5V3.75A.25.25,0,0,1,6.75,4H2A1,1,0,0,0,2,6H22a1,1,0,0,0,0-2ZM9,3.75V2.5A.5.5,0,0,1,9.5,2h5a.5.5,0,0,1,.5.5V3.75a.25.25,0,0,1-.25.25H9.25A.25.25,0,0,1,9,3.75Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n <svg\n *ngSwitchCase=\"'publish'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M23.82,1.12A.5.5,0,0,0,23.31,1l-23,9.5A.5.5,0,0,0,0,11a.51.51,0,0,0,.32.46l6.33,2.45a.52.52,0,0,0,.47-.05l8.4-6a.5.5,0,0,1,.64.77l-7,6.75a.51.51,0,0,0-.15.36V22.5a.49.49,0,0,0,.37.48.49.49,0,0,0,.56-.23l3.17-5.42a.25.25,0,0,1,.33-.1l5.83,3.21a.5.5,0,0,0,.73-.33l4-18.5A.5.5,0,0,0,23.82,1.12Z\"\n fill=\"currentColor\"></path>\n </svg>\n <svg\n *ngSwitchCase=\"'changes'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M12,13a1,1,0,0,0,1-1V8a1,1,0,1,0-2,0v4A1,1,0,0,0,12,13Z\"\n fill=\"currentColor\"></path>\n <circle\n cx=\"11.99\"\n cy=\"15.71\"\n r=\"1.25\"\n fill=\"currentColor\"></circle>\n <path\n d=\"M19.29,5.53a9.72,9.72,0,0,0-9.55-3A10.25,10.25,0,0,0,2.38,9.61a.26.26,0,0,1-.27.18l-1-.13a.47.47,0,0,0-.47.22.47.47,0,0,0,0,.52l2.47,4.35a.51.51,0,0,0,.44.25.52.52,0,0,0,.36-.16l3.47-3.59a.48.48,0,0,0,.12-.51A.5.5,0,0,0,7,10.41l-1.88-.24A.23.23,0,0,1,5,10.05a.22.22,0,0,1,0-.21,7.67,7.67,0,0,1,5.37-4.9,7.23,7.23,0,0,1,7.1,2.25,1.25,1.25,0,1,0,1.87-1.66Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M4.79,16.7a1.24,1.24,0,0,0-.11,1.76,9.72,9.72,0,0,0,9.55,3,10.24,10.24,0,0,0,7.37-7.12.24.24,0,0,1,.27-.17l1.06.12a.5.5,0,0,0,.48-.22.49.49,0,0,0,0-.52l-2.5-4.33A.51.51,0,0,0,20.55,9a.52.52,0,0,0-.43.15l-3.45,3.62a.5.5,0,0,0-.11.51.49.49,0,0,0,.41.33l1.85.22A.25.25,0,0,1,19,14a.22.22,0,0,1,0,.21,7.67,7.67,0,0,1-5.36,4.9,7.26,7.26,0,0,1-7.11-2.25A1.24,1.24,0,0,0,4.79,16.7Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n <svg\n *ngSwitchCase=\"'edit'\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n height=\"1em\"\n class=\"block w-16 h-16 text-primary-light\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <g>\n <path\n d=\"M13.94,15a2,2,0,0,1-.67.45L9.73,16.86a2,2,0,0,1-2.6-2.6l1.41-3.53A2.18,2.18,0,0,1,9,10.05l5.88-5.88a.25.25,0,0,0-.17-.43H3.37A3.12,3.12,0,0,0,.25,6.86V20.62a3.12,3.12,0,0,0,3.12,3.12H17.13a3.12,3.12,0,0,0,3.12-3.12V9.29a.25.25,0,0,0-.43-.17Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M18.57,3.3a.51.51,0,0,0-.71,0l-7.81,7.82a.36.36,0,0,0-.11.16L8.52,14.82a.51.51,0,0,0,.11.54.54.54,0,0,0,.54.11l3.54-1.42a.45.45,0,0,0,.17-.11l7.81-7.81a.51.51,0,0,0,.15-.35.53.53,0,0,0-.15-.36Z\"\n fill=\"currentColor\"></path>\n <path\n d=\"M23.16,3.65a2,2,0,0,0,0-2.82,2,2,0,0,0-2.83,0L19.28,1.89a.56.56,0,0,0-.15.35.47.47,0,0,0,.15.35L21.4,4.71a.47.47,0,0,0,.35.15.57.57,0,0,0,.35-.15Z\"\n fill=\"currentColor\"></path>\n </g>\n </svg>\n </ng-container>\n </div>\n\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\n <h1\n *ngSwitchCase=\"1\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h1>\n <h2\n *ngSwitchCase=\"2\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h2>\n <h3\n *ngSwitchCase=\"3\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h3>\n <h4\n *ngSwitchCase=\"4\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h4>\n <h5\n *ngSwitchCase=\"5\"\n [attr.id]=\"'label-' + id\"\n [class]=\"getTitleClasses()\"\n tabindex=\"-1\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: this.titleComponent,\n html: this.titleModal ? this.titleModal.html : null,\n text: this.titleModal ? this.titleModal.text : null,\n }\"></ng-container>\n </h5>\n </ng-container>\n\n <div\n *ngIf=\"descriptionIsHtml\"\n [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\"\n [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null,\n }\"></ng-container>\n </div>\n <p\n *ngIf=\"!descriptionIsHtml\"\n [class]=\"getDescriptionClasses()\"\n (desyContentChange)=\"checkDescriptionContent($event)\"\n [observeProperties]=\"{ attributes: false, childList: true, characterData: true, subtree: true }\">\n <ng-container\n *desyCustomInnerContent=\"{\n component: descriptionComponent,\n html: description ? description.html : null,\n text: description ? description.text : null,\n }\"></ng-container>\n </p>\n\n <div\n *ngIf=\"contentComponent || caller\"\n class=\"p-base\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div\n class=\"flex flex-wrap gap-sm w-full\"\n *ngIf=\"\n itemsPrimary ||\n (primaryButtonComponents && primaryButtonComponents.length > 0) ||\n itemsSecondary ||\n (secondaryButtonComponents && secondaryButtonComponents.length > 0)\n \"\n [ngClass]=\"\n (itemsPrimary || (primaryButtonComponents && primaryButtonComponents.length > 0)) &&\n (itemsSecondary || (secondaryButtonComponents && secondaryButtonComponents.length > 0))\n ? 'justify-between'\n : 'justify-center'\n \">\n <ng-template\n #buttons\n let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div\n class=\"mt-sm\"\n *ngIf=\"items.length === 1\">\n <desy-button\n (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"items[0].classes\"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button>\n </div>\n\n <!-- FIXME De momento se mantiene el nbsp por no tener clases diferentes a desy-html.\n Eliminar al adaptar a una versi\u00F3n de desy-html que lo contemple -->\n <ul\n class=\"flex flex-wrap gap-sm\"\n *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button\n (clickEvent)=\"clickButtonEmit(item, $event)\"\n [disabled]=\"item.disabled\"\n [classes]=\"item.classes\"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button>\n </li>\n \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getPrimaryItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: { items: getSecondaryItems() }\"></ng-container>\n </div>\n\n <!-- Button loader -->\n <div\n class=\"flex flex-wrap gap-sm w-full\"\n *ngIf=\"\n (primaryButtonLoaderComponents && primaryButtonLoaderComponents.length > 0) ||\n (secondaryButtonLoaderComponents && secondaryButtonLoaderComponents.length > 0)\n \"\n [ngClass]=\"\n primaryButtonLoaderComponents &&\n primaryButtonLoaderComponents.length > 0 &&\n secondaryButtonLoaderComponents &&\n secondaryButtonLoaderComponents.length > 0\n ? 'justify-between'\n : 'justify-center'\n \">\n <ng-template\n #buttonsLoader\n let-items=\"items\">\n <ng-container *ngIf=\"items\">\n <div\n class=\"mt-sm\"\n *ngIf=\"items.length === 1\">\n <desy-button-loader\n (clickEvent)=\"clickButtonEmit(items[0], $event)\"\n [loaderText]=\"items[0].loaderText\"\n [loaderClasses]=\"items[0].loaderClasses\"\n [state]=\"items[0].state\"\n [successText]=\"items[0].successText\"\n [disabled]=\"items[0].disabled\"\n [classes]=\"\n items[0].state === null || items[0].state === 'is-success'\n ? items[0].classes\n : items[0].classes + ' c-button-loader--is-loading'\n \"\n [id]=\"items[0].id\"\n [text]=\"items[0].text\"\n [html]=\"items[0].html\"\n [element]=\"items[0].element\"\n [name]=\"items[0].name\"\n [type]=\"items[0].type\"\n [value]=\"items[0].value\"\n [href]=\"items[0].href\"\n [target]=\"items[0].target\"\n [preventDoubleClick]=\"items[0].preventDoubleClick\"\n [routerLink]=\"items[0].routerLink\"\n [routerLinkActiveClasses]=\"items[0].routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: items[0], text: items[0].text }\"></ng-container>\n </desy-button-loader>\n </div>\n\n <ul\n class=\"flex flex-wrap gap-sm\"\n *ngIf=\"items.length > 1\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <desy-button-loader\n (clickEvent)=\"clickButtonEmit(item, $event)\"\n [loaderText]=\"item.loaderText\"\n [loaderClasses]=\"item.loaderClasses\"\n [state]=\"item.state\"\n [successText]=\"item.successText\"\n [disabled]=\"item.disabled\"\n [classes]=\"\n item.state === null || item.state === 'is-success'\n ? item.classes\n : item.classes + ' c-button-loader--is-loading'\n \"\n [id]=\"item.id\"\n [text]=\"item.text\"\n [html]=\"item.html\"\n [element]=\"item.element\"\n [name]=\"item.name\"\n [type]=\"item.type\"\n [value]=\"item.value\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [preventDoubleClick]=\"item.preventDoubleClick\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActiveClasses]=\"item.routerLinkActiveClasses\">\n <ng-container *desyCustomInnerContent=\"{ component: item, text: item.text }\"></ng-container>\n </desy-button-loader>\n </li>\n \n </ng-container>\n </ul>\n </ng-container>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getPrimaryLoaderItems() }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonsLoader; context: { items: getSecondaryLoaderItems() }\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"isDismissible\">\n <div class=\"absolute top-0 right-0 p-sm lg:p-base\">\n <button\n (click)=\"closeDialog()\"\n class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\"\n aria-label=\"X: Cerrar la ventana emergente\"\n type=\"button\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 140 140\"\n width=\"1em\"\n height=\"1em\"\n class=\"w-4 h-4\"\n aria-hidden=\"true\"\n role=\"presentation\">\n <path\n d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\"\n fill=\"currentColor\" />\n </svg>\n </button>\n </div>\n </ng-container>\n</div>\n" }]
|
|
130
139
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { titleModal: [{
|
|
131
140
|
type: Input
|
|
132
141
|
}], description: [{
|
|
@@ -180,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
180
189
|
type: ContentChildren,
|
|
181
190
|
args: [IconComponent]
|
|
182
191
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOzs7Ozs7Ozs7O0FBTTFHLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lB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QVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRzBCLGNBQWM7c0JBQTlDLGVBQWU7dUJBQUMsY0FBYztnQkFHUSxvQkFBb0I7c0JBQTFELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUdGLGdCQUFnQjtzQkFBbEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBRWEsdUJBQXVCO3NCQUFwRSxlQUFlO3VCQUFDLDJCQUEyQjtnQkFDSSx5QkFBeUI7c0JBQXhFLGVBQWU7dUJBQUMsNkJBQTZCO2dCQUVNLDZCQUE2QjtzQkFBaEYsZUFBZTt1QkFBQyxpQ0FBaUM7Z0JBQ0ksK0JBQStCO3NCQUFwRixlQUFlO3VCQUFDLG1DQUFtQztnQkFHcEIsYUFBYTtzQkFBNUMsZUFBZTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2Rlc2NyaXB0aW9uL2Rlc2NyaXB0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgTW9kYWxCdXR0b25EYXRhLCBNb2RhbERhdGEsIE1vZGFsSWNvbkRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYnV0dG9uLWxvYWRlci1wcmltYXJ5L21vZGFsLWJ1dHRvbi1sb2FkZXItcHJpbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWxCdXR0b25Mb2FkZXJTZWNvbmRhcnlDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWJ1dHRvbi1sb2FkZXItc2Vjb25kYXJ5L21vZGFsLWJ1dHRvbi1sb2FkZXItc2Vjb25kYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLWJ1dHRvbi1wcmltYXJ5L21vZGFsLWJ1dHRvbi1wcmltYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYnV0dG9uLXNlY29uZGFyeS9tb2RhbC1idXR0b24tc2Vjb25kYXJ5LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGl0bGVNb2RhbDogTW9kYWxEYXRhO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbjogTW9kYWxEYXRhO1xuICBASW5wdXQoKSBpdGVtc1ByaW1hcnk6IE1vZGFsQnV0dG9uRGF0YVtdO1xuICBASW5wdXQoKSBpdGVtc1NlY29uZGFyeTogTW9kYWxCdXR0b25EYXRhW107XG4gIEBJbnB1dCgpIGl0ZW1zTG9hZGVyUHJpbWFyeTogTW9kYWxCdXR0b25EYXRhW107XG4gIEBJbnB1dCgpIGl0ZW1zTG9hZGVyU2Vjb25kYXJ5OiBNb2RhbEJ1dHRvbkRhdGFbXTtcbiAgQElucHV0KCkgaWNvbjogTW9kYWxJY29uRGF0YTtcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsOiBudW1iZXI7XG5cbiAgQElucHV0KCkgaXNEaXNtaXNzaWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBjYWxsZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQE91dHB1dCgpIGNsb3NlTW9kYWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsaWNrQnV0dG9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oVGl0bGVDb21wb25lbnQpIHRpdGxlQ29tcG9uZW50OiBUaXRsZUNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oRGVzY3JpcHRpb25Db21wb25lbnQpIGRlc2NyaXB0aW9uQ29tcG9uZW50OiBEZXNjcmlwdGlvbkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oQ29udGVudENvbXBvbmVudCkgY29udGVudENvbXBvbmVudDogQ29udGVudENvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkcmVuKE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudCkgcHJpbWFyeUJ1dHRvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50KSBzZWNvbmRhcnlCdXR0b25Db21wb25lbnRzOiBRdWVyeUxpc3Q8TW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9kYWxCdXR0b25Mb2FkZXJQcmltYXJ5Q29tcG9uZW50KSBwcmltYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50czogUXVlcnlMaXN0PE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oTW9kYWxCdXR0b25Mb2FkZXJTZWNvbmRhcnlDb21wb25lbnQpIHNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxNb2RhbEJ1dHRvbkxvYWRlclNlY29uZGFyeUNvbXBvbmVudD47XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKEljb25Db21wb25lbnQpIGljb25Db21wb25lbnQ6IEljb25Db21wb25lbnQ7XG5cbiAgaGFzSWNvbkNvbnRlbnQgPSB0cnVlO1xuICBkZXNjcmlwdGlvbklzSHRtbCA9IHRydWU7XG4gIGRlc2NyaXB0aW9uSXNFbXB0eSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgbGV0IHR5cGU6IHN0cmluZztcbiAgICBpZiAodGhpcy5pY29uQ29tcG9uZW50KSB7XG4gICAgICB0eXBlID0gdGhpcy5pY29uQ29tcG9uZW50LnR5cGUgPyB0aGlzLmljb25Db21wb25lbnQudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogbnVsbDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaWNvbi50eXBlKSB7XG4gICAgICB0eXBlID0gdGhpcy5pY29uLnR5cGUgPyB0aGlzLmljb24udHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGNoZWNrRGVzY3JpcHRpb25Db250ZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHM6IE5vZGVMaXN0T2Y8Q2hpbGROb2RlPiA9IGVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzO1xuICAgIGxldCBoYXNIdG1sID0gZmFsc2U7XG4gICAgbGV0IGhhc0NvbnRlbnQgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcy5sZW5ndGggJiYgIWhhc0h0bWw7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGNoaWxkcy5pdGVtKGkpO1xuICAgICAgaWYgKGl0ZW0ubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFICYmIGl0ZW0udGV4dENvbnRlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgfHwgaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5DREFUQV9TRUNUSU9OX05PREUpIHtcbiAgICAgICAgaGFzSHRtbCA9IHRydWU7XG4gICAgICAgIGhhc0NvbnRlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uV2FzRW1wdHkgPSB0aGlzLmRlc2NyaXB0aW9uSXNFbXB0eTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uSXNFbXB0eSA9ICFoYXNDb250ZW50O1xuICAgIHRoaXMuZGVzY3JpcHRpb25Jc0h0bWwgPSBoYXNIdG1sO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xpY2tCdXR0b25FbWl0KGl0ZW06IE1vZGFsQnV0dG9uRGF0YSwgZXZlbnQpOiB2b2lke1xuICAgIHRoaXMuY2xpY2tCdXR0b24uZW1pdChldmVudCk7XG5cbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgTW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgTW9kYWxCdXR0b25Mb2FkZXJTZWNvbmRhcnlDb21wb25lbnQpIHtcbiAgICAgIGl0ZW0uY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJY29uQ29udGVudEVtcHR5KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0ljb25Db250ZW50ID0gIWlzRW1wdHk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXRUaXRsZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NlcyA9ICdjLWgyIHB4LWJhc2UgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnVuZGVybGluZSc7XG4gICAgaWYgKHRoaXMudGl0bGVDb21wb25lbnQgJiYgdGhpcy50aXRsZUNvbXBvbmVudC5jbGFzc2VzKSB7XG4gICAgICBjbGFzc2VzID0gdGhpcy50aXRsZUNvbXBvbmVudC5jbGFzc2VzO1xuICAgIH0gZWxzZSBpZiAodGhpcy50aXRsZU1vZGFsICYmIHRoaXMudGl0bGVNb2RhbC5jbGFzc2VzKSB7XG4gICAgICBjbGFzc2VzID0gdGhpcy50aXRsZU1vZGFsLmNsYXNzZXM7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb25DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNsYXNzZXMgPSAnYy1wYXJhZ3JhcGgtYmFzZSBteS1iYXNlIHRleHQtY2VudGVyJztcbiAgICBpZiAodGhpcy5kZXNjcmlwdGlvbkNvbXBvbmVudCAmJiB0aGlzLmRlc2NyaXB0aW9uQ29tcG9uZW50LmNsYXNzZXMpIHtcbiAgICAgIGNsYXNzZXMgPSB0aGlzLmRlc2NyaXB0aW9uQ29tcG9uZW50LmNsYXNzZXM7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRlc2NyaXB0aW9uICYmIHRoaXMuZGVzY3JpcHRpb24uY2xhc3Nlcykge1xuICAgICAgY2xhc3NlcyA9IHRoaXMuZGVzY3JpcHRpb24uY2xhc3NlcztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBnZXRQcmltYXJ5SXRlbXMoKTogTW9kYWxCdXR0b25EYXRhW118TW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzICYmIHRoaXMucHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCA/IHRoaXMucHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMudG9BcnJheSgpXG4gICAgICA6IHRoaXMuaXRlbXNQcmltYXJ5O1xuICB9XG5cbiAgZ2V0U2Vjb25kYXJ5SXRlbXMoKTogTW9kYWxCdXR0b25EYXRhW118TW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHMgJiYgdGhpcy5zZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLnNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHMudG9BcnJheSgpXG4gICAgICA6IHRoaXMuaXRlbXNTZWNvbmRhcnk7XG4gIH1cblxuICBnZXRQcmltYXJ5TG9hZGVySXRlbXMoKTogIE1vZGFsQnV0dG9uRGF0YVtdfE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cyAmJiB0aGlzLnByaW1hcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLnByaW1hcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXNMb2FkZXJQcmltYXJ5O1xuICB9XG5cbiAgZ2V0U2Vjb25kYXJ5TG9hZGVySXRlbXMoKTogIE1vZGFsQnV0dG9uRGF0YVtdfE1vZGFsQnV0dG9uTG9hZGVyU2Vjb25kYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMgJiYgdGhpcy5zZWNvbmRhcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLnNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMudG9BcnJheSgpIDogdGhpcy5pdGVtc0xvYWRlclNlY29uZGFyeTtcbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiWyAnbXQtMTYgc206bXQtMCByZWxhdGl2ZSBtYXgtdy1sZyBteC1hdXRvIHAtYmFzZSBsZzpwLWxnIGJvcmRlciBib3JkZXItbmV1dHJhbC1iYXNlIHJvdW5kZWQgYmctd2hpdGUnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcbiAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgPGRpdiAqbmdJZj1cImljb25Db21wb25lbnQgfHwgaWNvblwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBwLWJhc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGljb25Db21wb25lbnQsIGh0bWw6IGljb24gPyBpY29uLmh0bWwgOiBudWxsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImljb25Db21wb25lbnQgPyBpY29uQ29tcG9uZW50LnR5cGUgOiBpY29uLnR5cGVcIj5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2Rpc2NhcmQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwiYmxvY2sgdy0xNiBoLTE2IHRleHQtYWxlcnQtbGlnaHRcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48cGF0aCBkPVwiTTEyLDBBMTIsMTIsMCwxLDAsMjQsMTIsMTIsMTIsMCwwLDAsMTIsMFpNNS4yOSw1LjI5YTkuNjMsOS42MywwLDAsMSwxMi4yMy0xLC4yNi4yNiwwLDAsMSwwLC40TDQuNjcsMTcuNTZhLjI3LjI3LDAsMCwxLS40LDAsOS40OSw5LjQ5LDAsMCwxLDEtMTIuMjRaTTE4Ljc1LDE4Ljc2YTkuNTMsOS41MywwLDAsMS0xMi4yMywxLC4yNi4yNiwwLDAsMSwwLS40TDE5LjM3LDYuNDlhLjI2LjI2LDAsMCwxLC40LDAsOS40OSw5LjQ5LDAsMCwxLTEsMTIuMjRaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2RlbGV0ZSdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJibG9jayB3LTE2IGgtMTYgdGV4dC1hbGVydC1saWdodFwiIGZvY3VzYWJsZT1cImZhbHNlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjxnPjxwYXRoIGQ9XCJNMTkuNSw3LjVINC41QS41LjUsMCwwLDAsNCw4VjIyYTIsMiwwLDAsMCwyLDJIMThhMiwyLDAsMCwwLDItMlY4QS41LjUsMCwwLDAsMTkuNSw3LjVabS05LjI1LDEzYS43NS43NSwwLDAsMS0xLjUsMHYtOWEuNzUuNzUsMCwwLDEsMS41LDBabTUsMGEuNzUuNzUsMCwwLDEtMS41LDB2LTlhLjc1Ljc1LDAsMCwxLDEuNSwwWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+PHBhdGggZD1cIk0yMiw0SDE3LjI1QS4yNS4yNSwwLDAsMSwxNywzLjc1VjIuNUEyLjUsMi41LDAsMCwwLDE0LjUsMGgtNUEyLjUsMi41LDAsMCwwLDcsMi41VjMuNzVBLjI1LjI1LDAsMCwxLDYuNzUsNEgyQTEsMSwwLDAsMCwyLDZIMjJhMSwxLDAsMCwwLDAtMlpNOSwzLjc1VjIuNUEuNS41LDAsMCwxLDkuNSwyaDVhLjUuNSwwLDAsMSwuNS41VjMuNzVhLjI1LjI1LDAsMCwxLS4yNS4yNUg5LjI1QS4yNS4yNSwwLDAsMSw5LDMuNzVaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L2c+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidwdWJsaXNoJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cImJsb2NrIHctMTYgaC0xNiB0ZXh0LXByaW1hcnktbGlnaHRcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48cGF0aCBkPVwiTTIzLjgyLDEuMTJBLjUuNSwwLDAsMCwyMy4zMSwxbC0yMyw5LjVBLjUuNSwwLDAsMCwwLDExYS41MS41MSwwLDAsMCwuMzIuNDZsNi4zMywyLjQ1YS41Mi41MiwwLDAsMCwuNDctLjA1bDguNC02YS41LjUsMCwwLDEsLjY0Ljc3bC03LDYuNzVhLjUxLjUxLDAsMCwwLS4xNS4zNlYyMi41YS40OS40OSwwLDAsMCwuMzcuNDguNDkuNDksMCwwLDAsLjU2LS4yM2wzLjE3LTUuNDJhLjI1LjI1LDAsMCwxLC4zMy0uMWw1LjgzLDMuMjFhLjUuNSwwLDAsMCwuNzMtLjMzbDQtMTguNUEuNS41LDAsMCwwLDIzLjgyLDEuMTJaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L3N2Zz5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2NoYW5nZXMnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwiYmxvY2sgdy0xNiBoLTE2IHRleHQtcHJpbWFyeS1saWdodFwiIGZvY3VzYWJsZT1cImZhbHNlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjxnPjxwYXRoIGQ9XCJNMTIsMTNhMSwxLDAsMCwwLDEtMVY4YTEsMSwwLDEsMC0yLDB2NEExLDEsMCwwLDAsMTIsMTNaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiMTEuOTlcIiBjeT1cIjE1LjcxXCIgcj1cIjEuMjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9jaXJjbGU+PHBhdGggZD1cIk0xOS4yOSw1LjUzYTkuNzIsOS43MiwwLDAsMC05LjU1LTNBMTAuMjUsMTAuMjUsMCwwLDAsMi4zOCw5LjYxYS4yNi4yNiwwLDAsMS0uMjcuMThsLTEtLjEzYS40Ny40NywwLDAsMC0uNDcuMjIuNDcuNDcsMCwwLDAsMCwuNTJsMi40Nyw0LjM1YS41MS41MSwwLDAsMCwuNDQuMjUuNTIuNTIsMCwwLDAsLjM2LS4xNmwzLjQ3LTMuNTlhLjQ4LjQ4LDAsMCwwLC4xMi0uNTFBLjUuNSwwLDAsMCw3LDEwLjQxbC0xLjg4LS4yNEEuMjMuMjMsMCwwLDEsNSwxMC4wNWEuMjIuMjIsMCwwLDEsMC0uMjEsNy42Nyw3LjY3LDAsMCwxLDUuMzctNC45LDcuMjMsNy4yMywwLDAsMSw3LjEsMi4yNSwxLjI1LDEuMjUsMCwxLDAsMS44Ny0xLjY2WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+PHBhdGggZD1cIk00Ljc5LDE2LjdhMS4yNCwxLjI0LDAsMCwwLS4xMSwxLjc2LDkuNzIsOS43MiwwLDAsMCw5LjU1LDMsMTAuMjQsMTAuMjQsMCwwLDAsNy4zNy03LjEyLjI0LjI0LDAsMCwxLC4yNy0uMTdsMS4wNi4xMmEuNS41LDAsMCwwLC40OC0uMjIuNDkuNDksMCwwLDAsMC0uNTJsLTIuNS00LjMzQS41MS41MSwwLDAsMCwyMC41NSw5YS41Mi41MiwwLDAsMC0uNDMuMTVsLTMuNDUsMy42MmEuNS41LDAsMCwwLS4xMS41MS40OS40OSwwLDAsMCwuNDEuMzNsMS44NS4yMkEuMjUuMjUsMCwwLDEsMTksMTRhLjIyLjIyLDAsMCwxLDAsLjIxLDcuNjcsNy42NywwLDAsMS01LjM2LDQuOSw3LjI2LDcuMjYsMCwwLDEtNy4xMS0yLjI1QTEuMjQsMS4yNCwwLDAsMCw0Ljc5LDE2LjdaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L2c+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidlZGl0J1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cImJsb2NrIHctMTYgaC0xNiB0ZXh0LXByaW1hcnktbGlnaHRcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48Zz48cGF0aCBkPVwiTTEzLjk0LDE1YTIsMiwwLDAsMS0uNjcuNDVMOS43MywxNi44NmEyLDIsMCwwLDEtMi42LTIuNmwxLjQxLTMuNTNBMi4xOCwyLjE4LDAsMCwxLDksMTAuMDVsNS44OC01Ljg4YS4yNS4yNSwwLDAsMC0uMTctLjQzSDMuMzdBMy4xMiwzLjEyLDAsMCwwLC4yNSw2Ljg2VjIwLjYyYTMuMTIsMy4xMiwwLDAsMCwzLjEyLDMuMTJIMTcuMTNhMy4xMiwzLjEyLDAsMCwwLDMuMTItMy4xMlY5LjI5YS4yNS4yNSwwLDAsMC0uNDMtLjE3WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+PHBhdGggZD1cIk0xOC41NywzLjNhLjUxLjUxLDAsMCwwLS43MSwwbC03LjgxLDcuODJhLjM2LjM2LDAsMCwwLS4xMS4xNkw4LjUyLDE0LjgyYS41MS41MSwwLDAsMCwuMTEuNTQuNTQuNTQsMCwwLDAsLjU0LjExbDMuNTQtMS40MmEuNDUuNDUsMCwwLDAsLjE3LS4xMWw3LjgxLTcuODFhLjUxLjUxLDAsMCwwLC4xNS0uMzUuNTMuNTMsMCwwLDAtLjE1LS4zNlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjMuMTYsMy42NWEyLDIsMCwwLDAsMC0yLjgyLDIsMiwwLDAsMC0yLjgzLDBMMTkuMjgsMS44OWEuNTYuNTYsMCwwLDAtLjE1LjM1LjQ3LjQ3LDAsMCwwLC4xNS4zNUwyMS40LDQuNzFhLjQ3LjQ3LDAsMCwwLC4zNS4xNS41Ny41NywwLDAsMCwuMzUtLjE1WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+PC9nPjwvc3ZnPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbCA+IDAgJiYgaGVhZGluZ0xldmVsIDwgNiA/IGhlYWRpbmdMZXZlbCA6IDJcIj5cbiAgICA8aDEgKm5nU3dpdGNoQ2FzZT1cIjFcIiBbYXR0ci5pZF09XCInbGFiZWwtJyArIGlkXCIgW2NsYXNzXT1cImdldFRpdGxlQ2xhc3NlcygpXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnRpdGxlQ29tcG9uZW50LFxuICAgICAgICBodG1sOiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwuaHRtbCA6IG51bGwsXG4gICAgICAgIHRleHQ6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC50ZXh0IDogbnVsbFxuICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDE+XG4gICAgPGgyICpuZ1N3aXRjaENhc2U9XCIyXCIgW2F0dHIuaWRdPVwiJ2xhYmVsLScgKyBpZFwiIFtjbGFzc109XCJnZXRUaXRsZUNsYXNzZXMoKVwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcy50aXRsZUNvbXBvbmVudCxcbiAgICAgICAgaHRtbDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLmh0bWwgOiBudWxsLFxuICAgICAgICB0ZXh0OiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwudGV4dCA6IG51bGxcbiAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2gyPlxuICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIFthdHRyLmlkXT1cIidsYWJlbC0nICsgaWRcIiBbY2xhc3NdPVwiZ2V0VGl0bGVDbGFzc2VzKClcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMudGl0bGVDb21wb25lbnQsXG4gICAgICAgIGh0bWw6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC5odG1sIDogbnVsbCxcbiAgICAgICAgdGV4dDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLnRleHQgOiBudWxsXG4gICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oMz5cbiAgICA8aDQgKm5nU3dpdGNoQ2FzZT1cIjRcIiBbYXR0ci5pZF09XCInbGFiZWwtJyArIGlkXCIgW2NsYXNzXT1cImdldFRpdGxlQ2xhc3NlcygpXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLnRpdGxlQ29tcG9uZW50LFxuICAgICAgICBodG1sOiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwuaHRtbCA6IG51bGwsXG4gICAgICAgIHRleHQ6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC50ZXh0IDogbnVsbFxuICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDQ+XG4gICAgPGg1ICpuZ1N3aXRjaENhc2U9XCI1XCIgW2F0dHIuaWRdPVwiJ2xhYmVsLScgKyBpZFwiIFtjbGFzc109XCJnZXRUaXRsZUNsYXNzZXMoKVwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcy50aXRsZUNvbXBvbmVudCxcbiAgICAgICAgaHRtbDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLmh0bWwgOiBudWxsLFxuICAgICAgICB0ZXh0OiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwudGV4dCA6IG51bGxcbiAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2g1PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25Jc0h0bWxcIiBbY2xhc3NdPVwiZ2V0RGVzY3JpcHRpb25DbGFzc2VzKClcIlxuICAgICAgIChkZXN5Q29udGVudENoYW5nZSk9XCJjaGVja0Rlc2NyaXB0aW9uQ29udGVudCgkZXZlbnQpXCIgW29ic2VydmVQcm9wZXJ0aWVzXT1cInsgYXR0cmlidXRlczogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgIGNvbXBvbmVudDogZGVzY3JpcHRpb25Db21wb25lbnQsXG4gICAgICBodG1sOiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgdGV4dDogZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbi50ZXh0IDogbnVsbFxuICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxwICpuZ0lmPVwiIWRlc2NyaXB0aW9uSXNIdG1sXCIgW2NsYXNzXT1cImdldERlc2NyaXB0aW9uQ2xhc3NlcygpXCJcbiAgICAgKGRlc3lDb250ZW50Q2hhbmdlKT1cImNoZWNrRGVzY3JpcHRpb25Db250ZW50KCRldmVudClcIiBbb2JzZXJ2ZVByb3BlcnRpZXNdPVwieyBhdHRyaWJ1dGVzOiBmYWxzZSwgY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH1cIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgY29tcG9uZW50OiBkZXNjcmlwdGlvbkNvbXBvbmVudCxcbiAgICAgIGh0bWw6IGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb24uaHRtbCA6IG51bGwsXG4gICAgICB0ZXh0OiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLnRleHQgOiBudWxsXG4gICAgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L3A+XG5cbiAgPGRpdiAqbmdJZj1cImNvbnRlbnRDb21wb25lbnQgfHwgY2FsbGVyXCIgY2xhc3M9XCJwLWJhc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbnRlbnRDb21wb25lbnQsIHRlbXBsYXRlOiBjYWxsZXIgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXNtIHctZnVsbFwiICpuZ0lmPVwiaXRlbXNQcmltYXJ5IHx8IChwcmltYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiBwcmltYXJ5QnV0dG9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB8fCBpdGVtc1NlY29uZGFyeSB8fCAoc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiBzZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDApXCJcbiAgW25nQ2xhc3NdPVwiKGl0ZW1zUHJpbWFyeSB8fCAocHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMgJiYgcHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkpICYmIChpdGVtc1NlY29uZGFyeSB8fCAoc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiBzZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDApKSA/ICdqdXN0aWZ5LWJldHdlZW4nIDogJ2p1c3RpZnktY2VudGVyJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9ucyBsZXQtaXRlbXM9XCJpdGVtc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC1zbVwiICpuZ0lmPVwiaXRlbXMubGVuZ3RoID09PSAxXCI+XG4gICAgICAgICAgPGRlc3ktYnV0dG9uIChjbGlja0V2ZW50KT1cImNsaWNrQnV0dG9uRW1pdChpdGVtc1swXSwgJGV2ZW50KVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtc1swXS5kaXNhYmxlZFwiXG4gICAgICAgICAgIFtjbGFzc2VzXT1cIml0ZW1zWzBdLmNsYXNzZXNcIlxuICAgICAgICAgICBbaWRdPVwiaXRlbXNbMF0uaWRcIlxuICAgICAgICAgICBbdGV4dF09XCJpdGVtc1swXS50ZXh0XCJcbiAgICAgICAgICAgW2h0bWxdPVwiaXRlbXNbMF0uaHRtbFwiXG4gICAgICAgICAgIFtlbGVtZW50XT1cIml0ZW1zWzBdLmVsZW1lbnRcIlxuICAgICAgICAgICBbbmFtZV09XCJpdGVtc1swXS5uYW1lXCJcbiAgICAgICAgICAgW3R5cGVdPVwiaXRlbXNbMF0udHlwZVwiXG4gICAgICAgICAgIFt2YWx1ZV09XCJpdGVtc1swXS52YWx1ZVwiXG4gICAgICAgICAgIFtocmVmXT1cIml0ZW1zWzBdLmhyZWZcIlxuICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW1zWzBdLnRhcmdldFwiXG4gICAgICAgICAgIFtwcmV2ZW50RG91YmxlQ2xpY2tdPVwiaXRlbXNbMF0ucHJldmVudERvdWJsZUNsaWNrXCJcbiAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbXNbMF0ucm91dGVyTGlua1wiXG4gICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlc109XCJpdGVtc1swXS5yb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtc1swXSwgdGV4dDogaXRlbXNbMF0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kZXN5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBGSVhNRSBEZSBtb21lbnRvIHNlIG1hbnRpZW5lIGVsIG5ic3AgcG9yIG5vIHRlbmVyIGNsYXNlcyBkaWZlcmVudGVzIGEgZGVzeS1odG1sLlxuICAgICAgICAgICAgICBFbGltaW5hciBhbCBhZGFwdGFyIGEgdW5hIHZlcnNpw7NuIGRlIGRlc3ktaHRtbCBxdWUgbG8gY29udGVtcGxlIC0tPlxuICAgICAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtc21cIiAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxkZXN5LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJjbGlja0J1dHRvbkVtaXQoaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIml0ZW0uY2xhc3Nlc1wiXG4gICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0udGV4dFwiXG4gICAgICAgICAgICAgICAgW2h0bWxdPVwiaXRlbS5odG1sXCJcbiAgICAgICAgICAgICAgICBbZWxlbWVudF09XCJpdGVtLmVsZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiaXRlbS50eXBlXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cIml0ZW0udGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbcHJldmVudERvdWJsZUNsaWNrXT1cIml0ZW0ucHJldmVudERvdWJsZUNsaWNrXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlc109XCJpdGVtLnJvdXRlckxpbmtBY3RpdmVDbGFzc2VzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLCB0ZXh0OiBpdGVtLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2Rlc3ktYnV0dG9uPlxuICAgICAgICAgICAgPC9saT4mbmJzcDtcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnM7IGNvbnRleHQ6IHsgaXRlbXM6IGdldFByaW1hcnlJdGVtcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uczsgY29udGV4dDogeyBpdGVtczogZ2V0U2Vjb25kYXJ5SXRlbXMoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDwhLS0gQnV0dG9uIGxvYWRlciAtLT5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC1zbSB3LWZ1bGxcIiAqbmdJZj1cIihwcmltYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cyAmJiBwcmltYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cy5sZW5ndGggPiAwKSB8fCAoc2Vjb25kYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cyAmJiBzZWNvbmRhcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLmxlbmd0aCA+IDApXCIgXG4gIFtuZ0NsYXNzXT1cIigocHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMgJiYgcHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMCkpICYmICgoc2Vjb25kYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cyAmJiBzZWNvbmRhcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLmxlbmd0aCA+IDApKSA/ICdqdXN0aWZ5LWJldHdlZW4nIDogJ2p1c3RpZnktY2VudGVyJ1wiPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uc0xvYWRlciBsZXQtaXRlbXM9XCJpdGVtc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC1zbVwiICpuZ0lmPVwiaXRlbXMubGVuZ3RoID09PSAxXCI+XG4gICAgICAgICAgPGRlc3ktYnV0dG9uLWxvYWRlciAoY2xpY2tFdmVudCk9XCJjbGlja0J1dHRvbkVtaXQoaXRlbXNbMF0sICRldmVudClcIlxuICAgICAgICAgICAgICBbbG9hZGVyVGV4dF09XCJpdGVtc1swXS5sb2FkZXJUZXh0XCJcbiAgICAgICAgICAgICAgW2xvYWRlckNsYXNzZXNdPVwiaXRlbXNbMF0ubG9hZGVyQ2xhc3Nlc1wiXG4gICAgICAgICAgICAgIFtzdGF0ZV09XCJpdGVtc1swXS5zdGF0ZVwiXG4gICAgICAgICAgICAgIFtzdWNjZXNzVGV4dF09XCJpdGVtc1swXS5zdWNjZXNzVGV4dFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtc1swXS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtjbGFzc2VzXT1cIihpdGVtc1swXS5zdGF0ZSA9PT0gbnVsbCB8fCBpdGVtc1swXS5zdGF0ZSA9PT0gJ2lzLXN1Y2Nlc3MnKSA/IGl0ZW1zWzBdLmNsYXNzZXMgOiBpdGVtc1swXS5jbGFzc2VzICsgJyBjLWJ1dHRvbi1sb2FkZXItLWlzLWxvYWRpbmcnXCJcbiAgICAgICAgICAgICAgW2lkXT1cIml0ZW1zWzBdLmlkXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiaXRlbXNbMF0udGV4dFwiXG4gICAgICAgICAgICAgIFtodG1sXT1cIml0ZW1zWzBdLmh0bWxcIlxuICAgICAgICAgICAgICBbZWxlbWVudF09XCJpdGVtc1swXS5lbGVtZW50XCJcbiAgICAgICAgICAgICAgW25hbWVdPVwiaXRlbXNbMF0ubmFtZVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cIml0ZW1zWzBdLnR5cGVcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbXNbMF0udmFsdWVcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtc1swXS5ocmVmXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtc1swXS50YXJnZXRcIlxuICAgICAgICAgICAgICBbcHJldmVudERvdWJsZUNsaWNrXT1cIml0ZW1zWzBdLnByZXZlbnREb3VibGVDbGlja1wiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW1zWzBdLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZUNsYXNzZXNdPVwiaXRlbXNbMF0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbXNbMF0sIHRleHQ6IGl0ZW1zWzBdLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGVzeS1idXR0b24tbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtc21cIiAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxkZXN5LWJ1dHRvbi1sb2FkZXIgKGNsaWNrRXZlbnQpPVwiY2xpY2tCdXR0b25FbWl0KGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2xvYWRlclRleHRdPVwiaXRlbS5sb2FkZXJUZXh0XCJcbiAgICAgICAgICAgICAgICAgIFtsb2FkZXJDbGFzc2VzXT1cIml0ZW0ubG9hZGVyQ2xhc3Nlc1wiXG4gICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbc3VjY2Vzc1RleHRdPVwiaXRlbS5zdWNjZXNzVGV4dFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCIoaXRlbS5zdGF0ZSA9PT0gbnVsbCB8fCBpdGVtLnN0YXRlID09PSAnaXMtc3VjY2VzcycpID8gaXRlbS5jbGFzc2VzIDogaXRlbS5jbGFzc2VzICsgJyBjLWJ1dHRvbi1sb2FkZXItLWlzLWxvYWRpbmcnXCJcbiAgICAgICAgICAgICAgICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIml0ZW0udGV4dFwiXG4gICAgICAgICAgICAgICAgICBbaHRtbF09XCJpdGVtLmh0bWxcIlxuICAgICAgICAgICAgICAgICAgW2VsZW1lbnRdPVwiaXRlbS5lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJpdGVtLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5ocmVmXCJcbiAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICAgICAgICAgICAgW3ByZXZlbnREb3VibGVDbGlja109XCJpdGVtLnByZXZlbnREb3VibGVDbGlja1wiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVDbGFzc2VzXT1cIml0ZW0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGVzeS1idXR0b24tbG9hZGVyPlxuICAgICAgICAgICAgPC9saT4mbmJzcDtcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNMb2FkZXI7IGNvbnRleHQ6IHsgaXRlbXM6IGdldFByaW1hcnlMb2FkZXJJdGVtcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc0xvYWRlcjsgY29udGV4dDogeyBpdGVtczogZ2V0U2Vjb25kYXJ5TG9hZGVySXRlbXMoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Rpc21pc3NpYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHRvcC0wIHJpZ2h0LTAgcC1zbSBsZzpwLWJhc2VcIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cInAtc20gZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOmJvcmRlci13YXJuaW5nLWJhc2UgZm9jdXM6c2hhZG93LW91dGxpbmUtYmxhY2sgZm9jdXM6dGV4dC1ibGFjayBmb2N1czpvdXRsaW5lLW5vbmVcIiBhcmlhLWxhYmVsPVwiWDogQ2VycmFyIGxhIHZlbnRhbmEgZW1lcmdlbnRlXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48cGF0aCBkPVwiTTg1LjkxIDcxLjc3YTIuNSAyLjUgMCAwMTAtMy41NGw0Ni4xNi00Ni4xNmExMCAxMCAwIDEwLTE0LjE0LTE0LjE0TDcxLjc3IDU0LjA5YTIuNSAyLjUgMCAwMS0zLjU0IDBMMjIuMDcgNy45M0ExMCAxMCAwIDAwNy45MyAyMi4wN2w0Ni4xNiA0Ni4xNmEyLjUgMi41IDAgMDEwIDMuNTRMNy45MyAxMTcuOTNhMTAgMTAgMCAwMDE0LjE0IDE0LjE0bDQ2LjE2LTQ2LjE2YTIuNSAyLjUgMCAwMTMuNTQgMGw0Ni4xNiA0Ni4xNmExMCAxMCAwIDAwMTQuMTQtMTQuMTR6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOzs7Ozs7Ozs7O0FBTTFHLE1BQU0sT0FBTyxjQUFlLFNBQVEsc0JBQXNCO0lB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QUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUlQLGNBQWM7c0JBRGIsZUFBZTt1QkFBQyxjQUFjO2dCQUsvQixvQkFBb0I7c0JBRG5CLGVBQWU7dUJBQUMsb0JBQW9CO2dCQUtyQyxnQkFBZ0I7c0JBRGYsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBR2EsdUJBQXVCO3NCQUFwRSxlQUFlO3VCQUFDLDJCQUEyQjtnQkFDSSx5QkFBeUI7c0JBQXhFLGVBQWU7dUJBQUMsNkJBQTZCO2dCQUc5Qyw2QkFBNkI7c0JBRDVCLGVBQWU7dUJBQUMsaUNBQWlDO2dCQUdsRCwrQkFBK0I7c0JBRDlCLGVBQWU7dUJBQUMsbUNBQW1DO2dCQUtwRCxhQUFhO3NCQURaLGVBQWU7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvbkRhdGEsIE1vZGFsRGF0YSwgTW9kYWxJY29uRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9kYWxCdXR0b25Mb2FkZXJQcmltYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1idXR0b24tbG9hZGVyLXByaW1hcnkvbW9kYWwtYnV0dG9uLWxvYWRlci1wcmltYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvbkxvYWRlclNlY29uZGFyeUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYnV0dG9uLWxvYWRlci1zZWNvbmRhcnkvbW9kYWwtYnV0dG9uLWxvYWRlci1zZWNvbmRhcnkuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQnV0dG9uUHJpbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYnV0dG9uLXByaW1hcnkvbW9kYWwtYnV0dG9uLXByaW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1idXR0b24tc2Vjb25kYXJ5L21vZGFsLWJ1dHRvbi1zZWNvbmRhcnkuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRpdGxlTW9kYWw6IE1vZGFsRGF0YTtcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IE1vZGFsRGF0YTtcbiAgQElucHV0KCkgaXRlbXNQcmltYXJ5OiBNb2RhbEJ1dHRvbkRhdGFbXTtcbiAgQElucHV0KCkgaXRlbXNTZWNvbmRhcnk6IE1vZGFsQnV0dG9uRGF0YVtdO1xuICBASW5wdXQoKSBpdGVtc0xvYWRlclByaW1hcnk6IE1vZGFsQnV0dG9uRGF0YVtdO1xuICBASW5wdXQoKSBpdGVtc0xvYWRlclNlY29uZGFyeTogTW9kYWxCdXR0b25EYXRhW107XG4gIEBJbnB1dCgpIGljb246IE1vZGFsSWNvbkRhdGE7XG4gIEBJbnB1dCgpIGhlYWRpbmdMZXZlbDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGlzRGlzbWlzc2libGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgY2FsbGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbGlja0J1dHRvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRpdGxlQ29tcG9uZW50KVxuICB0aXRsZUNvbXBvbmVudDogVGl0bGVDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKERlc2NyaXB0aW9uQ29tcG9uZW50KVxuICBkZXNjcmlwdGlvbkNvbXBvbmVudDogRGVzY3JpcHRpb25Db21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpXG4gIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQpIHByaW1hcnlCdXR0b25Db21wb25lbnRzOiBRdWVyeUxpc3Q8TW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudCkgc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50czogUXVlcnlMaXN0PE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudClcbiAgcHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxNb2RhbEJ1dHRvbkxvYWRlclByaW1hcnlDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE1vZGFsQnV0dG9uTG9hZGVyU2Vjb25kYXJ5Q29tcG9uZW50KVxuICBzZWNvbmRhcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzOiBRdWVyeUxpc3Q8TW9kYWxCdXR0b25Mb2FkZXJTZWNvbmRhcnlDb21wb25lbnQ+O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihJY29uQ29tcG9uZW50KVxuICBpY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gIGhhc0ljb25Db250ZW50ID0gdHJ1ZTtcbiAgZGVzY3JpcHRpb25Jc0h0bWwgPSB0cnVlO1xuICBkZXNjcmlwdGlvbklzRW1wdHkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBjbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlTW9kYWwuZW1pdCgpO1xuICB9XG5cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIGxldCB0eXBlOiBzdHJpbmc7XG4gICAgaWYgKHRoaXMuaWNvbkNvbXBvbmVudCkge1xuICAgICAgdHlwZSA9IHRoaXMuaWNvbkNvbXBvbmVudC50eXBlID8gdGhpcy5pY29uQ29tcG9uZW50LnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6IG51bGw7XG4gICAgfSBlbHNlIGlmICh0aGlzLmljb24udHlwZSkge1xuICAgICAgdHlwZSA9IHRoaXMuaWNvbi50eXBlID8gdGhpcy5pY29uLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBjaGVja0Rlc2NyaXB0aW9uQ29udGVudChlbGVtZW50OiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRzOiBOb2RlTGlzdE9mPENoaWxkTm9kZT4gPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICBsZXQgaGFzSHRtbCA9IGZhbHNlO1xuICAgIGxldCBoYXNDb250ZW50ID0gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHMubGVuZ3RoICYmICFoYXNIdG1sOyBpKyspIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBjaGlsZHMuaXRlbShpKTtcbiAgICAgIGlmIChpdGVtLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSAmJiBpdGVtLnRleHRDb250ZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgaGFzQ29udGVudCA9IHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGl0ZW0ubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFIHx8IGl0ZW0ubm9kZVR5cGUgPT09IE5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFKSB7XG4gICAgICAgIGhhc0h0bWwgPSB0cnVlO1xuICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbldhc0VtcHR5ID0gdGhpcy5kZXNjcmlwdGlvbklzRW1wdHk7XG4gICAgdGhpcy5kZXNjcmlwdGlvbklzRW1wdHkgPSAhaGFzQ29udGVudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uSXNIdG1sID0gaGFzSHRtbDtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNsaWNrQnV0dG9uRW1pdChpdGVtOiBNb2RhbEJ1dHRvbkRhdGEsIGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja0J1dHRvbi5lbWl0KGV2ZW50KTtcblxuICAgIGlmIChcbiAgICAgIGl0ZW0gaW5zdGFuY2VvZiBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQgfHxcbiAgICAgIGl0ZW0gaW5zdGFuY2VvZiBNb2RhbEJ1dHRvblNlY29uZGFyeUNvbXBvbmVudCB8fFxuICAgICAgaXRlbSBpbnN0YW5jZW9mIE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudCB8fFxuICAgICAgaXRlbSBpbnN0YW5jZW9mIE1vZGFsQnV0dG9uTG9hZGVyU2Vjb25kYXJ5Q29tcG9uZW50XG4gICAgKSB7XG4gICAgICBpdGVtLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSWNvbkNvbnRlbnRFbXB0eShpc0VtcHR5OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oYXNJY29uQ29udGVudCA9ICFpc0VtcHR5O1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0VGl0bGVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNsYXNzZXMgPSAnYy1oMiBweC1iYXNlIHRleHQtY2VudGVyIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czp1bmRlcmxpbmUnO1xuICAgIGlmICh0aGlzLnRpdGxlQ29tcG9uZW50ICYmIHRoaXMudGl0bGVDb21wb25lbnQuY2xhc3Nlcykge1xuICAgICAgY2xhc3NlcyA9IHRoaXMudGl0bGVDb21wb25lbnQuY2xhc3NlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMudGl0bGVNb2RhbCAmJiB0aGlzLnRpdGxlTW9kYWwuY2xhc3Nlcykge1xuICAgICAgY2xhc3NlcyA9IHRoaXMudGl0bGVNb2RhbC5jbGFzc2VzO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldERlc2NyaXB0aW9uQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGxldCBjbGFzc2VzID0gJ2MtcGFyYWdyYXBoLWJhc2UgbXktYmFzZSB0ZXh0LWNlbnRlcic7XG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb25Db21wb25lbnQgJiYgdGhpcy5kZXNjcmlwdGlvbkNvbXBvbmVudC5jbGFzc2VzKSB7XG4gICAgICBjbGFzc2VzID0gdGhpcy5kZXNjcmlwdGlvbkNvbXBvbmVudC5jbGFzc2VzO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kZXNjcmlwdGlvbiAmJiB0aGlzLmRlc2NyaXB0aW9uLmNsYXNzZXMpIHtcbiAgICAgIGNsYXNzZXMgPSB0aGlzLmRlc2NyaXB0aW9uLmNsYXNzZXM7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgZ2V0UHJpbWFyeUl0ZW1zKCk6IE1vZGFsQnV0dG9uRGF0YVtdIHwgTW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzICYmIHRoaXMucHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnByaW1hcnlCdXR0b25Db21wb25lbnRzLnRvQXJyYXkoKVxuICAgICAgOiB0aGlzLml0ZW1zUHJpbWFyeTtcbiAgfVxuXG4gIGdldFNlY29uZGFyeUl0ZW1zKCk6IE1vZGFsQnV0dG9uRGF0YVtdIHwgTW9kYWxCdXR0b25QcmltYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHMgJiYgdGhpcy5zZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDBcbiAgICAgID8gdGhpcy5zZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLnRvQXJyYXkoKVxuICAgICAgOiB0aGlzLml0ZW1zU2Vjb25kYXJ5O1xuICB9XG5cbiAgZ2V0UHJpbWFyeUxvYWRlckl0ZW1zKCk6IE1vZGFsQnV0dG9uRGF0YVtdIHwgTW9kYWxCdXR0b25Mb2FkZXJQcmltYXJ5Q29tcG9uZW50W10ge1xuICAgIHJldHVybiB0aGlzLnByaW1hcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzICYmIHRoaXMucHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnByaW1hcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLnRvQXJyYXkoKVxuICAgICAgOiB0aGlzLml0ZW1zTG9hZGVyUHJpbWFyeTtcbiAgfVxuXG4gIGdldFNlY29uZGFyeUxvYWRlckl0ZW1zKCk6IE1vZGFsQnV0dG9uRGF0YVtdIHwgTW9kYWxCdXR0b25Mb2FkZXJTZWNvbmRhcnlDb21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kYXJ5QnV0dG9uTG9hZGVyQ29tcG9uZW50cyAmJiB0aGlzLnNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMudG9BcnJheSgpXG4gICAgICA6IHRoaXMuaXRlbXNMb2FkZXJTZWNvbmRhcnk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cIlxuICAgIFsnbXQtMTYgc206bXQtMCByZWxhdGl2ZSBtYXgtdy1sZyBteC1hdXRvIHAtYmFzZSBsZzpwLWxnIGJvcmRlciBib3JkZXItbmV1dHJhbC1iYXNlIHJvdW5kZWQgYmctd2hpdGUnLCBjbGFzc2VzXVxuICAgICAgfCBtYWtlSHRtbExpc3RcbiAgXCJcbiAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJpY29uQ29tcG9uZW50IHx8IGljb25cIlxuICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBwLWJhc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGljb25Db21wb25lbnQsIGh0bWw6IGljb24gPyBpY29uLmh0bWwgOiBudWxsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpY29uQ29tcG9uZW50ID8gaWNvbkNvbXBvbmVudC50eXBlIDogaWNvbi50eXBlXCI+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCInZGlzY2FyZCdcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgY2xhc3M9XCJibG9jayB3LTE2IGgtMTYgdGV4dC1hbGVydC1saWdodFwiXG4gICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTIsMEExMiwxMiwwLDEsMCwyNCwxMiwxMiwxMiwwLDAsMCwxMiwwWk01LjI5LDUuMjlhOS42Myw5LjYzLDAsMCwxLDEyLjIzLTEsLjI2LjI2LDAsMCwxLDAsLjRMNC42NywxNy41NmEuMjcuMjcsMCwwLDEtLjQsMCw5LjQ5LDkuNDksMCwwLDEsMS0xMi4yNFpNMTguNzUsMTguNzZhOS41Myw5LjUzLDAsMCwxLTEyLjIzLDEsLjI2LjI2LDAsMCwxLDAtLjRMMTkuMzcsNi40OWEuMjYuMjYsMCwwLDEsLjQsMCw5LjQ5LDkuNDksMCwwLDEtMSwxMi4yNFpcIlxuICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkZWxldGUnXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgIGNsYXNzPVwiYmxvY2sgdy0xNiBoLTE2IHRleHQtYWxlcnQtbGlnaHRcIlxuICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTkuNSw3LjVINC41QS41LjUsMCwwLDAsNCw4VjIyYTIsMiwwLDAsMCwyLDJIMThhMiwyLDAsMCwwLDItMlY4QS41LjUsMCwwLDAsMTkuNSw3LjVabS05LjI1LDEzYS43NS43NSwwLDAsMS0xLjUsMHYtOWEuNzUuNzUsMCwwLDEsMS41LDBabTUsMGEuNzUuNzUsMCwwLDEtMS41LDB2LTlhLjc1Ljc1LDAsMCwxLDEuNSwwWlwiXG4gICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTIyLDRIMTcuMjVBLjI1LjI1LDAsMCwxLDE3LDMuNzVWMi41QTIuNSwyLjUsMCwwLDAsMTQuNSwwaC01QTIuNSwyLjUsMCwwLDAsNywyLjVWMy43NUEuMjUuMjUsMCwwLDEsNi43NSw0SDJBMSwxLDAsMCwwLDIsNkgyMmExLDEsMCwwLDAsMC0yWk05LDMuNzVWMi41QS41LjUsMCwwLDEsOS41LDJoNWEuNS41LDAsMCwxLC41LjVWMy43NWEuMjUuMjUsMCwwLDEtLjI1LjI1SDkuMjVBLjI1LjI1LDAsMCwxLDksMy43NVpcIlxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCIncHVibGlzaCdcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgICAgY2xhc3M9XCJibG9jayB3LTE2IGgtMTYgdGV4dC1wcmltYXJ5LWxpZ2h0XCJcbiAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0yMy44MiwxLjEyQS41LjUsMCwwLDAsMjMuMzEsMWwtMjMsOS41QS41LjUsMCwwLDAsMCwxMWEuNTEuNTEsMCwwLDAsLjMyLjQ2bDYuMzMsMi40NWEuNTIuNTIsMCwwLDAsLjQ3LS4wNWw4LjQtNmEuNS41LDAsMCwxLC42NC43N2wtNyw2Ljc1YS41MS41MSwwLDAsMC0uMTUuMzZWMjIuNWEuNDkuNDksMCwwLDAsLjM3LjQ4LjQ5LjQ5LDAsMCwwLC41Ni0uMjNsMy4xNy01LjQyYS4yNS4yNSwwLDAsMSwuMzMtLjFsNS44MywzLjIxYS41LjUsMCwwLDAsLjczLS4zM2w0LTE4LjVBLjUuNSwwLDAsMCwyMy44MiwxLjEyWlwiXG4gICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NoYW5nZXMnXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICAgIGhlaWdodD1cIjFlbVwiXG4gICAgICAgIGNsYXNzPVwiYmxvY2sgdy0xNiBoLTE2IHRleHQtcHJpbWFyeS1saWdodFwiXG4gICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk0xMiwxM2ExLDEsMCwwLDAsMS0xVjhhMSwxLDAsMSwwLTIsMHY0QTEsMSwwLDAsMCwxMiwxM1pcIlxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cbiAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICBjeD1cIjExLjk5XCJcbiAgICAgICAgICAgIGN5PVwiMTUuNzFcIlxuICAgICAgICAgICAgcj1cIjEuMjVcIlxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvY2lyY2xlPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTE5LjI5LDUuNTNhOS43Miw5LjcyLDAsMCwwLTkuNTUtM0ExMC4yNSwxMC4yNSwwLDAsMCwyLjM4LDkuNjFhLjI2LjI2LDAsMCwxLS4yNy4xOGwtMS0uMTNhLjQ3LjQ3LDAsMCwwLS40Ny4yMi40Ny40NywwLDAsMCwwLC41MmwyLjQ3LDQuMzVhLjUxLjUxLDAsMCwwLC40NC4yNS41Mi41MiwwLDAsMCwuMzYtLjE2bDMuNDctMy41OWEuNDguNDgsMCwwLDAsLjEyLS41MUEuNS41LDAsMCwwLDcsMTAuNDFsLTEuODgtLjI0QS4yMy4yMywwLDAsMSw1LDEwLjA1YS4yMi4yMiwwLDAsMSwwLS4yMSw3LjY3LDcuNjcsMCwwLDEsNS4zNy00LjksNy4yMyw3LjIzLDAsMCwxLDcuMSwyLjI1LDEuMjUsMS4yNSwwLDEsMCwxLjg3LTEuNjZaXCJcbiAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNNC43OSwxNi43YTEuMjQsMS4yNCwwLDAsMC0uMTEsMS43Niw5LjcyLDkuNzIsMCwwLDAsOS41NSwzLDEwLjI0LDEwLjI0LDAsMCwwLDcuMzctNy4xMi4yNC4yNCwwLDAsMSwuMjctLjE3bDEuMDYuMTJhLjUuNSwwLDAsMCwuNDgtLjIyLjQ5LjQ5LDAsMCwwLDAtLjUybC0yLjUtNC4zM0EuNTEuNTEsMCwwLDAsMjAuNTUsOWEuNTIuNTIsMCwwLDAtLjQzLjE1bC0zLjQ1LDMuNjJhLjUuNSwwLDAsMC0uMTEuNTEuNDkuNDksMCwwLDAsLjQxLjMzbDEuODUuMjJBLjI1LjI1LDAsMCwxLDE5LDE0YS4yMi4yMiwwLDAsMSwwLC4yMSw3LjY3LDcuNjcsMCwwLDEtNS4zNiw0LjksNy4yNiw3LjI2LDAsMCwxLTcuMTEtMi4yNUExLjI0LDEuMjQsMCwwLDAsNC43OSwxNi43WlwiXG4gICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidlZGl0J1wiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgICBjbGFzcz1cImJsb2NrIHctMTYgaC0xNiB0ZXh0LXByaW1hcnktbGlnaHRcIlxuICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTMuOTQsMTVhMiwyLDAsMCwxLS42Ny40NUw5LjczLDE2Ljg2YTIsMiwwLDAsMS0yLjYtMi42bDEuNDEtMy41M0EyLjE4LDIuMTgsMCwwLDEsOSwxMC4wNWw1Ljg4LTUuODhhLjI1LjI1LDAsMCwwLS4xNy0uNDNIMy4zN0EzLjEyLDMuMTIsMCwwLDAsLjI1LDYuODZWMjAuNjJhMy4xMiwzLjEyLDAsMCwwLDMuMTIsMy4xMkgxNy4xM2EzLjEyLDMuMTIsMCwwLDAsMy4xMi0zLjEyVjkuMjlhLjI1LjI1LDAsMCwwLS40My0uMTdaXCJcbiAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTguNTcsMy4zYS41MS41MSwwLDAsMC0uNzEsMGwtNy44MSw3LjgyYS4zNi4zNiwwLDAsMC0uMTEuMTZMOC41MiwxNC44MmEuNTEuNTEsMCwwLDAsLjExLjU0LjU0LjU0LDAsMCwwLC41NC4xMWwzLjU0LTEuNDJhLjQ1LjQ1LDAsMCwwLC4xNy0uMTFsNy44MS03LjgxYS41MS41MSwwLDAsMCwuMTUtLjM1LjUzLjUzLDAsMCwwLS4xNS0uMzZaXCJcbiAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMjMuMTYsMy42NWEyLDIsMCwwLDAsMC0yLjgyLDIsMiwwLDAsMC0yLjgzLDBMMTkuMjgsMS44OWEuNTYuNTYsMCwwLDAtLjE1LjM1LjQ3LjQ3LDAsMCwwLC4xNS4zNUwyMS40LDQuNzFhLjQ3LjQ3LDAsMCwwLC4zNS4xNS41Ny41NywwLDAsMCwuMzUtLjE1WlwiXG4gICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaGVhZGluZ0xldmVsID4gMCAmJiBoZWFkaW5nTGV2ZWwgPCA2ID8gaGVhZGluZ0xldmVsIDogMlwiPlxuICAgIDxoMVxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIjFcIlxuICAgICAgW2F0dHIuaWRdPVwiJ2xhYmVsLScgKyBpZFwiXG4gICAgICBbY2xhc3NdPVwiZ2V0VGl0bGVDbGFzc2VzKClcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMudGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgaHRtbDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLmh0bWwgOiBudWxsLFxuICAgICAgICAgIHRleHQ6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC50ZXh0IDogbnVsbCxcbiAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDE+XG4gICAgPGgyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiMlwiXG4gICAgICBbYXR0ci5pZF09XCInbGFiZWwtJyArIGlkXCJcbiAgICAgIFtjbGFzc109XCJnZXRUaXRsZUNsYXNzZXMoKVwiXG4gICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcy50aXRsZUNvbXBvbmVudCxcbiAgICAgICAgICBodG1sOiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwuaHRtbCA6IG51bGwsXG4gICAgICAgICAgdGV4dDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLnRleHQgOiBudWxsLFxuICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oMj5cbiAgICA8aDNcbiAgICAgICpuZ1N3aXRjaENhc2U9XCIzXCJcbiAgICAgIFthdHRyLmlkXT1cIidsYWJlbC0nICsgaWRcIlxuICAgICAgW2NsYXNzXT1cImdldFRpdGxlQ2xhc3NlcygpXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLnRpdGxlQ29tcG9uZW50LFxuICAgICAgICAgIGh0bWw6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC5odG1sIDogbnVsbCxcbiAgICAgICAgICB0ZXh0OiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwudGV4dCA6IG51bGwsXG4gICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2gzPlxuICAgIDxoNFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIjRcIlxuICAgICAgW2F0dHIuaWRdPVwiJ2xhYmVsLScgKyBpZFwiXG4gICAgICBbY2xhc3NdPVwiZ2V0VGl0bGVDbGFzc2VzKClcIlxuICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMudGl0bGVDb21wb25lbnQsXG4gICAgICAgICAgaHRtbDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLmh0bWwgOiBudWxsLFxuICAgICAgICAgIHRleHQ6IHRoaXMudGl0bGVNb2RhbCA/IHRoaXMudGl0bGVNb2RhbC50ZXh0IDogbnVsbCxcbiAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaDQ+XG4gICAgPGg1XG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiNVwiXG4gICAgICBbYXR0ci5pZF09XCInbGFiZWwtJyArIGlkXCJcbiAgICAgIFtjbGFzc109XCJnZXRUaXRsZUNsYXNzZXMoKVwiXG4gICAgICB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcy50aXRsZUNvbXBvbmVudCxcbiAgICAgICAgICBodG1sOiB0aGlzLnRpdGxlTW9kYWwgPyB0aGlzLnRpdGxlTW9kYWwuaHRtbCA6IG51bGwsXG4gICAgICAgICAgdGV4dDogdGhpcy50aXRsZU1vZGFsID8gdGhpcy50aXRsZU1vZGFsLnRleHQgOiBudWxsLFxuICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9oNT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGVzY3JpcHRpb25Jc0h0bWxcIlxuICAgIFtjbGFzc109XCJnZXREZXNjcmlwdGlvbkNsYXNzZXMoKVwiXG4gICAgKGRlc3lDb250ZW50Q2hhbmdlKT1cImNoZWNrRGVzY3JpcHRpb25Db250ZW50KCRldmVudClcIlxuICAgIFtvYnNlcnZlUHJvcGVydGllc109XCJ7IGF0dHJpYnV0ZXM6IGZhbHNlLCBjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWUsIHN1YnRyZWU6IHRydWUgfVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICBjb21wb25lbnQ6IGRlc2NyaXB0aW9uQ29tcG9uZW50LFxuICAgICAgICBodG1sOiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLmh0bWwgOiBudWxsLFxuICAgICAgICB0ZXh0OiBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uLnRleHQgOiBudWxsLFxuICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPHBcbiAgICAqbmdJZj1cIiFkZXNjcmlwdGlvbklzSHRtbFwiXG4gICAgW2NsYXNzXT1cImdldERlc2NyaXB0aW9uQ2xhc3NlcygpXCJcbiAgICAoZGVzeUNvbnRlbnRDaGFuZ2UpPVwiY2hlY2tEZXNjcmlwdGlvbkNvbnRlbnQoJGV2ZW50KVwiXG4gICAgW29ic2VydmVQcm9wZXJ0aWVzXT1cInsgYXR0cmlidXRlczogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgIGNvbXBvbmVudDogZGVzY3JpcHRpb25Db21wb25lbnQsXG4gICAgICAgIGh0bWw6IGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb24uaHRtbCA6IG51bGwsXG4gICAgICAgIHRleHQ6IGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb24udGV4dCA6IG51bGwsXG4gICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvcD5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJjb250ZW50Q29tcG9uZW50IHx8IGNhbGxlclwiXG4gICAgY2xhc3M9XCJwLWJhc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbnRlbnRDb21wb25lbnQsIHRlbXBsYXRlOiBjYWxsZXIgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtc20gdy1mdWxsXCJcbiAgICAqbmdJZj1cIlxuICAgICAgaXRlbXNQcmltYXJ5IHx8XG4gICAgICAocHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMgJiYgcHJpbWFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkgfHxcbiAgICAgIGl0ZW1zU2Vjb25kYXJ5IHx8XG4gICAgICAoc2Vjb25kYXJ5QnV0dG9uQ29tcG9uZW50cyAmJiBzZWNvbmRhcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDApXG4gICAgXCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIChpdGVtc1ByaW1hcnkgfHwgKHByaW1hcnlCdXR0b25Db21wb25lbnRzICYmIHByaW1hcnlCdXR0b25Db21wb25lbnRzLmxlbmd0aCA+IDApKSAmJlxuICAgICAgKGl0ZW1zU2Vjb25kYXJ5IHx8IChzZWNvbmRhcnlCdXR0b25Db21wb25lbnRzICYmIHNlY29uZGFyeUJ1dHRvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkpXG4gICAgICAgID8gJ2p1c3RpZnktYmV0d2VlbidcbiAgICAgICAgOiAnanVzdGlmeS1jZW50ZXInXG4gICAgXCI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAjYnV0dG9uc1xuICAgICAgbGV0LWl0ZW1zPVwiaXRlbXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJtdC1zbVwiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPT09IDFcIj5cbiAgICAgICAgICA8ZGVzeS1idXR0b25cbiAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrQnV0dG9uRW1pdChpdGVtc1swXSwgJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbXNbMF0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzZXNdPVwiaXRlbXNbMF0uY2xhc3Nlc1wiXG4gICAgICAgICAgICBbaWRdPVwiaXRlbXNbMF0uaWRcIlxuICAgICAgICAgICAgW3RleHRdPVwiaXRlbXNbMF0udGV4dFwiXG4gICAgICAgICAgICBbaHRtbF09XCJpdGVtc1swXS5odG1sXCJcbiAgICAgICAgICAgIFtlbGVtZW50XT1cIml0ZW1zWzBdLmVsZW1lbnRcIlxuICAgICAgICAgICAgW25hbWVdPVwiaXRlbXNbMF0ubmFtZVwiXG4gICAgICAgICAgICBbdHlwZV09XCJpdGVtc1swXS50eXBlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtc1swXS52YWx1ZVwiXG4gICAgICAgICAgICBbaHJlZl09XCJpdGVtc1swXS5ocmVmXCJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbXNbMF0udGFyZ2V0XCJcbiAgICAgICAgICAgIFtwcmV2ZW50RG91YmxlQ2xpY2tdPVwiaXRlbXNbMF0ucHJldmVudERvdWJsZUNsaWNrXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW1zWzBdLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVDbGFzc2VzXT1cIml0ZW1zWzBdLnJvdXRlckxpbmtBY3RpdmVDbGFzc2VzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW1zWzBdLCB0ZXh0OiBpdGVtc1swXS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rlc3ktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEZJWE1FIERlIG1vbWVudG8gc2UgbWFudGllbmUgZWwgbmJzcCBwb3Igbm8gdGVuZXIgY2xhc2VzIGRpZmVyZW50ZXMgYSBkZXN5LWh0bWwuXG4gICAgICAgICAgICAgIEVsaW1pbmFyIGFsIGFkYXB0YXIgYSB1bmEgdmVyc2nDs24gZGUgZGVzeS1odG1sIHF1ZSBsbyBjb250ZW1wbGUgLS0+XG4gICAgICAgIDx1bFxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXNtXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1zLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIDxkZXN5LWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrQnV0dG9uRW1pdChpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiaXRlbS5jbGFzc2VzXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgICAgICAgICAgICBbaHRtbF09XCJpdGVtLmh0bWxcIlxuICAgICAgICAgICAgICAgIFtlbGVtZW50XT1cIml0ZW0uZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJpdGVtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFtwcmV2ZW50RG91YmxlQ2xpY2tdPVwiaXRlbS5wcmV2ZW50RG91YmxlQ2xpY2tcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVDbGFzc2VzXT1cIml0ZW0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGVzeS1idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zOyBjb250ZXh0OiB7IGl0ZW1zOiBnZXRQcmltYXJ5SXRlbXMoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnM7IGNvbnRleHQ6IHsgaXRlbXM6IGdldFNlY29uZGFyeUl0ZW1zKCkgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8IS0tIEJ1dHRvbiBsb2FkZXIgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC1zbSB3LWZ1bGxcIlxuICAgICpuZ0lmPVwiXG4gICAgICAocHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMgJiYgcHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMCkgfHxcbiAgICAgIChzZWNvbmRhcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzICYmIHNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMClcbiAgICBcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgcHJpbWFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMgJiZcbiAgICAgIHByaW1hcnlCdXR0b25Mb2FkZXJDb21wb25lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgIHNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMgJiZcbiAgICAgIHNlY29uZGFyeUJ1dHRvbkxvYWRlckNvbXBvbmVudHMubGVuZ3RoID4gMFxuICAgICAgICA/ICdqdXN0aWZ5LWJldHdlZW4nXG4gICAgICAgIDogJ2p1c3RpZnktY2VudGVyJ1xuICAgIFwiPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgI2J1dHRvbnNMb2FkZXJcbiAgICAgIGxldC1pdGVtcz1cIml0ZW1zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibXQtc21cIlxuICAgICAgICAgICpuZ0lmPVwiaXRlbXMubGVuZ3RoID09PSAxXCI+XG4gICAgICAgICAgPGRlc3ktYnV0dG9uLWxvYWRlclxuICAgICAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tCdXR0b25FbWl0KGl0ZW1zWzBdLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtsb2FkZXJUZXh0XT1cIml0ZW1zWzBdLmxvYWRlclRleHRcIlxuICAgICAgICAgICAgW2xvYWRlckNsYXNzZXNdPVwiaXRlbXNbMF0ubG9hZGVyQ2xhc3Nlc1wiXG4gICAgICAgICAgICBbc3RhdGVdPVwiaXRlbXNbMF0uc3RhdGVcIlxuICAgICAgICAgICAgW3N1Y2Nlc3NUZXh0XT1cIml0ZW1zWzBdLnN1Y2Nlc3NUZXh0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtc1swXS5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2xhc3Nlc109XCJcbiAgICAgICAgICAgICAgaXRlbXNbMF0uc3RhdGUgPT09IG51bGwgfHwgaXRlbXNbMF0uc3RhdGUgPT09ICdpcy1zdWNjZXNzJ1xuICAgICAgICAgICAgICAgID8gaXRlbXNbMF0uY2xhc3Nlc1xuICAgICAgICAgICAgICAgIDogaXRlbXNbMF0uY2xhc3NlcyArICcgYy1idXR0b24tbG9hZGVyLS1pcy1sb2FkaW5nJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtpZF09XCJpdGVtc1swXS5pZFwiXG4gICAgICAgICAgICBbdGV4dF09XCJpdGVtc1swXS50ZXh0XCJcbiAgICAgICAgICAgIFtodG1sXT1cIml0ZW1zWzBdLmh0bWxcIlxuICAgICAgICAgICAgW2VsZW1lbnRdPVwiaXRlbXNbMF0uZWxlbWVudFwiXG4gICAgICAgICAgICBbbmFtZV09XCJpdGVtc1swXS5uYW1lXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIml0ZW1zWzBdLnR5cGVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1zWzBdLnZhbHVlXCJcbiAgICAgICAgICAgIFtocmVmXT1cIml0ZW1zWzBdLmhyZWZcIlxuICAgICAgICAgICAgW3RhcmdldF09XCJpdGVtc1swXS50YXJnZXRcIlxuICAgICAgICAgICAgW3ByZXZlbnREb3VibGVDbGlja109XCJpdGVtc1swXS5wcmV2ZW50RG91YmxlQ2xpY2tcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbXNbMF0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZUNsYXNzZXNdPVwiaXRlbXNbMF0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaXRlbXNbMF0sIHRleHQ6IGl0ZW1zWzBdLnRleHQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGVzeS1idXR0b24tbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8dWxcbiAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC1zbVwiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICA8ZGVzeS1idXR0b24tbG9hZGVyXG4gICAgICAgICAgICAgICAgKGNsaWNrRXZlbnQpPVwiY2xpY2tCdXR0b25FbWl0KGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgIFtsb2FkZXJUZXh0XT1cIml0ZW0ubG9hZGVyVGV4dFwiXG4gICAgICAgICAgICAgICAgW2xvYWRlckNsYXNzZXNdPVwiaXRlbS5sb2FkZXJDbGFzc2VzXCJcbiAgICAgICAgICAgICAgICBbc3RhdGVdPVwiaXRlbS5zdGF0ZVwiXG4gICAgICAgICAgICAgICAgW3N1Y2Nlc3NUZXh0XT1cIml0ZW0uc3VjY2Vzc1RleHRcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJcbiAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhdGUgPT09IG51bGwgfHwgaXRlbS5zdGF0ZSA9PT0gJ2lzLXN1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgID8gaXRlbS5jbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgIDogaXRlbS5jbGFzc2VzICsgJyBjLWJ1dHRvbi1sb2FkZXItLWlzLWxvYWRpbmcnXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwiaXRlbS50ZXh0XCJcbiAgICAgICAgICAgICAgICBbaHRtbF09XCJpdGVtLmh0bWxcIlxuICAgICAgICAgICAgICAgIFtlbGVtZW50XT1cIml0ZW0uZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJpdGVtLnR5cGVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiaXRlbS50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFtwcmV2ZW50RG91YmxlQ2xpY2tdPVwiaXRlbS5wcmV2ZW50RG91YmxlQ2xpY2tcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVDbGFzc2VzXT1cIml0ZW0ucm91dGVyTGlua0FjdGl2ZUNsYXNzZXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0sIHRleHQ6IGl0ZW0udGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGVzeS1idXR0b24tbG9hZGVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICZuYnNwO1xuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uc0xvYWRlcjsgY29udGV4dDogeyBpdGVtczogZ2V0UHJpbWFyeUxvYWRlckl0ZW1zKCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zTG9hZGVyOyBjb250ZXh0OiB7IGl0ZW1zOiBnZXRTZWNvbmRhcnlMb2FkZXJJdGVtcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGlzbWlzc2libGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgdG9wLTAgcmlnaHQtMCBwLXNtIGxnOnAtYmFzZVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiXG4gICAgICAgIGNsYXNzPVwicC1zbSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6Ym9yZGVyLXdhcm5pbmctYmFzZSBmb2N1czpzaGFkb3ctb3V0bGluZS1ibGFjayBmb2N1czp0ZXh0LWJsYWNrIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJYOiBDZXJyYXIgbGEgdmVudGFuYSBlbWVyZ2VudGVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIlxuICAgICAgICAgIHdpZHRoPVwiMWVtXCJcbiAgICAgICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgICAgIGNsYXNzPVwidy00IGgtNFwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNODUuOTEgNzEuNzdhMi41IDIuNSAwIDAxMC0zLjU0bDQ2LjE2LTQ2LjE2YTEwIDEwIDAgMTAtMTQuMTQtMTQuMTRMNzEuNzcgNTQuMDlhMi41IDIuNSAwIDAxLTMuNTQgMEwyMi4wNyA3LjkzQTEwIDEwIDAgMDA3LjkzIDIyLjA3bDQ2LjE2IDQ2LjE2YTIuNSAyLjUgMCAwMTAgMy41NEw3LjkzIDExNy45M2ExMCAxMCAwIDAwMTQuMTQgMTQuMTRsNDYuMTYtNDYuMTZhMi41IDIuNSAwIDAxMy41NCAwbDQ2LjE2IDQ2LjE2YTEwIDEwIDAgMDAxNC4xNC0xNC4xNHpcIlxuICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -17,19 +17,13 @@ export class DesyModalsModule {
|
|
|
17
17
|
ModalButtonSecondaryComponent,
|
|
18
18
|
ModalButtonLoaderPrimaryComponent,
|
|
19
19
|
ModalButtonLoaderSecondaryComponent,
|
|
20
|
-
DialogComponent], imports: [CommonModule,
|
|
21
|
-
A11yModule,
|
|
22
|
-
SharedModule,
|
|
23
|
-
DesyButtonsModule], exports: [ModalComponent,
|
|
20
|
+
DialogComponent], imports: [CommonModule, A11yModule, SharedModule, DesyButtonsModule], exports: [ModalComponent,
|
|
24
21
|
ModalButtonPrimaryComponent,
|
|
25
22
|
ModalButtonSecondaryComponent,
|
|
26
23
|
ModalButtonLoaderPrimaryComponent,
|
|
27
24
|
ModalButtonLoaderSecondaryComponent,
|
|
28
25
|
DialogComponent] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyModalsModule, imports: [CommonModule,
|
|
30
|
-
A11yModule,
|
|
31
|
-
SharedModule,
|
|
32
|
-
DesyButtonsModule] }); }
|
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyModalsModule, imports: [CommonModule, A11yModule, SharedModule, DesyButtonsModule] }); }
|
|
33
27
|
}
|
|
34
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DesyModalsModule, decorators: [{
|
|
35
29
|
type: NgModule,
|
|
@@ -40,22 +34,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40
34
|
ModalButtonSecondaryComponent,
|
|
41
35
|
ModalButtonLoaderPrimaryComponent,
|
|
42
36
|
ModalButtonLoaderSecondaryComponent,
|
|
43
|
-
DialogComponent
|
|
44
|
-
],
|
|
45
|
-
imports: [
|
|
46
|
-
CommonModule,
|
|
47
|
-
A11yModule,
|
|
48
|
-
SharedModule,
|
|
49
|
-
DesyButtonsModule
|
|
37
|
+
DialogComponent,
|
|
50
38
|
],
|
|
39
|
+
imports: [CommonModule, A11yModule, SharedModule, DesyButtonsModule],
|
|
51
40
|
exports: [
|
|
52
41
|
ModalComponent,
|
|
53
42
|
ModalButtonPrimaryComponent,
|
|
54
43
|
ModalButtonSecondaryComponent,
|
|
55
44
|
ModalButtonLoaderPrimaryComponent,
|
|
56
45
|
ModalButtonLoaderSecondaryComponent,
|
|
57
|
-
DialogComponent
|
|
46
|
+
DialogComponent,
|
|
58
47
|
],
|
|
59
48
|
}]
|
|
60
49
|
}] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1tb2RhbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvZGVzeS1tb2RhbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUN6SSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwwRkFBMEYsQ0FBQzs7QUFxQi9JLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQWpCekIsY0FBYztZQUNkLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsaUNBQWlDO1lBQ2pDLG1DQUFtQztZQUNuQyxlQUFlLGFBRVAsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLGFBRWpFLGNBQWM7WUFDZCwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyxtQ0FBbUM7WUFDbkMsZUFBZTtnSEFHTixnQkFBZ0IsWUFWakIsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCOzs0RkFVeEQsZ0JBQWdCO2tCQW5CNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDO29CQUNwRSxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGVzeUJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9kZXN5LWJ1dHRvbnMvZGVzeS1idXR0b25zLm1vZHVsZSc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtYnV0dG9uLXByaW1hcnkvbW9kYWwtYnV0dG9uLXByaW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQnV0dG9uU2Vjb25kYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLWJ1dHRvbi1zZWNvbmRhcnkvbW9kYWwtYnV0dG9uLXNlY29uZGFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQnV0dG9uTG9hZGVyUHJpbWFyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC1idXR0b24tbG9hZGVyLXByaW1hcnkvbW9kYWwtYnV0dG9uLWxvYWRlci1wcmltYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbEJ1dHRvbkxvYWRlclNlY29uZGFyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC1idXR0b24tbG9hZGVyLXNlY29uZGFyeS9tb2RhbC1idXR0b24tbG9hZGVyLXNlY29uZGFyeS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQsXG4gICAgTW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnQsXG4gICAgTW9kYWxCdXR0b25Mb2FkZXJQcmltYXJ5Q29tcG9uZW50LFxuICAgIE1vZGFsQnV0dG9uTG9hZGVyU2Vjb25kYXJ5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQTExeU1vZHVsZSwgU2hhcmVkTW9kdWxlLCBEZXN5QnV0dG9uc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBNb2RhbEJ1dHRvblByaW1hcnlDb21wb25lbnQsXG4gICAgTW9kYWxCdXR0b25TZWNvbmRhcnlDb21wb25lbnQsXG4gICAgTW9kYWxCdXR0b25Mb2FkZXJQcmltYXJ5Q29tcG9uZW50LFxuICAgIE1vZGFsQnV0dG9uTG9hZGVyU2Vjb25kYXJ5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeU1vZGFsc01vZHVsZSB7fVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9pbnRlcmZhY2VzL2RpYWxvZy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5RGF0YSB9IGZyb20gJy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2FjY2Vzc2liaWxpdHktZGF0YSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nT3B0aW9ucyBleHRlbmRzIEFjY2Vzc2liaWxpdHlEYXRhIHtcbiAgaWQ6IGFueTtcbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgZm9jdXNPbkNsb3NlPzogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG4gIGRpc21pc3NPbkJhY2tkcm9wPzogYm9vbGVhbjtcbiAgcm9vdFZpZXdDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmO1xuICBmb2N1c09uU2hvdz86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYnV0dG9uLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW1vZGFscy9pbnRlcmZhY2VzL21vZGFsLWJ1dHRvbi1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1vZGFsQnV0dG9uRGF0YSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmc7XG5cbiAgaWQ/OiBzdHJpbmc7XG4gIGh0bWw/OiBzdHJpbmc7XG5cbiAgZWxlbWVudD86IHN0cmluZzsgLy8gJ2EnLCAnYnV0dG9uJyBvICdpbnB1dCdcbiAgbmFtZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0Pzogc3RyaW5nO1xuICBwcmV2ZW50RG91YmxlQ2xpY2s/OiBib29sZWFuO1xuXG4gIHJvdXRlckxpbms/OiBzdHJpbmcgfCBhbnlbXTtcbiAgcm91dGVyTGlua0FjdGl2ZUNsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvL0J1dHRvbiBsb2FkZXIgcGFyYW1zXG4gIGxvYWRlclRleHQ/OiBzdHJpbmc7XG4gIGxvYWRlckNsYXNzZXM/OiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICBzdWNjZXNzVGV4dD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbW9kYWxzL2ludGVyZmFjZXMvbW9kYWwtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNb2RhbERhdGEge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGh0bWw6IHN0cmluZztcbiAgY2xhc3Nlczogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaWNvbi1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1tb2RhbHMvaW50ZXJmYWNlcy9tb2RhbC1pY29uLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTW9kYWxJY29uRGF0YSB7XG4gIGh0bWw6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbW9kYWxzL2ludGVyZmFjZXMvbW9kYWwtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlEYXRhIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvYWNjZXNzaWJpbGl0eS1kYXRhJztcbmltcG9ydCB7IE1vZGFsQnV0dG9uRGF0YSB9IGZyb20gJy4vbW9kYWwtYnV0dG9uLWRhdGEnO1xuaW1wb3J0IHsgTW9kYWxEYXRhIH0gZnJvbSAnLi9tb2RhbC1kYXRhJztcbmltcG9ydCB7IE1vZGFsSWNvbkRhdGEgfSBmcm9tICcuL21vZGFsLWljb24tZGF0YSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxPcHRpb25zIGV4dGVuZHMgQWNjZXNzaWJpbGl0eURhdGEge1xuICB0aXRsZU1vZGFsPzogTW9kYWxEYXRhO1xuICBkZXNjcmlwdGlvbj86IE1vZGFsRGF0YTtcbiAgaXRlbXNQcmltYXJ5PzogTW9kYWxCdXR0b25EYXRhW107XG4gIGl0ZW1zU2Vjb25kYXJ5PzogTW9kYWxCdXR0b25EYXRhW107XG4gIGljb24/OiBNb2RhbEljb25EYXRhO1xuXG4gIGlzRGlzbWlzc2libGU/OiBib29sZWFuO1xuICBpZD86IHN0cmluZztcbiAgY2xhc3Nlcz86IHN0cmluZztcblxuICBjYWxsZXI/OiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIl19
|