desy-angular 14.2.0 → 15.1.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/README.md +1 -1
- package/fesm2022/desy-angular.mjs +1321 -923
- package/fesm2022/desy-angular.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -8
- package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +8 -0
- package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +26 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +13 -7
- package/lib/desy-forms/components/datepicker/datepicker.component.d.ts +1 -5
- package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +7 -0
- package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +5 -0
- package/lib/desy-forms/components/input/input.component.d.ts +1 -4
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +7 -0
- package/lib/desy-forms/components/label/label.component.d.ts +1 -2
- package/lib/desy-forms/components/radios/radios-parent.component.d.ts +8 -0
- package/lib/desy-forms/components/radios/radios.component.d.ts +26 -0
- package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +1 -2
- package/lib/desy-forms/components/select/option/option.component.d.ts +2 -2
- package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -3
- package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +4 -0
- package/lib/desy-forms/components/tree/tree.component.d.ts +62 -2
- package/lib/desy-forms/directives/condition.directive.d.ts +5 -0
- package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -0
- package/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.d.ts +0 -2
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +7 -0
- package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +0 -2
- package/lib/desy-nav/components/menubar/menubar.component.d.ts +7 -2
- package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +3 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +57 -1
- package/lib/desy-tables/directives/cell.directive.d.ts +3 -0
- package/lib/desy-tables/directives/row.directive.d.ts +7 -0
- package/lib/desy-tables/interfaces/head-cell-data.d.ts +2 -0
- package/lib/desy-views/components/accordion/accordion.component.d.ts +0 -2
- package/lib/desy-views/components/details/details.component.d.ts +3 -2
- package/lib/desy-views/components/media-object/media-object.component.d.ts +0 -2
- package/lib/desy-views/components/status/status.component.d.ts +0 -2
- package/lib/desy-views/components/status-item/status-item.component.d.ts +0 -2
- package/lib/desy-views/components/tabs/tabs.component.d.ts +0 -2
- package/lib/desy-views/components/tooltip/tooltip.component.d.ts +0 -2
- package/lib/shared/components/accessibility/accessibility.component.d.ts +4 -3
- package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +9 -3
- package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +7 -3
- package/lib/shared/components/content-base/content-base.component.d.ts +3 -0
- package/lib/shared/components/spinner/spinner.component.d.ts +0 -2
- package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +4 -0
- package/lib/shared/decorators/desy-content-child.decorator.d.ts +11 -0
- package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +4 -0
- package/lib/shared/directives/content-change.directive.d.ts +4 -0
- package/lib/shared/directives/custom-inner-content.directive.d.ts +6 -0
- package/lib/shared/interfaces/accessibility-data.d.ts +0 -2
- package/lib/shared/pipes/external-href.pipe.d.ts +4 -0
- package/lib/shared/utils/search-utils.d.ts +10 -0
- package/lib/shared/utils/string-utils.d.ts +7 -0
- package/package.json +9 -11
- package/esm2022/desy-angular.mjs +0 -2
- package/esm2022/lib/desy-angular.module.mjs +0 -76
- package/esm2022/lib/desy-buttons/components/button/button.component.mjs +0 -118
- package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -66
- package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -159
- package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -39
- package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +0 -14
- package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -334
- package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +0 -83
- package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +0 -17
- package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +0 -17
- package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -62
- package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +0 -70
- package/esm2022/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -2
- package/esm2022/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -2
- package/esm2022/lib/desy-commons/components/content/content.component.mjs +0 -14
- package/esm2022/lib/desy-commons/components/description/description.component.mjs +0 -19
- package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +0 -16
- package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +0 -16
- package/esm2022/lib/desy-commons/components/title/title.component.mjs +0 -17
- package/esm2022/lib/desy-commons/desy-commons.module.mjs +0 -24
- package/esm2022/lib/desy-commons/interfaces/content-data.mjs +0 -2
- package/esm2022/lib/desy-commons/interfaces/description-data.mjs +0 -2
- package/esm2022/lib/desy-commons/interfaces/divider-data.mjs +0 -2
- package/esm2022/lib/desy-commons/interfaces/icon-data.mjs +0 -2
- package/esm2022/lib/desy-commons/interfaces/index.mjs +0 -6
- package/esm2022/lib/desy-commons/interfaces/title-data.mjs +0 -2
- package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +0 -156
- package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -191
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +0 -15
- package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -275
- package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -55
- package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
- package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +0 -42
- package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -55
- package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -51
- package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +0 -303
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +0 -190
- package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +0 -34
- package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +0 -32
- package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +0 -59
- package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +0 -34
- package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -78
- package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +0 -127
- package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +0 -30
- package/esm2022/lib/desy-forms/components/input/input.component.mjs +0 -110
- package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
- package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -59
- package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +0 -42
- package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -51
- package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +0 -232
- package/esm2022/lib/desy-forms/components/label/label.component.mjs +0 -39
- package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -138
- package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +0 -15
- package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +0 -286
- package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -65
- package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +0 -22
- package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
- package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +0 -14
- package/esm2022/lib/desy-forms/components/select/select.component.mjs +0 -94
- package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +0 -12
- package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +0 -86
- package/esm2022/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -3
- package/esm2022/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -2
- package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -174
- package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -381
- package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
- package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +0 -16
- package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +0 -362
- package/esm2022/lib/desy-forms/desy-forms.module.mjs +0 -223
- package/esm2022/lib/desy-forms/directives/condition.directive.mjs +0 -34
- package/esm2022/lib/desy-forms/interfaces/error-message-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/fieldset-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/hint-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/index.mjs +0 -13
- package/esm2022/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-date-input-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-radio-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/label-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/legend-data.mjs +0 -2
- package/esm2022/lib/desy-forms/interfaces/select-item-data.mjs +0 -2
- package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +0 -155
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
- package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
- package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
- package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
- package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +0 -192
- package/esm2022/lib/desy-modals/desy-modals.module.mjs +0 -50
- package/esm2022/lib/desy-modals/interfaces/dialog-options.mjs +0 -2
- package/esm2022/lib/desy-modals/interfaces/index.mjs +0 -7
- package/esm2022/lib/desy-modals/interfaces/modal-button-data.mjs +0 -2
- package/esm2022/lib/desy-modals/interfaces/modal-data.mjs +0 -2
- package/esm2022/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -2
- package/esm2022/lib/desy-modals/interfaces/modal-options.mjs +0 -2
- package/esm2022/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -2
- package/esm2022/lib/desy-modals/services/dialog.service.mjs +0 -114
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +0 -16
- package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -53
- package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +0 -19
- package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -67
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +0 -25
- package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -31
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +0 -25
- package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -21
- package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +0 -91
- package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +0 -15
- package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -46
- package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +0 -336
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +0 -31
- package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +0 -20
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +0 -15
- package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -93
- package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
- package/esm2022/lib/desy-nav/components/header/header.component.mjs +0 -119
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +0 -14
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +0 -38
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +0 -37
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +0 -42
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +0 -14
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +0 -42
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +0 -19
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +0 -38
- package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +0 -54
- package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +0 -32
- package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +0 -16
- package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +0 -46
- package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +0 -14
- package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +0 -44
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +0 -42
- package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -76
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -55
- package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +0 -49
- package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -858
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -44
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +0 -34
- package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -98
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +0 -14
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
- package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +0 -27
- package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -47
- package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +0 -966
- package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +0 -43
- package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +0 -115
- package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +0 -25
- package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +0 -127
- package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -62
- package/esm2022/lib/desy-nav/desy-nav.module.mjs +0 -290
- package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +0 -40
- package/esm2022/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/error-summary-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/footer-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/footer-logo.mjs +0 -10
- package/esm2022/lib/desy-nav/interfaces/header-advanced-logo.mjs +0 -7
- package/esm2022/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-mobile-text-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/index.mjs +0 -21
- package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-navigation.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/menubar-item.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/nav-item.data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/notification-items-data.mjs +0 -2
- package/esm2022/lib/desy-nav/interfaces/notification-options.mjs +0 -2
- package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -242
- package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +0 -19
- package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +0 -17
- package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +0 -25
- package/esm2022/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -2
- package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +0 -17
- package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +0 -23
- package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +0 -18
- package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
- package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
- package/esm2022/lib/desy-tables/components/table/table.component.mjs +0 -120
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +0 -23
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +0 -27
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -56
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +0 -23
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
- package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
- package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -516
- package/esm2022/lib/desy-tables/desy-tables.module.mjs +0 -100
- package/esm2022/lib/desy-tables/directives/cell.directive.mjs +0 -25
- package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -89
- package/esm2022/lib/desy-tables/directives/row.directive.mjs +0 -22
- package/esm2022/lib/desy-tables/interfaces/cell-data.mjs +0 -2
- package/esm2022/lib/desy-tables/interfaces/head-cell-data.mjs +0 -7
- package/esm2022/lib/desy-tables/interfaces/index.mjs +0 -5
- package/esm2022/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -2
- package/esm2022/lib/desy-tables/interfaces/row-data.mjs +0 -2
- package/esm2022/lib/desy-tables/interfaces/wrapper-data.mjs +0 -2
- package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +0 -17
- package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -61
- package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +0 -447
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -41
- package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -20
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +0 -17
- package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +0 -17
- package/esm2022/lib/desy-views/components/alert/alert.component.mjs +0 -82
- package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +0 -21
- package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +0 -21
- package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +0 -21
- package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +0 -21
- package/esm2022/lib/desy-views/components/card/card.component.mjs +0 -48
- package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -66
- package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +0 -19
- package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -36
- package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +0 -29
- package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +0 -19
- package/esm2022/lib/desy-views/components/details/details.component.mjs +0 -43
- package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +0 -17
- package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +0 -15
- package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +0 -15
- package/esm2022/lib/desy-views/components/item/item.component.mjs +0 -122
- package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +0 -12
- package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +0 -369
- package/esm2022/lib/desy-views/components/status/status.component.mjs +0 -366
- package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +0 -401
- package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +0 -19
- package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -41
- package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +0 -446
- package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +0 -12
- package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -450
- package/esm2022/lib/desy-views/desy-views.module.mjs +0 -181
- package/esm2022/lib/desy-views/interfaces/accordion-header.data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/accordion-item.data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/alert-options.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/description-item.data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/index.mjs +0 -11
- package/esm2022/lib/desy-views/interfaces/open-alert-result.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/status-data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/status-icon-data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/status-item-title-data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/tabs-items-data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -2
- package/esm2022/lib/desy-views/interfaces/term-definition.data.mjs +0 -2
- package/esm2022/lib/desy-views/services/alert.service.mjs +0 -88
- package/esm2022/lib/shared/components/accessibility/accessibility-attributes.mjs +0 -78
- package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +0 -164
- package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +0 -168
- package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +0 -165
- package/esm2022/lib/shared/components/content-base/content-base.component.mjs +0 -21
- package/esm2022/lib/shared/components/index.mjs +0 -7
- package/esm2022/lib/shared/components/spinner/spinner.component.mjs +0 -329
- package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +0 -18
- package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +0 -34
- package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -15
- package/esm2022/lib/shared/directives/accessibility-directive.mjs +0 -54
- package/esm2022/lib/shared/directives/attribute-change.directive.mjs +0 -50
- package/esm2022/lib/shared/directives/click-outside.directive.mjs +0 -40
- package/esm2022/lib/shared/directives/content-change.directive.mjs +0 -41
- package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +0 -63
- package/esm2022/lib/shared/directives/inner-content.directive.mjs +0 -37
- package/esm2022/lib/shared/interfaces/accessibility-data.mjs +0 -2
- package/esm2022/lib/shared/pipes/external-href.pipe.mjs +0 -28
- package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +0 -21
- package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +0 -20
- package/esm2022/lib/shared/shared.module.mjs +0 -86
- package/esm2022/lib/shared/sharedExternal.module.mjs +0 -20
- package/esm2022/lib/shared/utils/focus-utils.mjs +0 -50
- package/esm2022/lib/shared/utils/search-utils.mjs +0 -70
- package/esm2022/lib/shared/utils/string-utils.mjs +0 -13
- package/esm2022/public-api.mjs +0 -225
package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
3
|
-
import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
|
|
4
|
-
import { LabelComponent } from '../../label/label.component';
|
|
5
|
-
import { DateInputItemComponent } from '../date-input-item/date-input-item.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class DateInputYearComponent extends DateInputItemComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.valueChange = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputYearComponent, selector: "desy-input-year", inputs: { id: "id", name: "name", disabled: "disabled", hasErrors: "hasErrors", value: "value", autocomplete: "autocomplete", pattern: "pattern", classes: "classes", maxlength: "maxlength", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: DateInputItemComponent, useExisting: forwardRef(() => DateInputYearComponent) }], queries: [{ propertyName: "labelComponent", predicate: LabelComponent }], viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #label>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n" }); }
|
|
14
|
-
}
|
|
15
|
-
__decorate([
|
|
16
|
-
DesyContentChild(),
|
|
17
|
-
__metadata("design:type", LabelComponent)
|
|
18
|
-
], DateInputYearComponent.prototype, "labelComponent", void 0);
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputYearComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'desy-input-year', providers: [{ provide: DateInputItemComponent, useExisting: forwardRef(() => DateInputYearComponent) }], template: "<ng-template #label>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n" }]
|
|
22
|
-
}], propDecorators: { id: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}], name: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], disabled: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], hasErrors: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], value: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], autocomplete: [{
|
|
33
|
-
type: Input
|
|
34
|
-
}], pattern: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}], classes: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], maxlength: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], placeholder: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], valueChange: [{
|
|
43
|
-
type: Output
|
|
44
|
-
}], labelComponent: [{
|
|
45
|
-
type: ContentChildren,
|
|
46
|
-
args: [LabelComponent]
|
|
47
|
-
}], labelRef: [{
|
|
48
|
-
type: ViewChild,
|
|
49
|
-
args: ['label', { static: true }]
|
|
50
|
-
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQteWVhci9kYXRlLWlucHV0LXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC15ZWFyL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQU90RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQXNCO0lBTGxFOztRQWlCWSxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0tBTzFFOytHQW5CWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrU0FGdEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyx5REFpQnRGLGNBQWMscUtDbkNqQywyRkFHQTs7QURpQ0U7SUFGQyxnQkFBZ0IsRUFBRTs4QkFFSCxjQUFjOzhEQUFDOzRGQWhCcEIsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQixhQUVoQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEVBQUUsQ0FBQzs4QkFHOUYsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNXLE9BQU87c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBSVAsY0FBYztzQkFEYixlQUFlO3VCQUFDLGNBQWM7Z0JBR08sUUFBUTtzQkFBN0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdGVtRGF0ZUlucHV0RGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYWJlbC9sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtaW5wdXQtaXRlbS9kYXRlLWlucHV0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1pbnB1dC15ZWFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRGF0ZUlucHV0SXRlbUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUlucHV0WWVhckNvbXBvbmVudCkgfV0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVJbnB1dFllYXJDb21wb25lbnQgZXh0ZW5kcyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgSXRlbURhdGVJbnB1dERhdGEge1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNFcnJvcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlY2xhcmUgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlcjtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKExhYmVsQ29tcG9uZW50KVxuICBsYWJlbENvbXBvbmVudDogTGFiZWxDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsYWJlbFJlZjogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiIsIjxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Optional, Output, QueryList, TemplateRef, ViewChild, HostBinding, } from '@angular/core';
|
|
3
|
-
import { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { FormFieldComponent } from '../form-field/form-field.component';
|
|
5
|
-
import { LegendComponent } from '../fieldset/legend/legend.component';
|
|
6
|
-
import { FieldsetComponent } from '../fieldset/fieldset.component';
|
|
7
|
-
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
8
|
-
import { DateInputDayComponent } from './date-input-day/date-input-day.component';
|
|
9
|
-
import { DateInputMonthComponent } from './date-input-month/date-input-month.component';
|
|
10
|
-
import { DateInputYearComponent } from './date-input-year/date-input-year.component';
|
|
11
|
-
import { MakeHtmlListPipe } from '../../../shared/pipes/make-html-list.pipe';
|
|
12
|
-
import { DesyOnInputChange } from '../../../shared/decorators/desy-on-input-change.decorator';
|
|
13
|
-
import { DateInputDividerComponent } from './date-input-divider/date-input-divider.component';
|
|
14
|
-
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
15
|
-
import { DateInputItemComponent } from './date-input-item/date-input-item.component';
|
|
16
|
-
import { ErrorMessageComponent } from '../error-message/error-message.component';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@angular/forms";
|
|
19
|
-
import * as i2 from "@angular/common";
|
|
20
|
-
import * as i3 from "../../../shared/directives/custom-inner-content.directive";
|
|
21
|
-
import * as i4 from "../../../shared/directives/accessibility-directive";
|
|
22
|
-
import * as i5 from "../template-driven-wrapper/template-driven-wrapper.component";
|
|
23
|
-
import * as i6 from "../hint/hint.component";
|
|
24
|
-
import * as i7 from "../error-message/error-message.component";
|
|
25
|
-
import * as i8 from "../fieldset/fieldset.component";
|
|
26
|
-
import * as i9 from "../input/input.component";
|
|
27
|
-
import * as i10 from "../../../shared/pipes/make-html-list.pipe";
|
|
28
|
-
export class DateInputComponent extends FormFieldComponent {
|
|
29
|
-
static { this.defaultItems = [
|
|
30
|
-
{
|
|
31
|
-
name: 'day',
|
|
32
|
-
classes: 'w-14',
|
|
33
|
-
maxlength: 2,
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: 'month',
|
|
37
|
-
classes: 'w-14',
|
|
38
|
-
maxlength: 2,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: 'year',
|
|
42
|
-
classes: 'w-20',
|
|
43
|
-
maxlength: 4,
|
|
44
|
-
},
|
|
45
|
-
]; }
|
|
46
|
-
constructor(controlContainer) {
|
|
47
|
-
super();
|
|
48
|
-
this.controlContainer = controlContainer;
|
|
49
|
-
this.itemsChange = new EventEmitter();
|
|
50
|
-
this.cfg = true;
|
|
51
|
-
this.contentInit = false;
|
|
52
|
-
}
|
|
53
|
-
ngOnInit() {
|
|
54
|
-
if (this.controlContainer) {
|
|
55
|
-
this.ogFormGroup = this.controlContainer.control;
|
|
56
|
-
}
|
|
57
|
-
if (this.placeholder) {
|
|
58
|
-
let arr = this.placeholder.split('/');
|
|
59
|
-
if (this.items && this.items.length > 0 && arr && arr.length > 0) {
|
|
60
|
-
for (let i = 0; i < this.items.length; i++) {
|
|
61
|
-
this.items[i].placeholder = arr[i];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
ngOnChanges(changes) {
|
|
67
|
-
this.cfgr = this.hasErrorsMessage() || this.formGroupClasses === 'c-form-group--error';
|
|
68
|
-
}
|
|
69
|
-
ngAfterContentInit() {
|
|
70
|
-
this.contentInit = true;
|
|
71
|
-
}
|
|
72
|
-
initDefaultItems() {
|
|
73
|
-
if (!this.items) {
|
|
74
|
-
this.items = [
|
|
75
|
-
{
|
|
76
|
-
name: 'día',
|
|
77
|
-
classes: 'w-14',
|
|
78
|
-
maxlength: 2,
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: 'mes',
|
|
82
|
-
classes: 'w-14',
|
|
83
|
-
maxlength: 2,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
name: 'año',
|
|
87
|
-
classes: 'w-20',
|
|
88
|
-
maxlength: 4,
|
|
89
|
-
},
|
|
90
|
-
];
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
writeValue(value) {
|
|
94
|
-
this.value = value;
|
|
95
|
-
if (this.value) {
|
|
96
|
-
const items = this.getItems();
|
|
97
|
-
items.forEach((item) => (item.value = this.value[this.getItemName(item)]));
|
|
98
|
-
if (this.items) {
|
|
99
|
-
this.itemsChange.emit(this.items);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
this.onChange(value);
|
|
103
|
-
}
|
|
104
|
-
overrideFieldsetParams(fieldset) {
|
|
105
|
-
fieldset.caller = this.innerHtml;
|
|
106
|
-
fieldset.errorId = this.getErrorId();
|
|
107
|
-
fieldset.describedBy = new MakeHtmlListPipe().transform([this.getHintId(), this.getErrorId()], null);
|
|
108
|
-
fieldset.role = 'group';
|
|
109
|
-
fieldset.detectChanges();
|
|
110
|
-
}
|
|
111
|
-
overrideErrorMessageParams(errorMessage) {
|
|
112
|
-
if (errorMessage && !errorMessage.id) {
|
|
113
|
-
errorMessage.id = this.getErrorId();
|
|
114
|
-
errorMessage.detectChanges();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
onExternalChange() {
|
|
118
|
-
if (!this.contentInit) {
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
if (!this.value) {
|
|
122
|
-
this.value = {};
|
|
123
|
-
}
|
|
124
|
-
const items = this.getItems();
|
|
125
|
-
items.forEach((item) => (this.value[this.getItemName(item)] = item.value));
|
|
126
|
-
const newVal = {};
|
|
127
|
-
Object.assign(newVal, this.value);
|
|
128
|
-
this.onChange(newVal);
|
|
129
|
-
}
|
|
130
|
-
onInternalChange(item, itemValue) {
|
|
131
|
-
const itemName = this.getItemName(item);
|
|
132
|
-
if (!this.value) {
|
|
133
|
-
this.value = {};
|
|
134
|
-
}
|
|
135
|
-
if (this.value[itemName] !== itemValue) {
|
|
136
|
-
this.value[itemName] = itemValue ? +itemValue : undefined;
|
|
137
|
-
const newVal = {};
|
|
138
|
-
Object.assign(newVal, this.value);
|
|
139
|
-
this.onChange(newVal);
|
|
140
|
-
if (item instanceof DateInputDayComponent ||
|
|
141
|
-
item instanceof DateInputMonthComponent ||
|
|
142
|
-
item instanceof DateInputYearComponent) {
|
|
143
|
-
item.valueChange.emit(itemValue);
|
|
144
|
-
}
|
|
145
|
-
if (this.items) {
|
|
146
|
-
item.value = itemValue;
|
|
147
|
-
this.itemsChange.emit(this.items);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
hasFieldset() {
|
|
152
|
-
return !!(this.hasFieldsetComponent() ||
|
|
153
|
-
this.hasLegendComponent() ||
|
|
154
|
-
this.legendRef ||
|
|
155
|
-
this.fieldsetData ||
|
|
156
|
-
(this.legendData && (this.legendData.text || this.legendData.html)) ||
|
|
157
|
-
this.legendText);
|
|
158
|
-
}
|
|
159
|
-
hasFieldsetComponent() {
|
|
160
|
-
return !!this.fieldsetComponent;
|
|
161
|
-
}
|
|
162
|
-
hasLegendComponent() {
|
|
163
|
-
return !!this.legendComponent;
|
|
164
|
-
}
|
|
165
|
-
hasErrorMessageComponent() {
|
|
166
|
-
return !!this.errorMessageComponent;
|
|
167
|
-
}
|
|
168
|
-
getItemName(item) {
|
|
169
|
-
return this.namePrefix ? this.namePrefix + '-' + item.name : item.name;
|
|
170
|
-
}
|
|
171
|
-
getItemLabel(item) {
|
|
172
|
-
let labelData;
|
|
173
|
-
if (item.labelData && (item.labelData.text || item.labelData.html)) {
|
|
174
|
-
labelData = item.labelData;
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
labelData = {
|
|
178
|
-
text: item.labelText ? item.labelText : item.name ? item.name.toUpperCase() : null,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
return labelData;
|
|
182
|
-
}
|
|
183
|
-
getItemLabelRef(item) {
|
|
184
|
-
return item instanceof DateInputDayComponent ||
|
|
185
|
-
item instanceof DateInputMonthComponent ||
|
|
186
|
-
item instanceof DateInputYearComponent
|
|
187
|
-
? item.labelRef
|
|
188
|
-
: null;
|
|
189
|
-
}
|
|
190
|
-
getItems() {
|
|
191
|
-
let items;
|
|
192
|
-
if (this.dateInputItemComponents && this.dateInputItemComponents.length > 0) {
|
|
193
|
-
items = this.dateInputItemComponents.toArray();
|
|
194
|
-
}
|
|
195
|
-
else if (this.items) {
|
|
196
|
-
items = this.items;
|
|
197
|
-
}
|
|
198
|
-
else if (this.contentInit) {
|
|
199
|
-
items = DateInputComponent.defaultItems;
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
items = [];
|
|
203
|
-
}
|
|
204
|
-
return items;
|
|
205
|
-
}
|
|
206
|
-
getItemDividerTemplate(item) {
|
|
207
|
-
return item.divider instanceof DateInputDividerComponent ? item.divider.dividerContent : null;
|
|
208
|
-
}
|
|
209
|
-
getItemDividerHtml(item) {
|
|
210
|
-
return item.divider.html ? item.divider.html : `<p>${StringUtils.escapeHtml(item.divider.text)}</p>`;
|
|
211
|
-
}
|
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, deps: [{ token: i1.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
213
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputComponent, selector: "desy-date-input", inputs: { ngModelGroup: "ngModelGroup", items: "items", namePrefix: "namePrefix", classes: "classes", errorMessage: "errorMessage", id: "id", formGroupClasses: "formGroupClasses", fieldsetData: "fieldsetData", legendRef: "legendRef", legendData: "legendData", legendText: "legendText", placeholder: "placeholder" }, outputs: { itemsChange: "itemsChange" }, host: { properties: { "class.c-form-group": "this.cfg", "class.c-form-group--error": "this.cfgr", "class": "this.formGroupClasses" } }, providers: [
|
|
214
|
-
{
|
|
215
|
-
provide: NG_VALUE_ACCESSOR,
|
|
216
|
-
useExisting: forwardRef(() => DateInputComponent),
|
|
217
|
-
multi: true,
|
|
218
|
-
},
|
|
219
|
-
], queries: [{ propertyName: "fieldsetComponent", predicate: FieldsetComponent }, { propertyName: "errorMessageComponent", predicate: ErrorMessageComponent }, { propertyName: "legendComponent", predicate: LegendComponent }, { propertyName: "dateInputItemComponents", predicate: DateInputItemComponent }], viewQueries: [{ propertyName: "innerHtml", first: true, predicate: ["innerHtml"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngIf=\"hasHintComponent()\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasHintComponent()\">\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\n <desy-hint\n *ngIf=\"!hintRef && hintData\"\n [id]=\"getHintId()\"\n [text]=\"hintData.text\"\n [html]=\"hintData.html\"\n [classes]=\"hintData.classes\"\n [role]=\"hintData.role\"\n [ariaLabel]=\"hintData.ariaLabel\"\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\n [ariaHidden]=\"hintData.ariaHidden\"\n [ariaDisabled]=\"hintData.ariaDisabled\"\n [ariaControls]=\"hintData.ariaControls\"\n [ariaCurrent]=\"hintData.ariaCurrent\"\n [ariaLive]=\"hintData.ariaLive\"\n [ariaExpanded]=\"hintData.ariaExpanded\"\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\n [tabindex]=\"hintData.tabindex\"></desy-hint>\n <desy-hint\n *ngIf=\"!hintRef && !hintData && hintText\"\n [text]=\"hintText\"\n [id]=\"getHintId()\"></desy-hint>\n </ng-container>\n\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\n <desy-error-message\n *ngIf=\"!errorMessageRef && errorMessageData\"\n [id]=\"getErrorId()\"\n [text]=\"errorMessageData.text\"\n [html]=\"errorMessageData.html\"\n [classes]=\"errorMessageData.classes\"\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\n [role]=\"errorMessageData.role\"\n [ariaLabel]=\"errorMessageData.ariaLabel\"\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\n [ariaHidden]=\"errorMessageData.ariaHidden\"\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\n [ariaControls]=\"errorMessageData.ariaControls\"\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\n [ariaLive]=\"errorMessageData.ariaLive\"\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\n <desy-error-message\n *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\n [text]=\"errorMessageText\"\n [id]=\"getErrorId()\"></desy-error-message>\n </ng-container>\n\n <!-- With reactive forms -->\n <div\n *ngIf=\"controlContainer && !ngModelGroup\"\n [formGroup]=\"ogFormGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [formControlName]=\"getItemName(item)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Template-driven forms -->\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\n <div\n [ngModelGroup]=\"ngModelGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\"\n (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </desy-template-driven-wrapper>\n\n <!-- With ngModel-->\n <div\n *ngIf=\"!controlContainer\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\"\n (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"hasFieldsetComponent()\">\n <ng-content select=\"desy-fieldset\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"!hasFieldsetComponent()\">\n <desy-fieldset\n *ngIf=\"fieldsetData\"\n [classes]=\"fieldsetData.classes\"\n [id]=\"fieldsetData.id\"\n [legendData]=\"fieldsetData.legend\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"\n [ariaLabel]=\"fieldsetData.ariaLabel\"\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\n [ariaHidden]=\"fieldsetData.ariaHidden\"\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\n [ariaControls]=\"fieldsetData.ariaControls\"\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\n [ariaLive]=\"fieldsetData.ariaLive\"\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && hasLegendComponent()\"\n [legendRef]=\"legendTemplate\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\">\n <ng-template #legendTemplate>\n <ng-content select=\"desy-legend\"></ng-content>\n </ng-template>\n </desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\n [legendRef]=\"legendRef\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\n [legendData]=\"{\n text: legendData.text,\n html: legendData.html,\n classes: legendData.classes,\n isPageHeading: legendData.isPageHeading,\n }\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\n [legendText]=\"legendText\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n</ng-container>\n\n<ng-container *ngIf=\"!hasFieldset()\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i5.TemplateDrivenWrapperComponent, selector: "desy-template-driven-wrapper" }, { kind: "component", type: i6.HintComponent, selector: "desy-hint", inputs: ["id", "classes", "html", "text"] }, { kind: "component", type: i7.ErrorMessageComponent, selector: "desy-error-message", inputs: ["id", "classes", "html", "text", "visuallyHiddenText"] }, { kind: "component", type: i8.FieldsetComponent, selector: "desy-fieldset", inputs: ["describedBy", "errorId", "legendRef", "legendData", "legendText", "classes", "caller", "id", "headingLevel"] }, { kind: "component", type: i9.InputComponent, selector: "desy-input", inputs: ["name", "type", "describedBy", "pattern", "inputmode", "placeholder", "formGroupClasses", "classes", "autocomplete", "maxlength", "errorId", "attributes"] }, { kind: "pipe", type: i10.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
|
|
220
|
-
}
|
|
221
|
-
__decorate([
|
|
222
|
-
DesyOnInputChange('onExternalChange'),
|
|
223
|
-
__metadata("design:type", Array)
|
|
224
|
-
], DateInputComponent.prototype, "items", void 0);
|
|
225
|
-
__decorate([
|
|
226
|
-
DesyOnInputChange('onExternalChange'),
|
|
227
|
-
__metadata("design:type", String)
|
|
228
|
-
], DateInputComponent.prototype, "namePrefix", void 0);
|
|
229
|
-
__decorate([
|
|
230
|
-
DesyContentChild({ onSetCallbackName: 'overrideFieldsetParams' }),
|
|
231
|
-
__metadata("design:type", FieldsetComponent)
|
|
232
|
-
], DateInputComponent.prototype, "fieldsetComponent", void 0);
|
|
233
|
-
__decorate([
|
|
234
|
-
DesyContentChild({ onSetCallbackName: 'overrideErrorMessageParams' }),
|
|
235
|
-
__metadata("design:type", ErrorMessageComponent)
|
|
236
|
-
], DateInputComponent.prototype, "errorMessageComponent", void 0);
|
|
237
|
-
__decorate([
|
|
238
|
-
DesyContentChild(),
|
|
239
|
-
__metadata("design:type", LegendComponent)
|
|
240
|
-
], DateInputComponent.prototype, "legendComponent", void 0);
|
|
241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, decorators: [{
|
|
242
|
-
type: Component,
|
|
243
|
-
args: [{ selector: 'desy-date-input', providers: [
|
|
244
|
-
{
|
|
245
|
-
provide: NG_VALUE_ACCESSOR,
|
|
246
|
-
useExisting: forwardRef(() => DateInputComponent),
|
|
247
|
-
multi: true,
|
|
248
|
-
},
|
|
249
|
-
], template: "<ng-template #innerHtml>\n <ng-container *ngIf=\"hasHintComponent()\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasHintComponent()\">\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\n <desy-hint\n *ngIf=\"!hintRef && hintData\"\n [id]=\"getHintId()\"\n [text]=\"hintData.text\"\n [html]=\"hintData.html\"\n [classes]=\"hintData.classes\"\n [role]=\"hintData.role\"\n [ariaLabel]=\"hintData.ariaLabel\"\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\n [ariaHidden]=\"hintData.ariaHidden\"\n [ariaDisabled]=\"hintData.ariaDisabled\"\n [ariaControls]=\"hintData.ariaControls\"\n [ariaCurrent]=\"hintData.ariaCurrent\"\n [ariaLive]=\"hintData.ariaLive\"\n [ariaExpanded]=\"hintData.ariaExpanded\"\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\n [tabindex]=\"hintData.tabindex\"></desy-hint>\n <desy-hint\n *ngIf=\"!hintRef && !hintData && hintText\"\n [text]=\"hintText\"\n [id]=\"getHintId()\"></desy-hint>\n </ng-container>\n\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\n <desy-error-message\n *ngIf=\"!errorMessageRef && errorMessageData\"\n [id]=\"getErrorId()\"\n [text]=\"errorMessageData.text\"\n [html]=\"errorMessageData.html\"\n [classes]=\"errorMessageData.classes\"\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\n [role]=\"errorMessageData.role\"\n [ariaLabel]=\"errorMessageData.ariaLabel\"\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\n [ariaHidden]=\"errorMessageData.ariaHidden\"\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\n [ariaControls]=\"errorMessageData.ariaControls\"\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\n [ariaLive]=\"errorMessageData.ariaLive\"\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\n <desy-error-message\n *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\n [text]=\"errorMessageText\"\n [id]=\"getErrorId()\"></desy-error-message>\n </ng-container>\n\n <!-- With reactive forms -->\n <div\n *ngIf=\"controlContainer && !ngModelGroup\"\n [formGroup]=\"ogFormGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [formControlName]=\"getItemName(item)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Template-driven forms -->\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\n <div\n [ngModelGroup]=\"ngModelGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\"\n (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </desy-template-driven-wrapper>\n\n <!-- With ngModel-->\n <div\n *ngIf=\"!controlContainer\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div\n role=\"separator\"\n [ngClass]=\"item.divider.classes\">\n <ng-container\n *desyCustomInnerContent=\"{\n template: getItemDividerTemplate(item),\n html: getItemDividerHtml(item),\n }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input\n [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\"\n (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"\n [ariaModal]=\"item.ariaModal\"\n [ariaChecked]=\"item.ariaChecked\"\n [ariaPressed]=\"item.ariaPressed\"\n [ariaReadonly]=\"item.ariaReadonly\"\n [ariaRequired]=\"item.ariaRequired\"\n [ariaSelected]=\"item.ariaSelected\"\n [ariaValuemin]=\"item.ariaValuemin\"\n [ariaValuemax]=\"item.ariaValuemax\"\n [ariaValuenow]=\"item.ariaValuenow\"\n [ariaValuetext]=\"item.ariaValuetext\"\n [ariaOrientation]=\"item.ariaOrientation\"\n [ariaLevel]=\"item.ariaLevel\"\n [ariaMultiselectable]=\"item.ariaMultiselectable\"\n [ariaPlaceholder]=\"item.ariaPlaceholder\"\n [ariaPosinset]=\"item.ariaPosinset\"\n [ariaSetsize]=\"item.ariaSetsize\"\n [ariaSort]=\"item.ariaSort\"\n [ariaBusy]=\"item.ariaBusy\"\n [ariaDropeffect]=\"item.ariaDropeffect\"\n [ariaGrabbed]=\"item.ariaGrabbed\"\n [ariaActivedescendant]=\"item.ariaActivedescendant\"\n [ariaAtomic]=\"item.ariaAtomic\"\n [ariaAutocomplete]=\"item.ariaAutocomplete\"\n [ariaBraillelabel]=\"item.ariaBraillelabel\"\n [ariaBrailleroledescription]=\"item.ariaBrailleroledescription\"\n [ariaColcount]=\"item.ariaColcount\"\n [ariaColindex]=\"item.ariaColindex\"\n [ariaColindextext]=\"item.ariaColindextext\"\n [ariaColspan]=\"item.ariaColspan\"\n [ariaDescription]=\"item.ariaDescription\"\n [ariaDetails]=\"item.ariaDetails\"\n [ariaFlowto]=\"item.ariaFlowto\"\n [ariaInvalid]=\"item.ariaInvalid\"\n [ariaKeyshortcuts]=\"item.ariaKeyshortcuts\"\n [ariaOwns]=\"item.ariaOwns\"\n [ariaRelevant]=\"item.ariaRelevant\"\n [ariaRoledescription]=\"item.ariaRoledescription\"\n [ariaRowcount]=\"item.ariaRowcount\"\n [ariaRowindex]=\"item.ariaRowindex\"\n [ariaRowindextext]=\"item.ariaRowindextext\"\n [ariaRowspan]=\"item.ariaRowspan\"\n [title]=\"item.title\"\n [alt]=\"item.alt\"\n [lang]=\"item.lang\"\n [accesskey]=\"item.accesskey\"\n [autofocus]=\"item.autofocus\"\n [contenteditable]=\"item.contenteditable\"\n [dir]=\"item.dir\"\n [draggable]=\"item.draggable\"\n [enterkeyhint]=\"item.enterkeyhint\"\n [hidden]=\"item.hidden\"\n [spellcheck]=\"item.spellcheck\"\n [translate]=\"item.translate\"\n [ariaMultiline]=\"item.ariaMultiline\"\n [for]=\"item.for\"\n [form]=\"item.form\"\n [headers]=\"item.headers\"\n [readonly]=\"item.readonly\"\n [required]=\"item.required\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"hasFieldsetComponent()\">\n <ng-content select=\"desy-fieldset\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"!hasFieldsetComponent()\">\n <desy-fieldset\n *ngIf=\"fieldsetData\"\n [classes]=\"fieldsetData.classes\"\n [id]=\"fieldsetData.id\"\n [legendData]=\"fieldsetData.legend\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"\n [ariaLabel]=\"fieldsetData.ariaLabel\"\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\n [ariaHidden]=\"fieldsetData.ariaHidden\"\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\n [ariaControls]=\"fieldsetData.ariaControls\"\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\n [ariaLive]=\"fieldsetData.ariaLive\"\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && hasLegendComponent()\"\n [legendRef]=\"legendTemplate\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\">\n <ng-template #legendTemplate>\n <ng-content select=\"desy-legend\"></ng-content>\n </ng-template>\n </desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\n [legendRef]=\"legendRef\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\n [legendData]=\"{\n text: legendData.text,\n html: legendData.html,\n classes: legendData.classes,\n isPageHeading: legendData.isPageHeading,\n }\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset\n *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\n [legendText]=\"legendText\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[getHintId(), getErrorId()] | makeHtmlList: null\"\n role=\"group\"></desy-fieldset>\n</ng-container>\n\n<ng-container *ngIf=\"!hasFieldset()\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ng-container>\n" }]
|
|
250
|
-
}], ctorParameters: () => [{ type: i1.ControlContainer, decorators: [{
|
|
251
|
-
type: Optional
|
|
252
|
-
}] }], propDecorators: { ngModelGroup: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], items: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], itemsChange: [{
|
|
257
|
-
type: Output
|
|
258
|
-
}], namePrefix: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], classes: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], errorMessage: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], id: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], cfg: [{
|
|
267
|
-
type: HostBinding,
|
|
268
|
-
args: ['class.c-form-group']
|
|
269
|
-
}], cfgr: [{
|
|
270
|
-
type: HostBinding,
|
|
271
|
-
args: ['class.c-form-group--error']
|
|
272
|
-
}], formGroupClasses: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}, {
|
|
275
|
-
type: HostBinding,
|
|
276
|
-
args: ['class']
|
|
277
|
-
}], fieldsetComponent: [{
|
|
278
|
-
type: ContentChildren,
|
|
279
|
-
args: [FieldsetComponent]
|
|
280
|
-
}], errorMessageComponent: [{
|
|
281
|
-
type: ContentChildren,
|
|
282
|
-
args: [ErrorMessageComponent]
|
|
283
|
-
}], legendComponent: [{
|
|
284
|
-
type: ContentChildren,
|
|
285
|
-
args: [LegendComponent]
|
|
286
|
-
}], dateInputItemComponents: [{
|
|
287
|
-
type: ContentChildren,
|
|
288
|
-
args: [DateInputItemComponent]
|
|
289
|
-
}], fieldsetData: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], legendRef: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], legendData: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], legendText: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], placeholder: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], innerHtml: [{
|
|
300
|
-
type: ViewChild,
|
|
301
|
-
args: ['innerHtml', { static: true }]
|
|
302
|
-
}] } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxHQUdaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdEJpbmRpbmcsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZHNldERhdGEsIExlZ2VuZERhdGEsIEl0ZW1EYXRlSW5wdXREYXRhLCBMYWJlbERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IExlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkc2V0L2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7IERhdGVJbnB1dERheUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1kYXkvZGF0ZS1pbnB1dC1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LW1vbnRoL2RhdGUtaW5wdXQtbW9udGguY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dFllYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQteWVhci9kYXRlLWlucHV0LXllYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ha2VIdG1sTGlzdFBpcGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcGlwZXMvbWFrZS1odG1sLWxpc3QucGlwZSc7XG5pbXBvcnQgeyBEZXN5T25JbnB1dENoYW5nZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvcic7XG5pbXBvcnQgeyBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LWRpdmlkZXIvZGF0ZS1pbnB1dC1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1pdGVtL2RhdGUtaW5wdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRm9ybUZpZWxkQ29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgc3RhdGljIGRlZmF1bHRJdGVtcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnZGF5JyxcbiAgICAgIGNsYXNzZXM6ICd3LTE0JyxcbiAgICAgIG1heGxlbmd0aDogMixcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdtb250aCcsXG4gICAgICBjbGFzc2VzOiAndy0xNCcsXG4gICAgICBtYXhsZW5ndGg6IDIsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAneWVhcicsXG4gICAgICBjbGFzc2VzOiAndy0yMCcsXG4gICAgICBtYXhsZW5ndGg6IDQsXG4gICAgfSxcbiAgXTtcblxuICBASW5wdXQoKSBuZ01vZGVsR3JvdXA6IHN0cmluZztcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uRXh0ZXJuYWxDaGFuZ2UnKVxuICBASW5wdXQoKVxuICBpdGVtczogSXRlbURhdGVJbnB1dERhdGFbXTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SXRlbURhdGVJbnB1dERhdGFbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW1EYXRlSW5wdXREYXRhW10+KCk7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbkV4dGVybmFsQ2hhbmdlJylcbiAgQElucHV0KClcbiAgbmFtZVByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWNsYXJlIGlkOiBzdHJpbmc7XG4gIC8vICBmb3JtIGdyb3VwIGNsYXNzIC0gYXNpZ25hciBjbGFzZXMgYSBsYSBldGlxdWV0YSBkZXN5LWlucHV0XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYy1mb3JtLWdyb3VwJykgY2ZnID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jLWZvcm0tZ3JvdXAtLWVycm9yJykgY2ZncjogYm9vbGVhbjtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGZvcm1Hcm91cENsYXNzZXM6IGFueTtcblxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVGaWVsZHNldFBhcmFtcycgfSlcbiAgQENvbnRlbnRDaGlsZHJlbihGaWVsZHNldENvbXBvbmVudClcbiAgZmllbGRzZXRDb21wb25lbnQ6IEZpZWxkc2V0Q29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZUVycm9yTWVzc2FnZVBhcmFtcycgfSlcbiAgQENvbnRlbnRDaGlsZHJlbihFcnJvck1lc3NhZ2VDb21wb25lbnQpXG4gIGRlY2xhcmUgZXJyb3JNZXNzYWdlQ29tcG9uZW50OiBFcnJvck1lc3NhZ2VDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKExlZ2VuZENvbXBvbmVudClcbiAgbGVnZW5kQ29tcG9uZW50OiBMZWdlbmRDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRlSW5wdXRJdGVtQ29tcG9uZW50KSBkYXRlSW5wdXRJdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PERhdGVJbnB1dEl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBmaWVsZHNldCwgZGlmZXJlbnRlcyBmb3JtYXMgZGUgaW1wbGVtZW50YXIsIGVudW1lcmFkYXMgcG9yIHByaW9yaWRhZFxuICAgKiAxKSBpbmNsdWlyIG9iamV0byBGaWVsZHNldERhdGEgKGludGVyZmF6IGV4cHVlc3RhKVxuICAgKiAyKSBpbmNsdWlyIHRlbXBsYXRlIGxlZ2VuZFxuICAgKiAzKSBpbmNsdWlyIGxlZ2VuZERhdGEgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1bmEgbGVnZW5kYSBjb24gbG9zIHBhcmFtZXRyb3MgcGFzYWRvcyAgKGludGVyZmF6IGV4cHVlc3RhKVxuICAgKiA0KSBpbmNsdWlyIGxlZ2VuZFRleHQgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1biB0ZXh0byBlbiBsYSBsZWdlbmRhXG4gICAqL1xuICBASW5wdXQoKSBmaWVsZHNldERhdGE6IEZpZWxkc2V0RGF0YTtcbiAgQElucHV0KCkgbGVnZW5kUmVmOiBUZW1wbGF0ZVJlZjxMZWdlbmRDb21wb25lbnQ+O1xuICBASW5wdXQoKSBsZWdlbmREYXRhOiBMZWdlbmREYXRhO1xuICBASW5wdXQoKSBsZWdlbmRUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdpbm5lckh0bWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbm5lckh0bWw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBjb250ZW50SW5pdCA9IGZhbHNlO1xuICBwdWJsaWMgb2dGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb250cm9sQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLm9nRm9ybUdyb3VwID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wgYXMgRm9ybUdyb3VwO1xuICAgIH1cbiAgICBpZiAodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgbGV0IGFyciA9IHRoaXMucGxhY2Vob2xkZXIuc3BsaXQoJy8nKTtcbiAgICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMCAmJiBhcnIgJiYgYXJyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdGhpcy5pdGVtc1tpXS5wbGFjZWhvbGRlciA9IGFycltpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNmZ3IgPSB0aGlzLmhhc0Vycm9yc01lc3NhZ2UoKSB8fCB0aGlzLmZvcm1Hcm91cENsYXNzZXMgPT09ICdjLWZvcm0tZ3JvdXAtLWVycm9yJztcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRJbml0ID0gdHJ1ZTtcbiAgfVxuXG4gIGluaXREZWZhdWx0SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLml0ZW1zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2TDrWEnLFxuICAgICAgICAgIGNsYXNzZXM6ICd3LTE0JyxcbiAgICAgICAgICBtYXhsZW5ndGg6IDIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnbWVzJyxcbiAgICAgICAgICBjbGFzc2VzOiAndy0xNCcsXG4gICAgICAgICAgbWF4bGVuZ3RoOiAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2HDsW8nLFxuICAgICAgICAgIGNsYXNzZXM6ICd3LTIwJyxcbiAgICAgICAgICBtYXhsZW5ndGg6IDQsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS52YWx1ZSA9IHRoaXMudmFsdWVbdGhpcy5nZXRJdGVtTmFtZShpdGVtKV0pKTtcblxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XG4gICAgZmllbGRzZXQuZXJyb3JJZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gbmV3IE1ha2VIdG1sTGlzdFBpcGUoKS50cmFuc2Zvcm0oW3RoaXMuZ2V0SGludElkKCksIHRoaXMuZ2V0RXJyb3JJZCgpXSwgbnVsbCk7XG4gICAgZmllbGRzZXQucm9sZSA9ICdncm91cCc7XG4gICAgZmllbGRzZXQuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMoZXJyb3JNZXNzYWdlOiBFcnJvck1lc3NhZ2VDb21wb25lbnQpOiB2b2lkIHtcbiAgICBpZiAoZXJyb3JNZXNzYWdlICYmICFlcnJvck1lc3NhZ2UuaWQpIHtcbiAgICAgIGVycm9yTWVzc2FnZS5pZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgICAgZXJyb3JNZXNzYWdlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkV4dGVybmFsQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+ICh0aGlzLnZhbHVlW3RoaXMuZ2V0SXRlbU5hbWUoaXRlbSldID0gaXRlbS52YWx1ZSkpO1xuICAgIGNvbnN0IG5ld1ZhbCA9IHt9O1xuICAgIE9iamVjdC5hc3NpZ24obmV3VmFsLCB0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbCk7XG4gIH1cblxuICBvbkludGVybmFsQ2hhbmdlKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhLCBpdGVtVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1OYW1lID0gdGhpcy5nZXRJdGVtTmFtZShpdGVtKTtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7fTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZVtpdGVtTmFtZV0gIT09IGl0ZW1WYWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZVtpdGVtTmFtZV0gPSBpdGVtVmFsdWUgPyAraXRlbVZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgY29uc3QgbmV3VmFsID0ge307XG4gICAgICBPYmplY3QuYXNzaWduKG5ld1ZhbCwgdGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbCk7XG4gICAgICBpZiAoXG4gICAgICAgIGl0ZW0gaW5zdGFuY2VvZiBEYXRlSW5wdXREYXlDb21wb25lbnQgfHxcbiAgICAgICAgaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IHx8XG4gICAgICAgIGl0ZW0gaW5zdGFuY2VvZiBEYXRlSW5wdXRZZWFyQ29tcG9uZW50XG4gICAgICApIHtcbiAgICAgICAgaXRlbS52YWx1ZUNoYW5nZS5lbWl0KGl0ZW1WYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtVmFsdWU7XG4gICAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXNGaWVsZHNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLmhhc0ZpZWxkc2V0Q29tcG9uZW50KCkgfHxcbiAgICAgIHRoaXMuaGFzTGVnZW5kQ29tcG9uZW50KCkgfHxcbiAgICAgIHRoaXMubGVnZW5kUmVmIHx8XG4gICAgICB0aGlzLmZpZWxkc2V0RGF0YSB8fFxuICAgICAgKHRoaXMubGVnZW5kRGF0YSAmJiAodGhpcy5sZWdlbmREYXRhLnRleHQgfHwgdGhpcy5sZWdlbmREYXRhLmh0bWwpKSB8fFxuICAgICAgdGhpcy5sZWdlbmRUZXh0XG4gICAgKTtcbiAgfVxuXG4gIGhhc0ZpZWxkc2V0Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZmllbGRzZXRDb21wb25lbnQ7XG4gIH1cblxuICBoYXNMZWdlbmRDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5sZWdlbmRDb21wb25lbnQ7XG4gIH1cblxuICBoYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5lcnJvck1lc3NhZ2VDb21wb25lbnQ7XG4gIH1cblxuICBnZXRJdGVtTmFtZShpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZVByZWZpeCA/IHRoaXMubmFtZVByZWZpeCArICctJyArIGl0ZW0ubmFtZSA6IGl0ZW0ubmFtZTtcbiAgfVxuXG4gIGdldEl0ZW1MYWJlbChpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSk6IExhYmVsRGF0YSB7XG4gICAgbGV0IGxhYmVsRGF0YTogTGFiZWxEYXRhO1xuICAgIGlmIChpdGVtLmxhYmVsRGF0YSAmJiAoaXRlbS5sYWJlbERhdGEudGV4dCB8fCBpdGVtLmxhYmVsRGF0YS5odG1sKSkge1xuICAgICAgbGFiZWxEYXRhID0gaXRlbS5sYWJlbERhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhYmVsRGF0YSA9IHtcbiAgICAgICAgdGV4dDogaXRlbS5sYWJlbFRleHQgPyBpdGVtLmxhYmVsVGV4dCA6IGl0ZW0ubmFtZSA/IGl0ZW0ubmFtZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBsYWJlbERhdGE7XG4gIH1cblxuICBnZXRJdGVtTGFiZWxSZWYoaXRlbTogSXRlbURhdGVJbnB1dERhdGEpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dERheUNvbXBvbmVudCB8fFxuICAgICAgaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IHx8XG4gICAgICBpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0WWVhckNvbXBvbmVudFxuICAgICAgPyBpdGVtLmxhYmVsUmVmXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBnZXRJdGVtcygpOiBJdGVtRGF0ZUlucHV0RGF0YVtdIHtcbiAgICBsZXQgaXRlbXM7XG4gICAgaWYgKHRoaXMuZGF0ZUlucHV0SXRlbUNvbXBvbmVudHMgJiYgdGhpcy5kYXRlSW5wdXRJdGVtQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBpdGVtcyA9IHRoaXMuZGF0ZUlucHV0SXRlbUNvbXBvbmVudHMudG9BcnJheSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtcykge1xuICAgICAgaXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgaXRlbXMgPSBEYXRlSW5wdXRDb21wb25lbnQuZGVmYXVsdEl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGdldEl0ZW1EaXZpZGVyVGVtcGxhdGUoaXRlbTogSXRlbURhdGVJbnB1dERhdGEpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gaXRlbS5kaXZpZGVyIGluc3RhbmNlb2YgRGF0ZUlucHV0RGl2aWRlckNvbXBvbmVudCA/IGl0ZW0uZGl2aWRlci5kaXZpZGVyQ29udGVudCA6IG51bGw7XG4gIH1cbiAgZ2V0SXRlbURpdmlkZXJIdG1sKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5kaXZpZGVyLmh0bWwgPyBpdGVtLmRpdmlkZXIuaHRtbCA6IGA8cD4ke1N0cmluZ1V0aWxzLmVzY2FwZUh0bWwoaXRlbS5kaXZpZGVyLnRleHQpfTwvcD5gO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2lubmVySHRtbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0hpbnRDb21wb25lbnQoKVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktaGludFwiPjwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzSGludENvbXBvbmVudCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpbnRSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGVzeS1oaW50XG4gICAgICAqbmdJZj1cIiFoaW50UmVmICYmIGhpbnREYXRhXCJcbiAgICAgIFtpZF09XCJnZXRIaW50SWQoKVwiXG4gICAgICBbdGV4dF09XCJoaW50RGF0YS50ZXh0XCJcbiAgICAgIFtodG1sXT1cImhpbnREYXRhLmh0bWxcIlxuICAgICAgW2NsYXNzZXNdPVwiaGludERhdGEuY2xhc3Nlc1wiXG4gICAgICBbcm9sZV09XCJoaW50RGF0YS5yb2xlXCJcbiAgICAgIFthcmlhTGFiZWxdPVwiaGludERhdGEuYXJpYUxhYmVsXCJcbiAgICAgIFthcmlhRGVzY3JpYmVkQnldPVwiaGludERhdGEuYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJoaW50RGF0YS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXJpYUhpZGRlbl09XCJoaW50RGF0YS5hcmlhSGlkZGVuXCJcbiAgICAgIFthcmlhRGlzYWJsZWRdPVwiaGludERhdGEuYXJpYURpc2FibGVkXCJcbiAgICAgIFthcmlhQ29udHJvbHNdPVwiaGludERhdGEuYXJpYUNvbnRyb2xzXCJcbiAgICAgIFthcmlhQ3VycmVudF09XCJoaW50RGF0YS5hcmlhQ3VycmVudFwiXG4gICAgICBbYXJpYUxpdmVdPVwiaGludERhdGEuYXJpYUxpdmVcIlxuICAgICAgW2FyaWFFeHBhbmRlZF09XCJoaW50RGF0YS5hcmlhRXhwYW5kZWRcIlxuICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaGludERhdGEuYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICBbYXJpYUhhc1BvcHVwXT1cImhpbnREYXRhLmFyaWFIYXNQb3B1cFwiXG4gICAgICBbdGFiaW5kZXhdPVwiaGludERhdGEudGFiaW5kZXhcIj48L2Rlc3ktaGludD5cbiAgICA8ZGVzeS1oaW50XG4gICAgICAqbmdJZj1cIiFoaW50UmVmICYmICFoaW50RGF0YSAmJiBoaW50VGV4dFwiXG4gICAgICBbdGV4dF09XCJoaW50VGV4dFwiXG4gICAgICBbaWRdPVwiZ2V0SGludElkKClcIj48L2Rlc3ktaGludD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1lcnJvci1tZXNzYWdlXCI+PC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvck1lc3NhZ2VSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGVzeS1lcnJvci1tZXNzYWdlXG4gICAgICAqbmdJZj1cIiFlcnJvck1lc3NhZ2VSZWYgJiYgZXJyb3JNZXNzYWdlRGF0YVwiXG4gICAgICBbaWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICAgIFt0ZXh0XT1cImVycm9yTWVzc2FnZURhdGEudGV4dFwiXG4gICAgICBbaHRtbF09XCJlcnJvck1lc3NhZ2VEYXRhLmh0bWxcIlxuICAgICAgW2NsYXNzZXNdPVwiZXJyb3JNZXNzYWdlRGF0YS5jbGFzc2VzXCJcbiAgICAgIFt2aXN1YWxseUhpZGRlblRleHRdPVwiZXJyb3JNZXNzYWdlRGF0YS52aXN1YWxseUhpZGRlblRleHRcIlxuICAgICAgW3JvbGVdPVwiZXJyb3JNZXNzYWdlRGF0YS5yb2xlXCJcbiAgICAgIFthcmlhTGFiZWxdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhTGFiZWxcIlxuICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICBbYXJpYUxhYmVsbGVkQnldPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICBbYXJpYUhpZGRlbl09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFIaWRkZW5cIlxuICAgICAgW2FyaWFEaXNhYmxlZF09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFEaXNhYmxlZFwiXG4gICAgICBbYXJpYUNvbnRyb2xzXT1cImVycm9yTWVzc2FnZURhdGEuYXJpYUNvbnRyb2xzXCJcbiAgICAgIFthcmlhQ3VycmVudF09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFDdXJyZW50XCJcbiAgICAgIFthcmlhTGl2ZV09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFMaXZlXCJcbiAgICAgIFthcmlhRXhwYW5kZWRdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhRXhwYW5kZWRcIlxuICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgIFthcmlhSGFzUG9wdXBdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhSGFzUG9wdXBcIlxuICAgICAgW3RhYmluZGV4XT1cImVycm9yTWVzc2FnZURhdGEudGFiaW5kZXhcIj48L2Rlc3ktZXJyb3ItbWVzc2FnZT5cbiAgICA8ZGVzeS1lcnJvci1tZXNzYWdlXG4gICAgICAqbmdJZj1cIiFlcnJvck1lc3NhZ2VSZWYgJiYgIWVycm9yTWVzc2FnZURhdGEgJiYgZXJyb3JNZXNzYWdlVGV4dFwiXG4gICAgICBbdGV4dF09XCJlcnJvck1lc3NhZ2VUZXh0XCJcbiAgICAgIFtpZF09XCJnZXRFcnJvcklkKClcIj48L2Rlc3ktZXJyb3ItbWVzc2FnZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBXaXRoIHJlYWN0aXZlIGZvcm1zIC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJjb250cm9sQ29udGFpbmVyICYmICFuZ01vZGVsR3JvdXBcIlxuICAgIFtmb3JtR3JvdXBdPVwib2dGb3JtR3JvdXBcIlxuICAgIFtjbGFzc109XCJbJ2ZsZXgnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBpbmRleCBhcyBpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5kaXZpZGVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmRpdmlkZXIuY2xhc3Nlc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwie1xuICAgICAgICAgICAgICB0ZW1wbGF0ZTogZ2V0SXRlbURpdmlkZXJUZW1wbGF0ZShpdGVtKSxcbiAgICAgICAgICAgICAgaHRtbDogZ2V0SXRlbURpdmlkZXJIdG1sKGl0ZW0pLFxuICAgICAgICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmRpdmlkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWJhc2VcIj5cbiAgICAgICAgICA8ZGVzeS1pbnB1dFxuICAgICAgICAgICAgW2xhYmVsRGF0YV09XCJnZXRJdGVtTGFiZWwoaXRlbSlcIlxuICAgICAgICAgICAgW2xhYmVsUmVmXT1cImdldEl0ZW1MYWJlbFJlZihpdGVtKVwiXG4gICAgICAgICAgICBbaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBpZCArICctJyArIGl0ZW0ubmFtZVwiXG4gICAgICAgICAgICBbY2xhc3Nlc109XCJbJ21iLTAnLCBpdGVtLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgIFtlcnJvcklkXT1cIml0ZW0uaGFzRXJyb3JzID8gZ2V0RXJyb3JJZCgpIDogbnVsbFwiXG4gICAgICAgICAgICBbbmFtZV09XCJnZXRJdGVtTmFtZShpdGVtKVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEl0ZW1OYW1lKGl0ZW0pXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbaW5wdXRtb2RlXT1cIidudW1lcmljJ1wiXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIml0ZW0uYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgIFtwYXR0ZXJuXT1cIml0ZW0ucGF0dGVybiA/IGl0ZW0ucGF0dGVybiA6ICdbMC05XSonXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhsZW5ndGhcIlxuICAgICAgICAgICAgW3JvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXJpYUNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgIFthcmlhTGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgIFthcmlhRXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIlxuICAgICAgICAgICAgW2FyaWFNb2RhbF09XCJpdGVtLmFyaWFNb2RhbFwiXG4gICAgICAgICAgICBbYXJpYUNoZWNrZWRdPVwiaXRlbS5hcmlhQ2hlY2tlZFwiXG4gICAgICAgICAgICBbYXJpYVByZXNzZWRdPVwiaXRlbS5hcmlhUHJlc3NlZFwiXG4gICAgICAgICAgICBbYXJpYVJlYWRvbmx5XT1cIml0ZW0uYXJpYVJlYWRvbmx5XCJcbiAgICAgICAgICAgIFthcmlhUmVxdWlyZWRdPVwiaXRlbS5hcmlhUmVxdWlyZWRcIlxuICAgICAgICAgICAgW2FyaWFTZWxlY3RlZF09XCJpdGVtLmFyaWFTZWxlY3RlZFwiXG4gICAgICAgICAgICBbYXJpYVZhbHVlbWluXT1cIml0ZW0uYXJpYVZhbHVlbWluXCJcbiAgICAgICAgICAgIFthcmlhVmFsdWVtYXhdPVwiaXRlbS5hcmlhVmFsdWVtYXhcIlxuICAgICAgICAgICAgW2FyaWFWYWx1ZW5vd109XCJpdGVtLmFyaWFWYWx1ZW5vd1wiXG4gICAgICAgICAgICBbYXJpYVZhbHVldGV4dF09XCJpdGVtLmFyaWFWYWx1ZXRleHRcIlxuICAgICAgICAgICAgW2FyaWFPcmllbnRhdGlvbl09XCJpdGVtLmFyaWFPcmllbnRhdGlvblwiXG4gICAgICAgICAgICBbYXJpYUxldmVsXT1cIml0ZW0uYXJpYUxldmVsXCJcbiAgICAgICAgICAgIFthcmlhTXVsdGlzZWxlY3RhYmxlXT1cIml0ZW0uYXJpYU11bHRpc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbYXJpYVBsYWNlaG9sZGVyXT1cIml0ZW0uYXJpYVBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFthcmlhUG9zaW5zZXRdPVwiaXRlbS5hcmlhUG9zaW5zZXRcIlxuICAgICAgICAgICAgW2FyaWFTZXRzaXplXT1cIml0ZW0uYXJpYVNldHNpemVcIlxuICAgICAgICAgICAgW2FyaWFTb3J0XT1cIml0ZW0uYXJpYVNvcnRcIlxuICAgICAgICAgICAgW2FyaWFCdXN5XT1cIml0ZW0uYXJpYUJ1c3lcIlxuICAgICAgICAgICAgW2FyaWFEcm9wZWZmZWN0XT1cIml0ZW0uYXJpYURyb3BlZmZlY3RcIlxuICAgICAgICAgICAgW2FyaWFHcmFiYmVkXT1cIml0ZW0uYXJpYUdyYWJiZWRcIlxuICAgICAgICAgICAgW2FyaWFBY3RpdmVkZXNjZW5kYW50XT1cIml0ZW0uYXJpYUFjdGl2ZWRlc2NlbmRhbnRcIlxuICAgICAgICAgICAgW2FyaWFBdG9taWNdPVwiaXRlbS5hcmlhQXRvbWljXCJcbiAgICAgICAgICAgIFthcmlhQXV0b2NvbXBsZXRlXT1cIml0ZW0uYXJpYUF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICBbYXJpYUJyYWlsbGVsYWJlbF09XCJpdGVtLmFyaWFCcmFpbGxlbGFiZWxcIlxuICAgICAgICAgICAgW2FyaWFCcmFpbGxlcm9sZWRlc2NyaXB0aW9uXT1cIml0ZW0uYXJpYUJyYWlsbGVyb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2FyaWFDb2xjb3VudF09XCJpdGVtLmFyaWFDb2xjb3VudFwiXG4gICAgICAgICAgICBbYXJpYUNvbGluZGV4XT1cIml0ZW0uYXJpYUNvbGluZGV4XCJcbiAgICAgICAgICAgIFthcmlhQ29saW5kZXh0ZXh0XT1cIml0ZW0uYXJpYUNvbGluZGV4dGV4dFwiXG4gICAgICAgICAgICBbYXJpYUNvbHNwYW5dPVwiaXRlbS5hcmlhQ29sc3BhblwiXG4gICAgICAgICAgICBbYXJpYURlc2NyaXB0aW9uXT1cIml0ZW0uYXJpYURlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFthcmlhRGV0YWlsc109XCJpdGVtLmFyaWFEZXRhaWxzXCJcbiAgICAgICAgICAgIFthcmlhRmxvd3RvXT1cIml0ZW0uYXJpYUZsb3d0b1wiXG4gICAgICAgICAgICBbYXJpYUludmFsaWRdPVwiaXRlbS5hcmlhSW52YWxpZFwiXG4gICAgICAgICAgICBbYXJpYUtleXNob3J0Y3V0c109XCJpdGVtLmFyaWFLZXlzaG9ydGN1dHNcIlxuICAgICAgICAgICAgW2FyaWFPd25zXT1cIml0ZW0uYXJpYU93bnNcIlxuICAgICAgICAgICAgW2FyaWFSZWxldmFudF09XCJpdGVtLmFyaWFSZWxldmFudFwiXG4gICAgICAgICAgICBbYXJpYVJvbGVkZXNjcmlwdGlvbl09XCJpdGVtLmFyaWFSb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2FyaWFSb3djb3VudF09XCJpdGVtLmFyaWFSb3djb3VudFwiXG4gICAgICAgICAgICBbYXJpYVJvd2luZGV4XT1cIml0ZW0uYXJpYVJvd2luZGV4XCJcbiAgICAgICAgICAgIFthcmlhUm93aW5kZXh0ZXh0XT1cIml0ZW0uYXJpYVJvd2luZGV4dGV4dFwiXG4gICAgICAgICAgICBbYXJpYVJvd3NwYW5dPVwiaXRlbS5hcmlhUm93c3BhblwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICBbYWx0XT1cIml0ZW0uYWx0XCJcbiAgICAgICAgICAgIFtsYW5nXT1cIml0ZW0ubGFuZ1wiXG4gICAgICAgICAgICBbYWNjZXNza2V5XT1cIml0ZW0uYWNjZXNza2V5XCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiaXRlbS5hdXRvZm9jdXNcIlxuICAgICAgICAgICAgW2NvbnRlbnRlZGl0YWJsZV09XCJpdGVtLmNvbnRlbnRlZGl0YWJsZVwiXG4gICAgICAgICAgICBbZGlyXT1cIml0ZW0uZGlyXCJcbiAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiaXRlbS5kcmFnZ2FibGVcIlxuICAgICAgICAgICAgW2VudGVya2V5aGludF09XCJpdGVtLmVudGVya2V5aGludFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uaGlkZGVuXCJcbiAgICAgICAgICAgIFtzcGVsbGNoZWNrXT1cIml0ZW0uc3BlbGxjaGVja1wiXG4gICAgICAgICAgICBbdHJhbnNsYXRlXT1cIml0ZW0udHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthcmlhTXVsdGlsaW5lXT1cIml0ZW0uYXJpYU11bHRpbGluZVwiXG4gICAgICAgICAgICBbZm9yXT1cIml0ZW0uZm9yXCJcbiAgICAgICAgICAgIFtmb3JtXT1cIml0ZW0uZm9ybVwiXG4gICAgICAgICAgICBbaGVhZGVyc109XCJpdGVtLmhlYWRlcnNcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHlcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cIml0ZW0ucmVxdWlyZWRcIj48L2Rlc3ktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDwhLS0gVGVtcGxhdGUtZHJpdmVuIGZvcm1zIC0tPlxuICA8ZGVzeS10ZW1wbGF0ZS1kcml2ZW4td3JhcHBlciAqbmdJZj1cImNvbnRyb2xDb250YWluZXIgJiYgbmdNb2RlbEdyb3VwXCI+XG4gICAgPGRpdlxuICAgICAgW25nTW9kZWxHcm91cF09XCJuZ01vZGVsR3JvdXBcIlxuICAgICAgW2NsYXNzXT1cIlsnZmxleCcsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcbiAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGl2aWRlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5kaXZpZGVyLmNsYXNzZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7XG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IGdldEl0ZW1EaXZpZGVyVGVtcGxhdGUoaXRlbSksXG4gICAgICAgICAgICAgICAgaHRtbDogZ2V0SXRlbURpdmlkZXJIdG1sKGl0ZW0pLFxuICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZGl2aWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1iYXNlXCI+XG4gICAgICAgICAgICA8ZGVzeS1pbnB1dFxuICAgICAgICAgICAgICBbbGFiZWxEYXRhXT1cImdldEl0ZW1MYWJlbChpdGVtKVwiXG4gICAgICAgICAgICAgIFtsYWJlbFJlZl09XCJnZXRJdGVtTGFiZWxSZWYoaXRlbSlcIlxuICAgICAgICAgICAgICBbaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBpZCArICctJyArIGl0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgIFtjbGFzc2VzXT1cIlsnbWItMCcsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICBbZXJyb3JJZF09XCJpdGVtLmhhc0Vycm9ycyA/IGdldEVycm9ySWQoKSA6IG51bGxcIlxuICAgICAgICAgICAgICBbbmFtZV09XCJnZXRJdGVtTmFtZShpdGVtKVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkludGVybmFsQ2hhbmdlKGl0ZW0sICskZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgW2lucHV0bW9kZV09XCInbnVtZXJpYydcIlxuICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIml0ZW0uYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgW3BhdHRlcm5dPVwiaXRlbS5wYXR0ZXJuID8gaXRlbS5wYXR0ZXJuIDogJ1swLTldKidcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJpdGVtLm1heGxlbmd0aFwiXG4gICAgICAgICAgICAgIFtyb2xlXT1cIml0ZW0ucm9sZVwiXG4gICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICBbYXJpYURpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2FyaWFDb250cm9sc109XCJpdGVtLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgW2FyaWFMaXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICBbYXJpYUV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgW2FyaWFIYXNQb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpdGVtLnRhYmluZGV4XCJcbiAgICAgICAgICAgICAgW2FyaWFNb2RhbF09XCJpdGVtLmFyaWFNb2RhbFwiXG4gICAgICAgICAgICAgIFthcmlhQ2hlY2tlZF09XCJpdGVtLmFyaWFDaGVja2VkXCJcbiAgICAgICAgICAgICAgW2FyaWFQcmVzc2VkXT1cIml0ZW0uYXJpYVByZXNzZWRcIlxuICAgICAgICAgICAgICBbYXJpYVJlYWRvbmx5XT1cIml0ZW0uYXJpYVJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW2FyaWFSZXF1aXJlZF09XCJpdGVtLmFyaWFSZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFthcmlhU2VsZWN0ZWRdPVwiaXRlbS5hcmlhU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICBbYXJpYVZhbHVlbWluXT1cIml0ZW0uYXJpYVZhbHVlbWluXCJcbiAgICAgICAgICAgICAgW2FyaWFWYWx1ZW1heF09XCJpdGVtLmFyaWFWYWx1ZW1heFwiXG4gICAgICAgICAgICAgIFthcmlhVmFsdWVub3ddPVwiaXRlbS5hcmlhVmFsdWVub3dcIlxuICAgICAgICAgICAgICBbYXJpYVZhbHVldGV4dF09XCJpdGVtLmFyaWFWYWx1ZXRleHRcIlxuICAgICAgICAgICAgICBbYXJpYU9yaWVudGF0aW9uXT1cIml0ZW0uYXJpYU9yaWVudGF0aW9uXCJcbiAgICAgICAgICAgICAgW2FyaWFMZXZlbF09XCJpdGVtLmFyaWFMZXZlbFwiXG4gICAgICAgICAgICAgIFthcmlhTXVsdGlzZWxlY3RhYmxlXT1cIml0ZW0uYXJpYU11bHRpc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICAgIFthcmlhUGxhY2Vob2xkZXJdPVwiaXRlbS5hcmlhUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICBbYXJpYVBvc2luc2V0XT1cIml0ZW0uYXJpYVBvc2luc2V0XCJcbiAgICAgICAgICAgICAgW2FyaWFTZXRzaXplXT1cIml0ZW0uYXJpYVNldHNpemVcIlxuICAgICAgICAgICAgICBbYXJpYVNvcnRdPVwiaXRlbS5hcmlhU29ydFwiXG4gICAgICAgICAgICAgIFthcmlhQnVzeV09XCJpdGVtLmFyaWFCdXN5XCJcbiAgICAgICAgICAgICAgW2FyaWFEcm9wZWZmZWN0XT1cIml0ZW0uYXJpYURyb3BlZmZlY3RcIlxuICAgICAgICAgICAgICBbYXJpYUdyYWJiZWRdPVwiaXRlbS5hcmlhR3JhYmJlZFwiXG4gICAgICAgICAgICAgIFthcmlhQWN0aXZlZGVzY2VuZGFudF09XCJpdGVtLmFyaWFBY3RpdmVkZXNjZW5kYW50XCJcbiAgICAgICAgICAgICAgW2FyaWFBdG9taWNdPVwiaXRlbS5hcmlhQXRvbWljXCJcbiAgICAgICAgICAgICAgW2FyaWFBdXRvY29tcGxldGVdPVwiaXRlbS5hcmlhQXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgW2FyaWFCcmFpbGxlbGFiZWxdPVwiaXRlbS5hcmlhQnJhaWxsZWxhYmVsXCJcbiAgICAgICAgICAgICAgW2FyaWFCcmFpbGxlcm9sZWRlc2NyaXB0aW9uXT1cIml0ZW0uYXJpYUJyYWlsbGVyb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbYXJpYUNvbGNvdW50XT1cIml0ZW0uYXJpYUNvbGNvdW50XCJcbiAgICAgICAgICAgICAgW2FyaWFDb2xpbmRleF09XCJpdGVtLmFyaWFDb2xpbmRleFwiXG4gICAgICAgICAgICAgIFthcmlhQ29saW5kZXh0ZXh0XT1cIml0ZW0uYXJpYUNvbGluZGV4dGV4dFwiXG4gICAgICAgICAgICAgIFthcmlhQ29sc3Bhbl09XCJpdGVtLmFyaWFDb2xzcGFuXCJcbiAgICAgICAgICAgICAgW2FyaWFEZXNjcmlwdGlvbl09XCJpdGVtLmFyaWFEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgIFthcmlhRGV0YWlsc109XCJpdGVtLmFyaWFEZXRhaWxzXCJcbiAgICAgICAgICAgICAgW2FyaWFGbG93dG9dPVwiaXRlbS5hcmlhRmxvd3RvXCJcbiAgICAgICAgICAgICAgW2FyaWFJbnZhbGlkXT1cIml0ZW0uYXJpYUludmFsaWRcIlxuICAgICAgICAgICAgICBbYXJpYUtleXNob3J0Y3V0c109XCJpdGVtLmFyaWFLZXlzaG9ydGN1dHNcIlxuICAgICAgICAgICAgICBbYXJpYU93bnNdPVwiaXRlbS5hcmlhT3duc1wiXG4gICAgICAgICAgICAgIFthcmlhUmVsZXZhbnRdPVwiaXRlbS5hcmlhUmVsZXZhbnRcIlxuICAgICAgICAgICAgICBbYXJpYVJvbGVkZXNjcmlwdGlvbl09XCJpdGVtLmFyaWFSb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBbYXJpYVJvd2NvdW50XT1cIml0ZW0uYXJpYVJvd2NvdW50XCJcbiAgICAgICAgICAgICAgW2FyaWFSb3dpbmRleF09XCJpdGVtLmFyaWFSb3dpbmRleFwiXG4gICAgICAgICAgICAgIFthcmlhUm93aW5kZXh0ZXh0XT1cIml0ZW0uYXJpYVJvd2luZGV4dGV4dFwiXG4gICAgICAgICAgICAgIFthcmlhUm93c3Bhbl09XCJpdGVtLmFyaWFSb3dzcGFuXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uYWx0XCJcbiAgICAgICAgICAgICAgW2xhbmddPVwiaXRlbS5sYW5nXCJcbiAgICAgICAgICAgICAgW2FjY2Vzc2tleV09XCJpdGVtLmFjY2Vzc2tleVwiXG4gICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiaXRlbS5hdXRvZm9jdXNcIlxuICAgICAgICAgICAgICBbY29udGVudGVkaXRhYmxlXT1cIml0ZW0uY29udGVudGVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgW2Rpcl09XCJpdGVtLmRpclwiXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiaXRlbS5kcmFnZ2FibGVcIlxuICAgICAgICAgICAgICBbZW50ZXJrZXloaW50XT1cIml0ZW0uZW50ZXJrZXloaW50XCJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtLmhpZGRlblwiXG4gICAgICAgICAgICAgIFtzcGVsbGNoZWNrXT1cIml0ZW0uc3BlbGxjaGVja1wiXG4gICAgICAgICAgICAgIFt0cmFuc2xhdGVdPVwiaXRlbS50cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbYXJpYU11bHRpbGluZV09XCJpdGVtLmFyaWFNdWx0aWxpbmVcIlxuICAgICAgICAgICAgICBbZm9yXT1cIml0ZW0uZm9yXCJcbiAgICAgICAgICAgICAgW2Zvcm1dPVwiaXRlbS5mb3JtXCJcbiAgICAgICAgICAgICAgW2hlYWRlcnNdPVwiaXRlbS5oZWFkZXJzXCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHlcIlxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXRlbS5yZXF1aXJlZFwiPjwvZGVzeS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kZXN5LXRlbXBsYXRlLWRyaXZlbi13cmFwcGVyPlxuXG4gIDwhLS0gV2l0aCBuZ01vZGVsLS0+XG4gIDxkaXZcbiAgICAqbmdJZj1cIiFjb250cm9sQ29udGFpbmVyXCJcbiAgICBbY2xhc3NdPVwiWydmbGV4JywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcbiAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKTsgaW5kZXggYXMgaVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGl2aWRlclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5kaXZpZGVyLmNsYXNzZXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgICAgICAgdGVtcGxhdGU6IGdldEl0ZW1EaXZpZGVyVGVtcGxhdGUoaXRlbSksXG4gICAgICAgICAgICAgIGh0bWw6IGdldEl0ZW1EaXZpZGVySHRtbChpdGVtKSxcbiAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5kaXZpZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtci1iYXNlXCI+XG4gICAgICAgICAgPGRlc3ktaW5wdXRcbiAgICAgICAgICAgIFtsYWJlbERhdGFdPVwiZ2V0SXRlbUxhYmVsKGl0ZW0pXCJcbiAgICAgICAgICAgIFtsYWJlbFJlZl09XCJnZXRJdGVtTGFiZWxSZWYoaXRlbSlcIlxuICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWQgPyBpdGVtLmlkIDogaWQgKyAnLScgKyBpdGVtLm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzZXNdPVwiWydtYi0wJywgaXRlbS5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICBbZXJyb3JJZF09XCJpdGVtLmhhc0Vycm9ycyA/IGdldEVycm9ySWQoKSA6IG51bGxcIlxuICAgICAgICAgICAgW25hbWVdPVwiZ2V0SXRlbU5hbWUoaXRlbSlcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkludGVybmFsQ2hhbmdlKGl0ZW0sICskZXZlbnQpXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbaW5wdXRtb2RlXT1cIidudW1lcmljJ1wiXG4gICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIml0ZW0uYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgIFtwYXR0ZXJuXT1cIml0ZW0ucGF0dGVybiA/IGl0ZW0ucGF0dGVybiA6ICdbMC05XSonXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhsZW5ndGhcIlxuICAgICAgICAgICAgW3JvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXJpYUNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgIFthcmlhTGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgIFthcmlhRXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIlxuICAgICAgICAgICAgW2FyaWFNb2RhbF09XCJpdGVtLmFyaWFNb2RhbFwiXG4gICAgICAgICAgICBbYXJpYUNoZWNrZWRdPVwiaXRlbS5hcmlhQ2hlY2tlZFwiXG4gICAgICAgICAgICBbYXJpYVByZXNzZWRdPVwiaXRlbS5hcmlhUHJlc3NlZFwiXG4gICAgICAgICAgICBbYXJpYVJlYWRvbmx5XT1cIml0ZW0uYXJpYVJlYWRvbmx5XCJcbiAgICAgICAgICAgIFthcmlhUmVxdWlyZWRdPVwiaXRlbS5hcmlhUmVxdWlyZWRcIlxuICAgICAgICAgICAgW2FyaWFTZWxlY3RlZF09XCJpdGVtLmFyaWFTZWxlY3RlZFwiXG4gICAgICAgICAgICBbYXJpYVZhbHVlbWluXT1cIml0ZW0uYXJpYVZhbHVlbWluXCJcbiAgICAgICAgICAgIFthcmlhVmFsdWVtYXhdPVwiaXRlbS5hcmlhVmFsdWVtYXhcIlxuICAgICAgICAgICAgW2FyaWFWYWx1ZW5vd109XCJpdGVtLmFyaWFWYWx1ZW5vd1wiXG4gICAgICAgICAgICBbYXJpYVZhbHVldGV4dF09XCJpdGVtLmFyaWFWYWx1ZXRleHRcIlxuICAgICAgICAgICAgW2FyaWFPcmllbnRhdGlvbl09XCJpdGVtLmFyaWFPcmllbnRhdGlvblwiXG4gICAgICAgICAgICBbYXJpYUxldmVsXT1cIml0ZW0uYXJpYUxldmVsXCJcbiAgICAgICAgICAgIFthcmlhTXVsdGlzZWxlY3RhYmxlXT1cIml0ZW0uYXJpYU11bHRpc2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbYXJpYVBsYWNlaG9sZGVyXT1cIml0ZW0uYXJpYVBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFthcmlhUG9zaW5zZXRdPVwiaXRlbS5hcmlhUG9zaW5zZXRcIlxuICAgICAgICAgICAgW2FyaWFTZXRzaXplXT1cIml0ZW0uYXJpYVNldHNpemVcIlxuICAgICAgICAgICAgW2FyaWFTb3J0XT1cIml0ZW0uYXJpYVNvcnRcIlxuICAgICAgICAgICAgW2FyaWFCdXN5XT1cIml0ZW0uYXJpYUJ1c3lcIlxuICAgICAgICAgICAgW2FyaWFEcm9wZWZmZWN0XT1cIml0ZW0uYXJpYURyb3BlZmZlY3RcIlxuICAgICAgICAgICAgW2FyaWFHcmFiYmVkXT1cIml0ZW0uYXJpYUdyYWJiZWRcIlxuICAgICAgICAgICAgW2FyaWFBY3RpdmVkZXNjZW5kYW50XT1cIml0ZW0uYXJpYUFjdGl2ZWRlc2NlbmRhbnRcIlxuICAgICAgICAgICAgW2FyaWFBdG9taWNdPVwiaXRlbS5hcmlhQXRvbWljXCJcbiAgICAgICAgICAgIFthcmlhQXV0b2NvbXBsZXRlXT1cIml0ZW0uYXJpYUF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICBbYXJpYUJyYWlsbGVsYWJlbF09XCJpdGVtLmFyaWFCcmFpbGxlbGFiZWxcIlxuICAgICAgICAgICAgW2FyaWFCcmFpbGxlcm9sZWRlc2NyaXB0aW9uXT1cIml0ZW0uYXJpYUJyYWlsbGVyb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2FyaWFDb2xjb3VudF09XCJpdGVtLmFyaWFDb2xjb3VudFwiXG4gICAgICAgICAgICBbYXJpYUNvbGluZGV4XT1cIml0ZW0uYXJpYUNvbGluZGV4XCJcbiAgICAgICAgICAgIFthcmlhQ29saW5kZXh0ZXh0XT1cIml0ZW0uYXJpYUNvbGluZGV4dGV4dFwiXG4gICAgICAgICAgICBbYXJpYUNvbHNwYW5dPVwiaXRlbS5hcmlhQ29sc3BhblwiXG4gICAgICAgICAgICBbYXJpYURlc2NyaXB0aW9uXT1cIml0ZW0uYXJpYURlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFthcmlhRGV0YWlsc109XCJpdGVtLmFyaWFEZXRhaWxzXCJcbiAgICAgICAgICAgIFthcmlhRmxvd3RvXT1cIml0ZW0uYXJpYUZsb3d0b1wiXG4gICAgICAgICAgICBbYXJpYUludmFsaWRdPVwiaXRlbS5hcmlhSW52YWxpZFwiXG4gICAgICAgICAgICBbYXJpYUtleXNob3J0Y3V0c109XCJpdGVtLmFyaWFLZXlzaG9ydGN1dHNcIlxuICAgICAgICAgICAgW2FyaWFPd25zXT1cIml0ZW0uYXJpYU93bnNcIlxuICAgICAgICAgICAgW2FyaWFSZWxldmFudF09XCJpdGVtLmFyaWFSZWxldmFudFwiXG4gICAgICAgICAgICBbYXJpYVJvbGVkZXNjcmlwdGlvbl09XCJpdGVtLmFyaWFSb2xlZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW2FyaWFSb3djb3VudF09XCJpdGVtLmFyaWFSb3djb3VudFwiXG4gICAgICAgICAgICBbYXJpYVJvd2luZGV4XT1cIml0ZW0uYXJpYVJvd2luZGV4XCJcbiAgICAgICAgICAgIFthcmlhUm93aW5kZXh0ZXh0XT1cIml0ZW0uYXJpYVJvd2luZGV4dGV4dFwiXG4gICAgICAgICAgICBbYXJpYVJvd3NwYW5dPVwiaXRlbS5hcmlhUm93c3BhblwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICBbYWx0XT1cIml0ZW0uYWx0XCJcbiAgICAgICAgICAgIFtsYW5nXT1cIml0ZW0ubGFuZ1wiXG4gICAgICAgICAgICBbYWNjZXNza2V5XT1cIml0ZW0uYWNjZXNza2V5XCJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiaXRlbS5hdXRvZm9jdXNcIlxuICAgICAgICAgICAgW2NvbnRlbnRlZGl0YWJsZV09XCJpdGVtLmNvbnRlbnRlZGl0YWJsZVwiXG4gICAgICAgICAgICBbZGlyXT1cIml0ZW0uZGlyXCJcbiAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwiaXRlbS5kcmFnZ2FibGVcIlxuICAgICAgICAgICAgW2VudGVya2V5aGludF09XCJpdGVtLmVudGVya2V5aGludFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uaGlkZGVuXCJcbiAgICAgICAgICAgIFtzcGVsbGNoZWNrXT1cIml0ZW0uc3BlbGxjaGVja1wiXG4gICAgICAgICAgICBbdHJhbnNsYXRlXT1cIml0ZW0udHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFthcmlhTXVsdGlsaW5lXT1cIml0ZW0uYXJpYU11bHRpbGluZVwiXG4gICAgICAgICAgICBbZm9yXT1cIml0ZW0uZm9yXCJcbiAgICAgICAgICAgIFtmb3JtXT1cIml0ZW0uZm9ybVwiXG4gICAgICAgICAgICBbaGVhZGVyc109XCJpdGVtLmhlYWRlcnNcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cIml0ZW0ucmVhZG9ubHlcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cIml0ZW0ucmVxdWlyZWRcIj48L2Rlc3ktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0ZpZWxkc2V0Q29tcG9uZW50KClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZGVzeS1maWVsZHNldFwiPjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNGaWVsZHNldENvbXBvbmVudCgpXCI+XG4gIDxkZXN5LWZpZWxkc2V0XG4gICAgKm5nSWY9XCJmaWVsZHNldERhdGFcIlxuICAgIFtjbGFzc2VzXT1cImZpZWxkc2V0RGF0YS5jbGFzc2VzXCJcbiAgICBbaWRdPVwiZmllbGRzZXREYXRhLmlkXCJcbiAgICBbbGVnZW5kRGF0YV09XCJmaWVsZHNldERhdGEubGVnZW5kXCJcbiAgICBbY2FsbGVyXT1cImlubmVySHRtbFwiXG4gICAgW2Vycm9ySWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiW2ZpZWxkc2V0RGF0YS5kZXNjcmliZWRCeSwgZ2V0SGludElkKCksIGdldEVycm9ySWQoKV0gfCBtYWtlSHRtbExpc3Q6IG51bGxcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gICAgW2FyaWFMYWJlbF09XCJmaWVsZHNldERhdGEuYXJpYUxhYmVsXCJcbiAgICBbYXJpYUxhYmVsbGVkQnldPVwiZmllbGRzZXREYXRhLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbYXJpYUhpZGRlbl09XCJmaWVsZHNldERhdGEuYXJpYUhpZGRlblwiXG4gICAgW2FyaWFEaXNhYmxlZF09XCJmaWVsZHNldERhdGEuYXJpYURpc2FibGVkXCJcbiAgICBbYXJpYUNvbnRyb2xzXT1cImZpZWxkc2V0RGF0YS5hcmlhQ29udHJvbHNcIlxuICAgIFthcmlhQ3VycmVudF09XCJmaWVsZHNldERhdGEuYXJpYUN1cnJlbnRcIlxuICAgIFthcmlhTGl2ZV09XCJmaWVsZHNldERhdGEuYXJpYUxpdmVcIlxuICAgIFthcmlhRXhwYW5kZWRdPVwiZmllbGRzZXREYXRhLmFyaWFFeHBhbmRlZFwiXG4gICAgW2FyaWFIYXNQb3B1cF09XCJmaWVsZHNldERhdGEuYXJpYUhhc1BvcHVwXCJcbiAgICBbdGFiaW5kZXhdPVwiZmllbGRzZXREYXRhLnRhYmluZGV4XCI+PC9kZXN5LWZpZWxkc2V0PlxuICA8ZGVzeS1maWVsZHNldFxuICAgICpuZ0lmPVwiIWZpZWxkc2V0RGF0YSAmJiBoYXNMZWdlbmRDb21wb25lbnQoKVwiXG4gICAgW2xlZ2VuZFJlZl09XCJsZWdlbmRUZW1wbGF0ZVwiXG4gICAgW2NhbGxlcl09XCJpbm5lckh0bWxcIlxuICAgIFtlcnJvcklkXT1cImdldEVycm9ySWQoKVwiXG4gICAgW2Rlc2NyaWJlZEJ5XT1cIltnZXRIaW50SWQoKSwgZ2V0RXJyb3JJZCgpXSB8IG1ha2VIdG1sTGlzdDogbnVsbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGVnZW5kVGVtcGxhdGU+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWxlZ2VuZFwiPjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rlc3ktZmllbGRzZXQ+XG4gIDxkZXN5LWZpZWxkc2V0XG4gICAgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmICFoYXNMZWdlbmRDb21wb25lbnQoKSAmJiBsZWdlbmRSZWZcIlxuICAgIFtsZWdlbmRSZWZdPVwibGVnZW5kUmVmXCJcbiAgICBbY2FsbGVyXT1cImlubmVySHRtbFwiXG4gICAgW2Vycm9ySWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiW2dldEhpbnRJZCgpLCBnZXRFcnJvcklkKCldIHwgbWFrZUh0bWxMaXN0OiBudWxsXCJcbiAgICByb2xlPVwiZ3JvdXBcIj48L2Rlc3ktZmllbGRzZXQ+XG4gIDxkZXN5LWZpZWxkc2V0XG4gICAgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmICFoYXNMZWdlbmRDb21wb25lbnQoKSAmJiAhbGVnZW5kUmVmICYmIGxlZ2VuZERhdGFcIlxuICAgIFtsZWdlbmREYXRhXT1cIntcbiAgICAgIHRleHQ6IGxlZ2VuZERhdGEudGV4dCxcbiAgICAgIGh0bWw6IGxlZ2VuZERhdGEuaHRtbCxcbiAgICAgIGNsYXNzZXM6IGxlZ2VuZERhdGEuY2xhc3NlcyxcbiAgICAgIGlzUGFnZUhlYWRpbmc6IGxlZ2VuZERhdGEuaXNQYWdlSGVhZGluZyxcbiAgICB9XCJcbiAgICBbY2FsbGVyXT1cImlubmVySHRtbFwiXG4gICAgW2Vycm9ySWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiW2dldEhpbnRJZCgpLCBnZXRFcnJvcklkKCldIHwgbWFrZUh0bWxMaXN0OiBudWxsXCJcbiAgICByb2xlPVwiZ3JvdXBcIj48L2Rlc3ktZmllbGRzZXQ+XG4gIDxkZXN5LWZpZWxkc2V0XG4gICAgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmICFoYXNMZWdlbmRDb21wb25lbnQoKSAmJiAhbGVnZW5kUmVmICYmICFsZWdlbmREYXRhICYmIGxlZ2VuZFRleHRcIlxuICAgIFtsZWdlbmRUZXh0XT1cImxlZ2VuZFRleHRcIlxuICAgIFtjYWxsZXJdPVwiaW5uZXJIdG1sXCJcbiAgICBbZXJyb3JJZF09XCJnZXRFcnJvcklkKClcIlxuICAgIFtkZXNjcmliZWRCeV09XCJbZ2V0SGludElkKCksIGdldEVycm9ySWQoKV0gfCBtYWtlSHRtbExpc3Q6IG51bGxcIlxuICAgIHJvbGU9XCJncm91cFwiPjwvZGVzeS1maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0ZpZWxkc2V0KClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|