@fundamental-ngx/core 0.37.2-rc.0 → 0.37.2
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/action-bar/action-bar-actions/action-bar-actions.directive.d.ts +1 -1
- package/action-bar/action-bar-back/action-bar-back.directive.d.ts +1 -1
- package/action-bar/action-bar-description/action-bar-description.directive.d.ts +1 -1
- package/action-bar/action-bar-header/action-bar-header.directive.d.ts +1 -1
- package/action-bar/action-bar-mobile/action-bar-mobile.directive.d.ts +1 -1
- package/action-bar/action-bar-title/action-bar-title.component.d.ts +1 -1
- package/action-bar/action-bar.component.d.ts +1 -1
- package/action-sheet/action-sheet-body/action-sheet-body.component.d.ts +1 -1
- package/action-sheet/action-sheet-control/action-sheet-control.component.d.ts +1 -1
- package/action-sheet/action-sheet-item/action-sheet-item.component.d.ts +1 -1
- package/action-sheet/action-sheet-mobile/action-sheet-mobile.component.d.ts +1 -1
- package/action-sheet/action-sheet.component.d.ts +1 -1
- package/action-sheet/deprecated-action-sheet-compact.directive.d.ts +1 -1
- package/alert/alert-utils/alert-container.component.d.ts +1 -1
- package/alert/alert.component.d.ts +1 -1
- package/avatar/avatar.component.d.ts +1 -1
- package/avatar-group/avatar-group.component.d.ts +1 -1
- package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-item.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-overflow-body.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-overflow-button-text.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-overflow-item.directive.d.ts +1 -1
- package/avatar-group/directives/avatar-group-popover-control.directive.d.ts +1 -1
- package/bar/bar.component.d.ts +1 -1
- package/bar/button-bar/button-bar.component.d.ts +1 -1
- package/bar/deprecated-bar-button-content-density.directive.d.ts +1 -1
- package/bar/deprecated-bar-content-density.directive.d.ts +1 -1
- package/bar/directives/bar-element.directive.d.ts +1 -1
- package/bar/directives/bar-left.directive.d.ts +1 -1
- package/bar/directives/bar-middle.directive.d.ts +1 -1
- package/bar/directives/bar-right.directive.d.ts +1 -1
- package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
- package/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/breadcrumb/deprecated-breadcrumbs-compact.directive.d.ts +1 -1
- package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +1 -1
- package/busy-indicator/busy-indicator.component.d.ts +1 -1
- package/button/base-button.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/button/deprecated-button-content-density.directive.d.ts +1 -1
- package/calendar/calendar-directives.d.ts +1 -1
- package/calendar/calendar-header/calendar-header.component.d.ts +1 -1
- package/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.d.ts +1 -1
- package/calendar/calendar-views/calendar-day-view/calendar-day-view.component.d.ts +1 -1
- package/calendar/calendar-views/calendar-month-view/calendar-month-view.component.d.ts +1 -1
- package/calendar/calendar-views/calendar-year-view/calendar-year-view.component.d.ts +1 -1
- package/calendar/calendar.component.d.ts +1 -1
- package/calendar/deprecated-calendar-content-density.directive.d.ts +1 -1
- package/card/card-content.component.d.ts +1 -1
- package/card/card-counter.directive.d.ts +1 -1
- package/card/card-footer-action-item.directive.d.ts +1 -1
- package/card/card-footer.component.d.ts +1 -1
- package/card/card-header.component.d.ts +1 -1
- package/card/card-loader.component.d.ts +1 -1
- package/card/card-second-subtitle.directive.d.ts +1 -1
- package/card/card-subtitle.directive.d.ts +1 -1
- package/card/card-title.directive.d.ts +1 -1
- package/card/card.component.d.ts +1 -1
- package/card/deprecated-card-content-density.directive.d.ts +1 -1
- package/card/kpi/card-kpi-analytics-content.directive.d.ts +1 -1
- package/card/kpi/card-kpi-analytics-label.directive.d.ts +1 -1
- package/card/kpi/card-kpi-analytics.directive.d.ts +1 -1
- package/card/kpi/card-kpi-header.component.d.ts +1 -1
- package/card/kpi/card-kpi-scale-icon.directive.d.ts +1 -1
- package/card/kpi/card-kpi-scale-text.directive.d.ts +1 -1
- package/card/kpi/card-kpi-value.directive.d.ts +1 -1
- package/carousel/carousel-item/carousel-item.component.d.ts +1 -1
- package/carousel/carousel-item.directive.d.ts +1 -1
- package/carousel/carousel.component.d.ts +1 -1
- package/carousel/carousel.directive.d.ts +1 -1
- package/checkbox/checkbox/checkbox.component.d.ts +1 -1
- package/checkbox/deprecated-checkbox-content-density.directive.d.ts +1 -1
- package/combobox/combobox-mobile/combobox-mobile.component.d.ts +1 -1
- package/combobox/combobox.component.d.ts +1 -1
- package/combobox/deprecated-combobox-content-density.directive.d.ts +1 -1
- package/content-density/classes/deprecated-compact.directive.d.ts +1 -1
- package/content-density/classes/deprecated-condensed.directive.d.ts +1 -1
- package/content-density/classes/deprecated-content-density.directive.d.ts +1 -1
- package/content-density/classes/deprecated-cozy.directive.d.ts +1 -1
- package/content-density/directives/content-density.directive.d.ts +1 -1
- package/date-picker/date-picker.component.d.ts +1 -1
- package/date-picker/deprecated-date-picker-compact.directive.d.ts +1 -1
- package/datetime-picker/datetime-picker.component.d.ts +1 -1
- package/datetime-picker/deprecated-date-time-picker-content-density.directive.d.ts +1 -1
- package/dialog/base/dialog-base.class.d.ts +1 -1
- package/dialog/base/dialog-footer-base.class.d.ts +1 -1
- package/dialog/base/dialog-header-base.class.d.ts +1 -1
- package/dialog/dialog-body/dialog-body.component.d.ts +1 -1
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
- package/dialog/dialog-container/dialog-container.component.d.ts +1 -1
- package/dialog/dialog-default/dialog-default.component.d.ts +1 -1
- package/dialog/dialog-footer/dialog-footer.component.d.ts +1 -1
- package/dialog/dialog-footer-button/dialog-footer-button.component.d.ts +1 -1
- package/dialog/dialog-header/dialog-header.component.d.ts +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/dialog/directives/dialog-decisive-button.directive.d.ts +1 -1
- package/dialog/directives/dialog-title.directive.d.ts +1 -1
- package/dynamic-page/deprecated-dynamic-page-compact.directive.d.ts +1 -1
- package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.d.ts +1 -1
- package/dynamic-page/dynamic-page-wrapper.directive.d.ts +1 -1
- package/dynamic-page/dynamic-page.component.d.ts +1 -1
- package/dynamic-side-content/dynamic-side-content-main.component.d.ts +1 -1
- package/dynamic-side-content/dynamic-side-content-side.component.d.ts +1 -1
- package/dynamic-side-content/dynamic-side-content.component.d.ts +1 -1
- package/esm2020/action-bar/action-bar-actions/action-bar-actions.directive.mjs +3 -3
- package/esm2020/action-bar/action-bar-back/action-bar-back.directive.mjs +3 -3
- package/esm2020/action-bar/action-bar-description/action-bar-description.directive.mjs +3 -3
- package/esm2020/action-bar/action-bar-header/action-bar-header.directive.mjs +3 -3
- package/esm2020/action-bar/action-bar-mobile/action-bar-mobile.directive.mjs +3 -3
- package/esm2020/action-bar/action-bar-title/action-bar-title.component.mjs +3 -3
- package/esm2020/action-bar/action-bar.component.mjs +4 -4
- package/esm2020/action-bar/action-bar.module.mjs +4 -4
- package/esm2020/action-sheet/action-sheet-body/action-sheet-body.component.mjs +3 -3
- package/esm2020/action-sheet/action-sheet-control/action-sheet-control.component.mjs +3 -3
- package/esm2020/action-sheet/action-sheet-item/action-sheet-item.component.mjs +3 -3
- package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.component.mjs +3 -3
- package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.module.mjs +4 -4
- package/esm2020/action-sheet/action-sheet.component.mjs +4 -4
- package/esm2020/action-sheet/action-sheet.module.mjs +4 -4
- package/esm2020/action-sheet/deprecated-action-sheet-compact.directive.mjs +3 -3
- package/esm2020/alert/alert-service/alert.service.mjs +3 -3
- package/esm2020/alert/alert-utils/alert-container.component.mjs +3 -3
- package/esm2020/alert/alert.component.mjs +5 -5
- package/esm2020/alert/alert.module.mjs +4 -4
- package/esm2020/avatar/avatar.component.mjs +5 -5
- package/esm2020/avatar/avatar.module.mjs +4 -4
- package/esm2020/avatar-group/avatar-group.component.mjs +5 -5
- package/esm2020/avatar-group/avatar-group.module.mjs +4 -4
- package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +3 -3
- package/esm2020/avatar-group/directives/avatar-group-item.directive.mjs +3 -3
- package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +3 -3
- package/esm2020/avatar-group/directives/avatar-group-overflow-button-text.directive.mjs +3 -3
- package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +4 -4
- package/esm2020/avatar-group/directives/avatar-group-overflow-item.directive.mjs +3 -3
- package/esm2020/avatar-group/directives/avatar-group-popover-control.directive.mjs +3 -3
- package/esm2020/bar/bar.component.mjs +6 -6
- package/esm2020/bar/bar.module.mjs +4 -4
- package/esm2020/bar/button-bar/button-bar.component.mjs +3 -3
- package/esm2020/bar/deprecated-bar-button-content-density.directive.mjs +3 -3
- package/esm2020/bar/deprecated-bar-content-density.directive.mjs +3 -3
- package/esm2020/bar/directives/bar-element.directive.mjs +3 -3
- package/esm2020/bar/directives/bar-left.directive.mjs +3 -3
- package/esm2020/bar/directives/bar-middle.directive.mjs +3 -3
- package/esm2020/bar/directives/bar-right.directive.mjs +3 -3
- package/esm2020/breadcrumb/breadcrumb-item.component.mjs +3 -3
- package/esm2020/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2020/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2020/breadcrumb/deprecated-breadcrumbs-compact.directive.mjs +3 -3
- package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +3 -3
- package/esm2020/busy-indicator/busy-indicator.component.mjs +4 -4
- package/esm2020/busy-indicator/busy-indicator.module.mjs +4 -4
- package/esm2020/button/base-button.mjs +3 -3
- package/esm2020/button/button.component.mjs +6 -6
- package/esm2020/button/button.module.mjs +4 -4
- package/esm2020/button/deprecated-button-content-density.directive.mjs +3 -3
- package/esm2020/calendar/calendar-directives.mjs +3 -3
- package/esm2020/calendar/calendar-header/calendar-header.component.mjs +3 -3
- package/esm2020/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +3 -3
- package/esm2020/calendar/calendar-views/calendar-day-view/calendar-day-view.component.mjs +3 -3
- package/esm2020/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +3 -3
- package/esm2020/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +3 -3
- package/esm2020/calendar/calendar.component.mjs +5 -5
- package/esm2020/calendar/calendar.module.mjs +4 -4
- package/esm2020/calendar/calendar.service.mjs +3 -3
- package/esm2020/calendar/deprecated-calendar-content-density.directive.mjs +3 -3
- package/esm2020/calendar/i18n/calendar-i18n-labels.mjs +3 -3
- package/esm2020/card/card-content.component.mjs +4 -4
- package/esm2020/card/card-counter.directive.mjs +4 -4
- package/esm2020/card/card-footer-action-item.directive.mjs +3 -3
- package/esm2020/card/card-footer.component.mjs +3 -3
- package/esm2020/card/card-header.component.mjs +4 -4
- package/esm2020/card/card-loader.component.mjs +4 -4
- package/esm2020/card/card-second-subtitle.directive.mjs +4 -4
- package/esm2020/card/card-subtitle.directive.mjs +4 -4
- package/esm2020/card/card-title.directive.mjs +4 -4
- package/esm2020/card/card.component.mjs +6 -6
- package/esm2020/card/card.module.mjs +4 -4
- package/esm2020/card/deprecated-card-content-density.directive.mjs +3 -3
- package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-header.component.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +4 -4
- package/esm2020/card/kpi/card-kpi-value.directive.mjs +4 -4
- package/esm2020/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2020/carousel/carousel-item.directive.mjs +3 -3
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.directive.mjs +3 -3
- package/esm2020/carousel/carousel.module.mjs +4 -4
- package/esm2020/carousel/carousel.service.mjs +4 -4
- package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
- package/esm2020/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/checkbox/deprecated-checkbox-content-density.directive.mjs +3 -3
- package/esm2020/combobox/combobox-mobile/combobox-mobile.component.mjs +3 -3
- package/esm2020/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2020/combobox/combobox.component.mjs +3 -3
- package/esm2020/combobox/combobox.module.mjs +4 -4
- package/esm2020/combobox/deprecated-combobox-content-density.directive.mjs +3 -3
- package/esm2020/combobox/list-group.pipe.mjs +3 -3
- package/esm2020/content-density/classes/deprecated-compact.directive.mjs +3 -3
- package/esm2020/content-density/classes/deprecated-condensed.directive.mjs +3 -3
- package/esm2020/content-density/classes/deprecated-content-density.directive.mjs +3 -3
- package/esm2020/content-density/classes/deprecated-cozy.directive.mjs +3 -3
- package/esm2020/content-density/content-density.module.mjs +4 -4
- package/esm2020/content-density/directives/content-density.directive.mjs +3 -3
- package/esm2020/content-density/providers/local-content-density-storage.mjs +3 -3
- package/esm2020/content-density/providers/memory-content-density-storage.mjs +3 -3
- package/esm2020/content-density/providers/url-content-density-storage.mjs +3 -3
- package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
- package/esm2020/content-density/services/deprecated-content-density.service.mjs +3 -3
- package/esm2020/content-density/services/global-content-density.service.mjs +3 -3
- package/esm2020/date-picker/date-picker.component.mjs +3 -3
- package/esm2020/date-picker/date-picker.module.mjs +4 -4
- package/esm2020/date-picker/deprecated-date-picker-compact.directive.mjs +3 -3
- package/esm2020/datetime/datetime-format.pipes.mjs +9 -9
- package/esm2020/datetime/fd-datetime-adapter.mjs +3 -3
- package/esm2020/datetime/fd-datetime-pipes.module.mjs +4 -4
- package/esm2020/datetime/fd-datetime.module.mjs +8 -8
- package/esm2020/datetime-picker/datetime-picker.component.mjs +3 -3
- package/esm2020/datetime-picker/datetime-picker.module.mjs +4 -4
- package/esm2020/datetime-picker/deprecated-date-time-picker-content-density.directive.mjs +3 -3
- package/esm2020/dialog/base/dialog-base.class.mjs +3 -3
- package/esm2020/dialog/base/dialog-footer-base.class.mjs +3 -3
- package/esm2020/dialog/base/dialog-header-base.class.mjs +3 -3
- package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -3
- package/esm2020/dialog/dialog-close-button/dialog-close-button.component.mjs +3 -3
- package/esm2020/dialog/dialog-container/dialog-container.component.mjs +4 -4
- package/esm2020/dialog/dialog-default/dialog-default.component.mjs +3 -3
- package/esm2020/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
- package/esm2020/dialog/dialog-footer-button/dialog-footer-button.component.mjs +3 -3
- package/esm2020/dialog/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2020/dialog/dialog-service/dialog.service.mjs +3 -3
- package/esm2020/dialog/dialog.component.mjs +5 -5
- package/esm2020/dialog/dialog.module.mjs +4 -4
- package/esm2020/dialog/directives/dialog-decisive-button.directive.mjs +3 -3
- package/esm2020/dialog/directives/dialog-title.directive.mjs +3 -3
- package/esm2020/dialog/utils/dialog-config.class.mjs +3 -3
- package/esm2020/dialog/utils/dialog-ref.class.mjs +3 -3
- package/esm2020/dynamic-page/deprecated-dynamic-page-compact.directive.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-wrapper.directive.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page.component.mjs +4 -4
- package/esm2020/dynamic-page/dynamic-page.config.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -3
- package/esm2020/dynamic-side-content/dynamic-side-content-main.component.mjs +3 -3
- package/esm2020/dynamic-side-content/dynamic-side-content-side.component.mjs +3 -3
- package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +5 -5
- package/esm2020/dynamic-side-content/dynamic-side-content.module.mjs +4 -4
- package/esm2020/facets/content/facet-content.component.mjs +3 -3
- package/esm2020/facets/facet/facet.component.mjs +4 -4
- package/esm2020/facets/facet-group.component.mjs +3 -3
- package/esm2020/facets/facet.module.mjs +4 -4
- package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +4 -4
- package/esm2020/feed-input/directives/feed-input-button.directive.mjs +3 -3
- package/esm2020/feed-input/directives/feed-input-textarea.directive.mjs +3 -3
- package/esm2020/feed-input/feed-input.component.mjs +4 -4
- package/esm2020/feed-input/feed-input.module.mjs +4 -4
- package/esm2020/feed-list-item/components/feed-list-action/feed-list-action.component.mjs +3 -3
- package/esm2020/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.mjs +3 -3
- package/esm2020/feed-list-item/components/feed-list-footer/feed-list-footer.component.mjs +3 -3
- package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +4 -4
- package/esm2020/feed-list-item/components/list/feed-list.component.mjs +5 -5
- package/esm2020/feed-list-item/directives/byline.directive.mjs +3 -3
- package/esm2020/feed-list-item/feed-list-item.module.mjs +4 -4
- package/esm2020/file-uploader/deprecated-file-uploader-content-density.directive.mjs +3 -3
- package/esm2020/file-uploader/directives/file-uploader-dragndrop.directive.mjs +3 -3
- package/esm2020/file-uploader/directives/file-uploader-select.directive.mjs +3 -3
- package/esm2020/file-uploader/file-uploader.component.mjs +5 -5
- package/esm2020/file-uploader/file-uploader.module.mjs +4 -4
- package/esm2020/file-uploader/file-uploader.service.mjs +3 -3
- package/esm2020/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
- package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +7 -7
- package/esm2020/fixed-card-layout/fixed-card-layout.module.mjs +4 -4
- package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +4 -4
- package/esm2020/flexible-column-layout/flexible-column-layout.module.mjs +4 -4
- package/esm2020/form/fieldset/fieldset.component.mjs +4 -4
- package/esm2020/form/fieldset/fieldset.module.mjs +4 -4
- package/esm2020/form/form-control/deprecated-form-control-content-density.directive.mjs +3 -3
- package/esm2020/form/form-control/form-control.component.mjs +5 -5
- package/esm2020/form/form-control/form-control.module.mjs +4 -4
- package/esm2020/form/form-control/input-form-control.directive.mjs +3 -3
- package/esm2020/form/form-control/textarea-form-control.directive.mjs +3 -3
- package/esm2020/form/form-group/form-group.component.mjs +5 -5
- package/esm2020/form/form-group/form-group.module.mjs +4 -4
- package/esm2020/form/form-header/form-header.component.mjs +4 -4
- package/esm2020/form/form-header/form-header.module.mjs +4 -4
- package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +3 -3
- package/esm2020/form/form-input-message-group/form-input-message-group.module.mjs +4 -4
- package/esm2020/form/form-item/form-item.component.mjs +4 -4
- package/esm2020/form/form-item/form-item.module.mjs +4 -4
- package/esm2020/form/form-label/form-label.component.mjs +4 -4
- package/esm2020/form/form-label/form-label.module.mjs +4 -4
- package/esm2020/form/form-legend/form-legend.directive.mjs +3 -3
- package/esm2020/form/form-legend/form-legend.module.mjs +4 -4
- package/esm2020/form/form-message/form-message.component.mjs +5 -5
- package/esm2020/form/form-message/form-message.module.mjs +4 -4
- package/esm2020/form/form-message/popover-form-message.service.mjs +3 -3
- package/esm2020/form/form.module.mjs +4 -4
- package/esm2020/formatted-text/formatted-text.component.mjs +3 -3
- package/esm2020/formatted-text/formatted-text.module.mjs +4 -4
- package/esm2020/fundamental-ngx.module.mjs +4 -4
- package/esm2020/grid-list/components/grid-list/grid-list-base.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +4 -4
- package/esm2020/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-footer/grid-list-footer.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-group-header/grid-list-group-header.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.mjs +3 -3
- package/esm2020/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.mjs +3 -3
- package/esm2020/grid-list/directives/grid-list-item-body.directive.mjs +3 -3
- package/esm2020/grid-list/directives/grid-list-item-image.directive.mjs +3 -3
- package/esm2020/grid-list/grid-list.module.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +5 -5
- package/esm2020/icon/icon.module.mjs +4 -4
- package/esm2020/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.mjs +3 -3
- package/esm2020/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.mjs +3 -3
- package/esm2020/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.mjs +3 -3
- package/esm2020/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.mjs +3 -3
- package/esm2020/illustrated-message/illustrated-message.component.mjs +6 -6
- package/esm2020/illustrated-message/illustrated-message.module.mjs +4 -4
- package/esm2020/infinite-scroll/infinite-scroll.directive.mjs +3 -3
- package/esm2020/infinite-scroll/infinite-scroll.module.mjs +4 -4
- package/esm2020/info-label/info-label.component.mjs +5 -5
- package/esm2020/info-label/info-label.module.mjs +4 -4
- package/esm2020/inline-help/inline-help.directive.mjs +3 -3
- package/esm2020/inline-help/inline-help.module.mjs +4 -4
- package/esm2020/input-group/deprecated-input-group-compact.directive.mjs +3 -3
- package/esm2020/input-group/input-group-directives.mjs +10 -10
- package/esm2020/input-group/input-group.component.mjs +5 -5
- package/esm2020/input-group/input-group.module.mjs +4 -4
- package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +4 -4
- package/esm2020/layout-grid/directives/layout-grid-row.directive.mjs +3 -3
- package/esm2020/layout-grid/layout-grid.component.mjs +5 -5
- package/esm2020/layout-grid/layout-grid.module.mjs +4 -4
- package/esm2020/layout-panel/layout-panel-actions/layout-panel-actions.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-body/layout-panel-body.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-description/layout-panel-description.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-filters/layout-panel-filters.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-head/layout-panel-head.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-header/layout-panel-header.component.mjs +3 -3
- package/esm2020/layout-panel/layout-panel-title/layout-panel-title.directive.mjs +3 -3
- package/esm2020/layout-panel/layout-panel.component.mjs +4 -4
- package/esm2020/layout-panel/layout-panel.module.mjs +4 -4
- package/esm2020/link/link.component.mjs +16 -14
- package/esm2020/link/link.module.mjs +4 -4
- package/esm2020/list/deprecated-list-content-density,directive.mjs +3 -3
- package/esm2020/list/directives/byline/list-byline-left.directive.mjs +3 -3
- package/esm2020/list/directives/byline/list-byline-right.directive.mjs +3 -3
- package/esm2020/list/directives/byline/list-byline.directive.mjs +3 -3
- package/esm2020/list/directives/byline/list-content.directive.mjs +3 -3
- package/esm2020/list/directives/byline/list-thumbnail.directive.mjs +3 -3
- package/esm2020/list/directives/list-footer.directive.mjs +3 -3
- package/esm2020/list/directives/list-group-header.directive.mjs +3 -3
- package/esm2020/list/directives/list-icon.directive.mjs +4 -4
- package/esm2020/list/directives/list-link.directive.mjs +3 -3
- package/esm2020/list/directives/list-navigation-item-arrow.directive.mjs +3 -3
- package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -3
- package/esm2020/list/directives/list-secondary.directive.mjs +3 -3
- package/esm2020/list/directives/list-title-text.directive.mjs +3 -3
- package/esm2020/list/directives/list-title.directive.mjs +3 -3
- package/esm2020/list/list-focus-item.model.mjs +3 -3
- package/esm2020/list/list-item/list-item.component.mjs +3 -3
- package/esm2020/list/list-message.directive.mjs +4 -4
- package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
- package/esm2020/list/list.component.mjs +5 -5
- package/esm2020/list/list.module.mjs +4 -4
- package/esm2020/menu/directives/deprecated-menu-compact.directive.mjs +3 -3
- package/esm2020/menu/directives/menu-addon.directive.mjs +3 -3
- package/esm2020/menu/directives/menu-interactive.directive.mjs +3 -3
- package/esm2020/menu/directives/menu-shortcut.directive.mjs +3 -3
- package/esm2020/menu/directives/menu-title.directive.mjs +3 -3
- package/esm2020/menu/directives/menu-trigger.directive.mjs +3 -3
- package/esm2020/menu/menu-item/menu-item.component.mjs +6 -6
- package/esm2020/menu/menu-keyboard.service.mjs +3 -3
- package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +3 -3
- package/esm2020/menu/menu-mobile/menu-mobile.module.mjs +4 -4
- package/esm2020/menu/menu-separator/menu-separator.component.mjs +3 -3
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +4 -4
- package/esm2020/menu/services/menu.service.mjs +3 -3
- package/esm2020/message-box/directives/message-box-decisive-button.directive.mjs +3 -3
- package/esm2020/message-box/message-box-body/message-box-body.component.mjs +3 -3
- package/esm2020/message-box/message-box-container/message-box-container.component.mjs +4 -4
- package/esm2020/message-box/message-box-default/message-box-default.component.mjs +3 -3
- package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
- package/esm2020/message-box/message-box-footer-button/message-box-footer-button.component.mjs +3 -3
- package/esm2020/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2020/message-box/message-box-semantic-icon/message-box-semantic-icon.component.mjs +3 -3
- package/esm2020/message-box/message-box.component.mjs +5 -5
- package/esm2020/message-box/message-box.module.mjs +4 -4
- package/esm2020/message-box/services/message-box.service.mjs +3 -3
- package/esm2020/message-box/utils/message-box-config.class.mjs +3 -3
- package/esm2020/message-box/utils/message-box-ref.class.mjs +3 -3
- package/esm2020/message-page/message-page-actions/message-page-actions.component.mjs +3 -3
- package/esm2020/message-page/message-page-more/message-page-more.component.mjs +3 -3
- package/esm2020/message-page/message-page-subtitle/message-page-subtitle.component.mjs +3 -3
- package/esm2020/message-page/message-page-title/message-page-title.component.mjs +3 -3
- package/esm2020/message-page/message-page.component.mjs +5 -5
- package/esm2020/message-page/message-page.module.mjs +4 -4
- package/esm2020/message-strip/message-strip.component.mjs +5 -5
- package/esm2020/message-strip/message-strip.module.mjs +4 -4
- package/esm2020/message-toast/message-toast-service/message-toast.service.mjs +3 -3
- package/esm2020/message-toast/message-toast-utils/message-toast-container.component.mjs +3 -3
- package/esm2020/message-toast/message-toast.component.mjs +4 -4
- package/esm2020/message-toast/message-toast.module.mjs +4 -4
- package/esm2020/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.mjs +3 -3
- package/esm2020/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
- package/esm2020/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.mjs +3 -3
- package/esm2020/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +3 -3
- package/esm2020/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +3 -3
- package/esm2020/micro-process-flow/micro-process-flow-intermediary-item.directive.mjs +3 -3
- package/esm2020/micro-process-flow/micro-process-flow.module.mjs +4 -4
- package/esm2020/multi-input/deprecated-multi-input-compact.directive.mjs +3 -3
- package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
- package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2020/multi-input/multi-input.component.mjs +4 -4
- package/esm2020/multi-input/multi-input.module.mjs +4 -4
- package/esm2020/nested-list/deprecated-nested-list-compact.directive.mjs +3 -3
- package/esm2020/nested-list/nested-content/nested-list-content.directive.mjs +3 -3
- package/esm2020/nested-list/nested-item/nested-item.directive.mjs +3 -3
- package/esm2020/nested-list/nested-link/nested-link.directive.mjs +3 -3
- package/esm2020/nested-list/nested-list/nested-list.directive.mjs +3 -3
- package/esm2020/nested-list/nested-list-directives.mjs +13 -13
- package/esm2020/nested-list/nested-list-keyboard.service.mjs +3 -3
- package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +3 -3
- package/esm2020/nested-list/nested-list-state.service.mjs +3 -3
- package/esm2020/nested-list/nested-list.module.mjs +4 -4
- package/esm2020/nested-list/prepared-nested-list/prepared-nested-list.component.mjs +4 -4
- package/esm2020/notification/directives/notification-footer-content.directive.mjs +3 -3
- package/esm2020/notification/directives/notification-indicator.directive.mjs +4 -4
- package/esm2020/notification/directives/notification-limit-description.directive.mjs +3 -3
- package/esm2020/notification/directives/notification-limit-title.directive.mjs +3 -3
- package/esm2020/notification/directives/notification-paragraph.directive.mjs +3 -3
- package/esm2020/notification/directives/notification-separator.directive.mjs +3 -3
- package/esm2020/notification/directives/notification-title.directive.mjs +3 -3
- package/esm2020/notification/notification/notification.component.mjs +5 -5
- package/esm2020/notification/notification-actions/notification-actions.component.mjs +3 -3
- package/esm2020/notification/notification-body/notification-body.component.mjs +3 -3
- package/esm2020/notification/notification-content/notification-content.component.mjs +3 -3
- package/esm2020/notification/notification-footer/notification-footer.component.mjs +3 -3
- package/esm2020/notification/notification-group/notification-group.component.mjs +4 -4
- package/esm2020/notification/notification-group-header/notification-group-header.component.mjs +3 -3
- package/esm2020/notification/notification-group-list/notification-group-list.component.mjs +3 -3
- package/esm2020/notification/notification-header/notification-header.component.mjs +3 -3
- package/esm2020/notification/notification-limit/notification-limit.component.mjs +3 -3
- package/esm2020/notification/notification-service/notification.service.mjs +4 -4
- package/esm2020/notification/notification-utils/notification-container.mjs +3 -3
- package/esm2020/notification/notification-utils/notification-group-base.mjs +3 -3
- package/esm2020/notification/notification.module.mjs +4 -4
- package/esm2020/object-identifier/object-identifier.component.mjs +5 -5
- package/esm2020/object-identifier/object-identifier.module.mjs +4 -4
- package/esm2020/object-marker/object-marker.component.mjs +6 -6
- package/esm2020/object-marker/object-marker.module.mjs +4 -4
- package/esm2020/object-number/object-number.component.mjs +5 -5
- package/esm2020/object-number/object-number.module.mjs +4 -4
- package/esm2020/object-status/object-status.component.mjs +6 -6
- package/esm2020/object-status/object-status.module.mjs +4 -4
- package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +3 -3
- package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +3 -3
- package/esm2020/overflow-layout/overflow-layout.component.mjs +3 -3
- package/esm2020/overflow-layout/overflow-layout.module.mjs +4 -4
- package/esm2020/overflow-layout/overflow-layout.service.mjs +3 -3
- package/esm2020/pagination/deprecated-pagination-compact.directive.mjs +3 -3
- package/esm2020/pagination/pagination.component.mjs +4 -4
- package/esm2020/pagination/pagination.module.mjs +4 -4
- package/esm2020/pagination/pagination.service.mjs +3 -3
- package/esm2020/panel/deprecated-panel-compact.directive.mjs +3 -3
- package/esm2020/panel/panel-content/panel-content.directive.mjs +3 -3
- package/esm2020/panel/panel-title/panel-title.directive.mjs +3 -3
- package/esm2020/panel/panel.component.mjs +4 -4
- package/esm2020/panel/panel.module.mjs +4 -4
- package/esm2020/popover/base/base-popover.class.mjs +3 -3
- package/esm2020/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +3 -3
- package/esm2020/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +3 -3
- package/esm2020/popover/popover-body/popover-body.component.mjs +4 -4
- package/esm2020/popover/popover-container/popover-container.directive.mjs +3 -3
- package/esm2020/popover/popover-control/popover-control.component.mjs +3 -3
- package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +3 -3
- package/esm2020/popover/popover-mobile/popover-mobile.module.mjs +4 -4
- package/esm2020/popover/popover-service/popover.service.mjs +3 -3
- package/esm2020/popover/popover-trigger.directive.mjs +3 -3
- package/esm2020/popover/popover.component.mjs +3 -3
- package/esm2020/popover/popover.module.mjs +4 -4
- package/esm2020/product-switch/product-switch/product-switch.component.mjs +3 -3
- package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +4 -4
- package/esm2020/product-switch/product-switch.module.mjs +4 -4
- package/esm2020/progress-indicator/progress-indicator.component.mjs +4 -4
- package/esm2020/progress-indicator/progress-indicator.module.mjs +4 -4
- package/esm2020/quick-view/quick-view/quick-view.component.mjs +4 -4
- package/esm2020/quick-view/quick-view-group/quick-view-group.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-group-item/quick-view-group-item.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content-element.directive.mjs +3 -3
- package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-group-title/quick-view-group-title.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-subheader/quick-view-subheader.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-subheader-subtitle/quick-view-subheader-subtitle.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.mjs +3 -3
- package/esm2020/quick-view/quick-view-title/quick-view-title.component.mjs +3 -3
- package/esm2020/quick-view/quick-view.module.mjs +4 -4
- package/esm2020/radio/deprecated-radio-button-compact.directive.mjs +3 -3
- package/esm2020/radio/radio-button/radio-button.component.mjs +6 -6
- package/esm2020/radio/radio.module.mjs +4 -4
- package/esm2020/rating-indicator/components/rating-indicator.component.mjs +6 -6
- package/esm2020/rating-indicator/pipes/rating-star-label.pipe.mjs +3 -3
- package/esm2020/rating-indicator/rating-indicator.module.mjs +4 -4
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -4
- package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +4 -4
- package/esm2020/resizable-card-layout/resizable-card-layout.module.mjs +4 -4
- package/esm2020/scroll-spy/scroll-spy.directive.mjs +3 -3
- package/esm2020/scroll-spy/scroll-spy.module.mjs +4 -4
- package/esm2020/scrollbar/scrollbar.component.mjs +4 -4
- package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
- package/esm2020/segmented-button/segmented-button.component.mjs +5 -5
- package/esm2020/segmented-button/segmented-button.module.mjs +4 -4
- package/esm2020/select/deprecated-select-compact.directive.mjs +3 -3
- package/esm2020/select/option/option.component.mjs +3 -3
- package/esm2020/select/select-key-manager.service.mjs +3 -3
- package/esm2020/select/select-mobile/select-mobile.component.mjs +3 -3
- package/esm2020/select/select-mobile/select-mobile.module.mjs +4 -4
- package/esm2020/select/select.component.mjs +8 -8
- package/esm2020/select/select.module.mjs +4 -4
- package/esm2020/shared/services/value-state-message.service.mjs +3 -3
- package/esm2020/shellbar/deprecated-shellbar-compact.directive.mjs +3 -3
- package/esm2020/shellbar/product-menu/product-menu.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-action/shellbar-action.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-actions/shellbar-actions.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-logo/shellbar-logo.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-sidenav.directive.mjs +3 -3
- package/esm2020/shellbar/shellbar-subtitle/shellbar-subtitle.component.mjs +3 -3
- package/esm2020/shellbar/shellbar-title/shellbar-title.component.mjs +3 -3
- package/esm2020/shellbar/shellbar.component.mjs +4 -4
- package/esm2020/shellbar/shellbar.module.mjs +4 -4
- package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -5
- package/esm2020/side-navigation/side-navigation-main.directive.mjs +3 -3
- package/esm2020/side-navigation/side-navigation-utility.directive.mjs +3 -3
- package/esm2020/side-navigation/side-navigation.component.mjs +4 -4
- package/esm2020/side-navigation/side-navigation.module.mjs +4 -4
- package/esm2020/slider/deprecated-slider-cozy.directive.mjs +3 -3
- package/esm2020/slider/slider-position.directive.mjs +3 -3
- package/esm2020/slider/slider.component.mjs +6 -6
- package/esm2020/slider/slider.module.mjs +4 -4
- package/esm2020/split-button/deprecated-split-button-compact.directive.mjs +3 -3
- package/esm2020/split-button/split-button-utils/split-button.directives.mjs +3 -3
- package/esm2020/split-button/split-button.component.mjs +4 -4
- package/esm2020/split-button/split-button.module.mjs +4 -4
- package/esm2020/splitter/splitter-pagination/splitter-pagination.component.mjs +3 -3
- package/esm2020/splitter/splitter-pane-container/splitter-pane-container.component.mjs +7 -7
- package/esm2020/splitter/splitter-resizer/splitter-resizer.component.mjs +4 -4
- package/esm2020/splitter/splitter-split-pane/splitter-split-pane.component.mjs +4 -4
- package/esm2020/splitter/splitter.component.mjs +4 -4
- package/esm2020/splitter/splitter.module.mjs +4 -4
- package/esm2020/status-indicator/status-indicator.component.mjs +5 -5
- package/esm2020/status-indicator/status-indicator.module.mjs +4 -4
- package/esm2020/step-input/deprecated-step-input-compact.directive.mjs +3 -3
- package/esm2020/step-input/step-input.component.mjs +5 -5
- package/esm2020/step-input/step-input.module.mjs +4 -4
- package/esm2020/switch/deprecated-switch-compact.directive.mjs +3 -3
- package/esm2020/switch/switch.component.mjs +5 -5
- package/esm2020/switch/switch.module.mjs +4 -4
- package/esm2020/table/deprecated-table-compact.directive.mjs +3 -3
- package/esm2020/table/deprecated-table-condensed.directive.mjs +3 -3
- package/esm2020/table/directives/table-body.directive.mjs +3 -3
- package/esm2020/table/directives/table-cell.directive.mjs +3 -3
- package/esm2020/table/directives/table-footer.directive.mjs +3 -3
- package/esm2020/table/directives/table-header.directive.mjs +3 -3
- package/esm2020/table/directives/table-icon.directive.mjs +4 -4
- package/esm2020/table/directives/table-inner.directive.mjs +3 -3
- package/esm2020/table/directives/table-popover.directive.mjs +3 -3
- package/esm2020/table/directives/table-responsive-wrapper.directive.mjs +3 -3
- package/esm2020/table/directives/table-row.directive.mjs +3 -3
- package/esm2020/table/directives/table-status-indicator.directive.mjs +3 -3
- package/esm2020/table/directives/table-text.directive.mjs +3 -3
- package/esm2020/table/table-wrapper.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +5 -5
- package/esm2020/table/table.module.mjs +4 -4
- package/esm2020/tabs/deprecated-tabs-compact.directive.mjs +3 -3
- package/esm2020/tabs/tab-item/tab-item.directive.mjs +4 -4
- package/esm2020/tabs/tab-item-expand/tab-item-expand.component.mjs +3 -3
- package/esm2020/tabs/tab-link/tab-link.directive.mjs +3 -3
- package/esm2020/tabs/tab-list.component.mjs +5 -5
- package/esm2020/tabs/tab-nav/tab-nav.component.mjs +5 -5
- package/esm2020/tabs/tab-panel/tab-panel.component.mjs +3 -3
- package/esm2020/tabs/tab-utils/tab-directives.mjs +31 -31
- package/esm2020/tabs/tabs.module.mjs +4 -4
- package/esm2020/text/text.component.mjs +4 -4
- package/esm2020/text/text.module.mjs +4 -4
- package/esm2020/theming/theming.module.mjs +4 -4
- package/esm2020/theming/theming.service.mjs +4 -4
- package/esm2020/tile/directives/numeric-content.directives.mjs +28 -28
- package/esm2020/tile/directives/tile.directives.mjs +70 -70
- package/esm2020/tile/tile.component.mjs +5 -5
- package/esm2020/tile/tile.module.mjs +4 -4
- package/esm2020/time/deprecated-time-content-density.directive.mjs +3 -3
- package/esm2020/time/i18n/time-i18n.mjs +3 -3
- package/esm2020/time/time-column/time-column.component.mjs +3 -3
- package/esm2020/time/time.component.mjs +5 -5
- package/esm2020/time/time.module.mjs +4 -4
- package/esm2020/time-picker/deprecated-timepicker-compact.directive.mjs +3 -3
- package/esm2020/time-picker/time-picker.component.mjs +3 -3
- package/esm2020/time-picker/time-picker.module.mjs +4 -4
- package/esm2020/timeline/components/timeline-node/timeline-node.component.mjs +3 -3
- package/esm2020/timeline/components/timeline-node-body/timeline-node-body.component.mjs +3 -3
- package/esm2020/timeline/components/timeline-node-footer/timeline-node-footer.component.mjs +3 -3
- package/esm2020/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.mjs +3 -3
- package/esm2020/timeline/components/timeline-node-header/timeline-node-header.component.mjs +3 -3
- package/esm2020/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.mjs +3 -3
- package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-text.directive.mjs +3 -3
- package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-title.directive.mjs +3 -3
- package/esm2020/timeline/directives/timeline-first-list-outlet.directive.mjs +3 -3
- package/esm2020/timeline/directives/timeline-node-def.directive.mjs +3 -3
- package/esm2020/timeline/directives/timeline-second-list-outlet.directive.mjs +3 -3
- package/esm2020/timeline/services/timeline-position-control.service.mjs +3 -3
- package/esm2020/timeline/timeline.component.mjs +3 -3
- package/esm2020/timeline/timeline.module.mjs +4 -4
- package/esm2020/title/title.component.mjs +4 -4
- package/esm2020/title/title.module.mjs +4 -4
- package/esm2020/token/deprecated-tokenizer-content-density.directive.mjs +3 -3
- package/esm2020/token/token-input.directive.mjs +4 -4
- package/esm2020/token/token.component.mjs +4 -4
- package/esm2020/token/token.module.mjs +4 -4
- package/esm2020/token/tokenizer.component.mjs +5 -5
- package/esm2020/toolbar/deprecated-toolbar-size.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-form-label.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-item.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-label.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-overflow-button-menu.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-overflow-button.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-overflow-group.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-overflow-priority.directive.mjs +3 -3
- package/esm2020/toolbar/toolbar-separator.component.mjs +3 -3
- package/esm2020/toolbar/toolbar-spacer.component.mjs +3 -3
- package/esm2020/toolbar/toolbar.component.mjs +6 -6
- package/esm2020/toolbar/toolbar.module.mjs +4 -4
- package/esm2020/tree/tree-child.component.mjs +3 -3
- package/esm2020/tree/tree.component.mjs +4 -4
- package/esm2020/tree/tree.module.mjs +4 -4
- package/esm2020/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +3 -3
- package/esm2020/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +3 -3
- package/esm2020/upload-collection/upload-collection-item.directive.mjs +3 -3
- package/esm2020/upload-collection/upload-collection-simple.directives.mjs +21 -21
- package/esm2020/upload-collection/upload-collection.component.mjs +5 -5
- package/esm2020/upload-collection/upload-collection.module.mjs +4 -4
- package/esm2020/utils/abstract-fd-ngx-class.mjs +3 -3
- package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +3 -3
- package/esm2020/utils/directives/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +4 -4
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +3 -3
- package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +3 -3
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +4 -4
- package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +4 -4
- package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +3 -3
- package/esm2020/utils/directives/initial-focus/initial-focus.module.mjs +4 -4
- package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +6 -6
- package/esm2020/utils/directives/line-clamp/line-clamp.module.mjs +4 -4
- package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +3 -3
- package/esm2020/utils/directives/only-digits/only-digits.module.mjs +4 -4
- package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +3 -3
- package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +3 -3
- package/esm2020/utils/directives/overflow-list/overflow-list.module.mjs +4 -4
- package/esm2020/utils/directives/resize/resize-handle.directive.mjs +3 -3
- package/esm2020/utils/directives/resize/resize.directive.mjs +3 -3
- package/esm2020/utils/directives/resize/resize.module.mjs +4 -4
- package/esm2020/utils/directives/template/template.directive.mjs +3 -3
- package/esm2020/utils/directives/template/template.module.mjs +4 -4
- package/esm2020/utils/directives/truncate/truncate.directive.mjs +3 -3
- package/esm2020/utils/directives/truncate/truncate.module.mjs +4 -4
- package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +3 -3
- package/esm2020/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +3 -3
- package/esm2020/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +3 -3
- package/esm2020/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +3 -3
- package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +4 -4
- package/esm2020/utils/dynamic-component/dynamic-component-injector.mjs +1 -1
- package/esm2020/utils/dynamic-component/dynamic-component.service.mjs +3 -3
- package/esm2020/utils/pipes/displayFn.pipe.mjs +3 -3
- package/esm2020/utils/pipes/is-compact.pipe.mjs +3 -3
- package/esm2020/utils/pipes/pipe.module.mjs +4 -4
- package/esm2020/utils/pipes/safe.pipe.mjs +3 -3
- package/esm2020/utils/pipes/search-highlight.pipe.mjs +3 -3
- package/esm2020/utils/pipes/truncate.pipe.mjs +3 -3
- package/esm2020/utils/pipes/two-digits.pipe.mjs +3 -3
- package/esm2020/utils/pipes/value-by-path.pipe.mjs +3 -3
- package/esm2020/utils/services/content-density.service.mjs +3 -3
- package/esm2020/utils/services/destroyed.service.mjs +3 -3
- package/esm2020/utils/services/focus-trap.service.mjs +3 -3
- package/esm2020/utils/services/local-storage.service.mjs +3 -3
- package/esm2020/utils/services/resize-observer.service.mjs +7 -7
- package/esm2020/utils/services/rtl.service.mjs +3 -3
- package/esm2020/utils/services/tabbable-element.service.mjs +4 -4
- package/esm2020/utils/services/themes.service.mjs +3 -3
- package/esm2020/utils/utils.module.mjs +4 -4
- package/esm2020/vertical-navigation/vertical-navigation-group-header.directive.mjs +3 -3
- package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +4 -4
- package/esm2020/vertical-navigation/vertical-navigation.component.mjs +4 -4
- package/esm2020/vertical-navigation/vertical-navigation.module.mjs +4 -4
- package/esm2020/wizard/deprecated-wizard-compact.directive.mjs +3 -3
- package/esm2020/wizard/wizard-content/wizard-content.component.mjs +3 -3
- package/esm2020/wizard/wizard-navigation/wizard-navigation.component.mjs +3 -3
- package/esm2020/wizard/wizard-next-step/wizard-next-step.component.mjs +3 -3
- package/esm2020/wizard/wizard-progress-bar/wizard-progress-bar.directive.mjs +3 -3
- package/esm2020/wizard/wizard-step/wizard-step.component.mjs +3 -3
- package/esm2020/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +3 -3
- package/esm2020/wizard/wizard.component.mjs +5 -5
- package/esm2020/wizard/wizard.module.mjs +4 -4
- package/esm2020/wizard/wizard.service.mjs +3 -3
- package/facets/content/facet-content.component.d.ts +1 -1
- package/facets/facet/facet.component.d.ts +1 -1
- package/facets/facet-group.component.d.ts +1 -1
- package/feed-input/directives/feed-input-avatar.directive.d.ts +1 -1
- package/feed-input/directives/feed-input-button.directive.d.ts +1 -1
- package/feed-input/directives/feed-input-textarea.directive.d.ts +1 -1
- package/feed-input/feed-input.component.d.ts +1 -1
- package/feed-list-item/components/feed-list-action/feed-list-action.component.d.ts +1 -1
- package/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.d.ts +1 -1
- package/feed-list-item/components/feed-list-footer/feed-list-footer.component.d.ts +1 -1
- package/feed-list-item/components/item/feed-list-item.component.d.ts +1 -1
- package/feed-list-item/components/list/feed-list.component.d.ts +1 -1
- package/feed-list-item/directives/byline.directive.d.ts +1 -1
- package/fesm2015/fundamental-ngx-core-action-bar.mjs +26 -26
- package/fesm2015/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-action-sheet.mjs +27 -27
- package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-alert.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs +30 -30
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-avatar.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-bar.mjs +30 -30
- package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +11 -11
- package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-button.mjs +15 -15
- package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-calendar.mjs +36 -36
- package/fesm2015/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-card.mjs +60 -60
- package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-carousel.mjs +20 -20
- package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-checkbox.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-combobox.mjs +20 -20
- package/fesm2015/fundamental-ngx-core-content-density.mjs +37 -37
- package/fesm2015/fundamental-ngx-core-date-picker.mjs +10 -10
- package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +10 -10
- package/fesm2015/fundamental-ngx-core-datetime.mjs +24 -24
- package/fesm2015/fundamental-ngx-core-dialog.mjs +53 -53
- package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +44 -44
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-facets.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-input.mjs +17 -17
- package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +23 -23
- package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-file-uploader.mjs +21 -21
- package/fesm2015/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-form.mjs +86 -86
- package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-formatted-text.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-grid-list.mjs +47 -47
- package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-icon.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +21 -21
- package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-infinite-scroll.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-info-label.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-inline-help.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs +32 -32
- package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-link.mjs +18 -17
- package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-list.mjs +66 -66
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs +48 -48
- package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-box.mjs +41 -41
- package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-page.mjs +20 -20
- package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-strip.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-toast.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-micro-process-flow.mjs +22 -22
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +17 -17
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-nested-list.mjs +43 -43
- package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-notification.mjs +66 -66
- package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-identifier.mjs +9 -9
- package/fesm2015/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-marker.mjs +9 -9
- package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-number.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-object-status.mjs +9 -9
- package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +31 -31
- package/fesm2015/fundamental-ngx-core-pagination.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-panel.mjs +17 -17
- package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs +39 -39
- package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-product-switch.mjs +11 -11
- package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-quick-view.mjs +38 -38
- package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-radio.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-scroll-spy.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-scrollbar.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs +9 -9
- package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs +27 -27
- package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-shared.mjs +3 -3
- package/fesm2015/fundamental-ngx-core-shellbar.mjs +39 -39
- package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-side-navigation.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-slider.mjs +15 -15
- package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-split-button.mjs +14 -14
- package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-splitter.mjs +23 -23
- package/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-step-input.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-switch.mjs +12 -12
- package/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +52 -52
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tabs.mjs +58 -58
- package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-text.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-theming.mjs +7 -7
- package/fesm2015/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tile.mjs +104 -104
- package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-time-picker.mjs +10 -10
- package/fesm2015/fundamental-ngx-core-time.mjs +18 -18
- package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-timeline.mjs +43 -43
- package/fesm2015/fundamental-ngx-core-title.mjs +8 -8
- package/fesm2015/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-token.mjs +18 -18
- package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-toolbar.mjs +39 -39
- package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-tree.mjs +11 -11
- package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs +39 -39
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs +160 -160
- package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +15 -15
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-wizard.mjs +33 -33
- package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-action-bar.mjs +26 -26
- package/fesm2020/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-action-sheet.mjs +27 -27
- package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-alert.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs +30 -30
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-bar.mjs +30 -30
- package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +11 -11
- package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-button.mjs +15 -15
- package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-calendar.mjs +36 -36
- package/fesm2020/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-card.mjs +60 -60
- package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-carousel.mjs +20 -20
- package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-checkbox.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-combobox.mjs +20 -20
- package/fesm2020/fundamental-ngx-core-content-density.mjs +37 -37
- package/fesm2020/fundamental-ngx-core-date-picker.mjs +10 -10
- package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +10 -10
- package/fesm2020/fundamental-ngx-core-datetime.mjs +24 -24
- package/fesm2020/fundamental-ngx-core-dialog.mjs +53 -53
- package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +44 -44
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-facets.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-input.mjs +17 -17
- package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +23 -23
- package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-file-uploader.mjs +21 -21
- package/fesm2020/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-form.mjs +86 -86
- package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-formatted-text.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-grid-list.mjs +47 -47
- package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-icon.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +21 -21
- package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-infinite-scroll.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-info-label.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-inline-help.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-input-group.mjs +21 -21
- package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs +32 -32
- package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-link.mjs +18 -17
- package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-list.mjs +66 -66
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs +48 -48
- package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-box.mjs +41 -41
- package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-page.mjs +20 -20
- package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-strip.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-toast.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-micro-process-flow.mjs +22 -22
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +17 -17
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-nested-list.mjs +43 -43
- package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-notification.mjs +66 -66
- package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-identifier.mjs +9 -9
- package/fesm2020/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-marker.mjs +9 -9
- package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-number.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-object-status.mjs +9 -9
- package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +31 -31
- package/fesm2020/fundamental-ngx-core-pagination.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-panel.mjs +17 -17
- package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs +39 -39
- package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-product-switch.mjs +11 -11
- package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-quick-view.mjs +38 -38
- package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-radio.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-scroll-spy.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-scrollbar.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs +9 -9
- package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs +27 -27
- package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-shared.mjs +3 -3
- package/fesm2020/fundamental-ngx-core-shellbar.mjs +39 -39
- package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-side-navigation.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-slider.mjs +15 -15
- package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-split-button.mjs +14 -14
- package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-splitter.mjs +23 -23
- package/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-step-input.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-switch.mjs +12 -12
- package/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +52 -52
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tabs.mjs +58 -58
- package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-text.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-theming.mjs +7 -7
- package/fesm2020/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tile.mjs +104 -104
- package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-time-picker.mjs +10 -10
- package/fesm2020/fundamental-ngx-core-time.mjs +18 -18
- package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-timeline.mjs +43 -43
- package/fesm2020/fundamental-ngx-core-title.mjs +8 -8
- package/fesm2020/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-token.mjs +18 -18
- package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-toolbar.mjs +39 -39
- package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-tree.mjs +11 -11
- package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs +39 -39
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs +160 -160
- package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +15 -15
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-wizard.mjs +33 -33
- package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core.mjs +4 -4
- package/file-uploader/deprecated-file-uploader-content-density.directive.d.ts +1 -1
- package/file-uploader/directives/file-uploader-dragndrop.directive.d.ts +1 -1
- package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
- package/file-uploader/file-uploader.component.d.ts +1 -1
- package/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.d.ts +1 -1
- package/fixed-card-layout/fixed-card-layout.component.d.ts +2 -2
- package/flexible-column-layout/flexible-column-layout.component.d.ts +1 -1
- package/form/fieldset/fieldset.component.d.ts +1 -1
- package/form/form-control/deprecated-form-control-content-density.directive.d.ts +1 -1
- package/form/form-control/form-control.component.d.ts +1 -1
- package/form/form-control/input-form-control.directive.d.ts +1 -1
- package/form/form-control/textarea-form-control.directive.d.ts +1 -1
- package/form/form-group/form-group.component.d.ts +1 -1
- package/form/form-header/form-header.component.d.ts +1 -1
- package/form/form-input-message-group/form-input-message-group.component.d.ts +1 -1
- package/form/form-item/form-item.component.d.ts +1 -1
- package/form/form-label/form-label.component.d.ts +1 -1
- package/form/form-legend/form-legend.directive.d.ts +1 -1
- package/form/form-message/form-message.component.d.ts +1 -1
- package/formatted-text/formatted-text.component.d.ts +1 -1
- package/fundamental-ngx-core-v0.37.2.tgz +0 -0
- package/grid-list/components/grid-list/grid-list-base.component.d.ts +1 -1
- package/grid-list/components/grid-list/grid-list.component.d.ts +1 -1
- package/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.d.ts +1 -1
- package/grid-list/components/grid-list-footer/grid-list-footer.component.d.ts +1 -1
- package/grid-list/components/grid-list-group-header/grid-list-group-header.component.d.ts +1 -1
- package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +1 -1
- package/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.d.ts +1 -1
- package/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.d.ts +1 -1
- package/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.d.ts +1 -1
- package/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.d.ts +1 -1
- package/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.d.ts +1 -1
- package/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.d.ts +1 -1
- package/grid-list/directives/grid-list-item-body.directive.d.ts +1 -1
- package/grid-list/directives/grid-list-item-image.directive.d.ts +1 -1
- package/icon/icon.component.d.ts +1 -1
- package/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.d.ts +1 -1
- package/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.d.ts +1 -1
- package/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.d.ts +1 -1
- package/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.d.ts +1 -1
- package/illustrated-message/illustrated-message.component.d.ts +1 -1
- package/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
- package/info-label/info-label.component.d.ts +1 -1
- package/inline-help/inline-help.directive.d.ts +1 -1
- package/input-group/deprecated-input-group-compact.directive.d.ts +1 -1
- package/input-group/input-group-directives.d.ts +3 -3
- package/input-group/input-group.component.d.ts +1 -1
- package/layout-grid/directives/layout-grid-col.directive.d.ts +1 -1
- package/layout-grid/directives/layout-grid-row.directive.d.ts +1 -1
- package/layout-grid/layout-grid.component.d.ts +1 -1
- package/layout-panel/layout-panel-actions/layout-panel-actions.component.d.ts +1 -1
- package/layout-panel/layout-panel-body/layout-panel-body.component.d.ts +1 -1
- package/layout-panel/layout-panel-description/layout-panel-description.component.d.ts +1 -1
- package/layout-panel/layout-panel-filters/layout-panel-filters.component.d.ts +1 -1
- package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +1 -1
- package/layout-panel/layout-panel-head/layout-panel-head.component.d.ts +1 -1
- package/layout-panel/layout-panel-header/layout-panel-header.component.d.ts +1 -1
- package/layout-panel/layout-panel-title/layout-panel-title.directive.d.ts +1 -1
- package/layout-panel/layout-panel.component.d.ts +1 -1
- package/link/link.component.d.ts +6 -4
- package/list/deprecated-list-content-density,directive.d.ts +1 -1
- package/list/directives/byline/list-byline-left.directive.d.ts +1 -1
- package/list/directives/byline/list-byline-right.directive.d.ts +1 -1
- package/list/directives/byline/list-byline.directive.d.ts +1 -1
- package/list/directives/byline/list-content.directive.d.ts +1 -1
- package/list/directives/byline/list-thumbnail.directive.d.ts +1 -1
- package/list/directives/list-footer.directive.d.ts +1 -1
- package/list/directives/list-group-header.directive.d.ts +1 -1
- package/list/directives/list-icon.directive.d.ts +1 -1
- package/list/directives/list-link.directive.d.ts +1 -1
- package/list/directives/list-navigation-item-arrow.directive.d.ts +1 -1
- package/list/directives/list-navigation-item-text.directive.d.ts +1 -1
- package/list/directives/list-secondary.directive.d.ts +1 -1
- package/list/directives/list-title-text.directive.d.ts +1 -1
- package/list/directives/list-title.directive.d.ts +1 -1
- package/list/list-focus-item.model.d.ts +1 -1
- package/list/list-item/list-item.component.d.ts +1 -1
- package/list/list-message.directive.d.ts +1 -1
- package/list/list-navigation-item/list-navigation-item.component.d.ts +1 -1
- package/list/list.component.d.ts +1 -1
- package/menu/directives/deprecated-menu-compact.directive.d.ts +1 -1
- package/menu/directives/menu-addon.directive.d.ts +1 -1
- package/menu/directives/menu-interactive.directive.d.ts +1 -1
- package/menu/directives/menu-shortcut.directive.d.ts +1 -1
- package/menu/directives/menu-title.directive.d.ts +1 -1
- package/menu/directives/menu-trigger.directive.d.ts +1 -1
- package/menu/menu-item/menu-item.component.d.ts +2 -2
- package/menu/menu-mobile/menu-mobile.component.d.ts +1 -1
- package/menu/menu-separator/menu-separator.component.d.ts +1 -1
- package/menu/menu.component.d.ts +1 -1
- package/message-box/directives/message-box-decisive-button.directive.d.ts +1 -1
- package/message-box/message-box-body/message-box-body.component.d.ts +1 -1
- package/message-box/message-box-container/message-box-container.component.d.ts +1 -1
- package/message-box/message-box-default/message-box-default.component.d.ts +1 -1
- package/message-box/message-box-footer/message-box-footer.component.d.ts +1 -1
- package/message-box/message-box-footer-button/message-box-footer-button.component.d.ts +1 -1
- package/message-box/message-box-header/message-box-header.component.d.ts +1 -1
- package/message-box/message-box-semantic-icon/message-box-semantic-icon.component.d.ts +1 -1
- package/message-box/message-box.component.d.ts +1 -1
- package/message-page/message-page-actions/message-page-actions.component.d.ts +1 -1
- package/message-page/message-page-more/message-page-more.component.d.ts +1 -1
- package/message-page/message-page-subtitle/message-page-subtitle.component.d.ts +1 -1
- package/message-page/message-page-title/message-page-title.component.d.ts +1 -1
- package/message-page/message-page.component.d.ts +1 -1
- package/message-strip/message-strip.component.d.ts +1 -1
- package/message-toast/message-toast-utils/message-toast-container.component.d.ts +1 -1
- package/message-toast/message-toast.component.d.ts +1 -1
- package/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.d.ts +1 -1
- package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +1 -1
- package/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.d.ts +1 -1
- package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +1 -1
- package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +1 -1
- package/micro-process-flow/micro-process-flow-intermediary-item.directive.d.ts +1 -1
- package/multi-input/deprecated-multi-input-compact.directive.d.ts +1 -1
- package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +1 -1
- package/multi-input/multi-input.component.d.ts +1 -1
- package/nested-list/deprecated-nested-list-compact.directive.d.ts +1 -1
- package/nested-list/nested-content/nested-list-content.directive.d.ts +1 -1
- package/nested-list/nested-item/nested-item.directive.d.ts +1 -1
- package/nested-list/nested-link/nested-link.directive.d.ts +1 -1
- package/nested-list/nested-list/nested-list.directive.d.ts +1 -1
- package/nested-list/nested-list-directives.d.ts +4 -4
- package/nested-list/nested-list-popover/nested-list-popover.component.d.ts +1 -1
- package/nested-list/prepared-nested-list/prepared-nested-list.component.d.ts +1 -1
- package/notification/directives/notification-footer-content.directive.d.ts +1 -1
- package/notification/directives/notification-indicator.directive.d.ts +1 -1
- package/notification/directives/notification-limit-description.directive.d.ts +1 -1
- package/notification/directives/notification-limit-title.directive.d.ts +1 -1
- package/notification/directives/notification-paragraph.directive.d.ts +1 -1
- package/notification/directives/notification-separator.directive.d.ts +1 -1
- package/notification/directives/notification-title.directive.d.ts +1 -1
- package/notification/notification/notification.component.d.ts +1 -1
- package/notification/notification-actions/notification-actions.component.d.ts +1 -1
- package/notification/notification-body/notification-body.component.d.ts +1 -1
- package/notification/notification-content/notification-content.component.d.ts +1 -1
- package/notification/notification-footer/notification-footer.component.d.ts +1 -1
- package/notification/notification-group/notification-group.component.d.ts +1 -1
- package/notification/notification-group-header/notification-group-header.component.d.ts +1 -1
- package/notification/notification-group-list/notification-group-list.component.d.ts +1 -1
- package/notification/notification-header/notification-header.component.d.ts +1 -1
- package/notification/notification-limit/notification-limit.component.d.ts +1 -1
- package/notification/notification-utils/notification-container.d.ts +1 -1
- package/notification/notification-utils/notification-group-base.d.ts +1 -1
- package/object-identifier/object-identifier.component.d.ts +1 -1
- package/object-marker/object-marker.component.d.ts +1 -1
- package/object-number/object-number.component.d.ts +1 -1
- package/object-status/object-status.component.d.ts +1 -1
- package/overflow-layout/directives/overflow-expand.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-item-container-ref.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-layout-item.directive.d.ts +1 -1
- package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +1 -1
- package/overflow-layout/overflow-layout.component.d.ts +1 -1
- package/package.json +9 -9
- package/pagination/deprecated-pagination-compact.directive.d.ts +1 -1
- package/pagination/pagination.component.d.ts +1 -1
- package/panel/deprecated-panel-compact.directive.d.ts +1 -1
- package/panel/panel-content/panel-content.directive.d.ts +1 -1
- package/panel/panel-title/panel-title.directive.d.ts +1 -1
- package/panel/panel.component.d.ts +1 -1
- package/popover/base/base-popover.class.d.ts +1 -1
- package/popover/popover-body/popover-body-directives/popover-body-footer.directive.d.ts +1 -1
- package/popover/popover-body/popover-body-directives/popover-body-header.directive.d.ts +1 -1
- package/popover/popover-body/popover-body.component.d.ts +1 -1
- package/popover/popover-container/popover-container.directive.d.ts +1 -1
- package/popover/popover-control/popover-control.component.d.ts +1 -1
- package/popover/popover-mobile/popover-mobile.component.d.ts +1 -1
- package/popover/popover-trigger.directive.d.ts +1 -1
- package/popover/popover.component.d.ts +1 -1
- package/product-switch/product-switch/product-switch.component.d.ts +1 -1
- package/product-switch/product-switch-body/product-switch-body.component.d.ts +1 -1
- package/progress-indicator/progress-indicator.component.d.ts +1 -1
- package/quick-view/quick-view/quick-view.component.d.ts +1 -1
- package/quick-view/quick-view-group/quick-view-group.component.d.ts +1 -1
- package/quick-view/quick-view-group-item/quick-view-group-item.component.d.ts +1 -1
- package/quick-view/quick-view-group-item-content/quick-view-group-item-content-element.directive.d.ts +1 -1
- package/quick-view/quick-view-group-item-content/quick-view-group-item-content.component.d.ts +1 -1
- package/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.d.ts +1 -1
- package/quick-view/quick-view-group-title/quick-view-group-title.component.d.ts +1 -1
- package/quick-view/quick-view-subheader/quick-view-subheader.component.d.ts +1 -1
- package/quick-view/quick-view-subheader-subtitle/quick-view-subheader-subtitle.component.d.ts +1 -1
- package/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.d.ts +1 -1
- package/quick-view/quick-view-title/quick-view-title.component.d.ts +1 -1
- package/radio/deprecated-radio-button-compact.directive.d.ts +1 -1
- package/radio/radio-button/radio-button.component.d.ts +1 -1
- package/rating-indicator/components/rating-indicator.component.d.ts +1 -1
- package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +1 -1
- package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +1 -1
- package/scroll-spy/scroll-spy.directive.d.ts +1 -1
- package/scrollbar/scrollbar.component.d.ts +1 -1
- package/segmented-button/segmented-button.component.d.ts +1 -1
- package/select/deprecated-select-compact.directive.d.ts +1 -1
- package/select/option/option.component.d.ts +1 -1
- package/select/select-mobile/select-mobile.component.d.ts +1 -1
- package/select/select.component.d.ts +1 -1
- package/shellbar/deprecated-shellbar-compact.directive.d.ts +1 -1
- package/shellbar/product-menu/product-menu.component.d.ts +1 -1
- package/shellbar/shellbar-action/shellbar-action.component.d.ts +1 -1
- package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +1 -1
- package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +1 -1
- package/shellbar/shellbar-logo/shellbar-logo.component.d.ts +1 -1
- package/shellbar/shellbar-sidenav.directive.d.ts +1 -1
- package/shellbar/shellbar-subtitle/shellbar-subtitle.component.d.ts +1 -1
- package/shellbar/shellbar-title/shellbar-title.component.d.ts +1 -1
- package/shellbar/shellbar.component.d.ts +1 -1
- package/shellbar/user-menu/shellbar-user-menu.component.d.ts +1 -1
- package/side-navigation/side-navigation-main.directive.d.ts +1 -1
- package/side-navigation/side-navigation-utility.directive.d.ts +1 -1
- package/side-navigation/side-navigation.component.d.ts +1 -1
- package/slider/deprecated-slider-cozy.directive.d.ts +1 -1
- package/slider/slider-position.directive.d.ts +1 -1
- package/slider/slider.component.d.ts +1 -1
- package/split-button/deprecated-split-button-compact.directive.d.ts +1 -1
- package/split-button/split-button-utils/split-button.directives.d.ts +1 -1
- package/split-button/split-button.component.d.ts +1 -1
- package/splitter/splitter-pagination/splitter-pagination.component.d.ts +1 -1
- package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
- package/splitter/splitter-resizer/splitter-resizer.component.d.ts +1 -1
- package/splitter/splitter-split-pane/splitter-split-pane.component.d.ts +1 -1
- package/splitter/splitter.component.d.ts +1 -1
- package/status-indicator/status-indicator.component.d.ts +1 -1
- package/step-input/deprecated-step-input-compact.directive.d.ts +1 -1
- package/step-input/step-input.component.d.ts +1 -1
- package/switch/deprecated-switch-compact.directive.d.ts +1 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/deprecated-table-compact.directive.d.ts +1 -1
- package/table/deprecated-table-condensed.directive.d.ts +1 -1
- package/table/directives/table-body.directive.d.ts +1 -1
- package/table/directives/table-cell.directive.d.ts +1 -1
- package/table/directives/table-footer.directive.d.ts +1 -1
- package/table/directives/table-header.directive.d.ts +1 -1
- package/table/directives/table-icon.directive.d.ts +1 -1
- package/table/directives/table-inner.directive.d.ts +1 -1
- package/table/directives/table-popover.directive.d.ts +1 -1
- package/table/directives/table-responsive-wrapper.directive.d.ts +1 -1
- package/table/directives/table-row.directive.d.ts +1 -1
- package/table/directives/table-status-indicator.directive.d.ts +1 -1
- package/table/directives/table-text.directive.d.ts +1 -1
- package/table/table-wrapper.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/tabs/deprecated-tabs-compact.directive.d.ts +1 -1
- package/tabs/tab-item/tab-item.directive.d.ts +1 -1
- package/tabs/tab-item-expand/tab-item-expand.component.d.ts +1 -1
- package/tabs/tab-link/tab-link.directive.d.ts +1 -1
- package/tabs/tab-list.component.d.ts +1 -1
- package/tabs/tab-nav/tab-nav.component.d.ts +1 -1
- package/tabs/tab-panel/tab-panel.component.d.ts +1 -1
- package/tabs/tab-utils/tab-directives.d.ts +10 -10
- package/text/text.component.d.ts +1 -1
- package/tile/directives/numeric-content.directives.d.ts +9 -9
- package/tile/directives/tile.directives.d.ts +23 -23
- package/tile/tile.component.d.ts +1 -1
- package/time/deprecated-time-content-density.directive.d.ts +1 -1
- package/time/time-column/time-column.component.d.ts +1 -1
- package/time/time.component.d.ts +1 -1
- package/time-picker/deprecated-timepicker-compact.directive.d.ts +1 -1
- package/time-picker/time-picker.component.d.ts +1 -1
- package/timeline/components/timeline-node/timeline-node.component.d.ts +1 -1
- package/timeline/components/timeline-node-body/timeline-node-body.component.d.ts +1 -1
- package/timeline/components/timeline-node-footer/timeline-node-footer.component.d.ts +1 -1
- package/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.d.ts +1 -1
- package/timeline/components/timeline-node-header/timeline-node-header.component.d.ts +1 -1
- package/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.d.ts +1 -1
- package/timeline/directives/class-bindings/timeline-node-header-info-text.directive.d.ts +1 -1
- package/timeline/directives/class-bindings/timeline-node-header-info-title.directive.d.ts +1 -1
- package/timeline/directives/timeline-first-list-outlet.directive.d.ts +1 -1
- package/timeline/directives/timeline-node-def.directive.d.ts +1 -1
- package/timeline/directives/timeline-second-list-outlet.directive.d.ts +1 -1
- package/timeline/timeline.component.d.ts +1 -1
- package/title/title.component.d.ts +1 -1
- package/token/deprecated-tokenizer-content-density.directive.d.ts +1 -1
- package/token/token-input.directive.d.ts +1 -1
- package/token/token.component.d.ts +1 -1
- package/token/tokenizer.component.d.ts +1 -1
- package/toolbar/deprecated-toolbar-size.directive.d.ts +1 -1
- package/toolbar/toolbar-form-label.directive.d.ts +1 -1
- package/toolbar/toolbar-item.directive.d.ts +1 -1
- package/toolbar/toolbar-label.directive.d.ts +1 -1
- package/toolbar/toolbar-overflow-button-menu.directive.d.ts +1 -1
- package/toolbar/toolbar-overflow-button.directive.d.ts +1 -1
- package/toolbar/toolbar-overflow-group.directive.d.ts +1 -1
- package/toolbar/toolbar-overflow-priority.directive.d.ts +1 -1
- package/toolbar/toolbar-separator.component.d.ts +1 -1
- package/toolbar/toolbar-spacer.component.d.ts +1 -1
- package/toolbar/toolbar.component.d.ts +1 -1
- package/tree/tree-child.component.d.ts +1 -1
- package/tree/tree.component.d.ts +1 -1
- package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +1 -1
- package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +1 -1
- package/upload-collection/upload-collection-item.directive.d.ts +1 -1
- package/upload-collection/upload-collection-simple.directives.d.ts +7 -7
- package/upload-collection/upload-collection.component.d.ts +1 -1
- package/utils/abstract-fd-ngx-class.d.ts +1 -1
- package/utils/directives/auto-complete/auto-complete.directive.d.ts +1 -1
- package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +1 -1
- package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +1 -1
- package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +1 -1
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +1 -1
- package/utils/directives/line-clamp/line-clamp.directive.d.ts +2 -2
- package/utils/directives/only-digits/only-digits.directive.d.ts +1 -1
- package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +1 -1
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +1 -1
- package/utils/directives/resize/resize-handle.directive.d.ts +1 -1
- package/utils/directives/resize/resize.directive.d.ts +1 -1
- package/utils/directives/template/template.directive.d.ts +1 -1
- package/utils/directives/truncate/truncate.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
- package/utils/dynamic-component/dynamic-component-injector.d.ts +0 -11
- package/vertical-navigation/vertical-navigation-group-header.directive.d.ts +1 -1
- package/vertical-navigation/vertical-navigation-main-navigation.component.d.ts +1 -1
- package/vertical-navigation/vertical-navigation.component.d.ts +1 -1
- package/wizard/deprecated-wizard-compact.directive.d.ts +1 -1
- package/wizard/wizard-content/wizard-content.component.d.ts +1 -1
- package/wizard/wizard-navigation/wizard-navigation.component.d.ts +1 -1
- package/wizard/wizard-next-step/wizard-next-step.component.d.ts +1 -1
- package/wizard/wizard-progress-bar/wizard-progress-bar.directive.d.ts +1 -1
- package/wizard/wizard-step/wizard-step.component.d.ts +1 -1
- package/wizard/wizard-step-indicator/wizard-step-indicator.component.d.ts +1 -1
- package/wizard/wizard.component.d.ts +1 -1
- package/fundamental-ngx-core-v0.37.2-rc.0.tgz +0 -0
|
@@ -561,8 +561,8 @@ export class MultiInputComponent {
|
|
|
561
561
|
}
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
|
-
MultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
565
|
-
MultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
564
|
+
MultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MultiInputComponent, deps: [{ token: i1.ContentDensityObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.DynamicComponentService }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i2.RtlService, optional: true }, { token: i2.FocusTrapService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
565
|
+
MultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MultiInputComponent, selector: "fd-multi-input", inputs: { placeholder: "placeholder", disabled: "disabled", required: "required", compactCollapse: "compactCollapse", maxHeight: "maxHeight", glyph: "glyph", dropdownValues: "dropdownValues", searchTerm: "searchTerm", inputId: "inputId", highlight: "highlight", selected: "selected", class: "class", filterFn: "filterFn", valueFn: "valueFn", displayFn: "displayFn", newTokenParseFn: "newTokenParseFn", newTokenValidateFn: "newTokenValidateFn", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", fillControlMode: "fillControlMode", state: "state", buttonFocusable: "buttonFocusable", allowNewTokens: "allowNewTokens", mobile: "mobile", showAllButton: "showAllButton", bodyMaxWidth: "bodyMaxWidth", mobileConfig: "mobileConfig", includes: "includes", itemTemplate: "itemTemplate", title: "title", autoComplete: "autoComplete", open: "open", displayAddonButton: "displayAddonButton" }, outputs: { searchTermChange: "searchTermChange", selectedChange: "selectedChange", openChange: "openChange", allItemsSelectedChange: "allItemsSelectedChange" }, host: { listeners: { "focusout": "_focusOut($event)" } }, providers: [
|
|
566
566
|
{
|
|
567
567
|
provide: NG_VALUE_ACCESSOR,
|
|
568
568
|
useExisting: forwardRef(() => MultiInputComponent),
|
|
@@ -578,7 +578,7 @@ __decorate([
|
|
|
578
578
|
__metadata("design:paramtypes", []),
|
|
579
579
|
__metadata("design:returntype", Array)
|
|
580
580
|
], MultiInputComponent.prototype, "buildComponentCssClass", null);
|
|
581
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
581
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MultiInputComponent, decorators: [{
|
|
582
582
|
type: Component,
|
|
583
583
|
args: [{ selector: 'fd-multi-input', host: {
|
|
584
584
|
'(focusout)': '_focusOut($event)'
|
|
@@ -689,4 +689,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
|
|
|
689
689
|
type: ViewChild,
|
|
690
690
|
args: [TokenizerComponent]
|
|
691
691
|
}], buildComponentCssClass: [] } });
|
|
692
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFP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QWE7c0JBRFosS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLFFBQVE7c0JBRFAsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLRyxnQkFBZ0I7c0JBRHhCLE1BQU07Z0JBS0UsY0FBYztzQkFEdEIsTUFBTTtnQkFLUCxJQUFJO3NCQURILEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBS0Usc0JBQXNCO3NCQUQ5QixNQUFNO2dCQUtQLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSzNCLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUszQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFLeEMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGFBQWE7Z0JBS3hCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS3JELFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBd0c3QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIEVTQ0FQRSwgU1BBQ0UsIFRBQiwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgRm9ybVN0YXRlcywgTnVsbGFibGUsIFBvcG92ZXJGaWxsTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgTW9iaWxlTW9kZUNvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5pbXBvcnQgeyBUb2tlbml6ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdG9rZW4nO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250cm9sLCByZWdpc3RlckZvcm1JdGVtQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGlzdCc7XG5pbXBvcnQge1xuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyLFxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgIEZvY3VzRXNjYXBlRGlyZWN0aW9uLFxuICAgIEZvY3VzVHJhcFNlcnZpY2UsXG4gICAgS2V5VXRpbCxcbiAgICBSYW5nZVNlbGVjdG9yLFxuICAgIFJ0bFNlcnZpY2UsXG4gICAgdXVpZHY0XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbmltcG9ydCB7IE11bHRpSW5wdXRNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL211bHRpLWlucHV0LW1vYmlsZS9tdWx0aS1pbnB1dC1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpSW5wdXRNb2JpbGVNb2R1bGUgfSBmcm9tICcuL211bHRpLWlucHV0LW1vYmlsZS9tdWx0aS1pbnB1dC1tb2JpbGUubW9kdWxlJztcbmltcG9ydCB7IE1VTFRJX0lOUFVUX0NPTVBPTkVOVCwgTXVsdGlJbnB1dEludGVyZmFjZSB9IGZyb20gJy4vbXVsdGktaW5wdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcblxuLyoqXG4gKiBJbnB1dCBmaWVsZCB3aXRoIG11bHRpcGxlIHNlbGVjdGlvbiBlbmFibGVkLiBTaG91bGQgYmUgdXNlZCB3aGVuIGEgdXNlciBjYW4gc2VsZWN0IGJldHdlZW4gYVxuICogbGltaXRlZCBudW1iZXIgb2YgcHJlLWRlZmluZWQgb3B0aW9ucyB3aXRoIGEgZmlsdGVyLWVuYWJsZWQgY29udGV4dC5cbiAqXG4gKiBTdXBwb3J0cyBBbmd1bGFyIEZvcm1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW11bHRpLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdfZm9jdXNPdXQoJGV2ZW50KSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpSW5wdXRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgTWVudUtleWJvYXJkU2VydmljZSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woTXVsdGlJbnB1dENvbXBvbmVudCksXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBNdWx0aUlucHV0SW50ZXJmYWNlLFxuICAgICAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICAgICAgQ3NzQ2xhc3NCdWlsZGVyLFxuICAgICAgICBPbkluaXQsXG4gICAgICAgIE9uQ2hhbmdlcyxcbiAgICAgICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICAgICAgT25EZXN0cm95LFxuICAgICAgICBGb3JtSXRlbUNvbnRyb2xcbntcbiAgICAvKiogUGxhY2Vob2xkZXIgZm9yIHRoZSBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIElmIGl0IGlzIG1hbmRhdG9yeSBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHVzZSBjb3p5IHZpc3VhbHMgYnV0IGNvbXBhY3QgY29sbGFwc2luZyBiZWhhdmlvci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbXBhY3RDb2xsYXBzZSA9IGZhbHNlO1xuXG4gICAgLyoqIE1heCBoZWlnaHQgb2YgdGhlIHBvcG92ZXIuIEFueSBvdmVyZmxvd2luZyBlbGVtZW50cyB3aWxsIGJlIGFjY2Vzc2libGUgdGhyb3VnaCBzY3JvbGxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBtYXhIZWlnaHQgPSAnMzAwcHgnO1xuXG4gICAgLyoqIEljb24gb2YgdGhlIGJ1dHRvbiBvbiB0aGUgcmlnaHQgb2YgdGhlIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2x5cGggPSAndmFsdWUtaGVscCc7XG5cbiAgICAvKiogVmFsdWVzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdW5maWx0ZXJlZCBkcm9wZG93bi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRyb3Bkb3duVmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqIFNlYXJjaCB0ZXJtLCBvciBtb3JlIHNwZWNpZmljYWxseSB0aGUgdmFsdWUgb2YgdGhlIGlubmVyIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNlYXJjaFRlcm0odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzZWFyY2hUZXJtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZSA/PyAnJztcbiAgICB9XG5cbiAgICAvKiogSWQgYXR0cmlidXRlIGZvciBpbnB1dCBlbGVtZW50IGluc2lkZSBNdWx0aUlucHV0IGNvbXBvbmVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRJZCA9ICcnO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIHNob3VsZCBiZSBoaWdobGlnaHRlZCBpbiByZXN1bHRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlnaGxpZ2h0ID0gdHJ1ZTtcblxuICAgIC8qKiBTZWxlY3RlZCBkcm9wZG93biBpdGVtcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZXM6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHZhbHVlcz8uZm9yRWFjaCgoaXRlbSkgPT4gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGl0ZW0pKTtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiB1c2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZnVuY3Rpb24uIEFjY2VwdHMgYW4gYXJyYXkgYW5kIGEgc3RyaW5nIGFzIGFyZ3VtZW50cywgYW5kIG91dHB1dHMgYW4gYXJyYXkuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIG11bHRpIGlucHV0IGV4YW1wbGVzIGZvciBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyRm4gPSB0aGlzLl9kZWZhdWx0RmlsdGVyO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgZnVuY3Rpb24uIEFjY2VwdHMgYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUgYXMgdGhlXG4gICAgICogaXRlbXMgcGFzc2VkIHRvIGRyb3Bkb3duVmFsdWVzIGFzIGFyZ3VtZW50LCBhbmQgb3V0cHV0cyBhbnkgcHJvcGVydHksIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgdmFsdWUuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIG11bHRpIGlucHV0IGV4YW1wbGVzIGZvciBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVGbiA9IHRoaXMuX2RlZmF1bHRWYWx1ZUZuO1xuXG4gICAgLyoqXG4gICAgICogRGlzcGxheSBmdW5jdGlvbi4gQWNjZXB0cyBhbiBvYmplY3Qgb2YgdGhlIHNhbWUgdHlwZSBhcyB0aGVcbiAgICAgKiBpdGVtcyBwYXNzZWQgdG8gZHJvcGRvd25WYWx1ZXMgYXMgYXJndW1lbnQsIGFuZCBvdXRwdXRzIGEgc3RyaW5nLlxuICAgICAqIEFuIGFycm93IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgKnRoaXMqIGtleXdvcmQgaW4gdGhlIGNhbGxpbmcgY29tcG9uZW50LlxuICAgICAqIFNlZSBtdWx0aSBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlGbiA9IHRoaXMuX2RlZmF1bHREaXNwbGF5O1xuXG4gICAgLyoqXG4gICAgICogUGFyc2UgZnVuY3Rpb24uIFVzZWQgZm9yIHN1Ym1pdHRpbmcgbmV3IHRva2Vucy4gQWNjZXB0cyBhIHN0cmluZyBieSBkZWZhdWx0LlxuICAgICAqIEFuIGFycm93IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgKnRoaXMqIGtleXdvcmQgaW4gdGhlIGNhbGxpbmcgY29tcG9uZW50LlxuICAgICAqIFNlZSBtdWx0aSBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5ld1Rva2VuUGFyc2VGbjogKHNlYXJjaFRlcm06IHN0cmluZykgPT4gYW55ID0gdGhpcy5fZGVmYXVsdFBhcnNlO1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGUgZnVuY3Rpb24uIFVzZWQgdG8gY2hlY2sgaWYgbmV3IHRva2VuIGNhbiBiZSBhZGRlZCBpbnRvIGxpc3QuXG4gICAgICogV29ya3Mgb25seSwgd2hlbiBgYWxsb3dOZXdUb2tlbnNgIG9wdGlvbiBpcyBlbmFibGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmV3VG9rZW5WYWxpZGF0ZUZuID0gdGhpcy5fZGVmYXVsdFRva2VuVmFsaWRhdGU7XG5cbiAgICAvKiogYXJpYS1sYWJlbCBhdHRyaWJ1dGUgYmluZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIGJpbmRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFByZXNldCBvcHRpb25zIGZvciB0aGUgU2VsZWN0IGJvZHkgd2lkdGgsIHdoYXRldmVyIGlzIGNob3NlbiwgdGhlIGJvZHkgaGFzIGEgNjAwcHggbGltaXQuXG4gICAgICogKiBgYXQtbGVhc3RgIHdpbGwgYXBwbHkgYSBtaW5pbXVtIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLiAtIERlZmF1bHRcbiAgICAgKiAqIGBlcXVhbGAgd2lsbCBhcHBseSBhIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogJ2ZpdC1jb250ZW50JyB3aWxsIGFwcGx5IHdpZHRoIG5lZWRlZCB0byBwcm9wZXJseSBkaXNwbGF5IGl0ZW1zIGluc2lkZSwgaW5kZXBlbmRlbnQgb2YgY29udHJvbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxDb250cm9sTW9kZTogUG9wb3ZlckZpbGxNb2RlID0gJ2F0LWxlYXN0JztcblxuICAgIC8qKlxuICAgICAqICBUaGUgc3RhdGUgb2YgdGhlIGZvcm0gY29udHJvbCAtIGFwcGxpZXMgY3NzIGNsYXNzZXMuXG4gICAgICogIENhbiBiZSBgc3VjY2Vzc2AsIGBlcnJvcmAsIGB3YXJuaW5nYCwgYGluZm9ybWF0aW9uYCBvciBibGFuayBmb3IgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlPzogRm9ybVN0YXRlcztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgQWRkT24gQnV0dG9uIHNob3VsZCBiZSBmb2N1c2FibGVcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBidXR0b25Gb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG11bHRpLWlucHV0IGFsbG93cyB0aGUgY3JlYXRpb24gb2YgbmV3IHRva2Vucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93TmV3VG9rZW5zID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgbXVsdGktaW5wdXQgc2hvdWxkIGJlIGJ1aWx0IG9uIG1vYmlsZSBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBtb2JpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBtdWx0aS1pbnB1dCBzaG91bGQgaGF2ZSBzaG93IGFsbCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93QWxsQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKiBNYXggd2lkdGggb2YgbXVsdGkgaW5wdXQgYm9keSBpbiBQWCAqL1xuICAgIEBJbnB1dCgpXG4gICAgYm9keU1heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqIE11bHRpIElucHV0IE1vYmlsZSBDb25maWd1cmF0aW9uLCBpdCdzIGFwcGxpZWQgb25seSwgd2hlbiBtb2JpbGUgaXMgZW5hYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlQ29uZmlnOiBNb2JpbGVNb2RlQ29uZmlnID0geyBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSwgYXBwcm92ZUJ1dHRvblRleHQ6ICdTZWxlY3QnIH07XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byByZXR1cm4gcmVzdWx0cyB3aGVyZSB0aGUgaW5wdXQgbWF0Y2hlcyB0aGUgZW50aXJlIHN0cmluZy4gQnkgZGVmYXVsdCwgb25seSByZXN1bHRzIHRoYXQgc3RhcnRcbiAgICAgKiB3aXRoIHRoZSBpbnB1dCBzZWFyY2ggdGVybSB3aWxsIGJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5jbHVkZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB3aXRoIHdoaWNoIHRvIGRpc3BsYXkgdGhlIGluZGl2aWR1YWwgbGlzdGVkIGl0ZW1zLlxuICAgICAqIFVzZSBpdCBieSBwYXNzaW5nIGFuIG5nLXRlbXBsYXRlIHdpdGggaW1wbGljaXQgY29udGVudC4gU2VlIGV4YW1wbGVzIGZvciBtb3JlIGluZm8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdG9vbHRpcCBmb3IgdGhlIG11bHRpLWlucHV0IGljb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgYmUgZW5hYmxlZDsgRW5hYmxlZCBieSBkZWZhdWx0ICovXG4gICAgQElucHV0KClcbiAgICBhdXRvQ29tcGxldGUgPSB0cnVlO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlcy4gVXNlICokZXZlbnQqIHRvIGFjY2VzcyB0aGUgbmV3IHRlcm0uICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoVGVybUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIGl0ZW1zIGNoYW5nZS4gVXNlICokZXZlbnQqIHRvIGFjY2VzcyB0aGUgbmV3IHNlbGVjdGVkIGFycmF5LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICAgIC8qKiBXaGV0aGVyIG11bHRpIGlucHV0IHBvcG92ZXIgYm9keSBzaG91bGQgYmUgb3BlbmVkICovXG4gICAgQElucHV0KClcbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgYWRkb24gYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheUFkZG9uQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkLCB3aGVuIHRoZSBtdWx0aSBpbnB1dCdzIHBvcG92ZXIgYm9keSBpcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQsIHdoZW4gdGhlIG11bHRpIGlucHV0J3MgYWxsIGl0ZW0gY2hlY2tlZCBvciBub3QgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhbGxJdGVtc1NlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgICBwb3BvdmVyUmVmOiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdjb250cm9sJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGNvbnRyb2xUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTGlzdENvbXBvbmVudClcbiAgICBsaXN0Q29tcG9uZW50OiBMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoVG9rZW5pemVyQ29tcG9uZW50KVxuICAgIHRva2VuaXplcjogVG9rZW5pemVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBvcHRpb25JdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wdGlvbkl0ZW1bXT4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VhcmNoVGVybUN0cmwgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3ZpZXdNb2RlbCQ6IE9ic2VydmFibGU8Vmlld01vZGVsPiA9IHRoaXMuX2dldFZpZXdNb2RlbCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZGlyOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JhbmdlU2VsZWN0b3IgPSBuZXcgUmFuZ2VTZWxlY3RvcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzVHJhcFNlcnZpY2U6IEZvY3VzVHJhcFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyID0gaXNSdGwgPyAncnRsJyA6ICdsdHInO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRJZCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dElkID0gdXVpZHY0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFRlcm1DdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoc2VhcmNoVGVybSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybUNoYW5nZS5lbWl0KHNlYXJjaFRlcm0gPz8gJycpO1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0dGluZyBleGlzdGluZyBzZWxlY3Rpb24gc3RhdGUsIGlmIGFueVxuICAgICAgICAgICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IucmVzZXQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fZ2V0Vmlld01vZGVsKClcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHZpZXdNb2RlbCkgPT4gIXZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLnNvbWUoKGMpID0+ICFjLmlzU2VsZWN0ZWQpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChhbGxJdGVtc1NlbGVjdGVkKSA9PiB0aGlzLmFsbEl0ZW1zU2VsZWN0ZWRDaGFuZ2UuZW1pdChhbGxJdGVtc1NlbGVjdGVkKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZHJvcGRvd25WYWx1ZXMgfHwgY2hhbmdlcy5zZWFyY2hUZXJtIHx8IGNoYW5nZXMudmFsdWVGbiB8fCBjaGFuZ2VzLmRpc3BsYXlGbikge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uSXRlbXMgPSAodGhpcy5kcm9wZG93blZhbHVlcyA/PyBbXSkubWFwKChpdGVtKSA9PiB0aGlzLl9nZXRPcHRpb25JdGVtKGl0ZW0pKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uSXRlbXMkLm5leHQob3B0aW9uSXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPyB0aGlzLl9zZWFyY2hUZXJtQ3RybC5kaXNhYmxlKCkgOiB0aGlzLl9zZWFyY2hUZXJtQ3RybC5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5pemVyLl9zaG93T3ZlcmZsb3dQb3BvdmVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgLy8gVE9ETzogdGhpcyBpY29uIGZsaXAgbWF5IGJlIGFkZHJlc3NlZCBpbiBzdHlsZXMgaW4gdGhlIGZ1dHVyZVxuICAgICAgICBpZiAodGhpcy5nbHlwaCA9PT0gJ3ZhbHVlLWhlbHAnICYmIHRoaXMuX2RpciA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGljb24gPSB0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zYXAtaWNvbi0tdmFsdWUtaGVscCcpO1xuICAgICAgICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICBpY29uLnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZVgoLTEpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbJ2ZkLW11bHRpLWlucHV0JywgJ2ZkLW11bHRpLWlucHV0LWN1c3RvbScsIHRoaXMuY2xhc3NdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChzZWxlY3RlZDogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYXV0byc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZShzZWxlY3RlZDogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHBhc3NlZCB0byBsaXN0IGNvbXBvbmVudCAqL1xuICAgIGhhbmRsZUxpc3RGb2N1c0VzY2FwZShkaXJlY3Rpb246IEZvY3VzRXNjYXBlRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXJlY3Rpb24gPT09ICd1cCcgJiYgIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5DaGFuZ2VIYW5kbGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcGVuICYmIHRoaXMub3BlbiAmJiAhdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW4gIT09IG9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcblxuICAgICAgICBpZiAoIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3BvdmVyT3BlbkhhbmRsZShvcGVuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUGFyZW50Rm9jdXNUcmFwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVQYXJlbnRGb2N1c1RyYXAoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubGlzdENvbXBvbmVudCAmJiB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50LnNldEl0ZW1BY3RpdmUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2VuaXplci5yZW1vdmVTZWxlY3RlZFRva2VucygpO1xuXG4gICAgICAgIHRoaXMudG9rZW5pemVyLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID1cbiAgICAgICAgICAgIHRoaXMudG9rZW5pemVyLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBzZWxlY3RzIGFsbCBwb3NzaWJsZSBvcHRpb25zLiAqL1xuICAgIHNlbGVjdEFsbEl0ZW1zKHNlbGVjdEFsbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoc2VsZWN0QWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5vcHRpb25JdGVtcyQuZ2V0VmFsdWUoKS5tYXAoKGMpID0+IGMudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIC8vIE9uIE1vYmlsZSBtb2RlIGNoYW5nZXMgYXJlIHByb3BhZ2F0ZWQgb25seSBvbiBhcHByb3ZlLlxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkNoZWNrYm94S2V5dXAodmFsdWU6IGFueSwgZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hlY2tib3hDbGljayh2YWx1ZSwgZXZlbnQsIGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXN5bmMgX29uQ2hlY2tib3hDbGljayhcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50LFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICBpc0xpc3RJdGVtID0gZmFsc2VcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdG9nZ2xlZFNlbGVjdGlvbiA9ICF0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcmFuZ2VTZWxlY3Rvci5vblJhbmdlRWxlbWVudFRvZ2dsZWQoaW5kZXgsIGV2ZW50KTtcbiAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5fdmlld01vZGVsJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodm0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IuYXBwbHlWYWx1ZVRvRWFjaEluUmFuZ2UoKGlkeCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QodG9nZ2xlZFNlbGVjdGlvbiwgdm0uZGlzcGxheWVkT3B0aW9uc1tpZHhdLnZhbHVlLCBmYWxzZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuICAgICAgICBpZiAoaXNMaXN0SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoZWNrYm94IHNvIGV2ZW50IGRvZXNuJ3QgcmVhY2ggdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblRva2VuQ2xpY2sodmFsdWU6IGFueSwgcmVzZXRTZWFyY2g6IGJvb2xlYW4sIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCB0aGlzIGZ1bmN0aW9uIGZyb20gYmVpbmcgY2FsbGVkIHR3aWNlIHdoZW4gY2hlY2tib3ggdXBkYXRlc1xuICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QoZmFsc2UsIHZhbHVlLCByZXNldFNlYXJjaCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGFuZGxlU2VsZWN0KGNoZWNrZWQ6IGFueSwgdmFsdWU6IGFueSwgcmVzZXRTZWFyY2ggPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzTGVuZ3RoID0gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQubGVuZ3RoO1xuICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhhbmRsZSBwb3BvdmVyIHBsYWNlbWVudCB1cGRhdGVcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFBvcG92ZXJCZVVwZGF0ZWQocHJldmlvdXNMZW5ndGgsIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5yZWZyZXNoUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uIE1vYmlsZSBtb2RlIGNoYW5nZXMgYXJlIHByb3BhZ2F0ZWQgb25seSBvbiBhcHByb3ZlLlxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oYW5kbGVJbnB1dEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSAmJiAhdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5DaGFuZ2VIYW5kbGUodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuc2V0SXRlbUFjdGl2ZSgwKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRE9XTl9BUlJPVywgVVBfQVJST1csIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZUhhbmRsZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSAmJiB0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuc2V0SXRlbUFjdGl2ZSgwKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlUeXBlKGV2ZW50LCAnYWxwaGFiZXRpY2FsJykgfHwgS2V5VXRpbC5pc0tleVR5cGUoZXZlbnQsICdudW1lcmljJykpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dBbGxDbGlja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5fc2VhcmNoVGVybUN0cmwuc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd0FsbEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dBbGxDbGlja2VkKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uU3VibWl0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtO1xuICAgICAgICBpZiAoc2VhcmNoVGVybSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0V4aXN0ID0gdGhpcy5fc2VsZWN0Rmlyc3RGaWx0ZXJlZChzZWFyY2hUZXJtKTtcbiAgICAgICAgaWYgKCFpc0V4aXN0ICYmIHRoaXMuYWxsb3dOZXdUb2tlbnMgJiYgdGhpcy5uZXdUb2tlblZhbGlkYXRlRm4odGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUgPz8gJycpKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IHRoaXMubmV3VG9rZW5QYXJzZUZuKHRoaXMuX3NlYXJjaFRlcm1DdHJsLnZhbHVlID8/ICcnKTtcbiAgICAgICAgICAgIHRoaXMuX2FkZE5ld1Rva2VuVG9Ecm9wRG93blZhbHVlcyhuZXdUb2tlbik7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QodHJ1ZSwgbmV3VG9rZW4pO1xuICAgICAgICAgICAgdGhpcy5fc2VhcmNoVGVybUN0cmwuc2V0VmFsdWUoJycpO1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oYW5kbGVDb21wbGV0ZSh7IHRlcm0gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0ZXJtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBkaWFsb2cgZGlzbWlzc2luZywgY2xvc2VzIHBvcG92ZXIgYW5kIHNldHMgYmFja3VwIGRhdGEuXG4gICAgICovXG4gICAgZGlhbG9nRGlzbWlzcyhzZWxlY3RlZEJhY2t1cDogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5fcmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZEJhY2t1cDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgZGlhbG9nIGFwcHJvdmFsLCBjbG9zZXMgcG9wb3ZlciBhbmQgcHJvcGFnYXRlcyBkYXRhIGNoYW5nZXMuXG4gICAgICovXG4gICAgZGlhbG9nQXBwcm92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKHRydWUpO1xuICAgICAgICB0aGlzLm9wZW5DaGFuZ2VIYW5kbGUoZmFsc2UpO1xuICAgICAgICB0aGlzLl9yZXNldFNlYXJjaFRlcm0oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb3JlQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZE9uQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKCF0aGlzLm9wZW4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGlzYWJsZVBhcmVudEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNUcmFwU2VydmljZT8ucGF1c2VDdXJyZW50Rm9jdXNUcmFwKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbmFibGVQYXJlbnRGb2N1c1RyYXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzVHJhcFNlcnZpY2U/LnVucGF1c2VDdXJyZW50Rm9jdXNUcmFwKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hZGROZXdUb2tlblRvRHJvcERvd25WYWx1ZXMobmV3VG9rZW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blZhbHVlcy5wdXNoKG5ld1Rva2VuKTtcbiAgICAgICAgY29uc3QgbmV3T3B0aW9uID0gdGhpcy5fZ2V0T3B0aW9uSXRlbShuZXdUb2tlbik7XG4gICAgICAgIHRoaXMub3B0aW9uSXRlbXMkLm5leHQoWy4uLnRoaXMub3B0aW9uSXRlbXMkLnZhbHVlLCBuZXdPcHRpb25dKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdEZpcnN0RmlsdGVyZWQoc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJGbih0aGlzLmRyb3Bkb3duVmFsdWVzLCBzZWFyY2hUZXJtKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVyZWQpICYmIGZpbHRlcmVkLmxlbmd0aCA+IDAgJiYgdGhpcy5hdXRvQ29tcGxldGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkl0ZW0gPSB0aGlzLl9nZXRPcHRpb25JdGVtKGZpbHRlcmVkWzBdKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNlbGVjdCh0cnVlLCBvcHRpb25JdGVtLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFRlcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEZpbHRlcihjb250ZW50QXJyYXk6IGFueVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJyk6IGFueVtdIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoTG93ZXIgPSBzZWFyY2hUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBjb250ZW50QXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZFZhbHVlID0gdGhpcy5kaXNwbGF5Rm4oaXRlbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVybSA9IHR5cGVvZiBkaXNwbGF5ZWRWYWx1ZSA9PT0gJ3N0cmluZycgPyBkaXNwbGF5ZWRWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogJyc7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbmNsdWRlcyA/IHRlcm0uaW5jbHVkZXMoc2VhcmNoTG93ZXIpIDogdGVybS5zdGFydHNXaXRoKHNlYXJjaExvd2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0VmFsdWVGbih2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdERpc3BsYXkoc3RyOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFBhcnNlKHN0cjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRUb2tlblZhbGlkYXRlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXN0cjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BvcG92ZXJPcGVuSGFuZGxlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUNoYW5nZShlbWl0SW5Nb2JpbGU/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUgfHwgZW1pdEluTW9iaWxlKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IFsuLi50aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZF07XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFBvcG92ZXJCZVVwZGF0ZWQocHJldmlvdXNMZW5ndGg6IG51bWJlciwgY3VycmVudExlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMucG9wb3ZlclJlZiAmJlxuICAgICAgICAgICAgKChwcmV2aW91c0xlbmd0aCA9PT0gMCAmJiBjdXJyZW50TGVuZ3RoID09PSAxKSB8fCAocHJldmlvdXNMZW5ndGggPT09IDEgJiYgY3VycmVudExlbmd0aCA9PT0gMCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9zZXRVcE1vYmlsZU1vZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTVVMVElfSU5QVVRfQ09NUE9ORU5ULCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3JcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlRHluYW1pY01vZHVsZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsaXN0VGVtcGxhdGU6IHRoaXMubGlzdFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUZW1wbGF0ZTogdGhpcy5jb250cm9sVGVtcGxhdGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNdWx0aUlucHV0TW9iaWxlTW9kdWxlLFxuICAgICAgICAgICAgTXVsdGlJbnB1dE1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRPcHRpb25JdGVtKGl0ZW06IGFueSk6IE9wdGlvbkl0ZW0ge1xuICAgICAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSB9ID0gdGhpcy5fZ2V0VmFsdWVBbmRMYWJlbChpdGVtKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFZhbHVlQW5kTGFiZWwoaXRlbU9yVmFsdWU6IGFueSwgb3B0aW9uSXRlbXM6IE9wdGlvbkl0ZW1bXSA9IFtdKTogT3B0aW9uSXRlbUJhc2Uge1xuICAgICAgICBpZiAob3B0aW9uSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaXRlbU9yVmFsdWUgPSBvcHRpb25JdGVtcy5maW5kKChjKSA9PiBjLnZhbHVlID09PSBpdGVtT3JWYWx1ZSk/Lml0ZW0gPz8gaXRlbU9yVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGVmYXVsdERpc3BsYXkgPSB0eXBlb2YgaXRlbU9yVmFsdWUgPT09ICdvYmplY3QnID8gaXRlbU9yVmFsdWVbT2JqZWN0LmtleXMoaXRlbU9yVmFsdWUpWzBdXSA6IGl0ZW1PclZhbHVlO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVGbihpdGVtT3JWYWx1ZSkgPz8gZGVmYXVsdERpc3BsYXk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5kaXNwbGF5Rm4oaXRlbU9yVmFsdWUpID8/IGRlZmF1bHREaXNwbGF5O1xuICAgICAgICByZXR1cm4geyBsYWJlbCwgdmFsdWUgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFZpZXdNb2RlbCgpOiBPYnNlcnZhYmxlPFZpZXdNb2RlbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUpKSxcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25JdGVtcyRcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoWywgLCBvcHRpb25JdGVtc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQubWFwKChjKSA9PiB0aGlzLl9nZXRWYWx1ZUFuZExhYmVsKGMsIG9wdGlvbkl0ZW1zKSk7XG4gICAgICAgICAgICAgICAgLy8gbm90IHVzaW5nIFwic2VhcmNoVGVybVwiIHZhbHVlIGZyb20gY29tYmluZUxhdGVzdCBhcyBpdCB3aWxsIGJlIHdyb25nIGZvciBsYXRlIHN1YnNjcmliZXJzLCBpZiBhbnlcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUgPz8gJyc7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLmZpbHRlckZuKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25JdGVtcy5tYXAoKGMpID0+IGMuaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFRlcm1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZE9wdGlvbnMgPSAoQXJyYXkuaXNBcnJheShmaWx0ZXJlZCkgPyBmaWx0ZXJlZCA6IFtdKS5tYXAoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldE9wdGlvbkl0ZW0oaXRlbSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXllZE9wdGlvbnMuZm9yRWFjaCgoYykgPT4gKGMuaXNTZWxlY3RlZCA9IHNlbGVjdGVkLmZpbmRJbmRleCgoZCkgPT4gZC52YWx1ZSA9PT0gYy52YWx1ZSkgPiAtMSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWQsIGRpc3BsYXllZE9wdGlvbnMgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW50ZXJmYWNlIE9wdGlvbkl0ZW08VCA9IGFueT4gZXh0ZW5kcyBPcHRpb25JdGVtQmFzZSB7XG4gICAgaXRlbTogVDtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE9wdGlvbkl0ZW1CYXNlIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG59XG5cbmludGVyZmFjZSBWaWV3TW9kZWwge1xuICAgIHNlbGVjdGVkT3B0aW9uczogT3B0aW9uSXRlbUJhc2VbXTtcbiAgICBkaXNwbGF5ZWRPcHRpb25zOiBPcHRpb25JdGVtW107XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3ZpZXdNb2RlbCQgfCBhc3luYyBhcyB2aWV3TW9kZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtbXVsdGktaW5wdXQgZmQtbXVsdGktaW5wdXQtY3VzdG9tXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1tdWx0aS1pbnB1dC1maWVsZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250cm9sXCIgKm5nSWY9XCJtb2JpbGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsQm9keUNsYXNzPVwiZmQtcG9wb3Zlci1jdXN0b20tbGlzdFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbW9iaWxlXCJcbiAgICAgICAgICAgICAgICBbaXNPcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZUhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwiIW9wZW4gJiYgb3BlbkNoYW5nZUhhbmRsZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwiYm9keU1heFdpZHRoXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2ZpbGxDb250cm9sTW9kZV09XCJmaWxsQ29udHJvbE1vZGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtcG9wb3Zlci1jdXN0b21cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIChzdWJtaXQpPVwiX29uU3VibWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cblxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHlcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIW9wZW5cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0taGlkZGVuXT1cIiF2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb250cm9sPlxuICAgICAgICA8ZmQtaW5wdXQtZ3JvdXBcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtaW5wdXQtZ3JvdXAtY3VzdG9tXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgICBbYnV0dG9uRm9jdXNhYmxlXT1cImJ1dHRvbkZvY3VzYWJsZVwiXG4gICAgICAgICAgICBbYnV0dG9uXT1cImRpc3BsYXlBZGRvbkJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwib3BlbiAmJiAhbW9iaWxlICYmIHZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgW2lzQ29udHJvbF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJkaXNwbGF5QWRkb25CdXR0b24gPyBnbHlwaCA6ICcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJfYWRkT25CdXR0b25DbGlja2VkKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtdG9rZW5pemVyXG4gICAgICAgICAgICAgICAgW2NvbXBhY3RDb2xsYXBzZV09XCJjb21wYWN0Q29sbGFwc2VcIlxuICAgICAgICAgICAgICAgIFtvcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgIFt0b2tlbml6ZXJGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3JlQ2xpY2tlZEV2ZW50KT1cIl9tb3JlQ2xpY2tlZCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLW11bHRpLWlucHV0LXRva2VuaXplci1jdXN0b21cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1tdWx0aS1pbnB1dC10b2tlbml6ZXItY3VzdG9tLS1jb21wYWN0XT1cIl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZkLXRva2VuXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygdmlld01vZGVsLnNlbGVjdGVkT3B0aW9uczsgdHJhY2tCeTogdmFsdWVGblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChvbkNsb3NlQ2xpY2spPVwiX29uVG9rZW5DbGljayhvcHRpb24udmFsdWUsIGZhbHNlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uUmVtb3ZlKT1cIl9vblRva2VuQ2xpY2sob3B0aW9uLnZhbHVlLCBmYWxzZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJvcHRpb24ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9mZC10b2tlbj5cblxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQgZmQtdG9rZW5pemVyX19pbnB1dCBmZC1tdWx0aS1pbnB1dC10b2tlbml6ZXItaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICBmZC1mb3JtLWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgZmQtaW5wdXQtZ3JvdXAtaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgZmQtYXV0by1jb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAob25Db21wbGV0ZSk9XCJfaGFuZGxlQ29tcGxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICNzZWFyY2hJbnB1dEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGbl09XCJkaXNwbGF5Rm5cIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRUZXh0XT1cIl9zZWFyY2hUZXJtQ3RybC52YWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImRyb3Bkb3duVmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV09XCJhdXRvQ29tcGxldGUgJiYgIW1vYmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJfc2VhcmNoVGVybUN0cmxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfaGFuZGxlSW5wdXRLZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9mZC10b2tlbml6ZXI+XG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbGlzdD5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICAqbmdJZj1cInZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLmxlbmd0aFwiXG4gICAgICAgICAgICBmZC1saXN0XG4gICAgICAgICAgICBjbGFzcz1cImZkLW11bHRpLWlucHV0LW1lbnUtb3ZlcmZsb3dcIlxuICAgICAgICAgICAgW3NlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttb2JpbGVNb2RlXT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBbc3R5bGUubWF4SGVpZ2h0XT1cIiFtb2JpbGUgPyBtYXhIZWlnaHQgOiAnYXV0bydcIlxuICAgICAgICAgICAgKGZvY3VzRXNjYXBlTGlzdCk9XCJoYW5kbGVMaXN0Rm9jdXNFc2NhcGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbc3R5bGUubWluV2lkdGhdPVwiJzEwMCUnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9uczsgaW5kZXggYXMgaWR4OyB0cmFja0J5OiB2YWx1ZUZuXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbkNoZWNrYm94Q2xpY2sob3B0aW9uLnZhbHVlLCAkZXZlbnQsIGlkeCwgdHJ1ZSlcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJfb25DaGVja2JveEtleXVwKG9wdGlvbi52YWx1ZSwgJGV2ZW50LCBpZHgpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCAoY2xpY2spPVwiX29uQ2hlY2tib3hDbGljayhvcHRpb24udmFsdWUsICRldmVudCwgaWR4KVwiIFt2YWx1ZV09XCJvcHRpb24uaXNTZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRPRE8gLS0+XG4gICAgICAgICAgICAgICAgPC9mZC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbjogb3B0aW9uIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0FsbEJ1dHRvbiAmJiB2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9ucy5sZW5ndGggPCBkcm9wZG93blZhbHVlcy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGZkLWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtc2hvdy1hbGxcIlxuICAgICAgICAgICAgICAgIChrZXlEb3duKT1cIl9zaG93QWxsS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3Nob3dBbGxDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhIGZkLWxpbmsgdGFiaW5kZXg9XCIwXCI+U2hvdyBBbGwgKHt7IGRyb3Bkb3duVmFsdWVzLmxlbmd0aCB9fSk8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbj1cIm9wdGlvblwiICNpdGVtU291cmNlPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgIGZkLWxpc3QtdGl0bGVcbiAgICAgICAgICAgIFtpbm5lckh0bWxdPVwib3B0aW9uLmxhYmVsIHwgaGlnaGxpZ2h0OiBfc2VhcmNoVGVybUN0cmwudmFsdWUgfHwgJyc6aGlnaGxpZ2h0XCJcbiAgICAgICAgPjwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbi5pdGVtIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
692
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbXVsdGktaW5wdXQvbXVsdGktaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFP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QWE7c0JBRFosS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLFFBQVE7c0JBRFAsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLRyxnQkFBZ0I7c0JBRHhCLE1BQU07Z0JBS0UsY0FBYztzQkFEdEIsTUFBTTtnQkFLUCxJQUFJO3NCQURILEtBQUs7Z0JBS04sa0JBQWtCO3NCQURqQixLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBS0Usc0JBQXNCO3NCQUQ5QixNQUFNO2dCQUtQLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSzNCLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUszQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFLeEMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGFBQWE7Z0JBS3hCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS3JELFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBd0c3QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIEVTQ0FQRSwgU1BBQ0UsIFRBQiwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgRm9ybVN0YXRlcywgTnVsbGFibGUsIFBvcG92ZXJGaWxsTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgTW9iaWxlTW9kZUNvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5pbXBvcnQgeyBUb2tlbml6ZXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdG9rZW4nO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250cm9sLCByZWdpc3RlckZvcm1JdGVtQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IExpc3RDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGlzdCc7XG5pbXBvcnQge1xuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyLFxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgIEZvY3VzRXNjYXBlRGlyZWN0aW9uLFxuICAgIEZvY3VzVHJhcFNlcnZpY2UsXG4gICAgS2V5VXRpbCxcbiAgICBSYW5nZVNlbGVjdG9yLFxuICAgIFJ0bFNlcnZpY2UsXG4gICAgdXVpZHY0XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5cbmltcG9ydCB7IE11bHRpSW5wdXRNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL211bHRpLWlucHV0LW1vYmlsZS9tdWx0aS1pbnB1dC1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpSW5wdXRNb2JpbGVNb2R1bGUgfSBmcm9tICcuL211bHRpLWlucHV0LW1vYmlsZS9tdWx0aS1pbnB1dC1tb2JpbGUubW9kdWxlJztcbmltcG9ydCB7IE1VTFRJX0lOUFVUX0NPTVBPTkVOVCwgTXVsdGlJbnB1dEludGVyZmFjZSB9IGZyb20gJy4vbXVsdGktaW5wdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcblxuLyoqXG4gKiBJbnB1dCBmaWVsZCB3aXRoIG11bHRpcGxlIHNlbGVjdGlvbiBlbmFibGVkLiBTaG91bGQgYmUgdXNlZCB3aGVuIGEgdXNlciBjYW4gc2VsZWN0IGJldHdlZW4gYVxuICogbGltaXRlZCBudW1iZXIgb2YgcHJlLWRlZmluZWQgb3B0aW9ucyB3aXRoIGEgZmlsdGVyLWVuYWJsZWQgY29udGV4dC5cbiAqXG4gKiBTdXBwb3J0cyBBbmd1bGFyIEZvcm1zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW11bHRpLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdfZm9jdXNPdXQoJGV2ZW50KSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpSW5wdXRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgTWVudUtleWJvYXJkU2VydmljZSxcbiAgICAgICAgcmVnaXN0ZXJGb3JtSXRlbUNvbnRyb2woTXVsdGlJbnB1dENvbXBvbmVudCksXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aUlucHV0Q29tcG9uZW50XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBNdWx0aUlucHV0SW50ZXJmYWNlLFxuICAgICAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICAgICAgQ3NzQ2xhc3NCdWlsZGVyLFxuICAgICAgICBPbkluaXQsXG4gICAgICAgIE9uQ2hhbmdlcyxcbiAgICAgICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICAgICAgT25EZXN0cm95LFxuICAgICAgICBGb3JtSXRlbUNvbnRyb2xcbntcbiAgICAvKiogUGxhY2Vob2xkZXIgZm9yIHRoZSBpbnB1dCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIElmIGl0IGlzIG1hbmRhdG9yeSBmaWVsZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHVzZSBjb3p5IHZpc3VhbHMgYnV0IGNvbXBhY3QgY29sbGFwc2luZyBiZWhhdmlvci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbXBhY3RDb2xsYXBzZSA9IGZhbHNlO1xuXG4gICAgLyoqIE1heCBoZWlnaHQgb2YgdGhlIHBvcG92ZXIuIEFueSBvdmVyZmxvd2luZyBlbGVtZW50cyB3aWxsIGJlIGFjY2Vzc2libGUgdGhyb3VnaCBzY3JvbGxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBtYXhIZWlnaHQgPSAnMzAwcHgnO1xuXG4gICAgLyoqIEljb24gb2YgdGhlIGJ1dHRvbiBvbiB0aGUgcmlnaHQgb2YgdGhlIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2x5cGggPSAndmFsdWUtaGVscCc7XG5cbiAgICAvKiogVmFsdWVzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdW5maWx0ZXJlZCBkcm9wZG93bi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRyb3Bkb3duVmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gICAgLyoqIFNlYXJjaCB0ZXJtLCBvciBtb3JlIHNwZWNpZmljYWxseSB0aGUgdmFsdWUgb2YgdGhlIGlubmVyIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNlYXJjaFRlcm0odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzZWFyY2hUZXJtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZSA/PyAnJztcbiAgICB9XG5cbiAgICAvKiogSWQgYXR0cmlidXRlIGZvciBpbnB1dCBlbGVtZW50IGluc2lkZSBNdWx0aUlucHV0IGNvbXBvbmVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRJZCA9ICcnO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIHNob3VsZCBiZSBoaWdobGlnaHRlZCBpbiByZXN1bHRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlnaGxpZ2h0ID0gdHJ1ZTtcblxuICAgIC8qKiBTZWxlY3RlZCBkcm9wZG93biBpdGVtcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZXM6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHZhbHVlcz8uZm9yRWFjaCgoaXRlbSkgPT4gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGl0ZW0pKTtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiB1c2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZnVuY3Rpb24uIEFjY2VwdHMgYW4gYXJyYXkgYW5kIGEgc3RyaW5nIGFzIGFyZ3VtZW50cywgYW5kIG91dHB1dHMgYW4gYXJyYXkuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIG11bHRpIGlucHV0IGV4YW1wbGVzIGZvciBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyRm4gPSB0aGlzLl9kZWZhdWx0RmlsdGVyO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgZnVuY3Rpb24uIEFjY2VwdHMgYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUgYXMgdGhlXG4gICAgICogaXRlbXMgcGFzc2VkIHRvIGRyb3Bkb3duVmFsdWVzIGFzIGFyZ3VtZW50LCBhbmQgb3V0cHV0cyBhbnkgcHJvcGVydHksIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgdmFsdWUuXG4gICAgICogQW4gYXJyb3cgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSAqdGhpcyoga2V5d29yZCBpbiB0aGUgY2FsbGluZyBjb21wb25lbnQuXG4gICAgICogU2VlIG11bHRpIGlucHV0IGV4YW1wbGVzIGZvciBkZXRhaWxzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVGbiA9IHRoaXMuX2RlZmF1bHRWYWx1ZUZuO1xuXG4gICAgLyoqXG4gICAgICogRGlzcGxheSBmdW5jdGlvbi4gQWNjZXB0cyBhbiBvYmplY3Qgb2YgdGhlIHNhbWUgdHlwZSBhcyB0aGVcbiAgICAgKiBpdGVtcyBwYXNzZWQgdG8gZHJvcGRvd25WYWx1ZXMgYXMgYXJndW1lbnQsIGFuZCBvdXRwdXRzIGEgc3RyaW5nLlxuICAgICAqIEFuIGFycm93IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgKnRoaXMqIGtleXdvcmQgaW4gdGhlIGNhbGxpbmcgY29tcG9uZW50LlxuICAgICAqIFNlZSBtdWx0aSBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlGbiA9IHRoaXMuX2RlZmF1bHREaXNwbGF5O1xuXG4gICAgLyoqXG4gICAgICogUGFyc2UgZnVuY3Rpb24uIFVzZWQgZm9yIHN1Ym1pdHRpbmcgbmV3IHRva2Vucy4gQWNjZXB0cyBhIHN0cmluZyBieSBkZWZhdWx0LlxuICAgICAqIEFuIGFycm93IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgKnRoaXMqIGtleXdvcmQgaW4gdGhlIGNhbGxpbmcgY29tcG9uZW50LlxuICAgICAqIFNlZSBtdWx0aSBpbnB1dCBleGFtcGxlcyBmb3IgZGV0YWlscy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5ld1Rva2VuUGFyc2VGbjogKHNlYXJjaFRlcm06IHN0cmluZykgPT4gYW55ID0gdGhpcy5fZGVmYXVsdFBhcnNlO1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGUgZnVuY3Rpb24uIFVzZWQgdG8gY2hlY2sgaWYgbmV3IHRva2VuIGNhbiBiZSBhZGRlZCBpbnRvIGxpc3QuXG4gICAgICogV29ya3Mgb25seSwgd2hlbiBgYWxsb3dOZXdUb2tlbnNgIG9wdGlvbiBpcyBlbmFibGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbmV3VG9rZW5WYWxpZGF0ZUZuID0gdGhpcy5fZGVmYXVsdFRva2VuVmFsaWRhdGU7XG5cbiAgICAvKiogYXJpYS1sYWJlbCBhdHRyaWJ1dGUgYmluZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIGJpbmRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFByZXNldCBvcHRpb25zIGZvciB0aGUgU2VsZWN0IGJvZHkgd2lkdGgsIHdoYXRldmVyIGlzIGNob3NlbiwgdGhlIGJvZHkgaGFzIGEgNjAwcHggbGltaXQuXG4gICAgICogKiBgYXQtbGVhc3RgIHdpbGwgYXBwbHkgYSBtaW5pbXVtIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLiAtIERlZmF1bHRcbiAgICAgKiAqIGBlcXVhbGAgd2lsbCBhcHBseSBhIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogJ2ZpdC1jb250ZW50JyB3aWxsIGFwcGx5IHdpZHRoIG5lZWRlZCB0byBwcm9wZXJseSBkaXNwbGF5IGl0ZW1zIGluc2lkZSwgaW5kZXBlbmRlbnQgb2YgY29udHJvbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxDb250cm9sTW9kZTogUG9wb3ZlckZpbGxNb2RlID0gJ2F0LWxlYXN0JztcblxuICAgIC8qKlxuICAgICAqICBUaGUgc3RhdGUgb2YgdGhlIGZvcm0gY29udHJvbCAtIGFwcGxpZXMgY3NzIGNsYXNzZXMuXG4gICAgICogIENhbiBiZSBgc3VjY2Vzc2AsIGBlcnJvcmAsIGB3YXJuaW5nYCwgYGluZm9ybWF0aW9uYCBvciBibGFuayBmb3IgZGVmYXVsdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXRlPzogRm9ybVN0YXRlcztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgQWRkT24gQnV0dG9uIHNob3VsZCBiZSBmb2N1c2FibGVcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBidXR0b25Gb2N1c2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG11bHRpLWlucHV0IGFsbG93cyB0aGUgY3JlYXRpb24gb2YgbmV3IHRva2Vucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93TmV3VG9rZW5zID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgbXVsdGktaW5wdXQgc2hvdWxkIGJlIGJ1aWx0IG9uIG1vYmlsZSBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBtb2JpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBtdWx0aS1pbnB1dCBzaG91bGQgaGF2ZSBzaG93IGFsbCBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBzaG93QWxsQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKiBNYXggd2lkdGggb2YgbXVsdGkgaW5wdXQgYm9keSBpbiBQWCAqL1xuICAgIEBJbnB1dCgpXG4gICAgYm9keU1heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqIE11bHRpIElucHV0IE1vYmlsZSBDb25maWd1cmF0aW9uLCBpdCdzIGFwcGxpZWQgb25seSwgd2hlbiBtb2JpbGUgaXMgZW5hYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlQ29uZmlnOiBNb2JpbGVNb2RlQ29uZmlnID0geyBoYXNDbG9zZUJ1dHRvbjogdHJ1ZSwgYXBwcm92ZUJ1dHRvblRleHQ6ICdTZWxlY3QnIH07XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byByZXR1cm4gcmVzdWx0cyB3aGVyZSB0aGUgaW5wdXQgbWF0Y2hlcyB0aGUgZW50aXJlIHN0cmluZy4gQnkgZGVmYXVsdCwgb25seSByZXN1bHRzIHRoYXQgc3RhcnRcbiAgICAgKiB3aXRoIHRoZSBpbnB1dCBzZWFyY2ggdGVybSB3aWxsIGJlIHJldHVybmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5jbHVkZXMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB3aXRoIHdoaWNoIHRvIGRpc3BsYXkgdGhlIGluZGl2aWR1YWwgbGlzdGVkIGl0ZW1zLlxuICAgICAqIFVzZSBpdCBieSBwYXNzaW5nIGFuIG5nLXRlbXBsYXRlIHdpdGggaW1wbGljaXQgY29udGVudC4gU2VlIGV4YW1wbGVzIGZvciBtb3JlIGluZm8uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdG9vbHRpcCBmb3IgdGhlIG11bHRpLWlucHV0IGljb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgYmUgZW5hYmxlZDsgRW5hYmxlZCBieSBkZWZhdWx0ICovXG4gICAgQElucHV0KClcbiAgICBhdXRvQ29tcGxldGUgPSB0cnVlO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlcy4gVXNlICokZXZlbnQqIHRvIGFjY2VzcyB0aGUgbmV3IHRlcm0uICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoVGVybUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIGl0ZW1zIGNoYW5nZS4gVXNlICokZXZlbnQqIHRvIGFjY2VzcyB0aGUgbmV3IHNlbGVjdGVkIGFycmF5LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICAgIC8qKiBXaGV0aGVyIG11bHRpIGlucHV0IHBvcG92ZXIgYm9keSBzaG91bGQgYmUgb3BlbmVkICovXG4gICAgQElucHV0KClcbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSB0aGUgYWRkb24gYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheUFkZG9uQnV0dG9uID0gdHJ1ZTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkLCB3aGVuIHRoZSBtdWx0aSBpbnB1dCdzIHBvcG92ZXIgYm9keSBpcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQsIHdoZW4gdGhlIG11bHRpIGlucHV0J3MgYWxsIGl0ZW0gY2hlY2tlZCBvciBub3QgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhbGxJdGVtc1NlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgICBwb3BvdmVyUmVmOiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdjb250cm9sJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGNvbnRyb2xUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTGlzdENvbXBvbmVudClcbiAgICBsaXN0Q29tcG9uZW50OiBMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoVG9rZW5pemVyQ29tcG9uZW50KVxuICAgIHRva2VuaXplcjogVG9rZW5pemVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBvcHRpb25JdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wdGlvbkl0ZW1bXT4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VhcmNoVGVybUN0cmwgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3ZpZXdNb2RlbCQ6IE9ic2VydmFibGU8Vmlld01vZGVsPiA9IHRoaXMuX2dldFZpZXdNb2RlbCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZGlyOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JhbmdlU2VsZWN0b3IgPSBuZXcgUmFuZ2VTZWxlY3RvcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzVHJhcFNlcnZpY2U6IEZvY3VzVHJhcFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGlyID0gaXNSdGwgPyAncnRsJyA6ICdsdHInO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRJZCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dElkID0gdXVpZHY0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFRlcm1DdHJsLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoc2VhcmNoVGVybSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybUNoYW5nZS5lbWl0KHNlYXJjaFRlcm0gPz8gJycpO1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0dGluZyBleGlzdGluZyBzZWxlY3Rpb24gc3RhdGUsIGlmIGFueVxuICAgICAgICAgICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IucmVzZXQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fZ2V0Vmlld01vZGVsKClcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHZpZXdNb2RlbCkgPT4gIXZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLnNvbWUoKGMpID0+ICFjLmlzU2VsZWN0ZWQpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChhbGxJdGVtc1NlbGVjdGVkKSA9PiB0aGlzLmFsbEl0ZW1zU2VsZWN0ZWRDaGFuZ2UuZW1pdChhbGxJdGVtc1NlbGVjdGVkKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZHJvcGRvd25WYWx1ZXMgfHwgY2hhbmdlcy5zZWFyY2hUZXJtIHx8IGNoYW5nZXMudmFsdWVGbiB8fCBjaGFuZ2VzLmRpc3BsYXlGbikge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uSXRlbXMgPSAodGhpcy5kcm9wZG93blZhbHVlcyA/PyBbXSkubWFwKChpdGVtKSA9PiB0aGlzLl9nZXRPcHRpb25JdGVtKGl0ZW0pKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uSXRlbXMkLm5leHQob3B0aW9uSXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPyB0aGlzLl9zZWFyY2hUZXJtQ3RybC5kaXNhYmxlKCkgOiB0aGlzLl9zZWFyY2hUZXJtQ3RybC5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9rZW5pemVyLl9zaG93T3ZlcmZsb3dQb3BvdmVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENzc0NsYXNzQnVpbGRlciBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cbiAgICAgKiBmdW5jdGlvbiBtdXN0IHJldHVybiBzaW5nbGUgc3RyaW5nXG4gICAgICogZnVuY3Rpb24gaXMgcmVzcG9uc2libGUgZm9yIG9yZGVyIHdoaWNoIGNzcyBjbGFzc2VzIGFyZSBhcHBsaWVkXG4gICAgICovXG4gICAgQGFwcGx5Q3NzQ2xhc3NcbiAgICBidWlsZENvbXBvbmVudENzc0NsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgLy8gVE9ETzogdGhpcyBpY29uIGZsaXAgbWF5IGJlIGFkZHJlc3NlZCBpbiBzdHlsZXMgaW4gdGhlIGZ1dHVyZVxuICAgICAgICBpZiAodGhpcy5nbHlwaCA9PT0gJ3ZhbHVlLWhlbHAnICYmIHRoaXMuX2RpciA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGljb24gPSB0aGlzLmVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zYXAtaWNvbi0tdmFsdWUtaGVscCcpO1xuICAgICAgICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICBpY29uLnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZVgoLTEpJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbJ2ZkLW11bHRpLWlucHV0JywgJ2ZkLW11bHRpLWlucHV0LWN1c3RvbScsIHRoaXMuY2xhc3NdO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChzZWxlY3RlZDogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYXV0byc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZShzZWxlY3RlZDogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHBhc3NlZCB0byBsaXN0IGNvbXBvbmVudCAqL1xuICAgIGhhbmRsZUxpc3RGb2N1c0VzY2FwZShkaXJlY3Rpb246IEZvY3VzRXNjYXBlRGlyZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChkaXJlY3Rpb24gPT09ICd1cCcgJiYgIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaElucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5DaGFuZ2VIYW5kbGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcGVuICYmIHRoaXMub3BlbiAmJiAhdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW4gIT09IG9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcblxuICAgICAgICBpZiAoIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9wb3BvdmVyT3BlbkhhbmRsZShvcGVuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlUGFyZW50Rm9jdXNUcmFwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVQYXJlbnRGb2N1c1RyYXAoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMubGlzdENvbXBvbmVudCAmJiB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0Q29tcG9uZW50LnNldEl0ZW1BY3RpdmUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRva2VuaXplci5yZW1vdmVTZWxlY3RlZFRva2VucygpO1xuXG4gICAgICAgIHRoaXMudG9rZW5pemVyLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID1cbiAgICAgICAgICAgIHRoaXMudG9rZW5pemVyLnRva2VuaXplcklubmVyRWwubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBzZWxlY3RzIGFsbCBwb3NzaWJsZSBvcHRpb25zLiAqL1xuICAgIHNlbGVjdEFsbEl0ZW1zKHNlbGVjdEFsbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoc2VsZWN0QWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5vcHRpb25JdGVtcyQuZ2V0VmFsdWUoKS5tYXAoKGMpID0+IGMudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIC8vIE9uIE1vYmlsZSBtb2RlIGNoYW5nZXMgYXJlIHByb3BhZ2F0ZWQgb25seSBvbiBhcHByb3ZlLlxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkNoZWNrYm94S2V5dXAodmFsdWU6IGFueSwgZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hlY2tib3hDbGljayh2YWx1ZSwgZXZlbnQsIGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYXN5bmMgX29uQ2hlY2tib3hDbGljayhcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50LFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICBpc0xpc3RJdGVtID0gZmFsc2VcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdG9nZ2xlZFNlbGVjdGlvbiA9ICF0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcmFuZ2VTZWxlY3Rvci5vblJhbmdlRWxlbWVudFRvZ2dsZWQoaW5kZXgsIGV2ZW50KTtcbiAgICAgICAgY29uc3Qgc3ViID0gdGhpcy5fdmlld01vZGVsJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodm0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IuYXBwbHlWYWx1ZVRvRWFjaEluUmFuZ2UoKGlkeCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QodG9nZ2xlZFNlbGVjdGlvbiwgdm0uZGlzcGxheWVkT3B0aW9uc1tpZHhdLnZhbHVlLCBmYWxzZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuICAgICAgICBpZiAoaXNMaXN0SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoZWNrYm94IHNvIGV2ZW50IGRvZXNuJ3QgcmVhY2ggdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vblRva2VuQ2xpY2sodmFsdWU6IGFueSwgcmVzZXRTZWFyY2g6IGJvb2xlYW4sIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCB0aGlzIGZ1bmN0aW9uIGZyb20gYmVpbmcgY2FsbGVkIHR3aWNlIHdoZW4gY2hlY2tib3ggdXBkYXRlc1xuICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QoZmFsc2UsIHZhbHVlLCByZXNldFNlYXJjaCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGFuZGxlU2VsZWN0KGNoZWNrZWQ6IGFueSwgdmFsdWU6IGFueSwgcmVzZXRTZWFyY2ggPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzTGVuZ3RoID0gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQubGVuZ3RoO1xuICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhhbmRsZSBwb3BvdmVyIHBsYWNlbWVudCB1cGRhdGVcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFBvcG92ZXJCZVVwZGF0ZWQocHJldmlvdXNMZW5ndGgsIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5yZWZyZXNoUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uIE1vYmlsZSBtb2RlIGNoYW5nZXMgYXJlIHByb3BhZ2F0ZWQgb25seSBvbiBhcHByb3ZlLlxuICAgICAgICB0aGlzLl9wcm9wYWdhdGVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oYW5kbGVJbnB1dEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSAmJiAhdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5DaGFuZ2VIYW5kbGUodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuc2V0SXRlbUFjdGl2ZSgwKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRE9XTl9BUlJPVywgVVBfQVJST1csIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNoYW5nZUhhbmRsZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgVEFCKSAmJiB0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RDb21wb25lbnQuc2V0SXRlbUFjdGl2ZSgwKTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlUeXBlKGV2ZW50LCAnYWxwaGFiZXRpY2FsJykgfHwgS2V5VXRpbC5pc0tleVR5cGUoZXZlbnQsICdudW1lcmljJykpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dBbGxDbGlja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5fc2VhcmNoVGVybUN0cmwuc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2hvd0FsbEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dBbGxDbGlja2VkKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uU3VibWl0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtO1xuICAgICAgICBpZiAoc2VhcmNoVGVybSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0V4aXN0ID0gdGhpcy5fc2VsZWN0Rmlyc3RGaWx0ZXJlZChzZWFyY2hUZXJtKTtcbiAgICAgICAgaWYgKCFpc0V4aXN0ICYmIHRoaXMuYWxsb3dOZXdUb2tlbnMgJiYgdGhpcy5uZXdUb2tlblZhbGlkYXRlRm4odGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUgPz8gJycpKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IHRoaXMubmV3VG9rZW5QYXJzZUZuKHRoaXMuX3NlYXJjaFRlcm1DdHJsLnZhbHVlID8/ICcnKTtcbiAgICAgICAgICAgIHRoaXMuX2FkZE5ld1Rva2VuVG9Ecm9wRG93blZhbHVlcyhuZXdUb2tlbik7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVTZWxlY3QodHJ1ZSwgbmV3VG9rZW4pO1xuICAgICAgICAgICAgdGhpcy5fc2VhcmNoVGVybUN0cmwuc2V0VmFsdWUoJycpO1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oYW5kbGVDb21wbGV0ZSh7IHRlcm0gfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0ZXJtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBkaWFsb2cgZGlzbWlzc2luZywgY2xvc2VzIHBvcG92ZXIgYW5kIHNldHMgYmFja3VwIGRhdGEuXG4gICAgICovXG4gICAgZGlhbG9nRGlzbWlzcyhzZWxlY3RlZEJhY2t1cDogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5fcmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZEJhY2t1cDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgZGlhbG9nIGFwcHJvdmFsLCBjbG9zZXMgcG9wb3ZlciBhbmQgcHJvcGFnYXRlcyBkYXRhIGNoYW5nZXMuXG4gICAgICovXG4gICAgZGlhbG9nQXBwcm92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlKHRydWUpO1xuICAgICAgICB0aGlzLm9wZW5DaGFuZ2VIYW5kbGUoZmFsc2UpO1xuICAgICAgICB0aGlzLl9yZXNldFNlYXJjaFRlcm0oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb3JlQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZE9uQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlSGFuZGxlKCF0aGlzLm9wZW4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGlzYWJsZVBhcmVudEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNUcmFwU2VydmljZT8ucGF1c2VDdXJyZW50Rm9jdXNUcmFwKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbmFibGVQYXJlbnRGb2N1c1RyYXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzVHJhcFNlcnZpY2U/LnVucGF1c2VDdXJyZW50Rm9jdXNUcmFwKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hZGROZXdUb2tlblRvRHJvcERvd25WYWx1ZXMobmV3VG9rZW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blZhbHVlcy5wdXNoKG5ld1Rva2VuKTtcbiAgICAgICAgY29uc3QgbmV3T3B0aW9uID0gdGhpcy5fZ2V0T3B0aW9uSXRlbShuZXdUb2tlbik7XG4gICAgICAgIHRoaXMub3B0aW9uSXRlbXMkLm5leHQoWy4uLnRoaXMub3B0aW9uSXRlbXMkLnZhbHVlLCBuZXdPcHRpb25dKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdEZpcnN0RmlsdGVyZWQoc2VhcmNoVGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJGbih0aGlzLmRyb3Bkb3duVmFsdWVzLCBzZWFyY2hUZXJtKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVyZWQpICYmIGZpbHRlcmVkLmxlbmd0aCA+IDAgJiYgdGhpcy5hdXRvQ29tcGxldGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkl0ZW0gPSB0aGlzLl9nZXRPcHRpb25JdGVtKGZpbHRlcmVkWzBdKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNlbGVjdCh0cnVlLCBvcHRpb25JdGVtLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaFRlcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEZpbHRlcihjb250ZW50QXJyYXk6IGFueVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcgPSAnJyk6IGFueVtdIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoTG93ZXIgPSBzZWFyY2hUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBjb250ZW50QXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZFZhbHVlID0gdGhpcy5kaXNwbGF5Rm4oaXRlbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVybSA9IHR5cGVvZiBkaXNwbGF5ZWRWYWx1ZSA9PT0gJ3N0cmluZycgPyBkaXNwbGF5ZWRWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpIDogJyc7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbmNsdWRlcyA/IHRlcm0uaW5jbHVkZXMoc2VhcmNoTG93ZXIpIDogdGVybS5zdGFydHNXaXRoKHNlYXJjaExvd2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0VmFsdWVGbih2YWx1ZTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdERpc3BsYXkoc3RyOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdFBhcnNlKHN0cjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRUb2tlblZhbGlkYXRlKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXN0cjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BvcG92ZXJPcGVuSGFuZGxlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUNoYW5nZShlbWl0SW5Nb2JpbGU/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUgfHwgZW1pdEluTW9iaWxlKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IFsuLi50aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZF07XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFBvcG92ZXJCZVVwZGF0ZWQocHJldmlvdXNMZW5ndGg6IG51bWJlciwgY3VycmVudExlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMucG9wb3ZlclJlZiAmJlxuICAgICAgICAgICAgKChwcmV2aW91c0xlbmd0aCA9PT0gMCAmJiBjdXJyZW50TGVuZ3RoID09PSAxKSB8fCAocHJldmlvdXNMZW5ndGggPT09IDEgJiYgY3VycmVudExlbmd0aCA9PT0gMCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9zZXRVcE1vYmlsZU1vZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTVVMVElfSU5QVVRfQ09NUE9ORU5ULCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3JcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5fZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlRHluYW1pY01vZHVsZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsaXN0VGVtcGxhdGU6IHRoaXMubGlzdFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIGNvbnRyb2xUZW1wbGF0ZTogdGhpcy5jb250cm9sVGVtcGxhdGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNdWx0aUlucHV0TW9iaWxlTW9kdWxlLFxuICAgICAgICAgICAgTXVsdGlJbnB1dE1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRPcHRpb25JdGVtKGl0ZW06IGFueSk6IE9wdGlvbkl0ZW0ge1xuICAgICAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSB9ID0gdGhpcy5fZ2V0VmFsdWVBbmRMYWJlbChpdGVtKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgaXNTZWxlY3RlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFZhbHVlQW5kTGFiZWwoaXRlbU9yVmFsdWU6IGFueSwgb3B0aW9uSXRlbXM6IE9wdGlvbkl0ZW1bXSA9IFtdKTogT3B0aW9uSXRlbUJhc2Uge1xuICAgICAgICBpZiAob3B0aW9uSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaXRlbU9yVmFsdWUgPSBvcHRpb25JdGVtcy5maW5kKChjKSA9PiBjLnZhbHVlID09PSBpdGVtT3JWYWx1ZSk/Lml0ZW0gPz8gaXRlbU9yVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGVmYXVsdERpc3BsYXkgPSB0eXBlb2YgaXRlbU9yVmFsdWUgPT09ICdvYmplY3QnID8gaXRlbU9yVmFsdWVbT2JqZWN0LmtleXMoaXRlbU9yVmFsdWUpWzBdXSA6IGl0ZW1PclZhbHVlO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWVGbihpdGVtT3JWYWx1ZSkgPz8gZGVmYXVsdERpc3BsYXk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5kaXNwbGF5Rm4oaXRlbU9yVmFsdWUpID8/IGRlZmF1bHREaXNwbGF5O1xuICAgICAgICByZXR1cm4geyBsYWJlbCwgdmFsdWUgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFZpZXdNb2RlbCgpOiBPYnNlcnZhYmxlPFZpZXdNb2RlbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hUZXJtQ3RybC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUpKSxcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25JdGVtcyRcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoWywgLCBvcHRpb25JdGVtc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQubWFwKChjKSA9PiB0aGlzLl9nZXRWYWx1ZUFuZExhYmVsKGMsIG9wdGlvbkl0ZW1zKSk7XG4gICAgICAgICAgICAgICAgLy8gbm90IHVzaW5nIFwic2VhcmNoVGVybVwiIHZhbHVlIGZyb20gY29tYmluZUxhdGVzdCBhcyBpdCB3aWxsIGJlIHdyb25nIGZvciBsYXRlIHN1YnNjcmliZXJzLCBpZiBhbnlcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5fc2VhcmNoVGVybUN0cmwudmFsdWUgPz8gJyc7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLmZpbHRlckZuKFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25JdGVtcy5tYXAoKGMpID0+IGMuaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFRlcm1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZE9wdGlvbnMgPSAoQXJyYXkuaXNBcnJheShmaWx0ZXJlZCkgPyBmaWx0ZXJlZCA6IFtdKS5tYXAoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldE9wdGlvbkl0ZW0oaXRlbSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXllZE9wdGlvbnMuZm9yRWFjaCgoYykgPT4gKGMuaXNTZWxlY3RlZCA9IHNlbGVjdGVkLmZpbmRJbmRleCgoZCkgPT4gZC52YWx1ZSA9PT0gYy52YWx1ZSkgPiAtMSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWQsIGRpc3BsYXllZE9wdGlvbnMgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW50ZXJmYWNlIE9wdGlvbkl0ZW08VCA9IGFueT4gZXh0ZW5kcyBPcHRpb25JdGVtQmFzZSB7XG4gICAgaXRlbTogVDtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE9wdGlvbkl0ZW1CYXNlIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG59XG5cbmludGVyZmFjZSBWaWV3TW9kZWwge1xuICAgIHNlbGVjdGVkT3B0aW9uczogT3B0aW9uSXRlbUJhc2VbXTtcbiAgICBkaXNwbGF5ZWRPcHRpb25zOiBPcHRpb25JdGVtW107XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX3ZpZXdNb2RlbCQgfCBhc3luYyBhcyB2aWV3TW9kZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtbXVsdGktaW5wdXQgZmQtbXVsdGktaW5wdXQtY3VzdG9tXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC1tdWx0aS1pbnB1dC1maWVsZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250cm9sXCIgKm5nSWY9XCJtb2JpbGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsQm9keUNsYXNzPVwiZmQtcG9wb3Zlci1jdXN0b20tbGlzdFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhbW9iaWxlXCJcbiAgICAgICAgICAgICAgICBbaXNPcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgIChpc09wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZUhhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoaW5wdXQpPVwiIW9wZW4gJiYgb3BlbkNoYW5nZUhhbmRsZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICAgICAgICAgICAgICBbbWF4V2lkdGhdPVwiYm9keU1heFdpZHRoXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNUcmFwcGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2ZpbGxDb250cm9sTW9kZV09XCJmaWxsQ29udHJvbE1vZGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtcG9wb3Zlci1jdXN0b21cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxmb3JtIChzdWJtaXQpPVwiX29uU3VibWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cblxuICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHlcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIW9wZW5cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0taGlkZGVuXT1cIiF2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9ucy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb250cm9sPlxuICAgICAgICA8ZmQtaW5wdXQtZ3JvdXBcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtaW5wdXQtZ3JvdXAtY3VzdG9tXCJcbiAgICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgICBbYnV0dG9uRm9jdXNhYmxlXT1cImJ1dHRvbkZvY3VzYWJsZVwiXG4gICAgICAgICAgICBbYnV0dG9uXT1cImRpc3BsYXlBZGRvbkJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwib3BlbiAmJiAhbW9iaWxlICYmIHZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgW2lzQ29udHJvbF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCJkaXNwbGF5QWRkb25CdXR0b24gPyBnbHlwaCA6ICcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJfYWRkT25CdXR0b25DbGlja2VkKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtdG9rZW5pemVyXG4gICAgICAgICAgICAgICAgW2NvbXBhY3RDb2xsYXBzZV09XCJjb21wYWN0Q29sbGFwc2VcIlxuICAgICAgICAgICAgICAgIFtvcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgIFt0b2tlbml6ZXJGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3JlQ2xpY2tlZEV2ZW50KT1cIl9tb3JlQ2xpY2tlZCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLW11bHRpLWlucHV0LXRva2VuaXplci1jdXN0b21cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1tdWx0aS1pbnB1dC10b2tlbml6ZXItY3VzdG9tLS1jb21wYWN0XT1cIl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZkLXRva2VuXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygdmlld01vZGVsLnNlbGVjdGVkT3B0aW9uczsgdHJhY2tCeTogdmFsdWVGblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChvbkNsb3NlQ2xpY2spPVwiX29uVG9rZW5DbGljayhvcHRpb24udmFsdWUsIGZhbHNlLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKG9uUmVtb3ZlKT1cIl9vblRva2VuQ2xpY2sob3B0aW9uLnZhbHVlLCBmYWxzZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJvcHRpb24ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9mZC10b2tlbj5cblxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQgZmQtdG9rZW5pemVyX19pbnB1dCBmZC1tdWx0aS1pbnB1dC10b2tlbml6ZXItaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICBmZC1mb3JtLWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgZmQtaW5wdXQtZ3JvdXAtaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgZmQtYXV0by1jb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAob25Db21wbGV0ZSk9XCJfaGFuZGxlQ29tcGxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICNzZWFyY2hJbnB1dEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGbl09XCJkaXNwbGF5Rm5cIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRUZXh0XT1cIl9zZWFyY2hUZXJtQ3RybC52YWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImRyb3Bkb3duVmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgW2VuYWJsZV09XCJhdXRvQ29tcGxldGUgJiYgIW1vYmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJfc2VhcmNoVGVybUN0cmxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfaGFuZGxlSW5wdXRLZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9mZC10b2tlbml6ZXI+XG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbGlzdD5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICAqbmdJZj1cInZpZXdNb2RlbC5kaXNwbGF5ZWRPcHRpb25zLmxlbmd0aFwiXG4gICAgICAgICAgICBmZC1saXN0XG4gICAgICAgICAgICBjbGFzcz1cImZkLW11bHRpLWlucHV0LW1lbnUtb3ZlcmZsb3dcIlxuICAgICAgICAgICAgW3NlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFttb2JpbGVNb2RlXT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBbc3R5bGUubWF4SGVpZ2h0XT1cIiFtb2JpbGUgPyBtYXhIZWlnaHQgOiAnYXV0bydcIlxuICAgICAgICAgICAgKGZvY3VzRXNjYXBlTGlzdCk9XCJoYW5kbGVMaXN0Rm9jdXNFc2NhcGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbc3R5bGUubWluV2lkdGhdPVwiJzEwMCUnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9uczsgaW5kZXggYXMgaWR4OyB0cmFja0J5OiB2YWx1ZUZuXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbkNoZWNrYm94Q2xpY2sob3B0aW9uLnZhbHVlLCAkZXZlbnQsIGlkeCwgdHJ1ZSlcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJfb25DaGVja2JveEtleXVwKG9wdGlvbi52YWx1ZSwgJGV2ZW50LCBpZHgpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLmlzU2VsZWN0ZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveCAoY2xpY2spPVwiX29uQ2hlY2tib3hDbGljayhvcHRpb24udmFsdWUsICRldmVudCwgaWR4KVwiIFt2YWx1ZV09XCJvcHRpb24uaXNTZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRPRE8gLS0+XG4gICAgICAgICAgICAgICAgPC9mZC1jaGVja2JveD5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG9wdGlvbjogb3B0aW9uIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0FsbEJ1dHRvbiAmJiB2aWV3TW9kZWwuZGlzcGxheWVkT3B0aW9ucy5sZW5ndGggPCBkcm9wZG93blZhbHVlcy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgIGZkLWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbXVsdGktaW5wdXQtc2hvdy1hbGxcIlxuICAgICAgICAgICAgICAgIChrZXlEb3duKT1cIl9zaG93QWxsS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3Nob3dBbGxDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhIGZkLWxpbmsgdGFiaW5kZXg9XCIwXCI+U2hvdyBBbGwgKHt7IGRyb3Bkb3duVmFsdWVzLmxlbmd0aCB9fSk8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbGV0LW9wdGlvbj1cIm9wdGlvblwiICNpdGVtU291cmNlPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgIGZkLWxpc3QtdGl0bGVcbiAgICAgICAgICAgIFtpbm5lckh0bWxdPVwib3B0aW9uLmxhYmVsIHwgaGlnaGxpZ2h0OiBfc2VhcmNoVGVybUN0cmwudmFsdWUgfHwgJyc6aGlnaGxpZ2h0XCJcbiAgICAgICAgPjwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbi5pdGVtIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -16,8 +16,8 @@ import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
|
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export class MultiInputModule {
|
|
18
18
|
}
|
|
19
|
-
MultiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
MultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
19
|
+
MultiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MultiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
MultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: MultiInputModule, declarations: [MultiInputComponent, DeprecatedMultiInputCompactDirective], imports: [CommonModule,
|
|
21
21
|
TokenModule,
|
|
22
22
|
FormsModule,
|
|
23
23
|
ReactiveFormsModule,
|
|
@@ -30,7 +30,7 @@ MultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
30
30
|
LinkModule,
|
|
31
31
|
AutoCompleteModule,
|
|
32
32
|
ContentDensityModule], exports: [MultiInputComponent, DeprecatedMultiInputCompactDirective, ContentDensityModule] });
|
|
33
|
-
MultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
33
|
+
MultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MultiInputModule, imports: [CommonModule,
|
|
34
34
|
TokenModule,
|
|
35
35
|
FormsModule,
|
|
36
36
|
ReactiveFormsModule,
|
|
@@ -43,7 +43,7 @@ MultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
|
|
|
43
43
|
LinkModule,
|
|
44
44
|
AutoCompleteModule,
|
|
45
45
|
ContentDensityModule, ContentDensityModule] });
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MultiInputModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
declarations: [MultiInputComponent, DeprecatedMultiInputCompactDirective],
|
|
@@ -7,14 +7,14 @@ export class DeprecatedNestedListCompactDirective extends DeprecatedCompactDirec
|
|
|
7
7
|
super('[fdNestedList][compact], [fd-nested-list]');
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
DeprecatedNestedListCompactDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
DeprecatedNestedListCompactDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
10
|
+
DeprecatedNestedListCompactDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DeprecatedNestedListCompactDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
DeprecatedNestedListCompactDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: DeprecatedNestedListCompactDirective, selector: "[fdNestedList][compact], [fd-nested-list][compact]", providers: [
|
|
12
12
|
{
|
|
13
13
|
provide: CONTENT_DENSITY_DIRECTIVE,
|
|
14
14
|
useExisting: forwardRef(() => DeprecatedNestedListCompactDirective)
|
|
15
15
|
}
|
|
16
16
|
], usesInheritance: true, ngImport: i0 });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DeprecatedNestedListCompactDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[fdNestedList][compact], [fd-nested-list][compact]',
|
|
@@ -88,9 +88,9 @@ export class NestedListContentDirective {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
92
|
-
NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
91
|
+
NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
92
|
+
NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: NestedListContentDirective, selector: "[fdNestedListContent], [fd-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fd-nested-list__content": "this.fdNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedListContentDirective, decorators: [{
|
|
94
94
|
type: Directive,
|
|
95
95
|
args: [{
|
|
96
96
|
selector: '[fdNestedListContent], [fd-nested-list-content]',
|
|
@@ -210,9 +210,9 @@ export class NestedItemDirective {
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
-
NestedItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
214
|
-
NestedItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
213
|
+
NestedItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedItemDirective, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
214
|
+
NestedItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: NestedItemDirective, selector: "[fdNestedItem], [fd-nested-list-item]", inputs: { expanded: "expanded" }, outputs: { expandedChange: "expandedChange", keyboardTriggered: "keyboardTriggered" }, host: { properties: { "class.fd-nested-list__item": "this.fdNestedListItemClass", "attr.aria-level": "this._ariaLevel", "attr.title": "this._title", "attr.role": "this._role", "attr.aria-expanded": "this._ariaExpanded", "attr.aria-selected": "this._ariaSelected", "attr.aria-disabled": "this._ariaDisabled", "attr.aria-label": "this._ariaLabel", "attr.aria-hidden": "this._ariaHidden" } }, providers: [NestedItemService], queries: [{ propertyName: "linkItem", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: "contentItem", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 });
|
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedItemDirective, decorators: [{
|
|
216
216
|
type: Directive,
|
|
217
217
|
args: [{
|
|
218
218
|
selector: '[fdNestedItem], [fd-nested-list-item]',
|
|
@@ -54,9 +54,9 @@ export class NestedLinkDirective {
|
|
|
54
54
|
return this.title && this.title.getInnerText();
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
NestedLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
NestedLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
57
|
+
NestedLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedLinkDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
+
NestedLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: NestedLinkDirective, selector: "[fdNestedLink], [fd-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "focus": "onFocus()" }, properties: { "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fd-nested-list__link": "this.fdNestedListItemClass", "attr.tabindex": "this.tabIndex", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedLinkDirective, decorators: [{
|
|
60
60
|
type: Directive,
|
|
61
61
|
args: [{
|
|
62
62
|
selector: '[fdNestedLink], [fd-nested-list-link]'
|
|
@@ -126,11 +126,11 @@ export class NestedListDirective {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
NestedListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
130
|
-
NestedListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
129
|
+
NestedListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedListDirective, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListStateService }, { token: i3.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FD_LANGUAGE }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
130
|
+
NestedListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.3", type: NestedListDirective, selector: "[fdNestedList], [fd-nested-list]", inputs: { textOnly: "textOnly", ariaRoledescriptionTree: "ariaRoledescriptionTree", ariaRoledescriptionMenuBar: "ariaRoledescriptionMenuBar", ariaLabelSelected: "ariaLabelSelected" }, host: { properties: { "class.fd-nested-list--text-only": "this.textOnly", "class.fd-nested-list": "this.fdNestedListItemClass", "attr.aria-hidden": "this.hidden", "attr.role": "this._role", "attr.aria-roledescription": "this._ariaRoledescription", "attr.aria-haspopup": "this._ariaHaspopup", "attr.tabindex": "this._tabindex" } }, providers: [
|
|
131
131
|
contentDensityObserverProviders({ modifiers: { [ContentDensityMode.COMPACT]: 'fd-nested-list--compact' } })
|
|
132
132
|
], queries: [{ propertyName: "_nestedListHeader", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: "nestedItems", predicate: i0.forwardRef(function () { return NestedItemDirective; }) }], ngImport: i0 });
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: NestedListDirective, decorators: [{
|
|
134
134
|
type: Directive,
|
|
135
135
|
args: [{
|
|
136
136
|
selector: '[fdNestedList], [fd-nested-list]',
|