igniteui-angular 17.0.0-alpha.2 → 17.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion/accordion.component.mjs +8 -7
- package/esm2022/lib/accordion/accordion.module.mjs +4 -4
- package/esm2022/lib/action-strip/action-strip.component.mjs +21 -25
- package/esm2022/lib/action-strip/action-strip.module.mjs +4 -4
- package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +7 -6
- package/esm2022/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +7 -6
- package/esm2022/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +13 -9
- package/esm2022/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.module.mjs +4 -4
- package/esm2022/lib/badge/badge.component.mjs +3 -3
- package/esm2022/lib/badge/badge.module.mjs +4 -4
- package/esm2022/lib/banner/banner.component.mjs +3 -3
- package/esm2022/lib/banner/banner.directives.mjs +3 -3
- package/esm2022/lib/banner/banner.module.mjs +4 -4
- package/esm2022/lib/buttonGroup/buttonGroup.component.mjs +7 -6
- package/esm2022/lib/buttonGroup/buttongroup.module.mjs +4 -4
- package/esm2022/lib/calendar/calendar-base.mjs +8 -9
- package/esm2022/lib/calendar/calendar.component.mjs +11 -8
- package/esm2022/lib/calendar/calendar.directives.mjs +15 -15
- package/esm2022/lib/calendar/calendar.module.mjs +4 -4
- package/esm2022/lib/calendar/days-view/day-item.component.mjs +13 -9
- package/esm2022/lib/calendar/days-view/days-view.component.mjs +9 -7
- package/esm2022/lib/calendar/days-view/daysview-navigation.service.mjs +3 -3
- package/esm2022/lib/calendar/month-picker/month-picker-base.mjs +3 -3
- package/esm2022/lib/calendar/month-picker/month-picker.component.mjs +3 -3
- package/esm2022/lib/calendar/months-view/months-view.component.mjs +7 -6
- package/esm2022/lib/calendar/months-view.pipe.mjs +6 -6
- package/esm2022/lib/calendar/years-view/years-view.component.mjs +10 -9
- package/esm2022/lib/card/card.component.mjs +37 -33
- package/esm2022/lib/card/card.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel.component.mjs +18 -13
- package/esm2022/lib/carousel/carousel.directives.mjs +9 -9
- package/esm2022/lib/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/carousel/slide.component.mjs +10 -8
- package/esm2022/lib/checkbox/checkbox.component.mjs +52 -64
- package/esm2022/lib/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/lib/chips/chip.component.mjs +19 -12
- package/esm2022/lib/chips/chips-area.component.mjs +3 -3
- package/esm2022/lib/chips/chips.module.mjs +4 -4
- package/esm2022/lib/combo/combo-add-item.component.mjs +3 -3
- package/esm2022/lib/combo/combo-dropdown.component.mjs +7 -6
- package/esm2022/lib/combo/combo-item.component.mjs +7 -6
- package/esm2022/lib/combo/combo.api.mjs +3 -3
- package/esm2022/lib/combo/combo.common.mjs +27 -38
- package/esm2022/lib/combo/combo.component.mjs +28 -27
- package/esm2022/lib/combo/combo.directives.mjs +24 -24
- package/esm2022/lib/combo/combo.module.mjs +4 -4
- package/esm2022/lib/combo/combo.pipes.mjs +6 -6
- package/esm2022/lib/core/density.mjs +3 -3
- package/esm2022/lib/core/navigation/directives.mjs +6 -6
- package/esm2022/lib/core/navigation/nav.service.mjs +3 -3
- package/esm2022/lib/core/selection.mjs +3 -3
- package/esm2022/lib/core/touch.mjs +3 -3
- package/esm2022/lib/core/utils.mjs +3 -3
- package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +3 -3
- package/esm2022/lib/date-common/picker-base.directive.mjs +7 -6
- package/esm2022/lib/date-common/picker-icons.common.mjs +9 -9
- package/esm2022/lib/date-picker/date-picker.component.mjs +13 -9
- package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker-inputs.common.mjs +15 -15
- package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +9 -7
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
- package/esm2022/lib/dialog/dialog.component.mjs +17 -12
- package/esm2022/lib/dialog/dialog.directives.mjs +6 -6
- package/esm2022/lib/dialog/dialog.module.mjs +4 -4
- package/esm2022/lib/directives/autocomplete/autocomplete.directive.mjs +6 -6
- package/esm2022/lib/directives/autocomplete/autocomplete.module.mjs +4 -4
- package/esm2022/lib/directives/button/button.directive.mjs +19 -35
- package/esm2022/lib/directives/button/button.module.mjs +4 -4
- package/esm2022/lib/directives/date-time-editor/date-time-editor.directive.mjs +7 -6
- package/esm2022/lib/directives/date-time-editor/date-time-editor.module.mjs +4 -4
- package/esm2022/lib/directives/divider/divider.directive.mjs +9 -7
- package/esm2022/lib/directives/divider/divider.module.mjs +4 -4
- package/esm2022/lib/directives/drag-drop/drag-drop.directive.mjs +16 -15
- package/esm2022/lib/directives/drag-drop/drag-drop.module.mjs +4 -4
- package/esm2022/lib/directives/filter/filter.directive.mjs +6 -6
- package/esm2022/lib/directives/filter/filter.module.mjs +4 -4
- package/esm2022/lib/directives/focus/focus.directive.mjs +6 -6
- package/esm2022/lib/directives/focus/focus.module.mjs +4 -4
- package/esm2022/lib/directives/focus-trap/focus-trap.directive.mjs +6 -6
- package/esm2022/lib/directives/focus-trap/focus-trap.module.mjs +4 -4
- package/esm2022/lib/directives/for-of/base.helper.component.mjs +3 -3
- package/esm2022/lib/directives/for-of/display.container.mjs +3 -3
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +12 -10
- package/esm2022/lib/directives/for-of/for_of.module.mjs +4 -4
- package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +6 -6
- package/esm2022/lib/directives/for-of/horizontal.virtual.helper.component.mjs +3 -3
- package/esm2022/lib/directives/for-of/virtual.helper.component.mjs +3 -3
- package/esm2022/lib/directives/form-control/form-control.directive.mjs +3 -3
- package/esm2022/lib/directives/form-control/form-control.module.mjs +4 -4
- package/esm2022/lib/directives/hint/hint.directive.mjs +3 -3
- package/esm2022/lib/directives/input/input.directive.mjs +11 -9
- package/esm2022/lib/directives/label/label.directive.mjs +3 -3
- package/esm2022/lib/directives/layout/layout.directive.mjs +9 -9
- package/esm2022/lib/directives/layout/layout.module.mjs +4 -4
- package/esm2022/lib/directives/mask/mask-parsing.service.mjs +3 -3
- package/esm2022/lib/directives/mask/mask.directive.mjs +7 -6
- package/esm2022/lib/directives/mask/mask.module.mjs +4 -4
- package/esm2022/lib/directives/notification/notifications.directive.mjs +9 -7
- package/esm2022/lib/directives/prefix/prefix.directive.mjs +3 -3
- package/esm2022/lib/directives/radio/radio-group.directive.mjs +11 -9
- package/esm2022/lib/directives/radio/radio-group.module.mjs +4 -4
- package/esm2022/lib/directives/ripple/ripple.directive.mjs +7 -7
- package/esm2022/lib/directives/ripple/ripple.module.mjs +4 -4
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-inertia/scroll_inertia.module.mjs +4 -4
- package/esm2022/lib/directives/suffix/suffix.directive.mjs +3 -3
- package/esm2022/lib/directives/template-outlet/template_outlet.directive.mjs +3 -3
- package/esm2022/lib/directives/text-highlight/text-highlight.directive.mjs +3 -3
- package/esm2022/lib/directives/text-highlight/text-highlight.module.mjs +4 -4
- package/esm2022/lib/directives/text-selection/text-selection.directive.mjs +26 -46
- package/esm2022/lib/directives/text-selection/text-selection.module.mjs +4 -4
- package/esm2022/lib/directives/toggle/toggle.directive.mjs +9 -9
- package/esm2022/lib/directives/toggle/toggle.module.mjs +4 -4
- package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +6 -6
- package/esm2022/lib/directives/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/directives/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/lib/drop-down/drop-down-group.component.mjs +7 -6
- package/esm2022/lib/drop-down/drop-down-item.base.mjs +11 -8
- package/esm2022/lib/drop-down/drop-down-item.component.mjs +3 -3
- package/esm2022/lib/drop-down/drop-down-navigation.directive.mjs +3 -3
- package/esm2022/lib/drop-down/drop-down.base.mjs +3 -3
- package/esm2022/lib/drop-down/drop-down.component.mjs +7 -6
- package/esm2022/lib/drop-down/drop-down.module.mjs +4 -4
- package/esm2022/lib/expansion-panel/expansion-panel-body.component.mjs +3 -3
- package/esm2022/lib/expansion-panel/expansion-panel-header.component.mjs +7 -6
- package/esm2022/lib/expansion-panel/expansion-panel.common.mjs +3 -3
- package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +7 -6
- package/esm2022/lib/expansion-panel/expansion-panel.directives.mjs +9 -9
- package/esm2022/lib/expansion-panel/expansion-panel.module.mjs +4 -4
- package/esm2022/lib/expansion-panel/toggle-animation-component.mjs +3 -3
- package/esm2022/lib/grids/api.service.mjs +3 -3
- package/esm2022/lib/grids/cell.component.mjs +7 -6
- package/esm2022/lib/grids/column-actions/column-actions-base.directive.mjs +3 -3
- package/esm2022/lib/grids/column-actions/column-actions.component.mjs +16 -15
- package/esm2022/lib/grids/column-actions/column-hiding.directive.mjs +3 -3
- package/esm2022/lib/grids/column-actions/column-pinning.directive.mjs +3 -3
- package/esm2022/lib/grids/columns/column-group.component.mjs +13 -9
- package/esm2022/lib/grids/columns/column-layout.component.mjs +7 -6
- package/esm2022/lib/grids/columns/column.component.mjs +37 -21
- package/esm2022/lib/grids/columns/templates.directive.mjs +24 -24
- package/esm2022/lib/grids/columns/validators.directive.mjs +21 -21
- package/esm2022/lib/grids/common/crud.service.mjs +3 -3
- package/esm2022/lib/grids/common/pipes.mjs +54 -54
- package/esm2022/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/base/grid-filtering-cell.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/base-filtering.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-filtering.component.mjs +9 -9
- package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +11 -8
- package/esm2022/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +6 -6
- package/esm2022/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/grid-filtering.service.mjs +5 -5
- package/esm2022/lib/grids/grid/expandable-cell.component.mjs +3 -3
- package/esm2022/lib/grids/grid/grid-api.service.mjs +3 -3
- package/esm2022/lib/grids/grid/grid-row.component.mjs +3 -3
- package/esm2022/lib/grids/grid/grid-validation.service.mjs +3 -3
- package/esm2022/lib/grids/grid/grid.component.mjs +11 -8
- package/esm2022/lib/grids/grid/grid.details.pipe.mjs +3 -3
- package/esm2022/lib/grids/grid/grid.module.mjs +4 -4
- package/esm2022/lib/grids/grid/grid.pipes.mjs +12 -12
- package/esm2022/lib/grids/grid/grid.summary.pipe.mjs +3 -3
- package/esm2022/lib/grids/grid/groupby-row.component.mjs +3 -3
- package/esm2022/lib/grids/grid-base.directive.mjs +33 -19
- package/esm2022/lib/grids/grid-footer/grid-footer.component.mjs +3 -3
- package/esm2022/lib/grids/grid-mrl-navigation.service.mjs +3 -3
- package/esm2022/lib/grids/grid-navigation.service.mjs +3 -3
- package/esm2022/lib/grids/grid.common.mjs +3 -3
- package/esm2022/lib/grids/grid.directives.mjs +33 -33
- package/esm2022/lib/grids/grid.rowEdit.directive.mjs +15 -15
- package/esm2022/lib/grids/grouping/grid-group-by-area.component.mjs +3 -3
- package/esm2022/lib/grids/grouping/group-by-area.directive.mjs +6 -6
- package/esm2022/lib/grids/grouping/tree-grid-group-by-area.component.mjs +8 -7
- package/esm2022/lib/grids/headers/grid-header-group.component.mjs +3 -3
- package/esm2022/lib/grids/headers/grid-header-row.component.mjs +14 -7
- package/esm2022/lib/grids/headers/grid-header.component.mjs +3 -3
- package/esm2022/lib/grids/headers/pipes.mjs +9 -9
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +3 -3
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +3 -3
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +7 -6
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +3 -3
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +11 -10
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +6 -6
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +3 -3
- package/esm2022/lib/grids/hierarchical-grid/row-island-api.service.mjs +3 -3
- package/esm2022/lib/grids/hierarchical-grid/row-island.component.mjs +7 -6
- package/esm2022/lib/grids/moving/moving.drag.directive.mjs +3 -3
- package/esm2022/lib/grids/moving/moving.drop.directive.mjs +3 -3
- package/esm2022/lib/grids/moving/moving.service.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-data-selector.component.mjs +13 -9
- package/esm2022/lib/grids/pivot-grid/pivot-filtering.service.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-grid-navigation.service.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-grid.component.mjs +25 -15
- package/esm2022/lib/grids/pivot-grid/pivot-grid.directives.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-grid.module.mjs +4 -4
- package/esm2022/lib/grids/pivot-grid/pivot-grid.pipes.mjs +30 -30
- package/esm2022/lib/grids/pivot-grid/pivot-header-row.component.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-content.component.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-row-dimension-header.component.mjs +3 -3
- package/esm2022/lib/grids/pivot-grid/pivot-row.component.mjs +3 -3
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resize-handle.directive.mjs +3 -3
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizer.component.mjs +3 -3
- package/esm2022/lib/grids/resizing/pivot-grid/pivot-resizing.service.mjs +3 -3
- package/esm2022/lib/grids/resizing/resize-handle.directive.mjs +3 -3
- package/esm2022/lib/grids/resizing/resizer.component.mjs +3 -3
- package/esm2022/lib/grids/resizing/resizer.directive.mjs +3 -3
- package/esm2022/lib/grids/resizing/resizing.service.mjs +3 -3
- package/esm2022/lib/grids/row-drag.directive.mjs +9 -9
- package/esm2022/lib/grids/row.directive.mjs +7 -6
- package/esm2022/lib/grids/selection/drag-select.directive.mjs +6 -6
- package/esm2022/lib/grids/selection/row-selectors.mjs +9 -9
- package/esm2022/lib/grids/selection/selection.service.mjs +3 -3
- package/esm2022/lib/grids/state.directive.mjs +3 -3
- package/esm2022/lib/grids/summaries/grid-root-summary.pipe.mjs +3 -3
- package/esm2022/lib/grids/summaries/grid-summary.service.mjs +10 -8
- package/esm2022/lib/grids/summaries/summary-cell.component.mjs +7 -6
- package/esm2022/lib/grids/summaries/summary-row.component.mjs +3 -3
- package/esm2022/lib/grids/toolbar/common.mjs +15 -15
- package/esm2022/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +3 -3
- package/esm2022/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +9 -7
- package/esm2022/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +3 -3
- package/esm2022/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +3 -3
- package/esm2022/lib/grids/toolbar/grid-toolbar.base.mjs +16 -11
- package/esm2022/lib/grids/toolbar/grid-toolbar.component.mjs +7 -6
- package/esm2022/lib/grids/tree-grid/tree-cell.component.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid-api.service.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid-row.component.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid-selection.service.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +7 -6
- package/esm2022/lib/grids/tree-grid/tree-grid.directives.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid.module.mjs +4 -4
- package/esm2022/lib/grids/tree-grid/tree-grid.pipes.mjs +21 -21
- package/esm2022/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +3 -3
- package/esm2022/lib/icon/icon.component.mjs +6 -6
- package/esm2022/lib/icon/icon.module.mjs +4 -4
- package/esm2022/lib/icon/icon.service.mjs +3 -3
- package/esm2022/lib/input-group/input-group.component.mjs +7 -6
- package/esm2022/lib/input-group/input-group.module.mjs +4 -4
- package/esm2022/lib/list/list-item.component.mjs +9 -7
- package/esm2022/lib/list/list.common.mjs +15 -15
- package/esm2022/lib/list/list.component.mjs +26 -23
- package/esm2022/lib/list/list.module.mjs +4 -4
- package/esm2022/lib/navbar/navbar.component.mjs +13 -12
- package/esm2022/lib/navbar/navbar.module.mjs +4 -4
- package/esm2022/lib/navigation-drawer/navigation-drawer.component.mjs +13 -9
- package/esm2022/lib/navigation-drawer/navigation-drawer.directives.mjs +13 -13
- package/esm2022/lib/navigation-drawer/navigation-drawer.module.mjs +4 -4
- package/esm2022/lib/paginator/paginator-interfaces.mjs +3 -3
- package/esm2022/lib/paginator/paginator.component.mjs +12 -12
- package/esm2022/lib/paginator/paginator.module.mjs +4 -4
- package/esm2022/lib/progressbar/progressbar.common.mjs +6 -6
- package/esm2022/lib/progressbar/progressbar.component.mjs +23 -17
- package/esm2022/lib/progressbar/progressbar.module.mjs +4 -4
- package/esm2022/lib/query-builder/query-builder-header.component.mjs +7 -6
- package/esm2022/lib/query-builder/query-builder.component.mjs +6 -6
- package/esm2022/lib/query-builder/query-builder.module.mjs +4 -4
- package/esm2022/lib/radio/radio.component.mjs +37 -44
- package/esm2022/lib/select/select-group.component.mjs +3 -3
- package/esm2022/lib/select/select-item.component.mjs +3 -3
- package/esm2022/lib/select/select-navigation.directive.mjs +3 -3
- package/esm2022/lib/select/select.component.mjs +16 -15
- package/esm2022/lib/select/select.module.mjs +4 -4
- package/esm2022/lib/services/animation/angular-animation-service.mjs +3 -3
- package/esm2022/lib/services/csv/csv-exporter.mjs +3 -3
- package/esm2022/lib/services/direction/directionality.mjs +3 -3
- package/esm2022/lib/services/excel/excel-exporter.mjs +3 -3
- package/esm2022/lib/services/overlay/overlay.mjs +5 -5
- package/esm2022/lib/services/transaction/transaction-factory.service.mjs +6 -6
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +51 -31
- package/esm2022/lib/simple-combo/simple-combo.module.mjs +4 -4
- package/esm2022/lib/slider/label/thumb-label.component.mjs +9 -7
- package/esm2022/lib/slider/slider.common.mjs +9 -9
- package/esm2022/lib/slider/slider.component.mjs +15 -10
- package/esm2022/lib/slider/slider.module.mjs +4 -4
- package/esm2022/lib/slider/thumb/thumb-slider.component.mjs +11 -8
- package/esm2022/lib/slider/ticks/tick.pipe.mjs +3 -3
- package/esm2022/lib/slider/ticks/ticks.component.mjs +11 -8
- package/esm2022/lib/snackbar/snackbar.component.mjs +3 -3
- package/esm2022/lib/snackbar/snackbar.module.mjs +4 -4
- package/esm2022/lib/splitter/splitter-pane/splitter-pane.component.mjs +9 -7
- package/esm2022/lib/splitter/splitter.component.mjs +6 -6
- package/esm2022/lib/splitter/splitter.module.mjs +4 -4
- package/esm2022/lib/stepper/step/step.component.mjs +15 -10
- package/esm2022/lib/stepper/stepper.component.mjs +9 -7
- package/esm2022/lib/stepper/stepper.directive.mjs +21 -21
- package/esm2022/lib/stepper/stepper.module.mjs +4 -4
- package/esm2022/lib/stepper/stepper.service.mjs +6 -6
- package/esm2022/lib/switch/switch.component.mjs +32 -40
- package/esm2022/lib/switch/switch.module.mjs +4 -4
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +3 -3
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +3 -3
- package/esm2022/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +3 -3
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.component.mjs +5 -5
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.directives.mjs +6 -6
- package/esm2022/lib/tabs/bottom-nav/bottom-nav.module.mjs +4 -4
- package/esm2022/lib/tabs/tab-content.directive.mjs +3 -3
- package/esm2022/lib/tabs/tab-header.directive.mjs +3 -3
- package/esm2022/lib/tabs/tab-item.directive.mjs +9 -7
- package/esm2022/lib/tabs/tabs/tab-content.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs/tab-header.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs/tab-item.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/tabs/tabs/tabs.directives.mjs +6 -6
- package/esm2022/lib/tabs/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/tabs/tabs.directive.mjs +11 -17
- package/esm2022/lib/time-picker/time-picker.component.mjs +9 -7
- package/esm2022/lib/time-picker/time-picker.directives.mjs +6 -6
- package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.pipes.mjs +6 -6
- package/esm2022/lib/toast/toast.component.mjs +3 -3
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/tree/tree-navigation.service.mjs +3 -3
- package/esm2022/lib/tree/tree-node/tree-node.component.mjs +18 -13
- package/esm2022/lib/tree/tree-selection.service.mjs +3 -3
- package/esm2022/lib/tree/tree.component.mjs +13 -12
- package/esm2022/lib/tree/tree.module.mjs +4 -4
- package/esm2022/lib/tree/tree.service.mjs +3 -3
- package/fesm2022/igniteui-angular.mjs +2245 -2106
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/accordion/accordion.component.d.ts +1 -0
- package/lib/action-strip/action-strip.component.d.ts +2 -2
- package/lib/action-strip/grid-actions/grid-action-button.component.d.ts +1 -0
- package/lib/action-strip/grid-actions/grid-actions-base.directive.d.ts +1 -0
- package/lib/action-strip/grid-actions/grid-editing-actions.component.d.ts +4 -0
- package/lib/buttonGroup/buttonGroup.component.d.ts +1 -0
- package/lib/calendar/calendar-base.d.ts +1 -0
- package/lib/calendar/calendar.component.d.ts +3 -0
- package/lib/calendar/days-view/day-item.component.d.ts +4 -0
- package/lib/calendar/days-view/days-view.component.d.ts +2 -0
- package/lib/calendar/months-view/months-view.component.d.ts +1 -0
- package/lib/calendar/years-view/years-view.component.d.ts +1 -0
- package/lib/card/card.component.d.ts +4 -0
- package/lib/carousel/carousel.component.d.ts +5 -0
- package/lib/carousel/slide.component.d.ts +2 -0
- package/lib/checkbox/checkbox.component.d.ts +10 -16
- package/lib/chips/chip.component.d.ts +7 -0
- package/lib/combo/combo-dropdown.component.d.ts +1 -0
- package/lib/combo/combo-item.component.d.ts +1 -0
- package/lib/combo/combo.common.d.ts +10 -21
- package/lib/combo/combo.component.d.ts +10 -8
- package/lib/date-common/picker-base.directive.d.ts +1 -0
- package/lib/date-picker/date-picker.component.d.ts +4 -0
- package/lib/date-range-picker/date-range-picker.component.d.ts +2 -0
- package/lib/dialog/dialog.component.d.ts +5 -0
- package/lib/directives/autocomplete/autocomplete.directive.d.ts +1 -0
- package/lib/directives/button/button.directive.d.ts +10 -23
- package/lib/directives/date-time-editor/date-time-editor.directive.d.ts +1 -0
- package/lib/directives/divider/divider.directive.d.ts +2 -0
- package/lib/directives/drag-drop/drag-drop.directive.d.ts +1 -0
- package/lib/directives/focus/focus.directive.d.ts +1 -0
- package/lib/directives/focus-trap/focus-trap.directive.d.ts +1 -0
- package/lib/directives/for-of/for_of.directive.d.ts +2 -0
- package/lib/directives/input/input.directive.d.ts +2 -2
- package/lib/directives/layout/layout.directive.d.ts +1 -0
- package/lib/directives/mask/mask.directive.d.ts +1 -0
- package/lib/directives/notification/notifications.directive.d.ts +2 -0
- package/lib/directives/radio/radio-group.directive.d.ts +2 -2
- package/lib/directives/ripple/ripple.directive.d.ts +2 -0
- package/lib/directives/text-selection/text-selection.directive.d.ts +2 -17
- package/lib/directives/tooltip/tooltip-target.directive.d.ts +1 -0
- package/lib/drop-down/drop-down-group.component.d.ts +1 -0
- package/lib/drop-down/drop-down-item.base.d.ts +3 -0
- package/lib/drop-down/drop-down.component.d.ts +1 -0
- package/lib/expansion-panel/expansion-panel-header.component.d.ts +1 -0
- package/lib/expansion-panel/expansion-panel.component.d.ts +1 -0
- package/lib/grids/cell.component.d.ts +1 -0
- package/lib/grids/column-actions/column-actions.component.d.ts +1 -0
- package/lib/grids/columns/column-group.component.d.ts +4 -0
- package/lib/grids/columns/column-layout.component.d.ts +1 -0
- package/lib/grids/columns/column.component.d.ts +16 -0
- package/lib/grids/filtering/excel-style/excel-style-header.component.d.ts +3 -0
- package/lib/grids/grid/grid.component.d.ts +3 -0
- package/lib/grids/grid-base.directive.d.ts +11 -0
- package/lib/grids/grouping/tree-grid-group-by-area.component.d.ts +1 -0
- package/lib/grids/headers/grid-header-row.component.d.ts +5 -0
- package/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.d.ts +1 -0
- package/lib/grids/hierarchical-grid/hierarchical-grid.component.d.ts +2 -1
- package/lib/grids/hierarchical-grid/row-island.component.d.ts +1 -0
- package/lib/grids/pivot-grid/pivot-data-selector.component.d.ts +4 -0
- package/lib/grids/pivot-grid/pivot-grid.component.d.ts +10 -0
- package/lib/grids/row.directive.d.ts +1 -0
- package/lib/grids/selection/drag-select.directive.d.ts +1 -0
- package/lib/grids/summaries/summary-cell.component.d.ts +1 -0
- package/lib/grids/toolbar/grid-toolbar-exporter.component.d.ts +2 -0
- package/lib/grids/toolbar/grid-toolbar.base.d.ts +1 -0
- package/lib/grids/toolbar/grid-toolbar.component.d.ts +1 -0
- package/lib/grids/tree-grid/tree-grid.component.d.ts +1 -0
- package/lib/icon/icon.component.d.ts +1 -0
- package/lib/input-group/input-group.component.d.ts +1 -0
- package/lib/list/list-item.component.d.ts +2 -0
- package/lib/list/list.component.d.ts +3 -0
- package/lib/navbar/navbar.component.d.ts +1 -0
- package/lib/navigation-drawer/navigation-drawer.component.d.ts +4 -0
- package/lib/navigation-drawer/navigation-drawer.directives.d.ts +2 -0
- package/lib/progressbar/progressbar.component.d.ts +6 -0
- package/lib/query-builder/query-builder-header.component.d.ts +1 -0
- package/lib/radio/radio.component.d.ts +5 -4
- package/lib/select/select.component.d.ts +1 -0
- package/lib/simple-combo/simple-combo.component.d.ts +16 -1
- package/lib/slider/label/thumb-label.component.d.ts +2 -0
- package/lib/slider/slider.component.d.ts +5 -0
- package/lib/slider/thumb/thumb-slider.component.d.ts +4 -1
- package/lib/slider/ticks/ticks.component.d.ts +3 -0
- package/lib/splitter/splitter-pane/splitter-pane.component.d.ts +2 -0
- package/lib/stepper/step/step.component.d.ts +5 -0
- package/lib/stepper/stepper.component.d.ts +2 -0
- package/lib/switch/switch.component.d.ts +4 -4
- package/lib/tabs/bottom-nav/bottom-nav.component.d.ts +1 -1
- package/lib/tabs/tab-item.directive.d.ts +2 -0
- package/lib/tabs/tabs.directive.d.ts +2 -4
- package/lib/time-picker/time-picker.component.d.ts +2 -0
- package/lib/tree/tree-node/tree-node.component.d.ts +5 -0
- package/lib/tree/tree.component.d.ts +1 -0
- package/migrations/common/tsUtils.d.ts +2 -0
- package/migrations/common/tsUtils.js +4 -3
- package/migrations/update-17_0_0/changes/classes.json +21 -0
- package/migrations/update-17_0_0/changes/members.json +21 -0
- package/migrations/update-17_0_0/index.js +48 -1
- package/package.json +2 -2
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostBinding, HostListener, booleanAttribute } from '@angular/core';
|
|
2
2
|
import { CalendarSelection, isDateInRanges } from '../calendar';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
@@ -96,10 +96,10 @@ export class IgxDayItemComponent {
|
|
|
96
96
|
event.stopPropagation();
|
|
97
97
|
this.dateSelection.emit(this.date);
|
|
98
98
|
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDayItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-rc.3", type: IgxDayItemComponent, isStandalone: true, selector: "igx-day-item", inputs: { date: "date", selection: "selection", selected: "selected", disabledDates: "disabledDates", outOfRangeDates: "outOfRangeDates", specialDates: "specialDates", hideOutsideDays: ["hideOutsideDays", "hideOutsideDays", booleanAttribute], isLastInRange: ["isLastInRange", "isLastInRange", booleanAttribute], isFirstInRange: ["isFirstInRange", "isFirstInRange", booleanAttribute], isWithinRange: ["isWithinRange", "isWithinRange", booleanAttribute] }, outputs: { dateSelection: "dateSelection" }, host: { listeners: { "click": "onSelect($event)", "keydown.enter": "onSelect($event)" }, properties: { "class.igx-calendar__date--last": "this.isLastInRange", "class.igx-calendar__date--first": "this.isFirstInRange", "class.igx-calendar__date--selected": "this.isSelectedCSS", "class.igx-calendar__date--inactive": "this.isInactive", "class.igx-calendar__date--hidden": "this.isHidden", "class.igx-calendar__date--current": "this.isToday", "class.igx-calendar__date--weekend": "this.isWeekend", "class.igx-calendar__date--range": "this.isWithinRangeCSS", "class.igx-calendar__date--special": "this.isSpecial", "class.igx-calendar__date--disabled": "this.isDisabledCSS", "class.igx-calendar__date--single": "this.isSingleSelection" } }, ngImport: i0, template: "<span aria-hidden=\"true\" class=\"igx-calendar__date-content\">\n <ng-content></ng-content>\n</span>\n" }); }
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDayItemComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
104
|
args: [{ selector: 'igx-day-item', standalone: true, template: "<span aria-hidden=\"true\" class=\"igx-calendar__date-content\">\n <ng-content></ng-content>\n</span>\n" }]
|
|
105
105
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { date: [{
|
|
@@ -115,19 +115,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
115
115
|
}], specialDates: [{
|
|
116
116
|
type: Input
|
|
117
117
|
}], hideOutsideDays: [{
|
|
118
|
-
type: Input
|
|
118
|
+
type: Input,
|
|
119
|
+
args: [{ transform: booleanAttribute }]
|
|
119
120
|
}], isLastInRange: [{
|
|
120
|
-
type: Input
|
|
121
|
+
type: Input,
|
|
122
|
+
args: [{ transform: booleanAttribute }]
|
|
121
123
|
}, {
|
|
122
124
|
type: HostBinding,
|
|
123
125
|
args: ['class.igx-calendar__date--last']
|
|
124
126
|
}], isFirstInRange: [{
|
|
125
|
-
type: Input
|
|
127
|
+
type: Input,
|
|
128
|
+
args: [{ transform: booleanAttribute }]
|
|
126
129
|
}, {
|
|
127
130
|
type: HostBinding,
|
|
128
131
|
args: ['class.igx-calendar__date--first']
|
|
129
132
|
}], isWithinRange: [{
|
|
130
|
-
type: Input
|
|
133
|
+
type: Input,
|
|
134
|
+
args: [{ transform: booleanAttribute }]
|
|
131
135
|
}], dateSelection: [{
|
|
132
136
|
type: Output
|
|
133
137
|
}], isSelectedCSS: [{
|
|
@@ -164,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
164
168
|
type: HostListener,
|
|
165
169
|
args: ['keydown.enter', ['$event']]
|
|
166
170
|
}] } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2RheXMtdmlldy9kYXktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvZGF5cy12aWV3L2RheS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHL0U7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBTzVCOzs7T0FHRztJQUNILElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVEsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUE0QkQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csYUFBYTtRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUNXLE9BQU87UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzNEO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzlDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ3JDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFDVyxTQUFTO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUNXLGdCQUFnQjtRQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekQsQ0FBQztJQUVELElBQ1csU0FBUztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUNXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFDVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUN0RCxDQUFDO0lBSUQsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWxIbkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFJeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFJdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHdEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQWtHakQsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUVvQixDQUFDO0lBSXhDLFFBQVEsQ0FBQyxLQUFLO1FBQ2pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQzttSEExSlEsbUJBQW1CO3VHQUFuQixtQkFBbUIscW9DQ1poQyw0R0FHQTs7Z0dEU2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNJLGNBQWMsY0FFWixJQUFJOytFQUlULElBQUk7c0JBRFYsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkFhQyxhQUFhO3NCQURuQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUtDLGFBQWE7c0JBRm5CLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0NBQWdDO2dCQUt0QyxjQUFjO3NCQUZwQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlDQUFpQztnQkFJdkMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixNQUFNO2dCQW9CSSxhQUFhO3NCQUR2QixXQUFXO3VCQUFDLG9DQUFvQztnQkFNdEMsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxvQ0FBb0M7Z0JBTXRDLFFBQVE7c0JBRGxCLFdBQVc7dUJBQUMsa0NBQWtDO2dCQU1wQyxPQUFPO3NCQURqQixXQUFXO3VCQUFDLG1DQUFtQztnQkFnQnJDLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsbUNBQW1DO2dCQTJCckMsZ0JBQWdCO3NCQUQxQixXQUFXO3VCQUFDLGlDQUFpQztnQkFNbkMsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBVXJDLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU10QyxpQkFBaUI7c0JBRDNCLFdBQVc7dUJBQUMsa0NBQWtDO2dCQVd4QyxRQUFRO3NCQUZkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb24sIElDYWxlbmRhckRhdGUsIGlzRGF0ZUluUmFuZ2VzIH0gZnJvbSAnLi4vY2FsZW5kYXInO1xuaW1wb3J0IHsgRGF0ZVJhbmdlRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0ZXMnO1xuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtZGF5LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnZGF5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4RGF5SXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0ZTogSUNhbGVuZGFyRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIGRheSBpcyBzZWxlY3RlZFxuICAgICAqXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIHRoZSBkYXlcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZERhdGVzOiBEYXRlUmFuZ2VEZXNjcmlwdG9yW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBvdXRPZlJhbmdlRGF0ZXM6IERhdGVSYW5nZURlc2NyaXB0b3JbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNwZWNpYWxEYXRlczogRGF0ZVJhbmdlRGVzY3JpcHRvcltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGlkZU91dHNpZGVEYXlzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1sYXN0JylcbiAgICBwdWJsaWMgaXNMYXN0SW5SYW5nZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0tZmlyc3QnKVxuICAgIHB1YmxpYyBpc0ZpcnN0SW5SYW5nZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNXaXRoaW5SYW5nZSA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRhdGVTZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElDYWxlbmRhckRhdGU+KCk7XG5cbiAgICBwdWJsaWMgZ2V0IGlzQ3VycmVudE1vbnRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlLmlzQ3VycmVudE1vbnRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNQcmV2aW91c01vbnRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlLmlzUHJldk1vbnRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNOZXh0TW9udGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUuaXNOZXh0TW9udGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLXNlbGVjdGVkJylcbiAgICBwdWJsaWMgZ2V0IGlzU2VsZWN0ZWRDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoIXRoaXMuaXNEaXNhYmxlZCAmJiB0aGlzLnNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0taW5hY3RpdmUnKVxuICAgIHB1YmxpYyBnZXQgaXNJbmFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZS5pc05leHRNb250aCB8fCB0aGlzLmRhdGUuaXNQcmV2TW9udGg7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLWhpZGRlbicpXG4gICAgcHVibGljIGdldCBpc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZU91dHNpZGVEYXlzICYmIHRoaXMuaXNJbmFjdGl2ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0tY3VycmVudCcpXG4gICAgcHVibGljIGdldCBpc1RvZGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKERhdGUubm93KCkpO1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlLmRhdGU7XG5cbiAgICAgICAgaWYgKGRhdGUuZ2V0RGF0ZSgpID09PSB0b2RheS5nZXREYXRlKCkpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcsICdkYXRlJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpID09PSB0b2RheS5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlLmdldERhdGUoKSA9PT0gdG9kYXkuZ2V0RGF0ZSgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLXdlZWtlbmQnKVxuICAgIHB1YmxpYyBnZXQgaXNXZWVrZW5kKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXkgPSB0aGlzLmRhdGUuZGF0ZS5nZXREYXkoKTtcbiAgICAgICAgcmV0dXJuIGRheSA9PT0gMCB8fCBkYXkgPT09IDY7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZERhdGVzID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXModGhpcy5kYXRlLmRhdGUsIHRoaXMuZGlzYWJsZWREYXRlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc091dE9mUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5vdXRPZlJhbmdlRGF0ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc0RhdGVJblJhbmdlcyh0aGlzLmRhdGUuZGF0ZSwgdGhpcy5vdXRPZlJhbmdlRGF0ZXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQ3VycmVudE1vbnRoICYmICF0aGlzLmlzSGlkZGVuICYmICF0aGlzLmlzRGlzYWJsZWQgJiYgIXRoaXMuaXNPdXRPZlJhbmdlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1yYW5nZScpXG4gICAgcHVibGljIGdldCBpc1dpdGhpblJhbmdlQ1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNTaW5nbGVTZWxlY3Rpb24gJiYgdGhpcy5pc1dpdGhpblJhbmdlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1zcGVjaWFsJylcbiAgICBwdWJsaWMgZ2V0IGlzU3BlY2lhbCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuc3BlY2lhbERhdGVzID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNEYXRlSW5SYW5nZXModGhpcy5kYXRlLmRhdGUsIHRoaXMuc3BlY2lhbERhdGVzKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0tZGlzYWJsZWQnKVxuICAgIHB1YmxpYyBnZXQgaXNEaXNhYmxlZENTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNIaWRkZW4gfHwgdGhpcy5pc0Rpc2FibGVkIHx8IHRoaXMuaXNPdXRPZlJhbmdlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1zaW5nbGUnKVxuICAgIHB1YmxpYyBnZXQgaXNTaW5nbGVTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAhPT0gQ2FsZW5kYXJTZWxlY3Rpb24uUkFOR0U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uU2VsZWN0KGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmRhdGVTZWxlY3Rpb24uZW1pdCh0aGlzLmRhdGUpO1xuICAgIH1cbn1cbiIsIjxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19kYXRlLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2RheXMtdmlldy9kYXktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvZGF5cy12aWV3L2RheS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFjLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHL0U7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBTzVCOzs7T0FHRztJQUNILElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVEsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUE0QkQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJ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dkIsV0FBVzt1QkFBQyxvQ0FBb0M7Z0JBTXRDLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsb0NBQW9DO2dCQU10QyxRQUFRO3NCQURsQixXQUFXO3VCQUFDLGtDQUFrQztnQkFNcEMsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBZ0JyQyxTQUFTO3NCQURuQixXQUFXO3VCQUFDLG1DQUFtQztnQkEyQnJDLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxpQ0FBaUM7Z0JBTW5DLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsbUNBQW1DO2dCQVVyQyxhQUFhO3NCQUR2QixXQUFXO3VCQUFDLG9DQUFvQztnQkFNdEMsaUJBQWlCO3NCQUQzQixXQUFXO3VCQUFDLGtDQUFrQztnQkFXeEMsUUFBUTtzQkFGZCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyU2VsZWN0aW9uLCBJQ2FsZW5kYXJEYXRlLCBpc0RhdGVJblJhbmdlcyB9IGZyb20gJy4uL2NhbGVuZGFyJztcbmltcG9ydCB7IERhdGVSYW5nZURlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGVzJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWRheS1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RheS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneERheUl0ZW1Db21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGU6IElDYWxlbmRhckRhdGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3Rpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBkYXkgaXMgc2VsZWN0ZWRcbiAgICAgKlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0cyB0aGUgZGF5XG4gICAgICovXG4gICAgcHVibGljIHNldCBzZWxlY3RlZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWREYXRlczogRGF0ZVJhbmdlRGVzY3JpcHRvcltdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3V0T2ZSYW5nZURhdGVzOiBEYXRlUmFuZ2VEZXNjcmlwdG9yW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzcGVjaWFsRGF0ZXM6IERhdGVSYW5nZURlc2NyaXB0b3JbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBoaWRlT3V0c2lkZURheXMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1sYXN0JylcbiAgICBwdWJsaWMgaXNMYXN0SW5SYW5nZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLWZpcnN0JylcbiAgICBwdWJsaWMgaXNGaXJzdEluUmFuZ2UgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBpc1dpdGhpblJhbmdlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGF0ZVNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNhbGVuZGFyRGF0ZT4oKTtcblxuICAgIHB1YmxpYyBnZXQgaXNDdXJyZW50TW9udGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUuaXNDdXJyZW50TW9udGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc1ByZXZpb3VzTW9udGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUuaXNQcmV2TW9udGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc05leHRNb250aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZS5pc05leHRNb250aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0tc2VsZWN0ZWQnKVxuICAgIHB1YmxpYyBnZXQgaXNTZWxlY3RlZENTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICghdGhpcy5pc0Rpc2FibGVkICYmIHRoaXMuc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1pbmFjdGl2ZScpXG4gICAgcHVibGljIGdldCBpc0luYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlLmlzTmV4dE1vbnRoIHx8IHRoaXMuZGF0ZS5pc1ByZXZNb250aDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0taGlkZGVuJylcbiAgICBwdWJsaWMgZ2V0IGlzSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT3V0c2lkZURheXMgJiYgdGhpcy5pc0luYWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1jdXJyZW50JylcbiAgICBwdWJsaWMgZ2V0IGlzVG9kYXkoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGUuZGF0ZTtcblxuICAgICAgICBpZiAoZGF0ZS5nZXREYXRlKCkgPT09IHRvZGF5LmdldERhdGUoKSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgJ2RhdGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoZGF0ZS5nZXRGdWxsWWVhcigpID09PSB0b2RheS5nZXRGdWxsWWVhcigpICYmXG4gICAgICAgICAgICBkYXRlLmdldE1vbnRoKCkgPT09IHRvZGF5LmdldE1vbnRoKCkgJiZcbiAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpID09PSB0b2RheS5nZXREYXRlKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcl9fZGF0ZS0td2Vla2VuZCcpXG4gICAgcHVibGljIGdldCBpc1dlZWtlbmQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRheSA9IHRoaXMuZGF0ZS5kYXRlLmdldERheSgpO1xuICAgICAgICByZXR1cm4gZGF5ID09PSAwIHx8IGRheSA9PT0gNjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc0RhdGVJblJhbmdlcyh0aGlzLmRhdGUuZGF0ZSwgdGhpcy5kaXNhYmxlZERhdGVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT3V0T2ZSYW5nZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm91dE9mUmFuZ2VEYXRlcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzRGF0ZUluUmFuZ2VzKHRoaXMuZGF0ZS5kYXRlLCB0aGlzLm91dE9mUmFuZ2VEYXRlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNDdXJyZW50TW9udGggJiYgIXRoaXMuaXNIaWRkZW4gJiYgIXRoaXMuaXNEaXNhYmxlZCAmJiAhdGhpcy5pc091dE9mUmFuZ2U7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLXJhbmdlJylcbiAgICBwdWJsaWMgZ2V0IGlzV2l0aGluUmFuZ2VDU1MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc1NpbmdsZVNlbGVjdGlvbiAmJiB0aGlzLmlzV2l0aGluUmFuZ2U7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLXNwZWNpYWwnKVxuICAgIHB1YmxpYyBnZXQgaXNTcGVjaWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5zcGVjaWFsRGF0ZXMgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc0RhdGVJblJhbmdlcyh0aGlzLmRhdGUuZGF0ZSwgdGhpcy5zcGVjaWFsRGF0ZXMpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhbGVuZGFyX19kYXRlLS1kaXNhYmxlZCcpXG4gICAgcHVibGljIGdldCBpc0Rpc2FibGVkQ1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0hpZGRlbiB8fCB0aGlzLmlzRGlzYWJsZWQgfHwgdGhpcy5pc091dE9mUmFuZ2U7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXJfX2RhdGUtLXNpbmdsZScpXG4gICAgcHVibGljIGdldCBpc1NpbmdsZVNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uICE9PSBDYWxlbmRhclNlbGVjdGlvbi5SQU5HRTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25TZWxlY3QoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZGF0ZVNlbGVjdGlvbi5lbWl0KHRoaXMuZGF0ZSk7XG4gICAgfVxufVxuIiwiPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2RhdGUtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Output, EventEmitter, Input, HostListener, ViewChildren, HostBinding, Inject, LOCALE_ID } from '@angular/core';
|
|
1
|
+
import { Component, Output, EventEmitter, Input, HostListener, ViewChildren, HostBinding, Inject, LOCALE_ID, booleanAttribute } from '@angular/core';
|
|
2
2
|
import { CalendarSelection, isDateInRanges } from '../../calendar/calendar';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { IgxDayItemComponent } from './day-item.component';
|
|
@@ -329,8 +329,8 @@ export class IgxDaysViewComponent extends IgxCalendarBaseDirective {
|
|
|
329
329
|
get isSingleSelection() {
|
|
330
330
|
return this.selection !== CalendarSelection.RANGE;
|
|
331
331
|
}
|
|
332
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
333
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDaysViewComponent, deps: [{ token: i1.IgxDaysViewNavigationService }, { token: i2.PlatformUtil }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
333
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-rc.3", type: IgxDaysViewComponent, isStandalone: true, selector: "igx-days-view", inputs: { id: "id", changeDaysView: ["changeDaysView", "changeDaysView", booleanAttribute], showWeekNumbers: ["showWeekNumbers", "showWeekNumbers", booleanAttribute], activeDate: "activeDate" }, outputs: { dateSelection: "dateSelection", viewChanging: "viewChanging", activeDateChange: "activeDateChange", monthsViewBlur: "monthsViewBlur" }, host: { listeners: { "focusout": "resetActiveMonth()", "keydown.pagedown": "pointerDown()", "keydown.pageup": "pointerDown()", "keydown.shift.pagedown": "pointerDown()", "keydown.shift.pageup": "pointerDown()", "pointerdown": "pointerDown()", "keydown.arrowleft": "onKeydownArrow($event)", "keydown.arrowright": "onKeydownArrow($event)", "keydown.arrowup": "onKeydownArrow($event)", "keydown.arrowdown": "onKeydownArrow($event)", "keydown.home": "onKeydownHome($event)", "keydown.end": "onKeydownEnd($event)" }, properties: { "attr.id": "this.id", "class.igx-calendar": "this.styleClass" } }, providers: [
|
|
334
334
|
{
|
|
335
335
|
multi: true,
|
|
336
336
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -339,7 +339,7 @@ export class IgxDaysViewComponent extends IgxCalendarBaseDirective {
|
|
|
339
339
|
{ provide: IgxDaysViewNavigationService, useClass: IgxDaysViewNavigationService }
|
|
340
340
|
], viewQueries: [{ propertyName: "dates", predicate: IgxDayItemComponent, descendants: true, read: IgxDayItemComponent }], usesInheritance: true, ngImport: i0, template: "<div role=\"row\" class=\"igx-calendar__body-row\">\n <div role=\"columnheader\" *ngIf=\"showWeekNumbers\" class=\"igx-calendar__label igx-calendar__label--week-number\">\n <span>Wk</span>\n </div>\n <span role=\"columnheader\" [attr.aria-label]=\"dayName\" *ngFor=\"let dayName of generateWeekHeader()\" class=\"igx-calendar__label\">\n {{ dayName | titlecase }}\n </span>\n</div>\n\n<div *ngFor=\"let week of getCalendarMonth; last as isLast; index as i; trackBy: rowTracker\"\n class=\"igx-calendar__body-row\" role=\"row\">\n\n <div *ngIf=\"showWeekNumbers\" class=\"igx-calendar__date igx-calendar__date--week-number\">\n\n <span role=\"rowheader\" class=\"igx-calendar__date-content igx-calendar__date-content--week-number\">\n {{getWeekNumber(week[0].date)}}\n </span>\n\n </div>\n\n <!-- <igx-week-number-item *ngIf=\"showWeekNumbers\">{{getWeekNumber(week[0].date)}}</igx-week-number-item> -->\n <igx-day-item\n class=\"igx-calendar__date\"\n *ngFor=\"let day of week; trackBy: dateTracker\"\n [attr.aria-selected]=\"isSelected(day)\"\n role=\"gridcell\"\n [attr.aria-disabled]=\"isDateDisabled(day.date)\"\n [attr.aria-label]=\"isFirstInRange(day) ? day.date.toDateString() + ', ' + resourceStrings.igx_calendar_range_start : isLastInRange(day) ? day.date.toDateString() + ', ' + resourceStrings.igx_calendar_range_end : day.date.toDateString()\"\n [date]=\"day\"\n [selection]=\"selection\"\n [selected]=\"isSelected(day)\"\n [isLastInRange]=\"isLastInRange(day)\"\n [isFirstInRange]=\"isFirstInRange(day)\"\n [isWithinRange]=\"isWithinRange(day.date, true)\"\n [disabledDates]=\"disabledDates\"\n [specialDates]=\"specialDates\"\n [outOfRangeDates]=\"outOfRangeDates\"\n [hideOutsideDays]=\"hideOutsideDays\"\n [attr.tabindex]=\"tabIndex(day)\"\n (focus)=\"activeDate = day.date.toLocaleDateString()\"\n (dateSelection)=\"selectDay($event)\">\n {{ formattedDate(day.date) }}\n </igx-day-item>\n</div>\n\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IgxDayItemComponent, selector: "igx-day-item", inputs: ["date", "selection", "selected", "disabledDates", "outOfRangeDates", "specialDates", "hideOutsideDays", "isLastInRange", "isFirstInRange", "isWithinRange"], outputs: ["dateSelection"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
|
|
341
341
|
}
|
|
342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDaysViewComponent, decorators: [{
|
|
343
343
|
type: Component,
|
|
344
344
|
args: [{ providers: [
|
|
345
345
|
{
|
|
@@ -358,9 +358,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
358
358
|
}, {
|
|
359
359
|
type: Input
|
|
360
360
|
}], changeDaysView: [{
|
|
361
|
-
type: Input
|
|
361
|
+
type: Input,
|
|
362
|
+
args: [{ transform: booleanAttribute }]
|
|
362
363
|
}], showWeekNumbers: [{
|
|
363
|
-
type: Input
|
|
364
|
+
type: Input,
|
|
365
|
+
args: [{ transform: booleanAttribute }]
|
|
364
366
|
}], activeDate: [{
|
|
365
367
|
type: Input
|
|
366
368
|
}], dateSelection: [{
|
|
@@ -414,4 +416,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
414
416
|
type: HostListener,
|
|
415
417
|
args: ['keydown.end', ['$event']]
|
|
416
418
|
}] } });
|
|
417
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFFWixXQUFXLEVBR1gsTUFBTSxFQUFFLFNBQVMsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQXVCLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFN0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBZ0JoQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBZ0M5RDs7O09BR0c7SUFDSCxJQUNXLFVBQVUsQ0FB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TTtnQkFPQSxnQkFBZ0I7c0JBRHRCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTTtnQkFPQSxLQUFLO3NCQURYLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBU3pELFVBQVU7c0JBRGhCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQWtDMUIsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLFVBQVU7Z0JBdUJqQixXQUFXO3NCQUxqQixZQUFZO3VCQUFDLGtCQUFrQjs7c0JBQy9CLFlBQVk7dUJBQUMsZ0JBQWdCOztzQkFDN0IsWUFBWTt1QkFBQyx3QkFBd0I7O3NCQUNyQyxZQUFZO3VCQUFDLHNCQUFzQjs7c0JBQ25DLFlBQVk7dUJBQUMsYUFBYTtnQkFZcEIsY0FBYztzQkFKcEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzVDLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUM3QyxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZdEMsYUFBYTtzQkFEbkIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWWpDLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBEb0NoZWNrLFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3QsIExPQ0FMRV9JRFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyU2VsZWN0aW9uLCBJQ2FsZW5kYXJEYXRlLCBpc0RhdGVJblJhbmdlcyB9IGZyb20gJy4uLy4uL2NhbGVuZGFyL2NhbGVuZGFyJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSWd4RGF5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVSYW5nZURlc2NyaXB0b3IsIERhdGVSYW5nZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGVzJztcbmltcG9ydCB7IElneENhbGVuZGFyQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NhbGVuZGFyLWJhc2UnO1xuaW1wb3J0IHsgaXNFcXVhbCwgUGxhdGZvcm1VdGlsIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBJVmlld0NoYW5naW5nRXZlbnRBcmdzIH0gZnJvbSAnLi9kYXlzLXZpZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneERheXNWaWV3TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9kYXlzLXZpZXcvZGF5c3ZpZXctbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yLCBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBJZ3hEYXlzVmlld0NvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IElneERheXNWaWV3TmF2aWdhdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBJZ3hEYXlzVmlld05hdmlnYXRpb25TZXJ2aWNlIH1cbiAgICBdLFxuICAgIHNlbGVjdG9yOiAnaWd4LWRheXMtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICdkYXlzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBJZ3hEYXlJdGVtQ29tcG9uZW50LCBUaXRsZUNhc2VQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hEYXlzVmlld0NvbXBvbmVudCBleHRlbmRzIElneENhbGVuZGFyQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2ssIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSBkYXlzIHZpZXcuXG4gICAgICogSWYgbm90IHNldCwgdGhlIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC1kYXlzLXZpZXctMFwiYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kYXlzLXZpZXcgaWQ9XCJteS1kYXlzLXZpZXdcIj48L2lneC1kYXlzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBkYXlzVmlld0lkID0gIHRoaXMuZGF5c1ZpZXcuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtZGF5cy12aWV3LSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2hhbmdlRGF5c1ZpZXcgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNob3cvaGlkZSB3ZWVrIG51bWJlcnNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGF5cy12aWV3IFtzaG93V2Vla051bWJlcnNdPVwidHJ1ZVwiPjwvaWd4LWRheXMtdmlldz5cbiAgICAgKiBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYWN0aXZlRGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5fYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVEYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRGF0ZSA/IHRoaXMuX2FjdGl2ZURhdGUgOiB0aGlzLnZpZXdEYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGF0ZVNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNhbGVuZGFyRGF0ZT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdmlld0NoYW5naW5nID0gbmV3IEV2ZW50RW1pdHRlcjxJVmlld0NoYW5naW5nRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3RpdmVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG1vbnRoc1ZpZXdCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihJZ3hEYXlJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IElneERheUl0ZW1Db21wb25lbnQgfSlcbiAgICBwdWJsaWMgZGF0ZXM6IFF1ZXJ5TGlzdDxJZ3hEYXlJdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IGNzcyBjbGFzcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXInKVxuICAgIHB1YmxpYyBzdHlsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3V0T2ZSYW5nZURhdGVzOiBEYXRlUmFuZ2VEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5leHRNb250aFZpZXc6IElneERheXNWaWV3Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcHJldk1vbnRoVmlldzogSWd4RGF5c1ZpZXdDb21wb25lbnQ7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgc2hvdWxkUmVzZXREYXRlID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9hY3RpdmVEYXRlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGF5c05hdlNlcnZpY2U6IElneERheXNWaWV3TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHBsYXRmb3JtOiBQbGF0Zm9ybVV0aWwsIEBJbmplY3QoTE9DQUxFX0lEKSBfbG9jYWxlSWQ6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihwbGF0Zm9ybSwgX2xvY2FsZUlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICAgIHB1YmxpYyByZXNldEFjdGl2ZU1vbnRoKCkge1xuICAgICAgICBpZiAodGhpcy5zaG91bGRSZXNldERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVzLmZpbmQoZGF5ID0+IGRheS5zZWxlY3RlZCAmJiBkYXkuaXNDdXJyZW50TW9udGgpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcy5maW5kKGRheSA9PiBkYXkuaXNUb2RheSAmJiBkYXkuaXNDdXJyZW50TW9udGgpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcy5maW5kKGQgPT4gZC5pc0ZvY3VzYWJsZSk7XG4gICAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGRhdGUuZGF0ZS5kYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5tb250aHNWaWV3Qmx1ci5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnBhZ2Vkb3duJylcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnBhZ2V1cCcpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC5wYWdlZG93bicpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC5wYWdldXAnKVxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJylcbiAgICBwdWJsaWMgcG9pbnRlckRvd24oKSB7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVzZXREYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93cmlnaHQnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kYXlzTmF2U2VydmljZS5mb2N1c05leHREYXRlKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgZXZlbnQua2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5ob21lJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSG9tZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5nZXRGaXJzdE1vbnRoVmlldygpLmRheXNOYXZTZXJ2aWNlLmZvY3VzSG9tZURhdGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbmQnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25FbmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVzZXREYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0TGFzdE1vbnRoVmlldygpLmRheXNOYXZTZXJ2aWNlLmZvY3VzRW5kRGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGdldENhbGVuZGFyTW9udGgoKTogSUNhbGVuZGFyRGF0ZVtdW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhck1vZGVsLm1vbnRoZGF0ZXNjYWxlbmRhcih0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kYXlzTmF2U2VydmljZS5tb250aFZpZXcgPSB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuY2hhbmdlRGF5c1ZpZXcgJiYgdGhpcy5kYXRlcykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlT3V0T2ZSYW5nZURhdGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHRhYkluZGV4KGRheTogSUNhbGVuZGFyRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZURhdGUgJiYgdGhpcy5hY3RpdmVEYXRlID09PSBkYXkuZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSAmJiBkYXkuaXNDdXJyZW50TW9udGggPyAwIDogLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgd2VlayBudW1iZXIgYnkgZGF0ZVxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXZWVrTnVtYmVyKGRhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhck1vZGVsLmdldFdlZWtOdW1iZXIoZGF0ZSwgdGhpcy53ZWVrU3RhcnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxvY2FsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0ZSBpbiB0aGUgZGF5cyB2aWV3LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZWREYXRlKHZhbHVlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0Vmlld3MuZGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXJEYXkuZm9ybWF0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7dmFsdWUuZ2V0RGF0ZSgpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZVdlZWtIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBkYXlOYW1lcyA9IFtdO1xuICAgICAgICBjb25zdCBydiA9IHRoaXMuY2FsZW5kYXJNb2RlbC5tb250aGRhdGVzY2FsZW5kYXIodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCkpWzBdO1xuICAgICAgICBmb3IgKGNvbnN0IGRheSBvZiBydikge1xuICAgICAgICAgICAgZGF5TmFtZXMucHVzaCh0aGlzLmZvcm1hdHRlcldlZWtkYXkuZm9ybWF0KGRheS5kYXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF5TmFtZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByb3dUcmFja2VyKGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2l0ZW1baW5kZXhdLmRhdGUuZ2V0TW9udGgoKX0ke2l0ZW1baW5kZXhdLmRhdGUuZ2V0RGF0ZSgpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlVHJhY2tlcihpbmRleCwgaXRlbSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtpdGVtLmRhdGUuZ2V0TW9udGgoKX0tLSR7aXRlbS5kYXRlLmdldERhdGUoKX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNDdXJyZW50TW9udGgodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSA9PT0gdmFsdWUuZ2V0TW9udGgoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzQ3VycmVudFllYXIodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdmFsdWUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzU2VsZWN0ZWQoZGF0ZTogSUNhbGVuZGFyRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWREYXRlczogRGF0ZSB8IERhdGVbXTtcbiAgICAgICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZS5kYXRlKSB8fCAhdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uID09PSBDYWxlbmRhclNlbGVjdGlvbi5TSU5HTEUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0ZXMgPSAodGhpcy52YWx1ZSBhcyBEYXRlKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERhdGVPbmx5KHNlbGVjdGVkRGF0ZXMpLmdldFRpbWUoKSA9PT0gZGF0ZS5kYXRlLmdldFRpbWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdGVkRGF0ZXMgPSAodGhpcy52YWx1ZSBhcyBEYXRlW10pO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLlJBTkdFICYmIHNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlT25seShzZWxlY3RlZERhdGVzWzBdKS5nZXRUaW1lKCkgPT09IGRhdGUuZGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLk1VTFRJKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMuZ2V0RGF0ZU9ubHkoc2VsZWN0ZWREYXRlc1swXSk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmdldERhdGVPbmx5KHNlbGVjdGVkRGF0ZXNbc2VsZWN0ZWREYXRlcy5sZW5ndGggLSAxXSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzV2l0aGluUmFuZ2UoZGF0ZS5kYXRlLCBmYWxzZSwgc3RhcnQsIGVuZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHNlbGVjdGVkRGF0ZXMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQuZ2V0VGltZSgpID09PSBkYXRlLmRhdGUuZ2V0VGltZSgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFjdXJyZW50RGF0ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1dpdGhpblJhbmdlKGRhdGUuZGF0ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzTGFzdEluUmFuZ2UoZGF0ZTogSUNhbGVuZGFyRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1NpbmdsZVNlbGVjdGlvbiB8fCAhdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZhbHVlIGFzIERhdGVbXTtcbiAgICAgICAgY29uc3QgbGFzdERhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwobGFzdERhdGUsIGRhdGUuZGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBpc0ZpcnN0SW5SYW5nZShkYXRlOiBJQ2FsZW5kYXJEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8ICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNFcXVhbCgodGhpcy52YWx1ZSBhcyBEYXRlW10pWzBdLCBkYXRlLmRhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNXaXRoaW5SYW5nZShkYXRlOiBEYXRlLCBjaGVja0ZvclJhbmdlOiBib29sZWFuLCBtaW4/OiBEYXRlLCBtYXg/OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChjaGVja0ZvclJhbmdlICYmICEoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBtaW4gPSBtaW4gPyBtaW4gOiB0aGlzLnZhbHVlWzBdO1xuICAgICAgICBtYXggPSBtYXggPyBtYXggOiB0aGlzLnZhbHVlWyh0aGlzLnZhbHVlIGFzIERhdGVbXSkubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgcmV0dXJuIGlzRGF0ZUluUmFuZ2VzKGRhdGUsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBEYXRlUmFuZ2VUeXBlLkJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGRhdGVSYW5nZTogW21pbiwgbWF4XVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvY3VzQWN0aXZlRGF0ZSgpIHtcbiAgICAgICAgbGV0IGRhdGUgPSB0aGlzLmRhdGVzLmZpbmQoKGQpID0+IGQuc2VsZWN0ZWQpO1xuXG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgZGF0ZSA9IHRoaXMuZGF0ZXMuZmluZCgoZCkgPT4gZC5pc1RvZGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRlLmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICBkYXRlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0RGF5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RGF0ZUZyb21DbGllbnQoZXZlbnQuZGF0ZSk7XG4gICAgICAgIHRoaXMuZGF0ZVNlbGVjdGlvbi5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaXJzdE1vbnRoVmlldygpOiBJZ3hEYXlzVmlld0NvbXBvbmVudCB7XG4gICAgICAgIGxldCBtb250aFZpZXcgPSB0aGlzIGFzIElneERheXNWaWV3Q29tcG9uZW50O1xuICAgICAgICB3aGlsZSAobW9udGhWaWV3LnByZXZNb250aFZpZXcpIHtcbiAgICAgICAgICAgIG1vbnRoVmlldyA9IG1vbnRoVmlldy5wcmV2TW9udGhWaWV3O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb250aFZpZXc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgZGlzYWJsZU91dE9mUmFuZ2VEYXRlcygpIHtcbiAgICAgICAgY29uc3QgZGF0ZVJhbmdlID0gW107XG4gICAgICAgIHRoaXMuZGF0ZXMudG9BcnJheSgpLmZvckVhY2goKGRhdGUpID0+IHtcbiAgICAgICAgICAgIGlmICghZGF0ZS5pc0N1cnJlbnRNb250aCkge1xuICAgICAgICAgICAgICAgIGRhdGVSYW5nZS5wdXNoKGRhdGUuZGF0ZS5kYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vdXRPZlJhbmdlRGF0ZXMgPSBbe1xuICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5TcGVjaWZpYyxcbiAgICAgICAgICAgIGRhdGVSYW5nZVxuICAgICAgICB9XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRMYXN0TW9udGhWaWV3KCk6IElneERheXNWaWV3Q29tcG9uZW50IHtcbiAgICAgICAgbGV0IG1vbnRoVmlldyA9IHRoaXMgYXMgSWd4RGF5c1ZpZXdDb21wb25lbnQ7XG4gICAgICAgIHdoaWxlIChtb250aFZpZXcubmV4dE1vbnRoVmlldykge1xuICAgICAgICAgICAgbW9udGhWaWV3ID0gbW9udGhWaWV3Lm5leHRNb250aFZpZXc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vbnRoVmlldztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgaXNTaW5nbGVTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAhPT0gQ2FsZW5kYXJTZWxlY3Rpb24uUkFOR0U7XG4gICAgfVxufVxuIiwiPGRpdiByb2xlPVwicm93XCIgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2JvZHktcm93XCI+XG4gICAgPGRpdiByb2xlPVwiY29sdW1uaGVhZGVyXCIgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIiBjbGFzcz1cImlneC1jYWxlbmRhcl9fbGFiZWwgaWd4LWNhbGVuZGFyX19sYWJlbC0td2Vlay1udW1iZXJcIj5cbiAgICAgICAgPHNwYW4+V2s8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gcm9sZT1cImNvbHVtbmhlYWRlclwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZGF5TmFtZVwiICpuZ0Zvcj1cImxldCBkYXlOYW1lIG9mIGdlbmVyYXRlV2Vla0hlYWRlcigpXCIgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2xhYmVsXCI+XG4gICAgICAgIHt7IGRheU5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICA8L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdGb3I9XCJsZXQgd2VlayBvZiBnZXRDYWxlbmRhck1vbnRoOyBsYXN0IGFzIGlzTGFzdDsgaW5kZXggYXMgaTsgdHJhY2tCeTogcm93VHJhY2tlclwiXG4gICAgIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19ib2R5LXJvd1wiIHJvbGU9XCJyb3dcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIiBjbGFzcz1cImlneC1jYWxlbmRhcl9fZGF0ZSBpZ3gtY2FsZW5kYXJfX2RhdGUtLXdlZWstbnVtYmVyXCI+XG5cbiAgICAgICAgPHNwYW4gcm9sZT1cInJvd2hlYWRlclwiIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19kYXRlLWNvbnRlbnQgaWd4LWNhbGVuZGFyX19kYXRlLWNvbnRlbnQtLXdlZWstbnVtYmVyXCI+XG4gICAgICAgICAgICB7e2dldFdlZWtOdW1iZXIod2Vla1swXS5kYXRlKX19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSA8aWd4LXdlZWstbnVtYmVyLWl0ZW0gKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIj57e2dldFdlZWtOdW1iZXIod2Vla1swXS5kYXRlKX19PC9pZ3gtd2Vlay1udW1iZXItaXRlbT4gLS0+XG4gICAgPGlneC1kYXktaXRlbVxuICAgICAgICBjbGFzcz1cImlneC1jYWxlbmRhcl9fZGF0ZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogZGF0ZVRyYWNrZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQoZGF5LmRhdGUpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpc0ZpcnN0SW5SYW5nZShkYXkpID8gZGF5LmRhdGUudG9EYXRlU3RyaW5nKCkgKyAnLCAnICsgcmVzb3VyY2VTdHJpbmdzLmlneF9jYWxlbmRhcl9yYW5nZV9zdGFydCA6IGlzTGFzdEluUmFuZ2UoZGF5KSA/IGRheS5kYXRlLnRvRGF0ZVN0cmluZygpICsgJywgJyArICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX2VuZCAgOiBkYXkuZGF0ZS50b0RhdGVTdHJpbmcoKVwiXG4gICAgICAgIFtkYXRlXT1cImRheVwiXG4gICAgICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0aW9uXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIFtpc0xhc3RJblJhbmdlXT1cImlzTGFzdEluUmFuZ2UoZGF5KVwiXG4gICAgICAgIFtpc0ZpcnN0SW5SYW5nZV09XCJpc0ZpcnN0SW5SYW5nZShkYXkpXCJcbiAgICAgICAgW2lzV2l0aGluUmFuZ2VdPVwiaXNXaXRoaW5SYW5nZShkYXkuZGF0ZSwgdHJ1ZSlcIlxuICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgW3NwZWNpYWxEYXRlc109XCJzcGVjaWFsRGF0ZXNcIlxuICAgICAgICBbb3V0T2ZSYW5nZURhdGVzXT1cIm91dE9mUmFuZ2VEYXRlc1wiXG4gICAgICAgIFtoaWRlT3V0c2lkZURheXNdPVwiaGlkZU91dHNpZGVEYXlzXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoZGF5KVwiXG4gICAgICAgIChmb2N1cyk9XCJhY3RpdmVEYXRlID0gZGF5LmRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKClcIlxuICAgICAgICAoZGF0ZVNlbGVjdGlvbik9XCJzZWxlY3REYXkoJGV2ZW50KVwiPlxuICAgICAgICB7eyBmb3JtYXR0ZWREYXRlKGRheS5kYXRlKSB9fVxuICAgIDwvaWd4LWRheS1pdGVtPlxuPC9kaXY+XG5cbiJdfQ==
|
|
419
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9kYXlzLXZpZXcvZGF5cy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFFWixXQUFXLEVBR1gsTUFBTSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFDdEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFpQixjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQXVCLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFFekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFN0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBZ0JoQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBZ0M5RDs7O09BR0c7SUFDSCxJ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ckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRM0IsVUFBVTtzQkFEcEIsS0FBSztnQkFjQyxhQUFhO3NCQURuQixNQUFNO2dCQU9BLFlBQVk7c0JBRGxCLE1BQU07Z0JBT0EsZ0JBQWdCO3NCQUR0QixNQUFNO2dCQU9BLGNBQWM7c0JBRHBCLE1BQU07Z0JBT0EsS0FBSztzQkFEWCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO2dCQVN6RCxVQUFVO3NCQURoQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFrQzFCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxVQUFVO2dCQXVCakIsV0FBVztzQkFMakIsWUFBWTt1QkFBQyxrQkFBa0I7O3NCQUMvQixZQUFZO3VCQUFDLGdCQUFnQjs7c0JBQzdCLFlBQVk7dUJBQUMsd0JBQXdCOztzQkFDckMsWUFBWTt1QkFBQyxzQkFBc0I7O3NCQUNuQyxZQUFZO3VCQUFDLGFBQWE7Z0JBWXBCLGNBQWM7c0JBSnBCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUM1QyxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDN0MsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzFDLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXRDLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlqQyxZQUFZO3NCQURsQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgRG9DaGVjayxcbiAgICBPbkluaXQsXG4gICAgSW5qZWN0LCBMT0NBTEVfSUQsIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxlbmRhclNlbGVjdGlvbiwgSUNhbGVuZGFyRGF0ZSwgaXNEYXRlSW5SYW5nZXMgfSBmcm9tICcuLi8uLi9jYWxlbmRhci9jYWxlbmRhcic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElneERheUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RheS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VEZXNjcmlwdG9yLCBEYXRlUmFuZ2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRlcyc7XG5pbXBvcnQgeyBJZ3hDYWxlbmRhckJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9jYWxlbmRhci1iYXNlJztcbmltcG9ydCB7IGlzRXF1YWwsIFBsYXRmb3JtVXRpbCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSVZpZXdDaGFuZ2luZ0V2ZW50QXJncyB9IGZyb20gJy4vZGF5cy12aWV3LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZ3hEYXlzVmlld05hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZGF5cy12aWV3L2RheXN2aWV3LW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmxldCBORVhUX0lEID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSWd4RGF5c1ZpZXdDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBJZ3hEYXlzVmlld05hdmlnYXRpb25TZXJ2aWNlLCB1c2VDbGFzczogSWd4RGF5c1ZpZXdOYXZpZ2F0aW9uU2VydmljZSB9XG4gICAgXSxcbiAgICBzZWxlY3RvcjogJ2lneC1kYXlzLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnZGF5cy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0ZvciwgSWd4RGF5SXRlbUNvbXBvbmVudCwgVGl0bGVDYXNlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4RGF5c1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBJZ3hDYWxlbmRhckJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgZGF5cyB2aWV3LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtZGF5cy12aWV3LTBcImAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtZGF5cy12aWV3IGlkPVwibXktZGF5cy12aWV3XCI+PC9pZ3gtZGF5cy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgZGF5c1ZpZXdJZCA9ICB0aGlzLmRheXNWaWV3LmlkO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgaWd4LWRheXMtdmlldy0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBjaGFuZ2VEYXlzVmlldyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU2hvdy9oaWRlIHdlZWsgbnVtYmVyc1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1kYXlzLXZpZXcgW3Nob3dXZWVrTnVtYmVyc109XCJ0cnVlXCI+PC9pZ3gtZGF5cy12aWV3PlxuICAgICAqIGBgXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYWN0aXZlRGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZURhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQodGhpcy5fYWN0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3RpdmVEYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRGF0ZSA/IHRoaXMuX2FjdGl2ZURhdGUgOiB0aGlzLnZpZXdEYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGF0ZVNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUNhbGVuZGFyRGF0ZT4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdmlld0NoYW5naW5nID0gbmV3IEV2ZW50RW1pdHRlcjxJVmlld0NoYW5naW5nRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhY3RpdmVEYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG1vbnRoc1ZpZXdCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQFZpZXdDaGlsZHJlbihJZ3hEYXlJdGVtQ29tcG9uZW50LCB7IHJlYWQ6IElneERheUl0ZW1Db21wb25lbnQgfSlcbiAgICBwdWJsaWMgZGF0ZXM6IFF1ZXJ5TGlzdDxJZ3hEYXlJdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IGNzcyBjbGFzcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXInKVxuICAgIHB1YmxpYyBzdHlsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3V0T2ZSYW5nZURhdGVzOiBEYXRlUmFuZ2VEZXNjcmlwdG9yW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG5leHRNb250aFZpZXc6IElneERheXNWaWV3Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgcHJldk1vbnRoVmlldzogSWd4RGF5c1ZpZXdDb21wb25lbnQ7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgc2hvdWxkUmVzZXREYXRlID0gdHJ1ZTtcbiAgICBwcml2YXRlIF9hY3RpdmVEYXRlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGF5c05hdlNlcnZpY2U6IElneERheXNWaWV3TmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHBsYXRmb3JtOiBQbGF0Zm9ybVV0aWwsIEBJbmplY3QoTE9DQUxFX0lEKSBfbG9jYWxlSWQ6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihwbGF0Zm9ybSwgX2xvY2FsZUlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICAgIHB1YmxpYyByZXNldEFjdGl2ZU1vbnRoKCkge1xuICAgICAgICBpZiAodGhpcy5zaG91bGRSZXNldERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGVzLmZpbmQoZGF5ID0+IGRheS5zZWxlY3RlZCAmJiBkYXkuaXNDdXJyZW50TW9udGgpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcy5maW5kKGRheSA9PiBkYXkuaXNUb2RheSAmJiBkYXkuaXNDdXJyZW50TW9udGgpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcy5maW5kKGQgPT4gZC5pc0ZvY3VzYWJsZSk7XG4gICAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGRhdGUuZGF0ZS5kYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5tb250aHNWaWV3Qmx1ci5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnBhZ2Vkb3duJylcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnBhZ2V1cCcpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC5wYWdlZG93bicpXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC5wYWdldXAnKVxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJylcbiAgICBwdWJsaWMgcG9pbnRlckRvd24oKSB7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVzZXREYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93cmlnaHQnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kYXlzTmF2U2VydmljZS5mb2N1c05leHREYXRlKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgZXZlbnQua2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5ob21lJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSG9tZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zaG91bGRSZXNldERhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5nZXRGaXJzdE1vbnRoVmlldygpLmRheXNOYXZTZXJ2aWNlLmZvY3VzSG9tZURhdGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbmQnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25FbmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVzZXREYXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0TGFzdE1vbnRoVmlldygpLmRheXNOYXZTZXJ2aWNlLmZvY3VzRW5kRGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGdldENhbGVuZGFyTW9udGgoKTogSUNhbGVuZGFyRGF0ZVtdW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhck1vZGVsLm1vbnRoZGF0ZXNjYWxlbmRhcih0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kYXlzTmF2U2VydmljZS5tb250aFZpZXcgPSB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuY2hhbmdlRGF5c1ZpZXcgJiYgdGhpcy5kYXRlcykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlT3V0T2ZSYW5nZURhdGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIHRhYkluZGV4KGRheTogSUNhbGVuZGFyRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZURhdGUgJiYgdGhpcy5hY3RpdmVEYXRlID09PSBkYXkuZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKSAmJiBkYXkuaXNDdXJyZW50TW9udGggPyAwIDogLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgd2VlayBudW1iZXIgYnkgZGF0ZVxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRXZWVrTnVtYmVyKGRhdGUpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxlbmRhck1vZGVsLmdldFdlZWtOdW1iZXIoZGF0ZSwgdGhpcy53ZWVrU3RhcnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxvY2FsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0ZSBpbiB0aGUgZGF5cyB2aWV3LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZWREYXRlKHZhbHVlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0Vmlld3MuZGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXJEYXkuZm9ybWF0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7dmFsdWUuZ2V0RGF0ZSgpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZVdlZWtIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBkYXlOYW1lcyA9IFtdO1xuICAgICAgICBjb25zdCBydiA9IHRoaXMuY2FsZW5kYXJNb2RlbC5tb250aGRhdGVzY2FsZW5kYXIodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCkpWzBdO1xuICAgICAgICBmb3IgKGNvbnN0IGRheSBvZiBydikge1xuICAgICAgICAgICAgZGF5TmFtZXMucHVzaCh0aGlzLmZvcm1hdHRlcldlZWtkYXkuZm9ybWF0KGRheS5kYXRlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF5TmFtZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByb3dUcmFja2VyKGluZGV4LCBpdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2l0ZW1baW5kZXhdLmRhdGUuZ2V0TW9udGgoKX0ke2l0ZW1baW5kZXhdLmRhdGUuZ2V0RGF0ZSgpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlVHJhY2tlcihpbmRleCwgaXRlbSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtpdGVtLmRhdGUuZ2V0TW9udGgoKX0tLSR7aXRlbS5kYXRlLmdldERhdGUoKX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNDdXJyZW50TW9udGgodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSA9PT0gdmFsdWUuZ2V0TW9udGgoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzQ3VycmVudFllYXIodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdmFsdWUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzU2VsZWN0ZWQoZGF0ZTogSUNhbGVuZGFyRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWREYXRlczogRGF0ZSB8IERhdGVbXTtcbiAgICAgICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQoZGF0ZS5kYXRlKSB8fCAhdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uID09PSBDYWxlbmRhclNlbGVjdGlvbi5TSU5HTEUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0ZXMgPSAodGhpcy52YWx1ZSBhcyBEYXRlKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERhdGVPbmx5KHNlbGVjdGVkRGF0ZXMpLmdldFRpbWUoKSA9PT0gZGF0ZS5kYXRlLmdldFRpbWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdGVkRGF0ZXMgPSAodGhpcy52YWx1ZSBhcyBEYXRlW10pO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLlJBTkdFICYmIHNlbGVjdGVkRGF0ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlT25seShzZWxlY3RlZERhdGVzWzBdKS5nZXRUaW1lKCkgPT09IGRhdGUuZGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IENhbGVuZGFyU2VsZWN0aW9uLk1VTFRJKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMuZ2V0RGF0ZU9ubHkoc2VsZWN0ZWREYXRlc1swXSk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmdldERhdGVPbmx5KHNlbGVjdGVkRGF0ZXNbc2VsZWN0ZWREYXRlcy5sZW5ndGggLSAxXSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzV2l0aGluUmFuZ2UoZGF0ZS5kYXRlLCBmYWxzZSwgc3RhcnQsIGVuZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHNlbGVjdGVkRGF0ZXMuZmluZChlbGVtZW50ID0+IGVsZW1lbnQuZ2V0VGltZSgpID09PSBkYXRlLmRhdGUuZ2V0VGltZSgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFjdXJyZW50RGF0ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1dpdGhpblJhbmdlKGRhdGUuZGF0ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGlzTGFzdEluUmFuZ2UoZGF0ZTogSUNhbGVuZGFyRGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1NpbmdsZVNlbGVjdGlvbiB8fCAhdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZhbHVlIGFzIERhdGVbXTtcbiAgICAgICAgY29uc3QgbGFzdERhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwobGFzdERhdGUsIGRhdGUuZGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBpc0ZpcnN0SW5SYW5nZShkYXRlOiBJQ2FsZW5kYXJEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzU2luZ2xlU2VsZWN0aW9uIHx8ICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNFcXVhbCgodGhpcy52YWx1ZSBhcyBEYXRlW10pWzBdLCBkYXRlLmRhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNXaXRoaW5SYW5nZShkYXRlOiBEYXRlLCBjaGVja0ZvclJhbmdlOiBib29sZWFuLCBtaW4/OiBEYXRlLCBtYXg/OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChjaGVja0ZvclJhbmdlICYmICEoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBtaW4gPSBtaW4gPyBtaW4gOiB0aGlzLnZhbHVlWzBdO1xuICAgICAgICBtYXggPSBtYXggPyBtYXggOiB0aGlzLnZhbHVlWyh0aGlzLnZhbHVlIGFzIERhdGVbXSkubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgcmV0dXJuIGlzRGF0ZUluUmFuZ2VzKGRhdGUsXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBEYXRlUmFuZ2VUeXBlLkJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGRhdGVSYW5nZTogW21pbiwgbWF4XVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvY3VzQWN0aXZlRGF0ZSgpIHtcbiAgICAgICAgbGV0IGRhdGUgPSB0aGlzLmRhdGVzLmZpbmQoKGQpID0+IGQuc2VsZWN0ZWQpO1xuXG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgZGF0ZSA9IHRoaXMuZGF0ZXMuZmluZCgoZCkgPT4gZC5pc1RvZGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRlLmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICBkYXRlLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0RGF5KGV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0RGF0ZUZyb21DbGllbnQoZXZlbnQuZGF0ZSk7XG4gICAgICAgIHRoaXMuZGF0ZVNlbGVjdGlvbi5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaXJzdE1vbnRoVmlldygpOiBJZ3hEYXlzVmlld0NvbXBvbmVudCB7XG4gICAgICAgIGxldCBtb250aFZpZXcgPSB0aGlzIGFzIElneERheXNWaWV3Q29tcG9uZW50O1xuICAgICAgICB3aGlsZSAobW9udGhWaWV3LnByZXZNb250aFZpZXcpIHtcbiAgICAgICAgICAgIG1vbnRoVmlldyA9IG1vbnRoVmlldy5wcmV2TW9udGhWaWV3O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb250aFZpZXc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgZGlzYWJsZU91dE9mUmFuZ2VEYXRlcygpIHtcbiAgICAgICAgY29uc3QgZGF0ZVJhbmdlID0gW107XG4gICAgICAgIHRoaXMuZGF0ZXMudG9BcnJheSgpLmZvckVhY2goKGRhdGUpID0+IHtcbiAgICAgICAgICAgIGlmICghZGF0ZS5pc0N1cnJlbnRNb250aCkge1xuICAgICAgICAgICAgICAgIGRhdGVSYW5nZS5wdXNoKGRhdGUuZGF0ZS5kYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vdXRPZlJhbmdlRGF0ZXMgPSBbe1xuICAgICAgICAgICAgdHlwZTogRGF0ZVJhbmdlVHlwZS5TcGVjaWZpYyxcbiAgICAgICAgICAgIGRhdGVSYW5nZVxuICAgICAgICB9XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRMYXN0TW9udGhWaWV3KCk6IElneERheXNWaWV3Q29tcG9uZW50IHtcbiAgICAgICAgbGV0IG1vbnRoVmlldyA9IHRoaXMgYXMgSWd4RGF5c1ZpZXdDb21wb25lbnQ7XG4gICAgICAgIHdoaWxlIChtb250aFZpZXcubmV4dE1vbnRoVmlldykge1xuICAgICAgICAgICAgbW9udGhWaWV3ID0gbW9udGhWaWV3Lm5leHRNb250aFZpZXc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vbnRoVmlldztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgaXNTaW5nbGVTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAhPT0gQ2FsZW5kYXJTZWxlY3Rpb24uUkFOR0U7XG4gICAgfVxufVxuIiwiPGRpdiByb2xlPVwicm93XCIgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2JvZHktcm93XCI+XG4gICAgPGRpdiByb2xlPVwiY29sdW1uaGVhZGVyXCIgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIiBjbGFzcz1cImlneC1jYWxlbmRhcl9fbGFiZWwgaWd4LWNhbGVuZGFyX19sYWJlbC0td2Vlay1udW1iZXJcIj5cbiAgICAgICAgPHNwYW4+V2s8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gcm9sZT1cImNvbHVtbmhlYWRlclwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZGF5TmFtZVwiICpuZ0Zvcj1cImxldCBkYXlOYW1lIG9mIGdlbmVyYXRlV2Vla0hlYWRlcigpXCIgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2xhYmVsXCI+XG4gICAgICAgIHt7IGRheU5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICA8L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAqbmdGb3I9XCJsZXQgd2VlayBvZiBnZXRDYWxlbmRhck1vbnRoOyBsYXN0IGFzIGlzTGFzdDsgaW5kZXggYXMgaTsgdHJhY2tCeTogcm93VHJhY2tlclwiXG4gICAgIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19ib2R5LXJvd1wiIHJvbGU9XCJyb3dcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIiBjbGFzcz1cImlneC1jYWxlbmRhcl9fZGF0ZSBpZ3gtY2FsZW5kYXJfX2RhdGUtLXdlZWstbnVtYmVyXCI+XG5cbiAgICAgICAgPHNwYW4gcm9sZT1cInJvd2hlYWRlclwiIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19kYXRlLWNvbnRlbnQgaWd4LWNhbGVuZGFyX19kYXRlLWNvbnRlbnQtLXdlZWstbnVtYmVyXCI+XG4gICAgICAgICAgICB7e2dldFdlZWtOdW1iZXIod2Vla1swXS5kYXRlKX19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSA8aWd4LXdlZWstbnVtYmVyLWl0ZW0gKm5nSWY9XCJzaG93V2Vla051bWJlcnNcIj57e2dldFdlZWtOdW1iZXIod2Vla1swXS5kYXRlKX19PC9pZ3gtd2Vlay1udW1iZXItaXRlbT4gLS0+XG4gICAgPGlneC1kYXktaXRlbVxuICAgICAgICBjbGFzcz1cImlneC1jYWxlbmRhcl9fZGF0ZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogZGF0ZVRyYWNrZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQoZGF5LmRhdGUpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpc0ZpcnN0SW5SYW5nZShkYXkpID8gZGF5LmRhdGUudG9EYXRlU3RyaW5nKCkgKyAnLCAnICsgcmVzb3VyY2VTdHJpbmdzLmlneF9jYWxlbmRhcl9yYW5nZV9zdGFydCA6IGlzTGFzdEluUmFuZ2UoZGF5KSA/IGRheS5kYXRlLnRvRGF0ZVN0cmluZygpICsgJywgJyArICByZXNvdXJjZVN0cmluZ3MuaWd4X2NhbGVuZGFyX3JhbmdlX2VuZCAgOiBkYXkuZGF0ZS50b0RhdGVTdHJpbmcoKVwiXG4gICAgICAgIFtkYXRlXT1cImRheVwiXG4gICAgICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0aW9uXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoZGF5KVwiXG4gICAgICAgIFtpc0xhc3RJblJhbmdlXT1cImlzTGFzdEluUmFuZ2UoZGF5KVwiXG4gICAgICAgIFtpc0ZpcnN0SW5SYW5nZV09XCJpc0ZpcnN0SW5SYW5nZShkYXkpXCJcbiAgICAgICAgW2lzV2l0aGluUmFuZ2VdPVwiaXNXaXRoaW5SYW5nZShkYXkuZGF0ZSwgdHJ1ZSlcIlxuICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgW3NwZWNpYWxEYXRlc109XCJzcGVjaWFsRGF0ZXNcIlxuICAgICAgICBbb3V0T2ZSYW5nZURhdGVzXT1cIm91dE9mUmFuZ2VEYXRlc1wiXG4gICAgICAgIFtoaWRlT3V0c2lkZURheXNdPVwiaGlkZU91dHNpZGVEYXlzXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoZGF5KVwiXG4gICAgICAgIChmb2N1cyk9XCJhY3RpdmVEYXRlID0gZGF5LmRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKClcIlxuICAgICAgICAoZGF0ZVNlbGVjdGlvbik9XCJzZWxlY3REYXkoJGV2ZW50KVwiPlxuICAgICAgICB7eyBmb3JtYXR0ZWREYXRlKGRheS5kYXRlKSB9fVxuICAgIDwvaWd4LWRheS1pdGVtPlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -177,10 +177,10 @@ export class IgxDaysViewNavigationService {
|
|
|
177
177
|
}
|
|
178
178
|
return false;
|
|
179
179
|
}
|
|
180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
181
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
180
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDaysViewNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
181
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDaysViewNavigationService }); }
|
|
182
182
|
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxDaysViewNavigationService, decorators: [{
|
|
184
184
|
type: Injectable
|
|
185
185
|
}] });
|
|
186
186
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5c3ZpZXctbmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2RheXMtdmlldy9kYXlzdmlldy1uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUUxQyxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDViwyQkFBYyxDQUFBO0lBQ2QsK0JBQWtCLENBQUE7SUFDbEIsK0JBQWtCLENBQUE7SUFDbEIsaUNBQW9CLENBQUE7QUFDeEIsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUM7QUFFdEIsY0FBYztBQUVkLE1BQU0sT0FBTyw0QkFBNEI7SUFFckM7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxNQUFtQixFQUFFLEdBQVcsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUNuRSxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFDRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDN0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLElBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxHQUF3QixDQUFDO1FBQUMsSUFBSSxJQUFJLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztRQUFDLElBQUksUUFBYyxDQUFDO1FBQ3RFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU87U0FDVjtRQUVELDhCQUE4QjtRQUM5QixRQUFRLEdBQUcsRUFBRTtZQUNULEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELEtBQUssQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN4QixHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDekIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt3QkFDdEIsTUFBTTtxQkFDVDtvQkFDRCxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO3dCQUN4QixHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUMxQixPQUFPO3FCQUNWO2lCQUNKO2dCQUNELE1BQU07YUFDVDtZQUNELEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNULFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxLQUFLLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN2QyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDekIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt3QkFDdEIsTUFBTTtxQkFDVDtvQkFDRCxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO3dCQUN4QixHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUMxQixPQUFPO3FCQUNWO2lCQUNKO2dCQUNELE1BQU07YUFDVDtZQUNELEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDVixRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEQsS0FBSyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDaEMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3pCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7d0JBQ3RCLE1BQU07cUJBQ1Q7b0JBQ0QsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTt3QkFDeEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDMUIsT0FBTztxQkFDVjtpQkFDSjtnQkFDRCxNQUFNO2FBQ1Q7WUFDRCxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakIsSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDVCxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEQsS0FBSyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2hDLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUN6QixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO3dCQUN0QixNQUFNO3FCQUNUO29CQUNELElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUU7d0JBQ3hCLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQzFCLE9BQU87cUJBQ1Y7aUJBQ0o7Z0JBQ0QsTUFBTTthQUNUO1NBQ0o7UUFFRCx3Q0FBd0M7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUNuRixJQUFJLGFBQWEsRUFBRTtZQUNmLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUU1RSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO2dCQUN4QixHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMxQixPQUFPO2FBQ1Y7WUFDRCxhQUFhLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsbUhBQW1IO1FBQ25ILG1HQUFtRztRQUNuRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUU7WUFDekIsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDTixRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO2FBQy9EO1NBQ0o7UUFFRCxnRUFBZ0U7UUFDaEUsSUFBSSxjQUF1QixDQUFDLENBQUMsc0ZBQXNGO1FBQ25ILElBQUksR0FBRyxFQUFFO1lBQ0wsY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUMzRTtRQUNELElBQUksU0FBUyxDQUFDLGNBQWMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakYsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNuRSxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztTQUM3RDtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYTtRQUNoQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxhQUFhLEVBQUU7WUFDOUQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVk7UUFDZixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxhQUFhLEVBQUU7WUFDN0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVUsRUFBRSxLQUFhO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUErQjtRQUNqRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxZQUFZLENBQUMsU0FBK0I7UUFDaEQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzttSEEvS1EsNEJBQTRCO3VIQUE1Qiw0QkFBNEI7O2dHQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hEYXlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXktaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RGF5c1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL2RheXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Nyb2xsTW9udGggfSBmcm9tICcuLi9jYWxlbmRhcic7XG5cbmVudW0gRGlyZWN0aW9uIHtcbiAgICBVcCA9ICdBcnJvd1VwJyxcbiAgICBEb3duID0gJ0Fycm93RG93bicsXG4gICAgTGVmdCA9ICdBcnJvd0xlZnQnLFxuICAgIFJpZ2h0ID0gJ0Fycm93UmlnaHQnLFxufVxuXG5jb25zdCBBUlJPVyA9ICdBcnJvdyc7XG5cbi8qKiBAaGlkZGVuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWd4RGF5c1ZpZXdOYXZpZ2F0aW9uU2VydmljZSB7XG4gICAgcHVibGljIG1vbnRoVmlldzogSWd4RGF5c1ZpZXdDb21wb25lbnQ7XG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50cyBrYiBuYXZpZ2F0aW9uIGluIGFsbCBNb3ZlRGlyZWN0aW9ucy4gbmV4dERhdGUgYW5kIG5leHRNb250aFZpZXcgbmFtaW5nIGNvbnZlbnRpb24gaXMgdXNlZCBmb3IgYm90aCBwcmV2aW91cy9uZXh0XG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvY3VzTmV4dERhdGUodGFyZ2V0OiBIVE1MRWxlbWVudCwga2V5OiBzdHJpbmcsIG5leHRWaWV3ID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRhcmdldC5jaGlsZEVsZW1lbnRDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleS5pbmRleE9mKCdBcnJvdycpID09PSAtMSkge1xuICAgICAgICAgICAga2V5ID0gQVJST1cuY29uY2F0KGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9udGhWaWV3ID0gdGhpcy5tb250aFZpZXc7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBtb250aFZpZXcuZGF0ZXMuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSB0YXJnZXQpO1xuICAgICAgICBsZXQgZGF0ZXMgPSBtb250aFZpZXcuZGF0ZXMudG9BcnJheSgpO1xuICAgICAgICAgICAgbGV0IGRheTogSWd4RGF5SXRlbUNvbXBvbmVudDsgbGV0IHN0ZXA7IGxldCBpOyBsZXQgbmV4dERhdGU6IERhdGU7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZGF0ZXMuaW5kZXhPZihub2RlKTtcblxuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvY3VzIGl0ZW0gaW4gY3VycmVudCBtb250aFxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSBEaXJlY3Rpb24uTGVmdDoge1xuICAgICAgICAgICAgICAgIHN0ZXAgPSAtMTtcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZSA9IHRoaXMudGltZWRlbHRhKG5vZGUuZGF0ZS5kYXRlLCBzdGVwKTtcbiAgICAgICAgICAgICAgICBmb3IgKGkgPSBpbmRleDsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgICAgICAgICBkYXkgPSBuZXh0VmlldyA/IGRhdGVzW2ldIDogZGF0ZXNbaSAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBuZXh0RGF0ZSA9IGRheS5kYXRlLmRhdGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXkuZGF0ZS5pc1ByZXZNb250aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGRheSAmJiBkYXkuaXNGb2N1c2FibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRheS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIERpcmVjdGlvbi5SaWdodDoge1xuICAgICAgICAgICAgICAgIHN0ZXAgPSAxO1xuICAgICAgICAgICAgICAgIG5leHREYXRlID0gdGhpcy50aW1lZGVsdGEobm9kZS5kYXRlLmRhdGUsIHN0ZXApO1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IGluZGV4OyBpIDwgZGF0ZXMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGRheSA9IG5leHRWaWV3ID8gZGF0ZXNbaV0gOiBkYXRlc1tpICsgMV07XG4gICAgICAgICAgICAgICAgICAgIG5leHREYXRlID0gZGF5LmRhdGUuZGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRheS5kYXRlLmlzTmV4dE1vbnRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZGF5ICYmIGRheS5pc0ZvY3VzYWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF5Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgRGlyZWN0aW9uLlVwOiB7XG4gICAgICAgICAgICAgICAgc3RlcCA9IC03O1xuICAgICAgICAgICAgICAgIG5leHREYXRlID0gdGhpcy50aW1lZGVsdGEobm9kZS5kYXRlLmRhdGUsIHN0ZXApO1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IGluZGV4OyBpIC0gNyA+IC0xOyBpIC09IDcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF5ID0gbmV4dFZpZXcgPyBkYXRlc1tpXSA6IGRhdGVzW2kgLSA3XTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dERhdGUgPSBkYXkuZGF0ZS5kYXRlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF5LmRhdGUuaXNQcmV2TW9udGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXkgJiYgZGF5LmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBEaXJlY3Rpb24uRG93bjoge1xuICAgICAgICAgICAgICAgIHN0ZXAgPSA3O1xuICAgICAgICAgICAgICAgIG5leHREYXRlID0gdGhpcy50aW1lZGVsdGEobm9kZS5kYXRlLmRhdGUsIHN0ZXApO1xuICAgICAgICAgICAgICAgIGZvciAoaSA9IGluZGV4OyBpICsgNyA8IDQyOyBpICs9IDcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF5ID0gbmV4dFZpZXcgPyBkYXRlc1tpXSA6IGRhdGVzW2kgKyA3XTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dERhdGUgPSBkYXkuZGF0ZS5kYXRlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF5LmRhdGUuaXNOZXh0TW9udGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXkgJiYgZGF5LmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXMgaXRlbSBpbiBwcmV2L25leHQgdmlzaWJsZSBtb250aFxuICAgICAgICBjb25zdCBuZXh0TW9udGhWaWV3ID0gc3RlcCA+IDAgPyBtb250aFZpZXcubmV4dE1vbnRoVmlldyA6IG1vbnRoVmlldy5wcmV2TW9udGhWaWV3O1xuICAgICAgICBpZiAobmV4dE1vbnRoVmlldykge1xuICAgICAgICAgICAgZGF0ZXMgPSBuZXh0TW9udGhWaWV3LmRhdGVzLnRvQXJyYXkoKTtcbiAgICAgICAgICAgIGRheSA9IGRhdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZGF0ZS5kYXRlLmdldFRpbWUoKSA9PT0gbmV4dERhdGUuZ2V0VGltZSgpKTtcblxuICAgICAgICAgICAgaWYgKGRheSAmJiBkYXkuaXNGb2N1c2FibGUpIHtcbiAgICAgICAgICAgICAgICBkYXkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHRNb250aFZpZXcuZGF5c05hdlNlcnZpY2UuZm9jdXNOZXh0RGF0ZShkYXkubmF0aXZlRWxlbWVudCwga2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIGl0ZXJhdGluZyBpbiB0aGUgdmlzaWJsZSBwcmV2L25leHQgbW90aHMgYWJvdmUgZm91bmQgYSBkYXkgdGhhdCBpcyBub3QgZm9jdXNhYmxlLCBpZSBpcyBkaXNhYmxlZCwgaGlkZGVuLCBldGNcbiAgICAgICAgLy8gdGhlbiBpdCBpcyBuZWVkZWQgdG8gcmVjYWxjdWxhdGUgdGhlIG5leHQgZGF5LCB3aGljaCBpcyBnb2luZyB0byBiZSBwYXJ0IG9mIHRoZSBwcmV2L25leHQgbW9udGhzXG4gICAgICAgIGlmIChkYXkgJiYgIWRheS5pc0ZvY3VzYWJsZSkge1xuICAgICAgICAgICAgZGF5ID0gZGF0ZXNbaSArIHN0ZXBdO1xuICAgICAgICAgICAgaWYgKCFkYXkpIHtcbiAgICAgICAgICAgICAgICBuZXh0RGF0ZSA9IHRoaXMudGltZWRlbHRhKG5vZGUuZGF0ZS5kYXRlLCBzdGVwICsgaSAtIGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZvY3VzIGl0ZW0gaW4gcHJldi9uZXh0IG1vbnRoLCB3aGljaCBpcyBjdXJyZW50bHkgb3V0IG9mIHZpZXdcbiAgICAgICAgbGV0IGRheUlzTmV4dE1vbnRoOiBib29sZWFuOyAvLyBkZXRlcm1pbmUgd2hhdCB3ZSBuZWVkIHRvIGNoZWNrIGZvciBuZXh0IGRhdGUgLSBpZiBpdCBiZWxvbmdzIHRvIHByZXYgb3IgbmV4dCBtb250aFxuICAgICAgICBpZiAoZGF5KSB7XG4gICAgICAgICAgICBkYXlJc05leHRNb250aCA9IHN0ZXAgPiAwID8gZGF5LmRhdGUuaXNOZXh0TW9udGggOiBkYXkuZGF0ZS5pc1ByZXZNb250aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9udGhWaWV3LmNoYW5nZURheXNWaWV3ICYmICFuZXh0TW9udGhWaWV3ICYmICgoZGF5ICYmIGRheUlzTmV4dE1vbnRoKSB8fCAhZGF5KSkge1xuICAgICAgICAgICAgY29uc3QgbW9udGhBY3Rpb24gPSBzdGVwID4gMCA/IFNjcm9sbE1vbnRoLk5FWFQgOiBTY3JvbGxNb250aC5QUkVWO1xuICAgICAgICAgICAgbW9udGhWaWV3LnZpZXdDaGFuZ2luZy5lbWl0KHttb250aEFjdGlvbiwga2V5LCBuZXh0RGF0ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyBmaXJzdCBmb2N1c2FibGUgZGF5IGluIHRoZSBtb250aC4gV2lsbCBnbyB0byBuZXh0IHZpc2libGUgbW9udGgsIGlmIG5vIGRheSBpbiB0aGUgZmlyc3QgbW9udGggaXMgZm9jdXNhYmxlXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGZvY3VzSG9tZURhdGUoKSB7XG4gICAgICAgIGxldCBtb250aFZpZXcgPSB0aGlzLm1vbnRoVmlldztcbiAgICAgICAgd2hpbGUgKCF0aGlzLmZvY3VzRmlyc3REYXkobW9udGhWaWV3KSAmJiBtb250aFZpZXcubmV4dE1vbnRoVmlldykge1xuICAgICAgICAgICAgbW9udGhWaWV3ID0gbW9udGhWaWV3Lm5leHRNb250aFZpZXc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2N1c2VzIGxhc3QgZm9jdXNhYmxlIGRheSBpbiB0aGUgbW9udGguIFdpbGwgZ28gdG8gcHJldmlvdXMgdmlzaWJsZSBtb250aCwgaWYgbm8gZGF5IGluIHRoZSBmaXJzdCBtb250aCBpcyBmb2N1c2FibGVcbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZm9jdXNFbmREYXRlKCkge1xuICAgICAgICBsZXQgbW9udGhWaWV3ID0gdGhpcy5tb250aFZpZXc7XG4gICAgICAgIHdoaWxlICghdGhpcy5mb2N1c0xhc3REYXkobW9udGhWaWV3KSAmJiBtb250aFZpZXcucHJldk1vbnRoVmlldykge1xuICAgICAgICAgICAgbW9udGhWaWV3ID0gbW9udGhWaWV3LnByZXZNb250aFZpZXc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRpbWVkZWx0YShkYXRlOiBEYXRlLCB1bml0czogbnVtYmVyKTogRGF0ZSB7XG4gICAgICAgIGNvbnN0IHJldCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICByZXQuc2V0RGF0ZShyZXQuZ2V0RGF0ZSgpICsgdW5pdHMpO1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNGaXJzdERheShtb250aFZpZXc6IElneERheXNWaWV3Q29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gbW9udGhWaWV3LmRhdGVzLmZpbHRlcihkID0+IGQuaXNDdXJyZW50TW9udGgpO1xuICAgICAgICBmb3IgKGNvbnN0IGRhdGUgb2YgZGF0ZXMpIHtcbiAgICAgICAgICAgIGlmIChkYXRlLmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgZGF0ZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNMYXN0RGF5KG1vbnRoVmlldzogSWd4RGF5c1ZpZXdDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBtb250aFZpZXcuZGF0ZXMuZmlsdGVyKGQgPT4gZC5pc0N1cnJlbnRNb250aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBkYXRlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKGRhdGVzW2ldLmlzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgZGF0ZXNbaV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -88,10 +88,10 @@ export class IgxMonthPickerBaseDirective extends IgxCalendarBaseDirective {
|
|
|
88
88
|
}
|
|
89
89
|
return `${value.getFullYear()}`;
|
|
90
90
|
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
92
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthPickerBaseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
92
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.3", type: IgxMonthPickerBaseDirective, isStandalone: true, selector: "[igxMonthPickerBase]", inputs: { activeView: "activeView" }, viewQueries: [{ propertyName: "yearsBtns", predicate: ["yearsBtn"], descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
93
93
|
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthPickerBaseDirective, decorators: [{
|
|
95
95
|
type: Directive,
|
|
96
96
|
args: [{
|
|
97
97
|
selector: '[igxMonthPickerBase]',
|
|
@@ -183,8 +183,8 @@ export class IgxMonthPickerComponent extends IgxMonthPickerBaseDirective {
|
|
|
183
183
|
getPreviousYear() {
|
|
184
184
|
return this.calendarModel.getPrevYear(this.viewDate).getFullYear();
|
|
185
185
|
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
187
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.
|
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.3", type: IgxMonthPickerComponent, isStandalone: true, selector: "igx-month-picker", inputs: { id: "id" }, host: { listeners: { "keydown.pageup": "previousYear($event)", "keydown.pagedown": "nextYear($event)", "keydown.home": "onKeydownHome($event)", "keydown.end": "onKeydownEnd($event)" }, properties: { "attr.id": "this.id", "class.igx-calendar": "this.styleClass" } }, providers: [
|
|
188
188
|
{
|
|
189
189
|
multi: true,
|
|
190
190
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -214,7 +214,7 @@ export class IgxMonthPickerComponent extends IgxMonthPickerBaseDirective {
|
|
|
214
214
|
])
|
|
215
215
|
] }); }
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthPickerComponent, decorators: [{
|
|
218
218
|
type: Component,
|
|
219
219
|
args: [{ providers: [
|
|
220
220
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Output, EventEmitter, Input, HostBinding, HostListener, ViewChildren } from '@angular/core';
|
|
1
|
+
import { Component, Output, EventEmitter, Input, HostBinding, HostListener, ViewChildren, booleanAttribute } from '@angular/core';
|
|
2
2
|
import { Calendar } from '../calendar';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { IgxCalendarMonthDirective } from '../calendar.directives';
|
|
@@ -315,10 +315,10 @@ export class IgxMonthsViewComponent {
|
|
|
315
315
|
initMonthFormatter() {
|
|
316
316
|
this._formatterMonth = new Intl.DateTimeFormat(this._locale, { month: this.monthFormat });
|
|
317
317
|
}
|
|
318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
319
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthsViewComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
319
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-rc.3", type: IgxMonthsViewComponent, isStandalone: true, selector: "igx-months-view", inputs: { id: "id", date: "date", monthFormat: "monthFormat", locale: "locale", formatView: ["formatView", "formatView", booleanAttribute] }, outputs: { selected: "selected" }, host: { listeners: { "keydown.arrowup": "onKeydownArrowUp($event)", "keydown.arrowdown": "onKeydownArrowDown($event)", "keydown.arrowright": "onKeydownArrowRight($event)", "keydown.arrowleft": "onKeydownArrowLeft($event)", "keydown.home": "onKeydownHome($event)", "keydown.end": "onKeydownEnd($event)", "keydown.enter": "onKeydownEnter($event)", "focusout": "resetActiveMonth()" }, properties: { "attr.id": "this.id", "class.igx-calendar": "this.styleClass" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxMonthsViewComponent, multi: true }], viewQueries: [{ propertyName: "monthsRef", predicate: IgxCalendarMonthDirective, descendants: true, read: IgxCalendarMonthDirective }], ngImport: i0, template: "<div class=\"igx-calendar__body\">\n <div class=\"igx-calendar__body-row igx-calendar__body-row--wrap\">\n <span\n class=\"igx-calendar__month\"\n role=\"button\"\n [attr.aria-label]=\"month | date: 'LLLL'\"\n [igxCalendarMonth]=\"month\"\n [date]=\"date\"\n [attr.tabindex]=\"activeMonth === month.getMonth() ? 0 : -1\"\n (monthSelection)=\"selectMonth($event)\" [index]=\"i\"\n *ngFor=\"let month of months; index as i; trackBy: monthTracker\">\n {{ formattedMonth(month) | titlecase }}\n </span>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IgxCalendarMonthDirective, selector: "[igxCalendarMonth]", inputs: ["igxCalendarMonth", "date", "index"], outputs: ["monthSelection"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: DatePipe, name: "date" }] }); }
|
|
320
320
|
}
|
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.3", ngImport: i0, type: IgxMonthsViewComponent, decorators: [{
|
|
322
322
|
type: Component,
|
|
323
323
|
args: [{ providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: IgxMonthsViewComponent, multi: true }], selector: 'igx-months-view', standalone: true, imports: [NgFor, IgxCalendarMonthDirective, TitleCasePipe, DatePipe], template: "<div class=\"igx-calendar__body\">\n <div class=\"igx-calendar__body-row igx-calendar__body-row--wrap\">\n <span\n class=\"igx-calendar__month\"\n role=\"button\"\n [attr.aria-label]=\"month | date: 'LLLL'\"\n [igxCalendarMonth]=\"month\"\n [date]=\"date\"\n [attr.tabindex]=\"activeMonth === month.getMonth() ? 0 : -1\"\n (monthSelection)=\"selectMonth($event)\" [index]=\"i\"\n *ngFor=\"let month of months; index as i; trackBy: monthTracker\">\n {{ formattedMonth(month) | titlecase }}\n </span>\n </div>\n</div>\n\n" }]
|
|
324
324
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{
|
|
@@ -333,7 +333,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
333
333
|
}], locale: [{
|
|
334
334
|
type: Input
|
|
335
335
|
}], formatView: [{
|
|
336
|
-
type: Input
|
|
336
|
+
type: Input,
|
|
337
|
+
args: [{ transform: booleanAttribute }]
|
|
337
338
|
}], selected: [{
|
|
338
339
|
type: Output
|
|
339
340
|
}], styleClass: [{
|
|
@@ -367,4 +368,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.1", ng
|
|
|
367
368
|
type: HostListener,
|
|
368
369
|
args: ['focusout']
|
|
369
370
|
}] } });
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL21vbnRocy12aWV3L21vbnRocy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9tb250aHMtdmlldy9tb250aHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRWpFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQVNoQixNQUFNLE9BQU8sc0JBQXNCO0lBaUIvQjs7Ozs7Ozs7Ozs7T0FXRztJQUNILElBQ1csSUFBSSxDQUFDLEtBQVc7UUFDdkIsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQ1csV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLFdBQVcsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQ1csTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBbUNEOzs7Ozs7O09BT0c7SUFDSCxJQUFXLE1BQU07UUFDYixJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQXNDRCxZQUFtQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXZMakM7Ozs7Ozs7Ozs7O1dBV0c7UUFHSSxPQUFFLEdBQUcsbUJBQW1CLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFnRjNDOzs7V0FHRztRQUVJLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFekI7Ozs7Ozs7O1dBUUc7UUFFSSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUzQzs7OztXQUlHO1FBRUksZUFBVSxHQUFHLElBQUksQ0FBQztRQWtDakIsVUFBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFNM0I7O1dBRUc7UUFDSyxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXZCOztXQUVHO1FBQ0ssaUJBQVksR0FBRyxPQUFPLENBQUM7UUFPL0I7O1dBRUc7UUFDSyx1QkFBa0IsR0FBZSxJQUFJLENBQUM7UUFDOUM7O1dBRUc7UUFDSyxzQkFBaUIsR0FBc0IsSUFBSSxDQUFDO1FBR2hELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFFSSxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUN4QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsT0FBTztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFNUQsS0FBSyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLEVBQUU7Z0JBQ3RGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQyxNQUFNO2FBQ1Q7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLGtCQUFrQixDQUFDLEtBQW9CO1FBQzFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1RCxLQUFLLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxZQUFZLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLEVBQUc7Z0JBQ3ZGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQyxNQUFNO2FBQ1Q7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLG1CQUFtQixDQUFDLEtBQW9CO1FBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLGtCQUFrQixDQUFDLEtBQW9CO1FBQzFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBRUksYUFBYSxDQUFDLEtBQW9CO1FBQ3JDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFFSSxZQUFZLENBQUMsS0FBb0I7UUFDcEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUVJLGNBQWMsQ0FBQyxLQUFLO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdNLGdCQUFnQjtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsS0FBVztRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxFQUFxQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQixDQUFDLEVBQWM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBVztRQUN6QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO21IQXJZUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0cEJBTnBCLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyx3REFtSS9FLHlCQUF5QiwyQkFBVSx5QkFBeUIsNkJDdko5RSxnb0JBZ0JBLDRDRFFjLEtBQUssbUhBQUUseUJBQXlCLHNJQUFFLGFBQWEsNkNBQUUsUUFBUTs7Z0dBRTFELHNCQUFzQjtrQkFQbEMsU0FBUztnQ0FDSyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLFlBQ25GLGlCQUFpQixjQUVmLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDOytFQWlCN0QsRUFBRTtzQkFGUixXQUFXO3VCQUFDLFNBQVM7O3NCQUNyQixLQUFLO2dCQWdCSyxJQUFJO3NCQURkLEtBQUs7Z0JBb0JLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBNEJLLE1BQU07c0JBRGhCLEtBQUs7Z0JBeUJDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBYUMsUUFBUTtzQkFEZCxNQUFNO2dCQVNBLFVBQVU7c0JBRGhCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU8xQixTQUFTO3NCQURmLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUU7Z0JBb0VyRSxnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNkJwQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBNkJ0QyxtQkFBbUI7c0JBRHpCLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBc0J2QyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBc0J0QyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjakMsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZWhDLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVsQyxnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyIH0gZnJvbSAnLi4vY2FsZW5kYXInO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSWd4Q2FsZW5kYXJNb250aERpcmVjdGl2ZSB9IGZyb20gJy4uL2NhbGVuZGFyLmRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmdGb3IsIFRpdGxlQ2FzZVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogSWd4TW9udGhzVmlld0NvbXBvbmVudCwgbXVsdGk6IHRydWUgfV0sXG4gICAgc2VsZWN0b3I6ICdpZ3gtbW9udGhzLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnbW9udGhzLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nRm9yLCBJZ3hDYWxlbmRhck1vbnRoRGlyZWN0aXZlLCBUaXRsZUNhc2VQaXBlLCBEYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4TW9udGhzVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICAvKipcbiAgICAgKiBTZXRzL2dldHMgdGhlIGBpZGAgb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIElmIG5vdCBzZXQsIHRoZSBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtbW9udGhzLXZpZXctMFwiYC5cbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1tb250aHMtdmlldyBpZD1cIm15LW1vbnRocy12aWV3XCI+PC9pZ3gtbW9udGhzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBtb250aHNWaWV3SWQgPSAgdGhpcy5tb250aHNWaWV3LmlkO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYGlneC1tb250aHMtdmlldy0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogR2V0cy9zZXRzIHRoZSBzZWxlY3RlZCBkYXRlIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBCeSBkZWZhdWx0IGl0IGlzIHRoZSBjdXJyZW50IGRhdGUuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXcgW2RhdGVdPVwibXlEYXRlXCI+PC9pZ3gtbW9udGhzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBkYXRlID0gIHRoaXMubW9udGhzVmlldy5kYXRlO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGF0ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gdGhpcy5kYXRlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBtb250aCBmb3JtYXQgb3B0aW9uIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IG1vbnRoRm9ybWF0ID0gdGhpcy5tb250aHNWaWV3Lm1vbnRoRm9ybWF0LlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtb250aEZvcm1hdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhGb3JtYXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbW9udGggZm9ybWF0IG9wdGlvbiBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXc+IFttb250aEZvcm1hdF09XCJzaG9ydCdcIjwvaWd4LW1vbnRocy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IG1vbnRoRm9ybWF0KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fbW9udGhGb3JtYXQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0TW9udGhGb3JtYXR0ZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBgbG9jYWxlYCBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBgXCJlblwiYC5cbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGxvY2FsZSA9ICB0aGlzLm1vbnRoc1ZpZXcubG9jYWxlO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbG9jYWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYGxvY2FsZWAgb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIEV4cGVjdHMgYSB2YWxpZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLlxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYFwiZW5cImAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXcgW2xvY2FsZV09XCJkZVwiPjwvaWd4LW1vbnRocy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIElneE1vbnRoc1ZpZXdDb21wb25lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmluaXRNb250aEZvcm1hdHRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMvc2V0cyB3aGV0aGVyIHRoZSB2aWV3IHNob3VsZCBiZSByZW5kZXJlZFxuICAgICAqIGFjY29yZGluZyB0byB0aGUgbG9jYWxlIGFuZCBtb250aEZvcm1hdCwgaWYgYW55LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1hdFZpZXcgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgYW4gZXZlbnQgd2hlbiBhIHNlbGVjdGlvbiBpcyBtYWRlIGluIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBQcm92aWRlcyByZWZlcmVuY2UgdGhlIGBkYXRlYCBwcm9wZXJ0eSBpbiB0aGUgYElneE1vbnRoc1ZpZXdDb21wb25lbnRgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LW1vbnRocy12aWV3IChzZWxlY3RlZCk9XCJvblNlbGVjdGlvbigkZXZlbnQpXCI+PC9pZ3gtbW9udGhzLXZpZXc+XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgSWd4TW9udGhzVmlld0NvbXBvbmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IGNzcyBjbGFzcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FsZW5kYXInKVxuICAgIHB1YmxpYyBzdHlsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkcmVuKElneENhbGVuZGFyTW9udGhEaXJlY3RpdmUsIHsgcmVhZDogSWd4Q2FsZW5kYXJNb250aERpcmVjdGl2ZSB9KVxuICAgIHB1YmxpYyBtb250aHNSZWY6IFF1ZXJ5TGlzdDxJZ3hDYWxlbmRhck1vbnRoRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgZGF0ZSBvYmplY3RzIHdoaWNoIGFyZSB0aGVuIHVzZWQgdG9cbiAgICAgKiBwcm9wZXJseSByZW5kZXIgdGhlIG1vbnRoIG5hbWVzLlxuICAgICAqXG4gICAgICogVXNlZCBpbiB0aGUgdGVtcGxhdGUgb2YgdGhlIGNvbXBvbmVudFxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbW9udGhzKCk6IERhdGVbXSB7XG4gICAgICAgIGxldCBzdGFydCA9IG5ldyBEYXRlKHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCAxKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMjsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChzdGFydCk7XG4gICAgICAgICAgICBzdGFydCA9IHRoaXMuX2NhbGVuZGFyTW9kZWwudGltZWRlbHRhKHN0YXJ0LCAnbW9udGgnLCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBhY3RpdmVNb250aDtcblxuICAgIHByaXZhdGUgX2RhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtYXR0ZXJNb250aDogYW55O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2xvY2FsZSA9ICdlbic7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbW9udGhGb3JtYXQgPSAnc2hvcnQnO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2NhbGVuZGFyTW9kZWw6IENhbGVuZGFyO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX29uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2VDYWxsYmFjazogKF86IERhdGUpID0+IHZvaWQgPSBub29wO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuaW5pdE1vbnRoRm9ybWF0dGVyKCk7XG4gICAgICAgIHRoaXMuX2NhbGVuZGFyTW9kZWwgPSBuZXcgQ2FsZW5kYXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3VwJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5tb250aHNSZWYuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHRoaXMubW9udGhzUmVmLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3Qgbm9kZVJlY3QgPSBub2RlLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSBtb250aHMuaW5kZXhPZihub2RlKSAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHROb2RlUmVjdCA9IG1vbnRoc1tpbmRleF0ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvbGVyYW5jZSA9IDY7XG4gICAgICAgICAgICBpZiAobm9kZVJlY3QudG9wICE9PSBuZXh0Tm9kZVJlY3QudG9wICYmIChuZXh0Tm9kZVJlY3QubGVmdCAtIG5vZGVSZWN0LmxlZnQpIDwgdG9sZXJhbmNlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBtb250aHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGgudmFsdWUuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkFycm93RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5tb250aHNSZWYuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHRoaXMubW9udGhzUmVmLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3Qgbm9kZVJlY3QgPSBub2RlLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSBtb250aHMuaW5kZXhPZihub2RlKSArIDE7IGluZGV4IDwgbW9udGhzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgbmV4dE5vZGVSZWN0ID0gbW9udGhzW2luZGV4XS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgdG9sZXJhbmNlID0gNjtcbiAgICAgICAgICAgIGlmIChuZXh0Tm9kZVJlY3QudG9wICE9PSBub2RlUmVjdC50b3AgJiYgKG5vZGVSZWN0LmxlZnQgLSBuZXh0Tm9kZVJlY3QubGVmdCkgPCB0b2xlcmFuY2UgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBtb250aHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGgudmFsdWUuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93cmlnaHQnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd1JpZ2h0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLm1vbnRoc1JlZi5maW5kKChkYXRlKSA9PiBkYXRlLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9udGhzID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpO1xuICAgICAgICBpZiAobW9udGhzLmluZGV4T2Yobm9kZSkgKyAxIDwgbW9udGhzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbW9udGggPSBtb250aHNbbW9udGhzLmluZGV4T2Yobm9kZSkgKyAxXTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBtb250aC52YWx1ZS5nZXRNb250aCgpO1xuICAgICAgICAgICAgbW9udGgubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dMZWZ0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLm1vbnRoc1JlZi5maW5kKChkYXRlKSA9PiBkYXRlLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9udGhzID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpO1xuICAgICAgICBpZiAobW9udGhzLmluZGV4T2Yobm9kZSkgLSAxID49IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gbW9udGhzW21vbnRocy5pbmRleE9mKG5vZGUpIC0gMV07XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGgudmFsdWUuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmhvbWUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25Ib21lKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpWzBdO1xuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGgudmFsdWUuZ2V0TW9udGgoKTtcbiAgICAgICAgbW9udGgubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVuZCcsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkVuZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBtb250aHMgPSB0aGlzLm1vbnRoc1JlZi50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gbW9udGhzW21vbnRocy5sZW5ndGggLSAxXTtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IG1vbnRoLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkVudGVyKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5tb250aHNSZWYuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpLnZhbHVlO1xuICAgICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB0aGlzLmRhdGUuZ2V0RGF0ZSgpKTtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodGhpcy5kYXRlKTtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh0aGlzLmRhdGUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgICBwdWJsaWMgcmVzZXRBY3RpdmVNb250aCgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGxvY2FsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbW9udGggaW4gdGhlIG1vbnRocyB2aWV3LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtYXR0ZWRNb250aCh2YWx1ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1hdFZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXR0ZXJNb250aC5mb3JtYXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHt2YWx1ZS5nZXRNb250aCgpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3RNb250aChldmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuZGF0ZSA9IGV2ZW50O1xuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gdGhpcy5kYXRlLmdldE1vbnRoKCk7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sodGhpcy5kYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2OiBEYXRlKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIG1vbnRoVHJhY2tlcihpbmRleCwgaXRlbSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtpdGVtLmdldE1vbnRoKCl9fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdE1vbnRoRm9ybWF0dGVyKCkge1xuICAgICAgICB0aGlzLl9mb3JtYXR0ZXJNb250aCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuX2xvY2FsZSwgeyBtb250aDogdGhpcy5tb250aEZvcm1hdCB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWd4LWNhbGVuZGFyX19ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cImlneC1jYWxlbmRhcl9fYm9keS1yb3cgaWd4LWNhbGVuZGFyX19ib2R5LXJvdy0td3JhcFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX21vbnRoXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb250aCB8IGRhdGU6ICdMTExMJ1wiXG4gICAgICAgICAgICBbaWd4Q2FsZW5kYXJNb250aF09XCJtb250aFwiXG4gICAgICAgICAgICBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImFjdGl2ZU1vbnRoID09PSBtb250aC5nZXRNb250aCgpID8gMCA6IC0xXCJcbiAgICAgICAgICAgIChtb250aFNlbGVjdGlvbik9XCJzZWxlY3RNb250aCgkZXZlbnQpXCIgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgaW5kZXggYXMgaTsgdHJhY2tCeTogbW9udGhUcmFja2VyXCI+XG4gICAgICAgICAgICB7eyBmb3JtYXR0ZWRNb250aChtb250aCkgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhzLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL21vbnRocy12aWV3L21vbnRocy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9tb250aHMtdmlldy9tb250aHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxFQUdaLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVqRSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFTaEIsTUFBTSxPQUFPLHNCQUFzQjtJQWlCL0I7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxJQUNXLElBQUksQ0FBQyxLQUFXO1FBQ3ZCLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxJQUFJLENBQUMsRUFBRTtZQUMxQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxF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QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE2QnRDLG1CQUFtQjtzQkFEekIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFzQnZDLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFzQnRDLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNqQyxZQUFZO3NCQURsQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFlaEMsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVWxDLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uL2NhbGVuZGFyJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElneENhbGVuZGFyTW9udGhEaXJlY3RpdmUgfSBmcm9tICcuLi9jYWxlbmRhci5kaXJlY3RpdmVzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nRm9yLCBUaXRsZUNhc2VQaXBlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmxldCBORVhUX0lEID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IElneE1vbnRoc1ZpZXdDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dLFxuICAgIHNlbGVjdG9yOiAnaWd4LW1vbnRocy12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJ21vbnRocy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgSWd4Q2FsZW5kYXJNb250aERpcmVjdGl2ZSwgVGl0bGVDYXNlUGlwZSwgRGF0ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIElneE1vbnRoc1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBJZiBub3Qgc2V0LCB0aGUgYGlkYCB3aWxsIGhhdmUgdmFsdWUgYFwiaWd4LW1vbnRocy12aWV3LTBcImAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXcgaWQ9XCJteS1tb250aHMtdmlld1wiPjwvaWd4LW1vbnRocy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgbW9udGhzVmlld0lkID0gIHRoaXMubW9udGhzVmlldy5pZDtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtbW9udGhzLXZpZXctJHtORVhUX0lEKyt9YDtcblxuICAgIC8qKlxuICAgICAqIEdldHMvc2V0cyB0aGUgc2VsZWN0ZWQgZGF0ZSBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogQnkgZGVmYXVsdCBpdCBpcyB0aGUgY3VycmVudCBkYXRlLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LW1vbnRocy12aWV3IFtkYXRlXT1cIm15RGF0ZVwiPjwvaWd4LW1vbnRocy12aWV3PlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgZGF0ZSA9ICB0aGlzLm1vbnRoc1ZpZXcuZGF0ZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGRhdGUodmFsdWU6IERhdGUpIHtcbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RhdGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbW9udGggZm9ybWF0IG9wdGlvbiBvZiB0aGUgbW9udGhzIHZpZXcuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBtb250aEZvcm1hdCA9IHRoaXMubW9udGhzVmlldy5tb250aEZvcm1hdC5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbW9udGhGb3JtYXQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoRm9ybWF0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIG1vbnRoIGZvcm1hdCBvcHRpb24gb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LW1vbnRocy12aWV3PiBbbW9udGhGb3JtYXRdPVwic2hvcnQnXCI8L2lneC1tb250aHMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIHNldCBtb250aEZvcm1hdCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX21vbnRoRm9ybWF0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5pdE1vbnRoRm9ybWF0dGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYGxvY2FsZWAgb2YgdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgYFwiZW5cImAuXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBsb2NhbGUgPSAgdGhpcy5tb250aHNWaWV3LmxvY2FsZTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGxvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGBsb2NhbGVgIG9mIHRoZSBtb250aHMgdmlldy5cbiAgICAgKiBFeHBlY3RzIGEgdmFsaWQgQkNQIDQ3IGxhbmd1YWdlIHRhZy5cbiAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIGBcImVuXCJgLlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LW1vbnRocy12aWV3IFtsb2NhbGVdPVwiZGVcIj48L2lneC1tb250aHMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgcHVibGljIHNldCBsb2NhbGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sb2NhbGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbml0TW9udGhGb3JtYXR0ZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzL3NldHMgd2hldGhlciB0aGUgdmlldyBzaG91bGQgYmUgcmVuZGVyZWRcbiAgICAgKiBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBhbmQgbW9udGhGb3JtYXQsIGlmIGFueS5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgZm9ybWF0VmlldyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIGEgc2VsZWN0aW9uIGlzIG1hZGUgaW4gdGhlIG1vbnRocyB2aWV3LlxuICAgICAqIFByb3ZpZGVzIHJlZmVyZW5jZSB0aGUgYGRhdGVgIHByb3BlcnR5IGluIHRoZSBgSWd4TW9udGhzVmlld0NvbXBvbmVudGAuXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtbW9udGhzLXZpZXcgKHNlbGVjdGVkKT1cIm9uU2VsZWN0aW9uKCRldmVudClcIj48L2lneC1tb250aHMtdmlldz5cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBJZ3hNb250aHNWaWV3Q29tcG9uZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgY3NzIGNsYXNzIGFwcGxpZWQgdG8gdGhlIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYWxlbmRhcicpXG4gICAgcHVibGljIHN0eWxlQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oSWd4Q2FsZW5kYXJNb250aERpcmVjdGl2ZSwgeyByZWFkOiBJZ3hDYWxlbmRhck1vbnRoRGlyZWN0aXZlIH0pXG4gICAgcHVibGljIG1vbnRoc1JlZjogUXVlcnlMaXN0PElneENhbGVuZGFyTW9udGhEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBkYXRlIG9iamVjdHMgd2hpY2ggYXJlIHRoZW4gdXNlZCB0b1xuICAgICAqIHByb3Blcmx5IHJlbmRlciB0aGUgbW9udGggbmFtZXMuXG4gICAgICpcbiAgICAgKiBVc2VkIGluIHRoZSB0ZW1wbGF0ZSBvZiB0aGUgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGdldCBtb250aHMoKTogRGF0ZVtdIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gbmV3IERhdGUodGhpcy5kYXRlLmdldEZ1bGxZZWFyKCksIDAsIDEpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHN0YXJ0KTtcbiAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5fY2FsZW5kYXJNb2RlbC50aW1lZGVsdGEoc3RhcnQsICdtb250aCcsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZU1vbnRoO1xuXG4gICAgcHJpdmF0ZSBfZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2Zvcm1hdHRlck1vbnRoOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbG9jYWxlID0gJ2VuJztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9tb250aEZvcm1hdCA9ICdzaG9ydCc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY2FsZW5kYXJNb2RlbDogQ2FsZW5kYXI7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoXzogRGF0ZSkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5pbml0TW9udGhGb3JtYXR0ZXIoKTtcbiAgICAgICAgdGhpcy5fY2FsZW5kYXJNb2RlbCA9IG5ldyBDYWxlbmRhcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25BcnJvd1VwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLm1vbnRoc1JlZi5maW5kKChkYXRlKSA9PiBkYXRlLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9udGhzID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBub2RlUmVjdCA9IG5vZGUubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IG1vbnRocy5pbmRleE9mKG5vZGUpIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dE5vZGVSZWN0ID0gbW9udGhzW2luZGV4XS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgdG9sZXJhbmNlID0gNjtcbiAgICAgICAgICAgIGlmIChub2RlUmVjdC50b3AgIT09IG5leHROb2RlUmVjdC50b3AgJiYgKG5leHROb2RlUmVjdC5sZWZ0IC0gbm9kZVJlY3QubGVmdCkgPCB0b2xlcmFuY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb250aCA9IG1vbnRoc1tpbmRleF07XG4gICAgICAgICAgICAgICAgbW9udGgubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBtb250aC52YWx1ZS5nZXRNb250aCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dkb3duJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLm1vbnRoc1JlZi5maW5kKChkYXRlKSA9PiBkYXRlLm5hdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9udGhzID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBub2RlUmVjdCA9IG5vZGUubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IG1vbnRocy5pbmRleE9mKG5vZGUpICsgMTsgaW5kZXggPCBtb250aHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0Tm9kZVJlY3QgPSBtb250aHNbaW5kZXhdLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB0b2xlcmFuY2UgPSA2O1xuICAgICAgICAgICAgaWYgKG5leHROb2RlUmVjdC50b3AgIT09IG5vZGVSZWN0LnRvcCAmJiAobm9kZVJlY3QubGVmdCAtIG5leHROb2RlUmVjdC5sZWZ0KSA8IHRvbGVyYW5jZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gbW9udGhzW2luZGV4XTtcbiAgICAgICAgICAgICAgICBtb250aC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IG1vbnRoLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3JpZ2h0JywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duQXJyb3dSaWdodChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5tb250aHNSZWYuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHRoaXMubW9udGhzUmVmLnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKG1vbnRocy5pbmRleE9mKG5vZGUpICsgMSA8IG1vbnRocy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gbW9udGhzW21vbnRocy5pbmRleE9mKG5vZGUpICsgMV07XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGgudmFsdWUuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93bGVmdCcsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIG9uS2V5ZG93bkFycm93TGVmdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5tb250aHNSZWYuZmluZCgoZGF0ZSkgPT4gZGF0ZS5uYXRpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHRoaXMubW9udGhzUmVmLnRvQXJyYXkoKTtcbiAgICAgICAgaWYgKG1vbnRocy5pbmRleE9mKG5vZGUpIC0gMSA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBtb250aCA9IG1vbnRoc1ttb250aHMuaW5kZXhPZihub2RlKSAtIDFdO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IG1vbnRoLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgICAgICAgICBtb250aC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5ob21lJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSG9tZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBjb25zdCBtb250aCA9IHRoaXMubW9udGhzUmVmLnRvQXJyYXkoKVswXTtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IG1vbnRoLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgICAgIG1vbnRoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbmQnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25FbmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgbW9udGhzID0gdGhpcy5tb250aHNSZWYudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBtb250aCA9IG1vbnRoc1ttb250aHMubGVuZ3RoIC0gMV07XG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBtb250aC52YWx1ZS5nZXRNb250aCgpO1xuICAgICAgICBtb250aC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbktleWRvd25FbnRlcihldmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubW9udGhzUmVmLmZpbmQoKGRhdGUpID0+IGRhdGUubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KS52YWx1ZTtcbiAgICAgICAgdGhpcy5kYXRlID0gbmV3IERhdGUodmFsdWUuZ2V0RnVsbFllYXIoKSwgdmFsdWUuZ2V0TW9udGgoKSwgdGhpcy5kYXRlLmdldERhdGUoKSk7XG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSB0aGlzLmRhdGUuZ2V0TW9udGgoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHRoaXMuZGF0ZSk7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2sodGhpcy5kYXRlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gICAgcHVibGljIHJlc2V0QWN0aXZlTW9udGgoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggPSB0aGlzLmRhdGUuZ2V0TW9udGgoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBsb2NhbGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIG1vbnRoIGluIHRoZSBtb250aHMgdmlldy5cbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybWF0dGVkTW9udGgodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5mb3JtYXRWaWV3KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0dGVyTW9udGguZm9ybWF0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7dmFsdWUuZ2V0TW9udGgoKX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0TW9udGgoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmRhdGUgPSBldmVudDtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKHRoaXMuZGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodjogRGF0ZSkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHB1YmxpYyBtb250aFRyYWNrZXIoaW5kZXgsIGl0ZW0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7aXRlbS5nZXRNb250aCgpfX1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRNb250aEZvcm1hdHRlcigpIHtcbiAgICAgICAgdGhpcy5fZm9ybWF0dGVyTW9udGggPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLl9sb2NhbGUsIHsgbW9udGg6IHRoaXMubW9udGhGb3JtYXQgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlneC1jYWxlbmRhcl9fYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJpZ3gtY2FsZW5kYXJfX2JvZHktcm93IGlneC1jYWxlbmRhcl9fYm9keS1yb3ctLXdyYXBcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiaWd4LWNhbGVuZGFyX19tb250aFwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9udGggfCBkYXRlOiAnTExMTCdcIlxuICAgICAgICAgICAgW2lneENhbGVuZGFyTW9udGhdPVwibW9udGhcIlxuICAgICAgICAgICAgW2RhdGVdPVwiZGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJhY3RpdmVNb250aCA9PT0gbW9udGguZ2V0TW9udGgoKSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAobW9udGhTZWxlY3Rpb24pPVwic2VsZWN0TW9udGgoJGV2ZW50KVwiIFtpbmRleF09XCJpXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IG1vbnRoVHJhY2tlclwiPlxuICAgICAgICAgICAge3sgZm9ybWF0dGVkTW9udGgobW9udGgpIHwgdGl0bGVjYXNlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|