@ng-nest/ui 13.0.0 → 13.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/carousel/carousel-panel.component.d.ts +2 -3
- package/core/config/config.d.ts +4 -0
- package/date-picker/date-picker.component.d.ts +1 -1
- package/date-picker/date-picker.property.d.ts +51 -1
- package/date-picker/date-range-portal.component.d.ts +7 -5
- package/date-picker/date-range.component.d.ts +5 -1
- package/date-picker/examples/en_US/default/disabled/README.md +1 -1
- package/date-picker/examples/en_US/default/time/README.md +6 -0
- package/date-picker/examples/zh_CN/default/disabled/README.md +1 -1
- package/date-picker/examples/zh_CN/default/time/README.md +6 -0
- package/date-picker/picker-date.component.d.ts +3 -0
- package/dialog/dialog-container.component.d.ts +18 -0
- package/dialog/dialog-container.directives.d.ts +24 -0
- package/dialog/dialog-ref.d.ts +9 -0
- package/dialog/dialog.module.d.ts +13 -11
- package/dialog/dialog.property.d.ts +84 -6
- package/dialog/dialog.service.d.ts +19 -0
- package/dialog/examples/en_US/default/service/README.md +6 -0
- package/dialog/examples/zh_CN/default/service/README.md +6 -0
- package/dialog/public-api.d.ts +4 -0
- package/drawer/drawer-container.component.d.ts +18 -0
- package/drawer/drawer-container.directives.d.ts +19 -0
- package/drawer/drawer-ref.d.ts +9 -0
- package/drawer/drawer.module.d.ts +8 -6
- package/drawer/drawer.property.d.ts +83 -2
- package/drawer/drawer.service.d.ts +19 -0
- package/drawer/examples/en_US/default/service/README.md +6 -0
- package/drawer/examples/zh_CN/default/service/README.md +6 -0
- package/drawer/public-api.d.ts +5 -0
- package/esm2020/affix/affix.component.mjs +3 -3
- package/esm2020/affix/affix.module.mjs +4 -4
- package/esm2020/affix/affix.property.mjs +3 -3
- package/esm2020/alert/alert.component.mjs +5 -5
- package/esm2020/alert/alert.module.mjs +4 -4
- package/esm2020/alert/alert.property.mjs +3 -3
- package/esm2020/anchor/anchor.component.mjs +3 -3
- package/esm2020/anchor/anchor.module.mjs +4 -4
- package/esm2020/anchor/anchor.property.mjs +3 -3
- package/esm2020/api/api.component.mjs +3 -3
- package/esm2020/api/api.module.mjs +4 -4
- package/esm2020/auto-complete/auto-complete-portal.component.mjs +5 -5
- package/esm2020/auto-complete/auto-complete.component.mjs +4 -4
- package/esm2020/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2020/auto-complete/auto-complete.property.mjs +3 -3
- package/esm2020/avatar/avatar.component.mjs +3 -3
- package/esm2020/avatar/avatar.module.mjs +4 -4
- package/esm2020/avatar/avatar.property.mjs +3 -3
- package/esm2020/back-top/back-top.component.mjs +3 -3
- package/esm2020/back-top/back-top.module.mjs +4 -4
- package/esm2020/back-top/back-top.property.mjs +3 -3
- package/esm2020/badge/badge.component.mjs +3 -3
- package/esm2020/badge/badge.module.mjs +4 -4
- package/esm2020/badge/badge.property.mjs +3 -3
- package/esm2020/base-form/base-form.component.mjs +3 -3
- package/esm2020/base-form/base-form.module.mjs +4 -4
- package/esm2020/base-form/base-form.property.mjs +3 -3
- package/esm2020/border/border.component.mjs +3 -3
- package/esm2020/border/border.module.mjs +4 -4
- package/esm2020/button/button.component.mjs +4 -4
- package/esm2020/button/button.module.mjs +4 -4
- package/esm2020/button/button.property.mjs +6 -6
- package/esm2020/button/buttons.component.mjs +3 -3
- package/esm2020/calendar/calendar.component.mjs +3 -3
- package/esm2020/calendar/calendar.module.mjs +4 -4
- package/esm2020/calendar/calendar.property.mjs +3 -3
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +4 -4
- package/esm2020/card/card.property.mjs +3 -3
- package/esm2020/carousel/carousel-panel.component.mjs +14 -13
- package/esm2020/carousel/carousel.component.mjs +3 -3
- package/esm2020/carousel/carousel.module.mjs +4 -4
- package/esm2020/carousel/carousel.property.mjs +6 -6
- package/esm2020/cascade/cascade-portal.component.mjs +5 -5
- package/esm2020/cascade/cascade.component.mjs +4 -4
- package/esm2020/cascade/cascade.module.mjs +4 -4
- package/esm2020/cascade/cascade.property.mjs +3 -3
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/checkbox/checkbox.module.mjs +4 -4
- package/esm2020/checkbox/checkbox.property.mjs +3 -3
- package/esm2020/collapse/collapse-panel.component.mjs +3 -3
- package/esm2020/collapse/collapse.component.mjs +3 -3
- package/esm2020/collapse/collapse.module.mjs +4 -4
- package/esm2020/collapse/collapse.property.mjs +6 -6
- package/esm2020/color/color.component.mjs +3 -3
- package/esm2020/color/color.module.mjs +4 -4
- package/esm2020/color/color.property.mjs +3 -3
- package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
- package/esm2020/color-picker/color-picker.component.mjs +4 -4
- package/esm2020/color-picker/color-picker.module.mjs +4 -4
- package/esm2020/color-picker/color-picker.property.mjs +3 -3
- package/esm2020/comment/comment-reply.component.mjs +3 -3
- package/esm2020/comment/comment.component.mjs +3 -3
- package/esm2020/comment/comment.module.mjs +4 -4
- package/esm2020/comment/comment.property.mjs +6 -6
- package/esm2020/container/aside.component.mjs +3 -3
- package/esm2020/container/container.component.mjs +3 -3
- package/esm2020/container/container.module.mjs +4 -4
- package/esm2020/container/container.property.mjs +12 -12
- package/esm2020/container/footer.component.mjs +4 -4
- package/esm2020/container/header.component.mjs +4 -4
- package/esm2020/container/main.component.mjs +4 -4
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/config/config.service.mjs +3 -3
- package/esm2020/core/services/http.service.mjs +3 -3
- package/esm2020/core/services/preloading-strategy.service.mjs +3 -3
- package/esm2020/core/services/storage.service.mjs +3 -3
- package/esm2020/core/theme/theme.service.mjs +3 -3
- package/esm2020/crumb/crumb.component.mjs +3 -3
- package/esm2020/crumb/crumb.module.mjs +4 -4
- package/esm2020/crumb/crumb.property.mjs +3 -3
- package/esm2020/date-picker/date-picker-portal.component.mjs +6 -6
- package/esm2020/date-picker/date-picker.component.mjs +6 -10
- package/esm2020/date-picker/date-picker.module.mjs +4 -4
- package/esm2020/date-picker/date-picker.property.mjs +86 -16
- package/esm2020/date-picker/date-range-portal.component.mjs +47 -28
- package/esm2020/date-picker/date-range.component.mjs +33 -10
- package/esm2020/date-picker/picker-date.component.mjs +33 -6
- package/esm2020/date-picker/picker-month.component.mjs +3 -3
- package/esm2020/date-picker/picker-year.component.mjs +3 -3
- package/esm2020/description/description-item.component.mjs +3 -3
- package/esm2020/description/description.component.mjs +3 -3
- package/esm2020/description/description.module.mjs +4 -4
- package/esm2020/description/description.property.mjs +6 -6
- package/esm2020/dialog/dialog-container.component.mjs +52 -0
- package/esm2020/dialog/dialog-container.directives.mjs +73 -0
- package/esm2020/dialog/dialog-ref.mjs +17 -0
- package/esm2020/dialog/dialog.component.mjs +5 -5
- package/esm2020/dialog/dialog.module.mjs +39 -9
- package/esm2020/dialog/dialog.property.mjs +20 -19
- package/esm2020/dialog/dialog.service.mjs +67 -0
- package/esm2020/dialog/public-api.mjs +5 -1
- package/esm2020/doc/doc.component.mjs +4 -4
- package/esm2020/doc/doc.module.mjs +4 -4
- package/esm2020/drawer/drawer-container.component.mjs +52 -0
- package/esm2020/drawer/drawer-container.directives.mjs +57 -0
- package/esm2020/drawer/drawer-ref.mjs +17 -0
- package/esm2020/drawer/drawer.component.mjs +5 -5
- package/esm2020/drawer/drawer.module.mjs +24 -8
- package/esm2020/drawer/drawer.property.mjs +24 -8
- package/esm2020/drawer/drawer.service.mjs +65 -0
- package/esm2020/drawer/public-api.mjs +6 -1
- package/esm2020/dropdown/dropdown-portal.component.mjs +3 -3
- package/esm2020/dropdown/dropdown.component.mjs +3 -3
- package/esm2020/dropdown/dropdown.module.mjs +4 -4
- package/esm2020/dropdown/dropdown.property.mjs +3 -3
- package/esm2020/empty/empty.component.mjs +3 -3
- package/esm2020/empty/empty.module.mjs +4 -4
- package/esm2020/empty/empty.property.mjs +3 -3
- package/esm2020/examples/examples.component.mjs +3 -3
- package/esm2020/examples/examples.module.mjs +4 -4
- package/esm2020/find/find.component.mjs +4 -4
- package/esm2020/find/find.module.mjs +4 -4
- package/esm2020/find/find.property.mjs +3 -3
- package/esm2020/form/control.component.mjs +3 -3
- package/esm2020/form/form.component.mjs +3 -3
- package/esm2020/form/form.module.mjs +4 -4
- package/esm2020/form/form.property.mjs +6 -6
- package/esm2020/highlight/highlight.component.mjs +3 -3
- package/esm2020/highlight/highlight.module.mjs +4 -4
- package/esm2020/highlight/highlight.property.mjs +3 -3
- package/esm2020/i18n/i18n.directive.mjs +3 -3
- package/esm2020/i18n/i18n.module.mjs +4 -4
- package/esm2020/i18n/i18n.pipe.mjs +3 -3
- package/esm2020/i18n/i18n.service.mjs +3 -3
- package/esm2020/icon/icon.component.mjs +3 -3
- package/esm2020/icon/icon.module.mjs +4 -4
- package/esm2020/icon/icon.property.mjs +3 -3
- package/esm2020/icon/icon.service.mjs +3 -3
- package/esm2020/inner/inner.component.mjs +3 -3
- package/esm2020/inner/inner.module.mjs +4 -4
- package/esm2020/inner/inner.property.mjs +3 -3
- package/esm2020/input/input-group.component.mjs +3 -3
- package/esm2020/input/input.component.mjs +8 -5
- package/esm2020/input/input.module.mjs +4 -4
- package/esm2020/input/input.property.mjs +6 -6
- package/esm2020/input-number/input-number.component.mjs +3 -3
- package/esm2020/input-number/input-number.module.mjs +4 -4
- package/esm2020/input-number/input-number.property.mjs +3 -3
- package/esm2020/layout/col.component.mjs +3 -3
- package/esm2020/layout/layout.module.mjs +4 -4
- package/esm2020/layout/layout.property.mjs +6 -6
- package/esm2020/layout/row.component.mjs +3 -3
- package/esm2020/link/link.component.mjs +3 -3
- package/esm2020/link/link.module.mjs +4 -4
- package/esm2020/link/link.property.mjs +3 -3
- package/esm2020/list/list-option.component.mjs +3 -3
- package/esm2020/list/list.component.mjs +3 -3
- package/esm2020/list/list.module.mjs +4 -4
- package/esm2020/list/list.property.mjs +6 -6
- package/esm2020/loading/loading.component.mjs +3 -3
- package/esm2020/loading/loading.module.mjs +4 -4
- package/esm2020/loading/loading.property.mjs +3 -3
- package/esm2020/menu/menu-node.component.mjs +3 -3
- package/esm2020/menu/menu.component.mjs +5 -5
- package/esm2020/menu/menu.module.mjs +4 -4
- package/esm2020/menu/menu.property.mjs +6 -6
- package/esm2020/message/message.component.mjs +3 -3
- package/esm2020/message/message.module.mjs +4 -4
- package/esm2020/message/message.property.mjs +2 -2
- package/esm2020/message/message.service.mjs +6 -6
- package/esm2020/message-box/message-box.component.mjs +3 -3
- package/esm2020/message-box/message-box.module.mjs +4 -4
- package/esm2020/message-box/message-box.service.mjs +3 -3
- package/esm2020/notification/notification.component.mjs +3 -3
- package/esm2020/notification/notification.module.mjs +4 -4
- package/esm2020/notification/notification.service.mjs +3 -3
- package/esm2020/outlet/outlet.directive.mjs +3 -3
- package/esm2020/outlet/outlet.module.mjs +4 -4
- package/esm2020/page-header/page-header.component.mjs +3 -3
- package/esm2020/page-header/page-header.module.mjs +4 -4
- package/esm2020/page-header/page-header.property.mjs +3 -3
- package/esm2020/pagination/pagination.component.mjs +4 -4
- package/esm2020/pagination/pagination.module.mjs +4 -4
- package/esm2020/pagination/pagination.property.mjs +3 -3
- package/esm2020/pattern/pattern.component.mjs +3 -3
- package/esm2020/pattern/pattern.module.mjs +4 -4
- package/esm2020/popconfirm/popconfirm.component.mjs +3 -3
- package/esm2020/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2020/popconfirm/popconfirm.property.mjs +3 -3
- package/esm2020/popover/popover-portal.component.mjs +3 -3
- package/esm2020/popover/popover.directive.mjs +3 -3
- package/esm2020/popover/popover.module.mjs +4 -4
- package/esm2020/popover/popover.property.mjs +3 -3
- package/esm2020/portal/portal.module.mjs +6 -5
- package/esm2020/portal/portal.service.mjs +11 -12
- package/esm2020/progress/progress.component.mjs +179 -18
- package/esm2020/progress/progress.module.mjs +4 -4
- package/esm2020/progress/progress.property.mjs +52 -5
- package/esm2020/radio/radio.component.mjs +4 -4
- package/esm2020/radio/radio.module.mjs +4 -4
- package/esm2020/radio/radio.property.mjs +3 -3
- package/esm2020/rate/rate.component.mjs +4 -4
- package/esm2020/rate/rate.module.mjs +4 -4
- package/esm2020/rate/rate.property.mjs +3 -3
- package/esm2020/result/result.component.mjs +4 -4
- package/esm2020/result/result.module.mjs +4 -4
- package/esm2020/result/result.property.mjs +3 -3
- package/esm2020/ripple/ripple.directive.mjs +3 -3
- package/esm2020/ripple/ripple.module.mjs +4 -4
- package/esm2020/ripple/ripple.property.mjs +3 -3
- package/esm2020/select/select-portal.component.mjs +5 -5
- package/esm2020/select/select.component.mjs +4 -4
- package/esm2020/select/select.module.mjs +4 -4
- package/esm2020/select/select.property.mjs +3 -3
- package/esm2020/skeleton/skeleton.component.mjs +3 -3
- package/esm2020/skeleton/skeleton.module.mjs +4 -4
- package/esm2020/skeleton/skeleton.property.mjs +3 -3
- package/esm2020/slider/slider.component.mjs +3 -3
- package/esm2020/slider/slider.module.mjs +4 -4
- package/esm2020/slider/slider.property.mjs +3 -3
- package/esm2020/slider-select/slider-select.component.mjs +4 -4
- package/esm2020/slider-select/slider-select.module.mjs +4 -4
- package/esm2020/slider-select/slider-select.property.mjs +3 -3
- package/esm2020/statistic/countdown.component.mjs +3 -3
- package/esm2020/statistic/statistic.component.mjs +3 -3
- package/esm2020/statistic/statistic.module.mjs +4 -4
- package/esm2020/statistic/statistic.property.mjs +6 -6
- package/esm2020/steps/steps.component.mjs +18 -11
- package/esm2020/steps/steps.module.mjs +4 -4
- package/esm2020/steps/steps.property.mjs +10 -5
- package/esm2020/switch/switch.component.mjs +4 -4
- package/esm2020/switch/switch.module.mjs +4 -4
- package/esm2020/switch/switch.property.mjs +3 -3
- package/esm2020/table/drag.directive.mjs +3 -3
- package/esm2020/table/table-body.component.mjs +3 -3
- package/esm2020/table/table-foot.component.mjs +3 -3
- package/esm2020/table/table-head.component.mjs +3 -3
- package/esm2020/table/table.component.mjs +3 -3
- package/esm2020/table/table.module.mjs +4 -4
- package/esm2020/table/table.property.mjs +13 -13
- package/esm2020/tabs/tab-content.component.mjs +3 -3
- package/esm2020/tabs/tab.component.mjs +3 -3
- package/esm2020/tabs/tabs.component.mjs +3 -3
- package/esm2020/tabs/tabs.module.mjs +4 -4
- package/esm2020/tabs/tabs.property.mjs +6 -6
- package/esm2020/tag/tag.component.mjs +4 -4
- package/esm2020/tag/tag.module.mjs +4 -4
- package/esm2020/tag/tag.property.mjs +3 -3
- package/esm2020/text-retract/text-retract.component.mjs +3 -3
- package/esm2020/text-retract/text-retract.module.mjs +4 -4
- package/esm2020/text-retract/text-retract.property.mjs +3 -3
- package/esm2020/textarea/textarea.component.mjs +4 -4
- package/esm2020/textarea/textarea.module.mjs +4 -4
- package/esm2020/textarea/textarea.property.mjs +3 -3
- package/esm2020/theme/theme.component.mjs +3 -3
- package/esm2020/theme/theme.module.mjs +4 -4
- package/esm2020/theme/theme.property.mjs +3 -3
- package/esm2020/time-ago/time-ago.module.mjs +4 -4
- package/esm2020/time-ago/time-ago.pipe.mjs +3 -3
- package/esm2020/time-picker/time-picker-frame.component.mjs +11 -8
- package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2020/time-picker/time-picker.component.mjs +27 -14
- package/esm2020/time-picker/time-picker.module.mjs +4 -4
- package/esm2020/time-picker/time-picker.property.mjs +3 -3
- package/esm2020/time-range/time-range.module.mjs +4 -4
- package/esm2020/time-range/time-range.pipe.mjs +3 -3
- package/esm2020/timeline/timeline.component.mjs +3 -3
- package/esm2020/timeline/timeline.module.mjs +4 -4
- package/esm2020/timeline/timeline.property.mjs +3 -3
- package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
- package/esm2020/tooltip/tooltip.directive.mjs +3 -3
- package/esm2020/tooltip/tooltip.module.mjs +4 -4
- package/esm2020/tooltip/tooltip.property.mjs +3 -3
- package/esm2020/transfer/transfer.component.mjs +3 -3
- package/esm2020/transfer/transfer.module.mjs +4 -4
- package/esm2020/transfer/transfer.property.mjs +3 -3
- package/esm2020/tree/tree-node.component.mjs +3 -3
- package/esm2020/tree/tree.component.mjs +3 -3
- package/esm2020/tree/tree.module.mjs +4 -4
- package/esm2020/tree/tree.property.mjs +6 -6
- package/esm2020/tree-file/tree-file.component.mjs +4 -4
- package/esm2020/tree-file/tree-file.module.mjs +4 -4
- package/esm2020/tree-file/tree-file.property.mjs +3 -3
- package/esm2020/typography/typography.component.mjs +3 -3
- package/esm2020/typography/typography.module.mjs +4 -4
- package/esm2020/typography/typography.property.mjs +3 -3
- package/esm2020/upload/upload-portal.component.mjs +4 -4
- package/esm2020/upload/upload.component.mjs +3 -3
- package/esm2020/upload/upload.module.mjs +4 -4
- package/esm2020/upload/upload.property.mjs +3 -3
- package/fesm2015/ng-nest-ui-affix.mjs +10 -10
- package/fesm2015/ng-nest-ui-alert.mjs +12 -11
- package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
- package/fesm2015/ng-nest-ui-api.mjs +7 -7
- package/fesm2015/ng-nest-ui-auto-complete.mjs +16 -15
- package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.mjs +11 -10
- package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2015/ng-nest-ui-badge.mjs +11 -10
- package/fesm2015/ng-nest-ui-base-form.mjs +11 -10
- package/fesm2015/ng-nest-ui-border.mjs +8 -7
- package/fesm2015/ng-nest-ui-button.mjs +18 -17
- package/fesm2015/ng-nest-ui-calendar.mjs +11 -10
- package/fesm2015/ng-nest-ui-card.mjs +12 -11
- package/fesm2015/ng-nest-ui-carousel.mjs +27 -26
- package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.mjs +16 -15
- package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.mjs +12 -11
- package/fesm2015/ng-nest-ui-collapse.mjs +17 -16
- package/fesm2015/ng-nest-ui-color-picker.mjs +16 -15
- package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color.mjs +11 -10
- package/fesm2015/ng-nest-ui-comment.mjs +17 -16
- package/fesm2015/ng-nest-ui-container.mjs +35 -34
- package/fesm2015/ng-nest-ui-core.mjs +16 -15
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.mjs +11 -10
- package/fesm2015/ng-nest-ui-date-picker.mjs +216 -80
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-description.mjs +17 -16
- package/fesm2015/ng-nest-ui-dialog.mjs +258 -33
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-doc.mjs +8 -8
- package/fesm2015/ng-nest-ui-drawer.mjs +227 -20
- package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2015/ng-nest-ui-empty.mjs +11 -10
- package/fesm2015/ng-nest-ui-examples.mjs +7 -7
- package/fesm2015/ng-nest-ui-find.mjs +12 -11
- package/fesm2015/ng-nest-ui-form.mjs +17 -16
- package/fesm2015/ng-nest-ui-highlight.mjs +11 -10
- package/fesm2015/ng-nest-ui-i18n.mjs +14 -13
- package/fesm2015/ng-nest-ui-icon.mjs +14 -13
- package/fesm2015/ng-nest-ui-inner.mjs +10 -10
- package/fesm2015/ng-nest-ui-input-number.mjs +11 -10
- package/fesm2015/ng-nest-ui-input.mjs +21 -17
- package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-layout.mjs +17 -16
- package/fesm2015/ng-nest-ui-link.mjs +11 -10
- package/fesm2015/ng-nest-ui-list.mjs +17 -16
- package/fesm2015/ng-nest-ui-loading.mjs +11 -10
- package/fesm2015/ng-nest-ui-menu.mjs +17 -17
- package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2015/ng-nest-ui-message.mjs +14 -13
- package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-notification.mjs +10 -10
- package/fesm2015/ng-nest-ui-outlet.mjs +8 -7
- package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2015/ng-nest-ui-pagination.mjs +12 -11
- package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2015/ng-nest-ui-popover.mjs +13 -13
- package/fesm2015/ng-nest-ui-portal.mjs +16 -15
- package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-progress.mjs +235 -26
- package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-radio.mjs +12 -11
- package/fesm2015/ng-nest-ui-rate.mjs +12 -11
- package/fesm2015/ng-nest-ui-result.mjs +11 -11
- package/fesm2015/ng-nest-ui-ripple.mjs +11 -10
- package/fesm2015/ng-nest-ui-select.mjs +16 -15
- package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2015/ng-nest-ui-slider-select.mjs +12 -11
- package/fesm2015/ng-nest-ui-slider.mjs +11 -10
- package/fesm2015/ng-nest-ui-statistic.mjs +17 -16
- package/fesm2015/ng-nest-ui-steps.mjs +30 -18
- package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-switch.mjs +12 -11
- package/fesm2015/ng-nest-ui-table.mjs +32 -31
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.mjs +20 -19
- package/fesm2015/ng-nest-ui-tag.mjs +12 -11
- package/fesm2015/ng-nest-ui-text-retract.mjs +11 -10
- package/fesm2015/ng-nest-ui-textarea.mjs +12 -11
- package/fesm2015/ng-nest-ui-theme.mjs +11 -10
- package/fesm2015/ng-nest-ui-time-ago.mjs +8 -7
- package/fesm2015/ng-nest-ui-time-picker.mjs +47 -30
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.mjs +8 -7
- package/fesm2015/ng-nest-ui-timeline.mjs +11 -10
- package/fesm2015/ng-nest-ui-tooltip.mjs +14 -13
- package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2015/ng-nest-ui-tree-file.mjs +12 -11
- package/fesm2015/ng-nest-ui-tree.mjs +17 -16
- package/fesm2015/ng-nest-ui-typography.mjs +11 -10
- package/fesm2015/ng-nest-ui-upload.mjs +14 -14
- package/fesm2020/ng-nest-ui-affix.mjs +10 -10
- package/fesm2020/ng-nest-ui-alert.mjs +12 -11
- package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
- package/fesm2020/ng-nest-ui-api.mjs +7 -7
- package/fesm2020/ng-nest-ui-auto-complete.mjs +16 -15
- package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-avatar.mjs +11 -10
- package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2020/ng-nest-ui-badge.mjs +11 -10
- package/fesm2020/ng-nest-ui-base-form.mjs +11 -10
- package/fesm2020/ng-nest-ui-border.mjs +8 -7
- package/fesm2020/ng-nest-ui-button.mjs +18 -17
- package/fesm2020/ng-nest-ui-calendar.mjs +11 -10
- package/fesm2020/ng-nest-ui-card.mjs +12 -11
- package/fesm2020/ng-nest-ui-carousel.mjs +27 -25
- package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-cascade.mjs +16 -15
- package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-checkbox.mjs +12 -11
- package/fesm2020/ng-nest-ui-collapse.mjs +17 -16
- package/fesm2020/ng-nest-ui-color-picker.mjs +16 -15
- package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color.mjs +11 -10
- package/fesm2020/ng-nest-ui-comment.mjs +17 -16
- package/fesm2020/ng-nest-ui-container.mjs +35 -34
- package/fesm2020/ng-nest-ui-core.mjs +16 -15
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-crumb.mjs +11 -10
- package/fesm2020/ng-nest-ui-date-picker.mjs +216 -80
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-description.mjs +17 -16
- package/fesm2020/ng-nest-ui-dialog.mjs +256 -33
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-doc.mjs +8 -8
- package/fesm2020/ng-nest-ui-drawer.mjs +225 -20
- package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2020/ng-nest-ui-empty.mjs +11 -10
- package/fesm2020/ng-nest-ui-examples.mjs +7 -7
- package/fesm2020/ng-nest-ui-find.mjs +12 -11
- package/fesm2020/ng-nest-ui-form.mjs +17 -16
- package/fesm2020/ng-nest-ui-highlight.mjs +11 -10
- package/fesm2020/ng-nest-ui-i18n.mjs +14 -13
- package/fesm2020/ng-nest-ui-icon.mjs +14 -13
- package/fesm2020/ng-nest-ui-inner.mjs +10 -10
- package/fesm2020/ng-nest-ui-input-number.mjs +11 -10
- package/fesm2020/ng-nest-ui-input.mjs +21 -17
- package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-layout.mjs +17 -16
- package/fesm2020/ng-nest-ui-link.mjs +11 -10
- package/fesm2020/ng-nest-ui-list.mjs +17 -16
- package/fesm2020/ng-nest-ui-loading.mjs +11 -10
- package/fesm2020/ng-nest-ui-menu.mjs +17 -17
- package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2020/ng-nest-ui-message.mjs +14 -13
- package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-notification.mjs +10 -10
- package/fesm2020/ng-nest-ui-outlet.mjs +8 -7
- package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2020/ng-nest-ui-pagination.mjs +12 -11
- package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2020/ng-nest-ui-popover.mjs +13 -13
- package/fesm2020/ng-nest-ui-portal.mjs +16 -15
- package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-progress.mjs +234 -25
- package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-radio.mjs +12 -11
- package/fesm2020/ng-nest-ui-rate.mjs +12 -11
- package/fesm2020/ng-nest-ui-result.mjs +11 -11
- package/fesm2020/ng-nest-ui-ripple.mjs +11 -10
- package/fesm2020/ng-nest-ui-select.mjs +16 -15
- package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2020/ng-nest-ui-slider-select.mjs +12 -11
- package/fesm2020/ng-nest-ui-slider.mjs +11 -10
- package/fesm2020/ng-nest-ui-statistic.mjs +17 -16
- package/fesm2020/ng-nest-ui-steps.mjs +30 -18
- package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-switch.mjs +12 -11
- package/fesm2020/ng-nest-ui-table.mjs +32 -31
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tabs.mjs +20 -19
- package/fesm2020/ng-nest-ui-tag.mjs +12 -11
- package/fesm2020/ng-nest-ui-text-retract.mjs +11 -10
- package/fesm2020/ng-nest-ui-textarea.mjs +12 -11
- package/fesm2020/ng-nest-ui-theme.mjs +11 -10
- package/fesm2020/ng-nest-ui-time-ago.mjs +8 -7
- package/fesm2020/ng-nest-ui-time-picker.mjs +47 -30
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-range.mjs +8 -7
- package/fesm2020/ng-nest-ui-timeline.mjs +11 -10
- package/fesm2020/ng-nest-ui-tooltip.mjs +14 -13
- package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2020/ng-nest-ui-tree-file.mjs +12 -11
- package/fesm2020/ng-nest-ui-tree.mjs +17 -16
- package/fesm2020/ng-nest-ui-typography.mjs +11 -10
- package/fesm2020/ng-nest-ui-upload.mjs +14 -14
- package/layout/examples/en_US/default/flex/README.md +1 -1
- package/layout/examples/zh_CN/default/flex/README.md +1 -1
- package/message/message.property.d.ts +1 -1
- package/package.json +7 -7
- package/portal/portal.module.d.ts +1 -1
- package/portal/portal.service.d.ts +2 -3
- package/progress/examples/en_US/default/circle/README.md +6 -0
- package/progress/examples/en_US/default/dashboard/README.md +6 -0
- package/progress/examples/en_US/default/gradient/README.md +6 -0
- package/progress/examples/en_US/default/steps/README.md +6 -0
- package/progress/examples/en_US/default/subsection/README.md +6 -0
- package/progress/examples/zh_CN/default/circle/README.md +6 -0
- package/progress/examples/zh_CN/default/dashboard/README.md +6 -0
- package/progress/examples/zh_CN/default/gradient/README.md +6 -0
- package/progress/examples/zh_CN/default/steps/README.md +6 -0
- package/progress/examples/zh_CN/default/subsection/README.md +6 -0
- package/progress/progress.component.d.ts +31 -3
- package/progress/progress.property.d.ts +80 -5
- package/steps/examples/en_US/default/node-status/README.md +6 -0
- package/steps/examples/zh_CN/default/node-status/README.md +6 -0
- package/steps/steps.property.d.ts +7 -2
- package/style/core/index.scss +1 -0
- package/table/table.property.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +1 -0
- package/time-picker/time-picker.component.d.ts +3 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener } from '@angular/core';
|
|
2
2
|
import { XDateRangePortalPrefix } from './date-picker.property';
|
|
3
|
-
import { XIsEmpty, XConnectBaseAnimation,
|
|
3
|
+
import { XIsEmpty, XConnectBaseAnimation, XAddMonths, XAddYears } from '@ng-nest/ui/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { takeUntil, map } from 'rxjs/operators';
|
|
6
6
|
import { DatePipe, LowerCasePipe } from '@angular/common';
|
|
@@ -40,6 +40,10 @@ export class XDateRangePortalComponent {
|
|
|
40
40
|
this.placement = x;
|
|
41
41
|
this.cdr.detectChanges();
|
|
42
42
|
});
|
|
43
|
+
this.inputActiveChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
|
|
44
|
+
this.activeType = x;
|
|
45
|
+
this.setDefault();
|
|
46
|
+
});
|
|
43
47
|
this.i18n.localeChange
|
|
44
48
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
45
49
|
.subscribe((x) => {
|
|
@@ -63,50 +67,65 @@ export class XDateRangePortalComponent {
|
|
|
63
67
|
this.model = this.display;
|
|
64
68
|
this.startModel = this.model;
|
|
65
69
|
this.endModel = XAddMonths(this.model, 1);
|
|
70
|
+
this.setDisplay(this.model);
|
|
66
71
|
}
|
|
67
|
-
this.time = this.model.getTime();
|
|
68
72
|
this._type = this.type;
|
|
69
|
-
this.setDisplay(this.model);
|
|
70
73
|
this.cdr.detectChanges();
|
|
71
74
|
}
|
|
72
75
|
stopPropagation(event) {
|
|
73
76
|
event.stopPropagation();
|
|
74
77
|
}
|
|
75
78
|
setDefault() {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
if (this.value.length > 0) {
|
|
79
|
+
const type = this.activeType || 'start';
|
|
80
|
+
if (type === 'start') {
|
|
79
81
|
this.startModel = new Date(this.value[0]);
|
|
80
82
|
this.startDisplay = this.startModel;
|
|
83
|
+
this.endModel = XAddMonths(this.startModel, 1);
|
|
84
|
+
this.endDisplay = this.endModel;
|
|
81
85
|
}
|
|
82
|
-
if (
|
|
86
|
+
else if (type === 'end') {
|
|
83
87
|
this.endModel = new Date(this.value[1]);
|
|
84
88
|
this.endDisplay = this.endModel;
|
|
89
|
+
this.startModel = XAddMonths(this.endModel, -1);
|
|
90
|
+
this.startDisplay = this.startModel;
|
|
85
91
|
}
|
|
92
|
+
this.cdr.detectChanges();
|
|
86
93
|
}
|
|
87
94
|
setDisplay(date) {
|
|
88
95
|
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
89
96
|
this.startDisplay = this.display;
|
|
90
97
|
this.endDisplay = XAddMonths(this.display, 1);
|
|
91
98
|
}
|
|
92
|
-
dateChange(date) {
|
|
99
|
+
dateChange(date, type) {
|
|
93
100
|
let time = date.getTime();
|
|
94
101
|
if (this.value.length === 0) {
|
|
95
|
-
this.value
|
|
102
|
+
this.value = [time];
|
|
96
103
|
this.startNodeEmit(date);
|
|
97
104
|
}
|
|
98
105
|
else if (this.value.length === 1) {
|
|
99
106
|
if (time > this.value[0]) {
|
|
100
|
-
this.value.
|
|
107
|
+
this.value = [...this.value, time];
|
|
101
108
|
this.endNodeEmit(date);
|
|
102
109
|
}
|
|
103
110
|
else {
|
|
104
|
-
this.value.
|
|
111
|
+
this.value = [time, ...this.value];
|
|
105
112
|
this.startNodeEmit(date);
|
|
106
113
|
this.endNodeEmit(new Date(this.value[1]));
|
|
107
114
|
}
|
|
108
115
|
this.nodeEmit(this.value.map((x) => new Date(x)));
|
|
109
116
|
}
|
|
117
|
+
else {
|
|
118
|
+
if (type === 'start') {
|
|
119
|
+
this.value = [time, this.value[1]];
|
|
120
|
+
this.startNodeEmit(date);
|
|
121
|
+
}
|
|
122
|
+
else if (type === 'end') {
|
|
123
|
+
this.value = [this.value[0], time];
|
|
124
|
+
this.cdr.detectChanges();
|
|
125
|
+
this.endNodeEmit(date);
|
|
126
|
+
}
|
|
127
|
+
this.nodeEmit(this.value.map((x) => new Date(x)), type !== 'start');
|
|
128
|
+
}
|
|
110
129
|
}
|
|
111
130
|
typeChange(type) {
|
|
112
131
|
this.type = type;
|
|
@@ -160,18 +179,6 @@ export class XDateRangePortalComponent {
|
|
|
160
179
|
getLocaleMonth(date) {
|
|
161
180
|
return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
|
|
162
181
|
}
|
|
163
|
-
onToday() {
|
|
164
|
-
this.dateChange(new Date());
|
|
165
|
-
}
|
|
166
|
-
onYesterday() {
|
|
167
|
-
this.dateChange(XAddDays(new Date(), -1));
|
|
168
|
-
}
|
|
169
|
-
onTomorrow() {
|
|
170
|
-
this.dateChange(XAddDays(new Date(), 1));
|
|
171
|
-
}
|
|
172
|
-
onPresetFunc(item) {
|
|
173
|
-
this.dateChange(item.func());
|
|
174
|
-
}
|
|
175
182
|
selectTime(time) {
|
|
176
183
|
this.time = time.getTime();
|
|
177
184
|
// this.nodeEmit(this.setModel(this.model, time), false);
|
|
@@ -181,12 +188,24 @@ export class XDateRangePortalComponent {
|
|
|
181
188
|
this.model = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());
|
|
182
189
|
return this.model;
|
|
183
190
|
}
|
|
191
|
+
startYearChange(num) {
|
|
192
|
+
this.endDisplay = XAddYears(this.endDisplay, num);
|
|
193
|
+
}
|
|
194
|
+
endYearChange(num) {
|
|
195
|
+
this.startDisplay = XAddYears(this.startDisplay, num);
|
|
196
|
+
}
|
|
197
|
+
startMonthChange(num) {
|
|
198
|
+
this.endDisplay = XAddMonths(this.endDisplay, num);
|
|
199
|
+
}
|
|
200
|
+
endMonthChange(num) {
|
|
201
|
+
this.startDisplay = XAddMonths(this.startDisplay, num);
|
|
202
|
+
}
|
|
184
203
|
}
|
|
185
|
-
/** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
186
|
-
/** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
204
|
+
/** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
205
|
+
/** @nocollapse */ /** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"], components: [{ type: i3.XPickerDateComponent, selector: "x-picker-date" }, { type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "date": i1.DatePipe }, animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
|
|
188
207
|
type: Component,
|
|
189
|
-
args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-
|
|
208
|
+
args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'start')\"\r\n (yearChange)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event, 'end')\"\r\n (yearChange)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"] }]
|
|
190
209
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XI18nService }]; }, propDecorators: { placement: [{
|
|
191
210
|
type: HostBinding,
|
|
192
211
|
args: ['@x-connect-base-animation']
|
|
@@ -197,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
197
216
|
type: HostListener,
|
|
198
217
|
args: ['@x-connect-base-animation.start', ['$event']]
|
|
199
218
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyx5QkFBeUI7SUFpQ3BDLFlBQW1CLFFBQWtCLEVBQVMsYUFBNEIsRUFBUyxHQUFzQixFQUFTLElBQWtCO1FBQWpILGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBYztRQXZCcEksU0FBSSxHQUFvQixNQUFNLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFLckIsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hD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QVEsQ0FBQyxJQUFVLEVBQUUsSUFBVTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDbEksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OzRKQTNNVSx5QkFBeUI7Z0pBQXpCLHlCQUF5Qiw0T0FGekIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLDBCQ3pCdEMscWdGQThDQSw4akVEdEJjLENBQUMscUJBQXFCLENBQUM7MkZBR3hCLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSxHQUFHLHNCQUFzQixFQUFFLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMscUJBQXFCLENBQUMsYUFDeEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO3NMQUdhLFNBQVM7c0JBQXpELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNvQixJQUFJO3NCQUEvRCxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLEtBQUs7c0JBQWpFLFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkRGF5cywgWEFkZE1vbnRocyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5EYXRlUGlja2VyIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERhdGVSYW5nZVBvcnRhbFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtYQ29ubmVjdEJhc2VBbmltYXRpb25dLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlLCBMb3dlckNhc2VQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERhdGVSYW5nZVBvcnRhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBASG9zdEJpbmRpbmcoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24nKSBwdWJsaWMgcGxhY2VtZW50ITogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uZG9uZScsIFsnJGV2ZW50J10pIGRvbmUoZXZlbnQ6IHsgdG9TdGF0ZTogYW55IH0pIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKGZhbHNlKTtcclxuICAgIGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJyAmJiB0aGlzLmRlc3Ryb3lQb3J0YWwoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5zdGFydCcsIFsnJGV2ZW50J10pIHN0YXJ0KCkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgZGlzcGxheSA9IG5ldyBEYXRlKCk7XHJcbiAgbW9kZWwhOiBEYXRlO1xyXG4gIHN0YXJ0TW9kZWwhOiBEYXRlO1xyXG4gIGVuZE1vZGVsITogRGF0ZTtcclxuICBzdGFydFllYXIhOiBudW1iZXI7XHJcbiAgc3RhcnREaXNwbGF5OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBlbmREaXNwbGF5OiBEYXRlID0gWEFkZE1vbnRocyh0aGlzLnN0YXJ0RGlzcGxheSwgMSk7XHJcbiAgdmFsdWU6IG51bWJlcltdID0gW107XHJcbiAgdmFsdWVDaGFuZ2UhOiBTdWJqZWN0PG51bWJlcltdPjtcclxuICBwb3NpdGlvbkNoYW5nZSE6IFN1YmplY3Q8YW55PjtcclxuICBhbmltYXRpbmchOiBGdW5jdGlvbjtcclxuICBjbG9zZVBvcnRhbCE6IEZ1bmN0aW9uO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBub2RlRW1pdCE6IChkYXRlOiBEYXRlW10sIHN1cmU/OiBib29sZWFuKSA9PiB2b2lkO1xyXG4gIHN0YXJ0Tm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSkgPT4gdm9pZDtcclxuICBlbmROb2RlRW1pdCE6IChkYXRlOiBEYXRlKSA9PiB2b2lkO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBbXTtcclxuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZGlzcGxheTtcclxuICAgICAgdGhpcy5zdGFydE1vZGVsID0gdGhpcy5tb2RlbDtcclxuICAgICAgdGhpcy5lbmRNb2RlbCA9IFhBZGRNb250aHModGhpcy5tb2RlbCwgMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpbWUgPSB0aGlzLm1vZGVsLmdldFRpbWUoKTtcclxuICAgIHRoaXMuX3R5cGUgPSB0aGlzLnR5cGU7XHJcbiAgICB0aGlzLnNldERpc3BsYXkodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHQoKSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnN0YXJ0TW9kZWwgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlWzBdKTtcclxuICAgICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLnN0YXJ0TW9kZWw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHRoaXMuZW5kTW9kZWwgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlWzFdKTtcclxuICAgICAgdGhpcy5lbmREaXNwbGF5ID0gdGhpcy5lbmRNb2RlbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZGlzcGxheSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuICAgIGxldCB0aW1lID0gZGF0ZS5nZXRUaW1lKCk7XHJcbiAgICBpZiAodGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy52YWx1ZS5wdXNoKHRpbWUpO1xyXG4gICAgICB0aGlzLnN0YXJ0Tm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmICh0aW1lID4gdGhpcy52YWx1ZVswXSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUucHVzaCh0aW1lKTtcclxuICAgICAgICB0aGlzLmVuZE5vZGVFbWl0KGRhdGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudmFsdWUudW5zaGlmdCh0aW1lKTtcclxuICAgICAgICB0aGlzLnN0YXJ0Tm9kZUVtaXQoZGF0ZSk7XHJcbiAgICAgICAgdGhpcy5lbmROb2RlRW1pdChuZXcgRGF0ZSh0aGlzLnZhbHVlWzFdKSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ub2RlRW1pdCh0aGlzLnZhbHVlLm1hcCgoeCkgPT4gbmV3IERhdGUoeCkpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHR5cGVDaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW9udGhDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIC8vIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLl90eXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgeWVhckNoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgICAvLyB0aGlzLm5vZGVFbWl0KGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlID0gJ21vbnRoJztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHllYXJTdGFydENoYW5nZShudW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydFllYXIgPSBudW1iZXI7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0WWVhcnMobnVtOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RhcnRZZWFyICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydFllYXIpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIG9uVG9kYXkoKSB7XHJcbiAgICB0aGlzLmRhdGVDaGFuZ2UobmV3IERhdGUoKSk7XHJcbiAgfVxyXG5cclxuICBvblllc3RlcmRheSgpIHtcclxuICAgIHRoaXMuZGF0ZUNoYW5nZShYQWRkRGF5cyhuZXcgRGF0ZSgpLCAtMSkpO1xyXG4gIH1cclxuXHJcbiAgb25Ub21vcnJvdygpIHtcclxuICAgIHRoaXMuZGF0ZUNoYW5nZShYQWRkRGF5cyhuZXcgRGF0ZSgpLCAxKSk7XHJcbiAgfVxyXG5cclxuICBvblByZXNldEZ1bmMoaXRlbTogWERhdGVQaWNrZXJQcmVzZXQpIHtcclxuICAgIHRoaXMuZGF0ZUNoYW5nZShpdGVtLmZ1bmMoKSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUaW1lKHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMudGltZSA9IHRpbWUuZ2V0VGltZSgpO1xyXG4gICAgLy8gdGhpcy5ub2RlRW1pdCh0aGlzLnNldE1vZGVsKHRoaXMubW9kZWwsIHRpbWUpLCBmYWxzZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNb2RlbChkYXRlOiBEYXRlLCB0aW1lOiBEYXRlKSB7XHJcbiAgICB0aGlzLm1vZGVsID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLCB0aW1lLmdldEhvdXJzKCksIHRpbWUuZ2V0TWludXRlcygpLCB0aW1lLmdldFNlY29uZHMoKSk7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtZGF0ZS1yYW5nZS1wb3J0YWwge3sgdHlwZSB9fVwiIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1oZWFkZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXJ0RGF0ZUhlYWRlclRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kRGF0ZUhlYWRlclRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1ib2R5XCI+XHJcbiAgICAgIDx4LXBpY2tlci1kYXRlXHJcbiAgICAgICAgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsLXN0YXJ0XCJcclxuICAgICAgICBbZGlzcGxheV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICAgIFttb2RlbF09XCJzdGFydE1vZGVsXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1lbmRcIlxyXG4gICAgICAgIFtkaXNwbGF5XT1cImVuZERpc3BsYXlcIlxyXG4gICAgICAgIFttb2RlbF09XCJlbmRNb2RlbFwiXHJcbiAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImRhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgcmFuZ2VQaWNrZXJcclxuICAgICAgPjwveC1waWNrZXItZGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc3RhcnREYXRlSGVhZGVyVHBsPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCI+PC94LWJ1dHRvbj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dE1vbnRoKC0xKVwiPjwveC1idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGF0ZS1yYW5nZS1wb3J0YWwteWVhci1tb250aFwiPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ3llYXInKVwiPnt7IHN0YXJ0RGlzcGxheSB8IGRhdGU6ICd5eXl5JyB9fXt7IGxvY2FsZS55ZWFyIH19PC94LWJ1dHRvbj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJ0eXBlQ2hhbmdlKCdtb250aCcpXCI+e3sgZ2V0TG9jYWxlTW9udGgoc3RhcnREaXNwbGF5KSB9fTwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCI+PC94LWJ1dHRvbj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9ucy1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCI+PC94LWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZW5kRGF0ZUhlYWRlclRwbD5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9ucy1sZWZ0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKC0xKVwiIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCI+PC94LWJ1dHRvbj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dE1vbnRoKC0xKVwiIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuXCI+PC94LWJ1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC15ZWFyLW1vbnRoXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZUNoYW5nZSgneWVhcicpXCI+e3sgZW5kRGlzcGxheSB8IGRhdGU6ICd5eXl5JyB9fXt7IGxvY2FsZS55ZWFyIH19PC94LWJ1dHRvbj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJ0eXBlQ2hhbmdlKCdtb250aCcpXCI+e3sgZ2V0TG9jYWxlTW9udGgoZW5kRGlzcGxheSkgfX08L3gtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dE1vbnRoKDEpXCI+PC94LWJ1dHRvbj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9ucy1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigxKVwiPjwveC1idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFzQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQXNCLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyx5QkFBeUI7SUFtQ3BDLFlBQW1CLFFBQWtCLEVBQVMsYUFBNEIsRUFBUyxHQUFzQixFQUFTLElBQWtCO1FBQWpILGFBQVEsR0FBUixRQUFRLENBQVU7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBYztRQXpCcEksU0FBSSxHQUFvQixNQUFNLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFLckIsaUJBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hD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Q0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7OzRKQWhPVSx5QkFBeUI7Z0pBQXpCLHlCQUF5Qiw0T0FGekIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLDBCQ3pCdEMseXlGQXNEQSw0NEREOUJjLENBQUMscUJBQXFCLENBQUM7MkZBR3hCLHlCQUF5QjtrQkFUckMsU0FBUzsrQkFDRSxHQUFHLHNCQUFzQixFQUFFLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMscUJBQXFCLENBQUMsYUFDeEIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO3NMQUdhLFNBQVM7c0JBQXpELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNvQixJQUFJO3NCQUEvRCxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLEtBQUs7c0JBQWpFLFlBQVk7dUJBQUMsaUNBQWlDLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxQcmVmaXgsIFhEYXRlUGlja2VyUHJlc2V0LCBYRGF0ZVBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tLCBYQWRkTW9udGhzLCBYQWRkWWVhcnMgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSTE4blNlcnZpY2UsIFhJMThuRGF0ZVBpY2tlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEYXRlUmFuZ2VQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbWENvbm5lY3RCYXNlQW5pbWF0aW9uXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uJykgcHVibGljIHBsYWNlbWVudCE6IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKSBkb25lKGV2ZW50OiB7IHRvU3RhdGU6IGFueSB9KSB7XHJcbiAgICB0aGlzLmFuaW1hdGluZyhmYWxzZSk7XHJcbiAgICBldmVudC50b1N0YXRlID09PSAndm9pZCcgJiYgdGhpcy5kZXN0cm95UG9ydGFsKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uc3RhcnQnLCBbJyRldmVudCddKSBzdGFydCgpIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIGRpc3BsYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIG1vZGVsITogRGF0ZTtcclxuICBzdGFydE1vZGVsITogRGF0ZTtcclxuICBlbmRNb2RlbCE6IERhdGU7XHJcbiAgc3RhcnRZZWFyITogbnVtYmVyO1xyXG4gIHN0YXJ0RGlzcGxheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZW5kRGlzcGxheTogRGF0ZSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIDEpO1xyXG4gIHZhbHVlOiBudW1iZXJbXSA9IFtdO1xyXG4gIHZhbHVlQ2hhbmdlITogU3ViamVjdDxudW1iZXJbXT47XHJcbiAgcG9zaXRpb25DaGFuZ2UhOiBTdWJqZWN0PGFueT47XHJcbiAgaW5wdXRBY3RpdmVDaGFuZ2UhOiBTdWJqZWN0PCdzdGFydCcgfCAnZW5kJz47XHJcbiAgYWN0aXZlVHlwZSE6ICdzdGFydCcgfCAnZW5kJztcclxuICBhbmltYXRpbmchOiBGdW5jdGlvbjtcclxuICBjbG9zZVBvcnRhbCE6IEZ1bmN0aW9uO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBub2RlRW1pdCE6IChkYXRlOiBEYXRlW10sIHN1cmU/OiBib29sZWFuKSA9PiB2b2lkO1xyXG4gIHN0YXJ0Tm9kZUVtaXQhOiAoZGF0ZTogRGF0ZSkgPT4gdm9pZDtcclxuICBlbmROb2RlRW1pdCE6IChkYXRlOiBEYXRlKSA9PiB2b2lkO1xyXG4gIGxvY2FsZTogWEkxOG5EYXRlUGlja2VyID0ge307XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICBwcmVzZXQ6IFhEYXRlUGlja2VyUHJlc2V0W10gPSBbXTtcclxuICBwcml2YXRlIF90eXBlITogWERhdGVQaWNrZXJUeXBlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGkxOG46IFhJMThuU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0geDtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlucHV0QWN0aXZlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmFjdGl2ZVR5cGUgPSB4O1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGlmICghWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW107XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IHRoaXMubW9kZWw7XHJcbiAgICAgIHRoaXMuZW5kTW9kZWwgPSBYQWRkTW9udGhzKHRoaXMubW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLnNldERpc3BsYXkodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90eXBlID0gdGhpcy50eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0KCkge1xyXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuYWN0aXZlVHlwZSB8fCAnc3RhcnQnO1xyXG4gICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgdGhpcy5zdGFydE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVswXSk7XHJcbiAgICAgIHRoaXMuc3RhcnREaXNwbGF5ID0gdGhpcy5zdGFydE1vZGVsO1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gWEFkZE1vbnRocyh0aGlzLnN0YXJ0TW9kZWwsIDEpO1xyXG4gICAgICB0aGlzLmVuZERpc3BsYXkgPSB0aGlzLmVuZE1vZGVsO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICB0aGlzLmVuZE1vZGVsID0gbmV3IERhdGUodGhpcy52YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZW5kRGlzcGxheSA9IHRoaXMuZW5kTW9kZWw7XHJcbiAgICAgIHRoaXMuc3RhcnRNb2RlbCA9IFhBZGRNb250aHModGhpcy5lbmRNb2RlbCwgLTEpO1xyXG4gICAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IHRoaXMuc3RhcnRNb2RlbDtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRpc3BsYXk7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZGlzcGxheSwgMSk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGRhdGU6IERhdGUsIHR5cGU6ICdzdGFydCcgfCAnZW5kJykge1xyXG4gICAgbGV0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcclxuICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gW3RpbWVdO1xyXG4gICAgICB0aGlzLnN0YXJ0Tm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmICh0aW1lID4gdGhpcy52YWx1ZVswXSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5lbmROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIC4uLnRoaXMudmFsdWVdO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgICB0aGlzLmVuZE5vZGVFbWl0KG5ldyBEYXRlKHRoaXMudmFsdWVbMV0pKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm5vZGVFbWl0KHRoaXMudmFsdWUubWFwKCh4KSA9PiBuZXcgRGF0ZSh4KSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gW3RpbWUsIHRoaXMudmFsdWVbMV1dO1xyXG4gICAgICAgIHRoaXMuc3RhcnROb2RlRW1pdChkYXRlKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kJykge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBbdGhpcy52YWx1ZVswXSwgdGltZV07XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuZW5kTm9kZUVtaXQoZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ub2RlRW1pdChcclxuICAgICAgICB0aGlzLnZhbHVlLm1hcCgoeCkgPT4gbmV3IERhdGUoeCkpLFxyXG4gICAgICAgIHR5cGUgIT09ICdzdGFydCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHR5cGVDaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW9udGhDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRhdGU7XHJcbiAgICAgIC8vIHRoaXMubm9kZUVtaXQoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR5cGUgPSB0aGlzLl90eXBlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgeWVhckNoYW5nZShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgICAvLyB0aGlzLm5vZGVFbWl0KGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50eXBlID0gJ21vbnRoJztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHllYXJTdGFydENoYW5nZShudW1iZXI6IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydFllYXIgPSBudW1iZXI7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0TW9udGgobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZXh0WWVhcnMobnVtOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RhcnRZZWFyICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydFllYXIpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxlTW9udGgoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuICh0aGlzLmxvY2FsZSBhcyBhbnkpW3RoaXMubG93ZXJDYXNlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0xMTEwnKSBhcyBzdHJpbmcpXTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpbWUodGltZTogRGF0ZSkge1xyXG4gICAgdGhpcy50aW1lID0gdGltZS5nZXRUaW1lKCk7XHJcbiAgICAvLyB0aGlzLm5vZGVFbWl0KHRoaXMuc2V0TW9kZWwodGhpcy5tb2RlbCwgdGltZSksIGZhbHNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldE1vZGVsKGRhdGU6IERhdGUsIHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIHRpbWUuZ2V0SG91cnMoKSwgdGltZS5nZXRNaW51dGVzKCksIHRpbWUuZ2V0U2Vjb25kcygpKTtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRZZWFyQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5lbmREaXNwbGF5LCBudW0pO1xyXG4gIH1cclxuXHJcbiAgZW5kWWVhckNoYW5nZShudW06IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSBYQWRkWWVhcnModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG5cclxuICBzdGFydE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmVuZERpc3BsYXkgPSBYQWRkTW9udGhzKHRoaXMuZW5kRGlzcGxheSwgbnVtKTtcclxuICB9XHJcblxyXG4gIGVuZE1vbnRoQ2hhbmdlKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IFhBZGRNb250aHModGhpcy5zdGFydERpc3BsYXksIG51bSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsIHt7IHR5cGUgfX1cIiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGF0ZS1yYW5nZS1wb3J0YWwtYm9keVwiPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1zdGFydFwiXHJcbiAgICAgICAgWyhkaXNwbGF5KV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICAgIFttb2RlbF09XCJzdGFydE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbmV4dFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtuZXh0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgICh5ZWFyQ2hhbmdlKT1cInN0YXJ0WWVhckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAobW9udGhDaGFuZ2UpPVwic3RhcnRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgICA8eC1waWNrZXItZGF0ZVxyXG4gICAgICAgIGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC1lbmRcIlxyXG4gICAgICAgIFsoZGlzcGxheSldPVwiZW5kRGlzcGxheVwiXHJcbiAgICAgICAgW21vZGVsXT1cImVuZE1vZGVsXCJcclxuICAgICAgICBbcmFuZ2VWYWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW3JhbmdlVHlwZV09XCJhY3RpdmVUeXBlXCJcclxuICAgICAgICBbbGFzdFllYXJCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtsYXN0TW9udGhCdG5dPVwiZmFsc2VcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJkYXRlQ2hhbmdlKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoeWVhckNoYW5nZSk9XCJlbmRZZWFyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIChtb250aENoYW5nZSk9XCJlbmRNb250aENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICByYW5nZVBpY2tlclxyXG4gICAgICA+PC94LXBpY2tlci1kYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNzdGFydERhdGVIZWFkZXJUcGw+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigtMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCI+PC94LWJ1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXBvcnRhbC15ZWFyLW1vbnRoXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZUNoYW5nZSgneWVhcicpXCI+e3sgc3RhcnREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChzdGFydERpc3BsYXkpIH19PC94LWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNlbmREYXRlSGVhZGVyVHBsPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiBzaXplPVwic21hbGxcIiBvbmx5SWNvbiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoLTEpXCIgc3R5bGU9XCJ2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3gtYnV0dG9uPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtcG9ydGFsLXllYXItbW9udGhcIj5cclxuICAgIDx4LWJ1dHRvbiB0eXBlPVwidGV4dFwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJ0eXBlQ2hhbmdlKCd5ZWFyJylcIj57eyBlbmREaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInR5cGVDaGFuZ2UoJ21vbnRoJylcIj57eyBnZXRMb2NhbGVNb250aChlbmREaXNwbGF5KSB9fTwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0TW9udGgoMSlcIj48L3gtYnV0dG9uPlxyXG4gIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRZZWFyKDEpXCI+PC94LWJ1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -37,6 +37,7 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
37
37
|
this.valueChange = new Subject();
|
|
38
38
|
this.dataChange = new Subject();
|
|
39
39
|
this.positionChange = new Subject();
|
|
40
|
+
this.inputActiveChange = new Subject();
|
|
40
41
|
this.closeSubject = new Subject();
|
|
41
42
|
this.startDisplay = '';
|
|
42
43
|
this.endDisplay = '';
|
|
@@ -164,6 +165,8 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
164
165
|
if (this.portalAttached()) {
|
|
165
166
|
this.portal?.overlayRef?.detach();
|
|
166
167
|
this.active = false;
|
|
168
|
+
this.startActive = false;
|
|
169
|
+
this.endActive = false;
|
|
167
170
|
this.cdr.detectChanges();
|
|
168
171
|
return true;
|
|
169
172
|
}
|
|
@@ -173,12 +176,16 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
173
176
|
this.portal?.overlayRef?.dispose();
|
|
174
177
|
}
|
|
175
178
|
showPortal($event, type) {
|
|
176
|
-
$event.stopPropagation();
|
|
179
|
+
type && $event.stopPropagation();
|
|
177
180
|
if (this.disabled || this.animating)
|
|
178
181
|
return;
|
|
179
|
-
this.active = true;
|
|
180
182
|
this.startActive = type === 'start';
|
|
181
183
|
this.endActive = type === 'end';
|
|
184
|
+
this.activeType = type;
|
|
185
|
+
this.activeType && this.inputActiveChange.next(this.activeType);
|
|
186
|
+
if (this.active)
|
|
187
|
+
return;
|
|
188
|
+
this.active = true;
|
|
182
189
|
const config = {
|
|
183
190
|
backdropClass: '',
|
|
184
191
|
positionStrategy: this.setPlacement(),
|
|
@@ -193,9 +200,12 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
193
200
|
this.portal.overlayRef
|
|
194
201
|
?.outsidePointerEvents()
|
|
195
202
|
.pipe(takeUntil(this._unSubject))
|
|
196
|
-
.subscribe(() => {
|
|
197
|
-
|
|
198
|
-
this.
|
|
203
|
+
.subscribe((event) => {
|
|
204
|
+
const clickTarget = event.target;
|
|
205
|
+
if (clickTarget !== this.inputStartCom.inputRef.nativeElement && clickTarget !== this.inputEndCom.inputRef.nativeElement) {
|
|
206
|
+
this.setDisplayValue(this.numberValue);
|
|
207
|
+
this.closeSubject.next();
|
|
208
|
+
}
|
|
199
209
|
});
|
|
200
210
|
this.setInstance();
|
|
201
211
|
}
|
|
@@ -217,6 +227,8 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
217
227
|
preset: this.preset,
|
|
218
228
|
valueChange: this.valueChange,
|
|
219
229
|
positionChange: this.positionChange,
|
|
230
|
+
inputActiveChange: this.inputActiveChange,
|
|
231
|
+
activeType: this.activeType,
|
|
220
232
|
closePortal: () => this.closeSubject.next(),
|
|
221
233
|
destroyPortal: () => this.destroyPortal(),
|
|
222
234
|
nodeEmit: (dates, sure = true) => this.onNodeClick(dates, sure),
|
|
@@ -228,6 +240,9 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
228
240
|
}
|
|
229
241
|
startNodeClick(node) {
|
|
230
242
|
this.startDisplay = this.datePipe.transform(node, this.format);
|
|
243
|
+
this.startActive = false;
|
|
244
|
+
this.endActive = true;
|
|
245
|
+
this.inputEndCom.inputFocus('after');
|
|
231
246
|
this.cdr.detectChanges();
|
|
232
247
|
}
|
|
233
248
|
endNodeClick(node) {
|
|
@@ -260,6 +275,8 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
260
275
|
// this.modelChange();
|
|
261
276
|
// this.isInput = false;
|
|
262
277
|
// } else {
|
|
278
|
+
if (!dateNumber)
|
|
279
|
+
return;
|
|
263
280
|
this.displayValue = dateNumber.map((x) => this.datePipe.transform(x, this.format));
|
|
264
281
|
// }
|
|
265
282
|
}
|
|
@@ -282,16 +299,22 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
282
299
|
this.cdr.detectChanges();
|
|
283
300
|
}
|
|
284
301
|
}
|
|
285
|
-
/** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.
|
|
286
|
-
/** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.
|
|
302
|
+
/** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
303
|
+
/** @nocollapse */ /** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, static: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n [class.x-input-active]=\"startActive\"\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'start')\"\r\n (xFocus)=\"startActive = true\"\r\n (xBlur)=\"startActive = false\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n [class.x-input-active]=\"endActive\"\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'end')\"\r\n (xFocus)=\"endActive = true\"\r\n (xBlur)=\"endActive = false\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem;border-radius:0;border-bottom:var(--x-border-width) var(--x-border-style) transparent}.x-date-range-group .x-input-group>x-input .x-input-active input{border-color:var(--x-primary)}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6.XIconComponent, selector: "x-icon" }], directives: [{ type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: XDateRangeComponent, decorators: [{
|
|
288
305
|
type: Component,
|
|
289
|
-
args: [{ selector: `${XDateRangePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n
|
|
306
|
+
args: [{ selector: `${XDateRangePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n [class.x-input-active]=\"startActive\"\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'start')\"\r\n (xFocus)=\"startActive = true\"\r\n (xBlur)=\"startActive = false\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n [class.x-input-active]=\"endActive\"\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (click)=\"showPortal($event, 'end')\"\r\n (xFocus)=\"endActive = true\"\r\n (xBlur)=\"endActive = false\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem;border-radius:0;border-bottom:var(--x-border-width) var(--x-border-style) transparent}.x-date-range-group .x-input-group>x-input .x-input-active input{border-color:var(--x-primary)}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"] }]
|
|
290
307
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.DatePipe }, { type: i4.Overlay }]; }, propDecorators: { dateRange: [{
|
|
291
308
|
type: ViewChild,
|
|
292
309
|
args: ['dateRange', { static: true }]
|
|
293
310
|
}], inputGroup: [{
|
|
294
311
|
type: ViewChild,
|
|
295
312
|
args: ['inputGroup', { static: true }]
|
|
313
|
+
}], inputStartCom: [{
|
|
314
|
+
type: ViewChild,
|
|
315
|
+
args: ['inputStartCom', { static: true }]
|
|
316
|
+
}], inputEndCom: [{
|
|
317
|
+
type: ViewChild,
|
|
318
|
+
args: ['inputEndCom', { static: true }]
|
|
296
319
|
}] } });
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUNMLFFBQVEsRUFDUixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUVULFlBQVksRUFFYixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFVMUUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXFEekQsWUFDUyxRQUFtQixFQUNuQixhQUE2QixFQUM1QixHQUFzQixFQUN0QixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdB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cnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlck1vZGVsVHlwZSwgWERhdGVSYW5nZVByZWZpeCwgWERhdGVSYW5nZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzRW1wdHksXHJcbiAgWElzRGF0ZSxcclxuICBYSXNOdW1iZXIsXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhDb3JuZXIsXHJcbiAgWENsZWFyQ2xhc3MsXHJcbiAgWElzU3RyaW5nLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhJc1VuZGVmaW5lZCxcclxuICBYQm9vbGVhblxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERhdGVSYW5nZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYRGF0ZVJhbmdlQ29tcG9uZW50KSwgRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgWERhdGVSYW5nZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVSYW5nZScsIHsgc3RhdGljOiB0cnVlIH0pIGRhdGVSYW5nZSE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRHcm91cCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0R3JvdXAhOiBYSW5wdXRHcm91cENvbXBvbmVudDtcclxuXHJcbiAgbW9kZWxUeXBlOiBYRGF0ZVBpY2tlck1vZGVsVHlwZSA9ICdkYXRlJztcclxuICBudW1iZXJWYWx1ZSE6IG51bWJlcltdO1xyXG4gIGlzSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IGdldFJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQgJiYgWElzRW1wdHkodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodmFsdWUpKSB2YWx1ZSA9IFtdO1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKFhJc0RhdGUodmFsdWVbMF0pKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlLmdldFRpbWUoKTtcclxuICAgICAgfSBlbHNlIGlmIChYSXNOdW1iZXIodmFsdWVbMF0pKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnbnVtYmVyJztcclxuICAgICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzU3RyaW5nKHZhbHVlWzBdKSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxUeXBlID0gJ3N0cmluZyc7XHJcbiAgICAgICAgY29uc3QgdmFsdWVUaW1lID0gdmFsdWUubWFwKCh4OiBzdHJpbmcpID0+IG5ldyBEYXRlKHgpLmdldFRpbWUoKSk7XHJcbiAgICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9ICFpc05hTih2YWx1ZVRpbWVbMF0pID8gdmFsdWVUaW1lIDogW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnB1dENsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogc3RyaW5nW10gPSBbXTtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYRGF0ZVJhbmdlUG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNhbGVuZGFyJztcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN0YXJ0RGlzcGxheTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XHJcbiAgZW5kRGlzcGxheTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XHJcbiAgc3RhcnRBY3RpdmU6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgZW5kQWN0aXZlOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLmRhdGVSYW5nZS5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHR5cGUgfSA9IGNoYW5nZXM7XHJcbiAgICBpZiAoWElzQ2hhbmdlKHR5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0nO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLWhvdXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLW1pbnV0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMubnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlucHV0Q2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRW1pdCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSBbXTtcclxuICAgIHRoaXMubnVtYmVyVmFsdWUgPSBbXTtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gW107XHJcbiAgICB0aGlzLm1sZWF2ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbW9kZWxDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0VmFsdWUoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsVHlwZSA9PT0gJ2RhdGUnXHJcbiAgICAgID8gdGhpcy5udW1iZXJWYWx1ZS5tYXAoKHgpID0+IG5ldyBEYXRlKHgpKVxyXG4gICAgICA6IHRoaXMubW9kZWxUeXBlID09PSAnc3RyaW5nJ1xyXG4gICAgICA/IHRoaXMubnVtYmVyVmFsdWUubWFwKCh4KSA9PiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh4LCB0aGlzLmZvcm1hdCkpXHJcbiAgICAgIDogdGhpcy5udW1iZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd1BvcnRhbCgkZXZlbnQ6IEV2ZW50LCB0eXBlPzogJ3N0YXJ0JyB8ICdlbmQnKSB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5zdGFydEFjdGl2ZSA9IHR5cGUgPT09ICdzdGFydCc7XHJcbiAgICB0aGlzLmVuZEFjdGl2ZSA9IHR5cGUgPT09ICdlbmQnO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzogY29uZmlnXHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWZcclxuICAgICAgPy5vdXRzaWRlUG9pbnRlckV2ZW50cygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYQ29ybmVyO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIHZhbHVlOiB0aGlzLm51bWJlclZhbHVlLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICBwcmVzZXQ6IHRoaXMucHJlc2V0LFxyXG4gICAgICB2YWx1ZUNoYW5nZTogdGhpcy52YWx1ZUNoYW5nZSxcclxuICAgICAgcG9zaXRpb25DaGFuZ2U6IHRoaXMucG9zaXRpb25DaGFuZ2UsXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKGRhdGVzOiBEYXRlW10sIHN1cmUgPSB0cnVlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKGRhdGVzLCBzdXJlKSxcclxuICAgICAgc3RhcnROb2RlRW1pdDogKG5vZGU6IERhdGUpID0+IHRoaXMuc3RhcnROb2RlQ2xpY2sobm9kZSksXHJcbiAgICAgIGVuZE5vZGVFbWl0OiAobm9kZTogRGF0ZSkgPT4gdGhpcy5lbmROb2RlQ2xpY2sobm9kZSksXHJcbiAgICAgIGFuaW1hdGluZzogKGluZzogYm9vbGVhbikgPT4gKHRoaXMuYW5pbWF0aW5nID0gaW5nKVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnROb2RlQ2xpY2sobm9kZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShub2RlLCB0aGlzLmZvcm1hdCkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW5kTm9kZUNsaWNrKG5vZGU6IERhdGUpIHtcclxuICAgIHRoaXMuZW5kRGlzcGxheSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5vZGUsIHRoaXMuZm9ybWF0KSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhkYXRlczogRGF0ZVtdLCBzdXJlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICBpZiAoc3VyZSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gZGF0ZXMubWFwKCh4KSA9PiB4LmdldFRpbWUoKSk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgICAgdGhpcy5ub2RlRW1pdC5lbWl0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoZGF0ZXMubWFwKCh4KSA9PiB4LmdldFRpbWUoKSkpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheVZhbHVlKGRhdGVOdW1iZXI6IG51bWJlcltdKSB7XHJcbiAgICAvLyBpZiAodGhpcy5pc0lucHV0ICYmIGlzTmFOKHRoaXMuc3RhcnREaXNwbGF5KSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh0aGlzLmRpc3BsYXlWYWx1ZSkpKSB7XHJcbiAgICAvLyAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5kaXNwbGF5VmFsdWUsIHRoaXMuZm9ybWF0KTtcclxuICAgIC8vICAgdGhpcy5udW1iZXJWYWx1ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheVZhbHVlKS5nZXRUaW1lKCk7XHJcbiAgICAvLyAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAvLyAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgIC8vICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBkYXRlTnVtYmVyLm1hcCgoeCkgPT4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oeCwgdGhpcy5mb3JtYXQpKSBhcyBzdHJpbmdbXTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2VtZW50KHtcclxuICAgICAgZWxlbWVudFJlZjogdGhpcy5pbnB1dEdyb3VwLmVsZW1lbnRSZWYsXHJcbiAgICAgIHBsYWNlbWVudDogW3RoaXMucGxhY2VtZW50IGFzIFhDb3JuZXIsICdib3R0b20tc3RhcnQnLCAnYm90dG9tLWVuZCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtZGF0ZS1yYW5nZS1wb3J0YWwnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnNldFBsYWNlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2RhdGVSYW5nZSBjbGFzcz1cIngtZGF0ZS1yYW5nZVwiIFtjbGFzcy54LWRhdGUtcmFuZ2UtYWN0aXZlXT1cImFjdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2Utcm93XCI+XHJcbiAgICA8eC1pbnB1dC1ncm91cCAjaW5wdXRHcm91cCBjbGFzcz1cIngtZGF0ZS1yYW5nZS1ncm91cFwiIGJvcmRlcmVkPVwiZmFsc2VcIiAoY2xpY2spPVwic2hvd1BvcnRhbCgkZXZlbnQpXCI+XHJcbiAgICAgIDx4LWlucHV0XHJcbiAgICAgICAgI2lucHV0U3RhcnRDb21cclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLlvIDlp4vml6XmnJ9cIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJzdGFydEFjdGl2ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNob3dQb3J0YWwoJGV2ZW50LCAnc3RhcnQnKVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICA+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8tYXJyb3ctcmlnaHRcIj48L3gtaWNvbj5cclxuICAgICAgPHgtaW5wdXRcclxuICAgICAgICAjaW5wdXRFbmRDb21cclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLnu5PmnZ/ml6XmnJ9cIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJlbmRBY3RpdmVcIlxyXG4gICAgICAgIChjbGljayk9XCJzaG93UG9ydGFsKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERpc3BsYXlcIlxyXG4gICAgICA+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIFt0eXBlXT1cImljb25cIj48L3gtaWNvbj5cclxuICAgIDwveC1pbnB1dC1ncm91cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUNMLFFBQVEsRUFDUixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUVULFlBQVksRUFFYixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFVMUUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXlEekQsWUFDUyxRQUFtQixFQUNuQixhQUE2QixFQUM1QixHQUFzQixFQUN0QixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdB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QUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7c0pBblRVLG1CQUFtQjswSUFBbkIsbUJBQW1CLHVDQUZuQixDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQywrZkN6QzVELCtrQ0E0QkE7MkZEZWEsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLEdBQUcsZ0JBQWdCLEVBQUUsaUJBR2hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLHFCQUFxQixFQUFFLFFBQVEsQ0FBQztzUUFHaEIsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0EsV0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlck1vZGVsVHlwZSwgWERhdGVSYW5nZVByZWZpeCwgWERhdGVSYW5nZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzRW1wdHksXHJcbiAgWElzRGF0ZSxcclxuICBYSXNOdW1iZXIsXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhDb3JuZXIsXHJcbiAgWENsZWFyQ2xhc3MsXHJcbiAgWElzU3RyaW5nLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhJc1VuZGVmaW5lZCxcclxuICBYQm9vbGVhblxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRDb21wb25lbnQsIFhJbnB1dEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWERhdGVSYW5nZVBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1wb3J0YWwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRGF0ZVJhbmdlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhEYXRlUmFuZ2VDb21wb25lbnQpLCBEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUmFuZ2VDb21wb25lbnQgZXh0ZW5kcyBYRGF0ZVJhbmdlUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVJhbmdlJywgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZVJhbmdlITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dEdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRHcm91cCE6IFhJbnB1dEdyb3VwQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0U3RhcnRDb20nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFN0YXJ0Q29tITogWElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0RW5kQ29tJywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRFbmRDb20hOiBYSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIG1vZGVsVHlwZTogWERhdGVQaWNrZXJNb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgbnVtYmVyVmFsdWUhOiBudW1iZXJbXTtcclxuICBpc0lucHV0ID0gZmFsc2U7XHJcblxyXG4gIGdldCBnZXRSZXF1aXJlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkICYmIFhJc0VtcHR5KHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHZhbHVlKSkgdmFsdWUgPSBbXTtcclxuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmIChYSXNEYXRlKHZhbHVlWzBdKSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxUeXBlID0gJ2RhdGUnO1xyXG4gICAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSB2YWx1ZS5nZXRUaW1lKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzTnVtYmVyKHZhbHVlWzBdKSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxUeXBlID0gJ251bWJlcic7XHJcbiAgICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB9IGVsc2UgaWYgKFhJc1N0cmluZyh2YWx1ZVswXSkpIHtcclxuICAgICAgICB0aGlzLm1vZGVsVHlwZSA9ICdzdHJpbmcnO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlVGltZSA9IHZhbHVlLm1hcCgoeDogc3RyaW5nKSA9PiBuZXcgRGF0ZSh4KS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSAhaXNOYU4odmFsdWVUaW1lWzBdKSA/IHZhbHVlVGltZSA6IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5wdXRDbGVhcmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbmltYXRpbmcgPSBmYWxzZTtcclxuICBkaXNwbGF5VmFsdWU6IHN0cmluZ1tdID0gW107XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WERhdGVSYW5nZVBvcnRhbENvbXBvbmVudD47XHJcbiAgaWNvbjogc3RyaW5nID0gJ2Z0by1jYWxlbmRhcic7XHJcbiAgYm94ITogRE9NUmVjdDtcclxuICBwcm90YWxIZWlnaHQhOiBudW1iZXI7XHJcbiAgbWF4Tm9kZXM6IG51bWJlciA9IDY7XHJcbiAgcHJvdGFsVG9ib3R0b206IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHZhbHVlQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGRhdGFDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcG9zaXRpb25DaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgaW5wdXRBY3RpdmVDaGFuZ2U6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xvc2VTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBzdGFydERpc3BsYXk6IHN0cmluZyB8IG51bWJlciA9ICcnO1xyXG4gIGVuZERpc3BsYXk6IHN0cmluZyB8IG51bWJlciA9ICcnO1xyXG4gIHN0YXJ0QWN0aXZlOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVuZEFjdGl2ZTogWEJvb2xlYW4gPSBmYWxzZTtcclxuICBhY3RpdmVUeXBlPzogJ3N0YXJ0JyB8ICdlbmQnO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLmRhdGVSYW5nZS5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHR5cGUgfSA9IGNoYW5nZXM7XHJcbiAgICBpZiAoWElzQ2hhbmdlKHR5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0nO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLWhvdXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLW1pbnV0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMubnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlucHV0Q2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRW1pdCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSBbXTtcclxuICAgIHRoaXMubnVtYmVyVmFsdWUgPSBbXTtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gW107XHJcbiAgICB0aGlzLm1sZWF2ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbW9kZWxDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0VmFsdWUoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsVHlwZSA9PT0gJ2RhdGUnXHJcbiAgICAgID8gdGhpcy5udW1iZXJWYWx1ZS5tYXAoKHgpID0+IG5ldyBEYXRlKHgpKVxyXG4gICAgICA6IHRoaXMubW9kZWxUeXBlID09PSAnc3RyaW5nJ1xyXG4gICAgICA/IHRoaXMubnVtYmVyVmFsdWUubWFwKCh4KSA9PiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh4LCB0aGlzLmZvcm1hdCkpXHJcbiAgICAgIDogdGhpcy5udW1iZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zdGFydEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVuZEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzaG93UG9ydGFsKCRldmVudDogRXZlbnQsIHR5cGU/OiAnc3RhcnQnIHwgJ2VuZCcpIHtcclxuICAgIHR5cGUgJiYgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIHRoaXMuc3RhcnRBY3RpdmUgPSB0eXBlID09PSAnc3RhcnQnO1xyXG4gICAgdGhpcy5lbmRBY3RpdmUgPSB0eXBlID09PSAnZW5kJztcclxuICAgIHRoaXMuYWN0aXZlVHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmFjdGl2ZVR5cGUgJiYgdGhpcy5pbnB1dEFjdGl2ZUNoYW5nZS5uZXh0KHRoaXMuYWN0aXZlVHlwZSk7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UGxhY2VtZW50KCksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYRGF0ZVJhbmdlUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBjbGlja1RhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBpZiAoY2xpY2tUYXJnZXQgIT09IHRoaXMuaW5wdXRTdGFydENvbS5pbnB1dFJlZi5uYXRpdmVFbGVtZW50ICYmIGNsaWNrVGFyZ2V0ICE9PSB0aGlzLmlucHV0RW5kQ29tLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnNldEluc3RhbmNlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3NpdGlvbihjb25maWc6IE92ZXJsYXlDb25maWcpIHtcclxuICAgIGxldCBwb3NpdGlvbiA9IGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTtcclxuICAgIHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHBvczogQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYWNlID0gWFBvcnRhbENvbm5lY3RlZFBvc2l0aW9uLmdldChwb3MuY29ubmVjdGlvblBhaXIpIGFzIFhDb3JuZXI7XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBsYWNlbWVudCAmJiB0aGlzLnBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbD8uY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgdmFsdWU6IHRoaXMubnVtYmVyVmFsdWUsXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXHJcbiAgICAgIHByZXNldDogdGhpcy5wcmVzZXQsXHJcbiAgICAgIHZhbHVlQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLFxyXG4gICAgICBwb3NpdGlvbkNoYW5nZTogdGhpcy5wb3NpdGlvbkNoYW5nZSxcclxuICAgICAgaW5wdXRBY3RpdmVDaGFuZ2U6IHRoaXMuaW5wdXRBY3RpdmVDaGFuZ2UsXHJcbiAgICAgIGFjdGl2ZVR5cGU6IHRoaXMuYWN0aXZlVHlwZSxcclxuICAgICAgY2xvc2VQb3J0YWw6ICgpID0+IHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKSxcclxuICAgICAgZGVzdHJveVBvcnRhbDogKCkgPT4gdGhpcy5kZXN0cm95UG9ydGFsKCksXHJcbiAgICAgIG5vZGVFbWl0OiAoZGF0ZXM6IERhdGVbXSwgc3VyZSA9IHRydWUpID0+IHRoaXMub25Ob2RlQ2xpY2soZGF0ZXMsIHN1cmUpLFxyXG4gICAgICBzdGFydE5vZGVFbWl0OiAobm9kZTogRGF0ZSkgPT4gdGhpcy5zdGFydE5vZGVDbGljayhub2RlKSxcclxuICAgICAgZW5kTm9kZUVtaXQ6IChub2RlOiBEYXRlKSA9PiB0aGlzLmVuZE5vZGVDbGljayhub2RlKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydE5vZGVDbGljayhub2RlOiBEYXRlKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGlzcGxheSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5vZGUsIHRoaXMuZm9ybWF0KSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLnN0YXJ0QWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmVuZEFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmlucHV0RW5kQ29tLmlucHV0Rm9jdXMoJ2FmdGVyJyk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBlbmROb2RlQ2xpY2sobm9kZTogRGF0ZSkge1xyXG4gICAgdGhpcy5lbmREaXNwbGF5ID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obm9kZSwgdGhpcy5mb3JtYXQpIGFzIHN0cmluZztcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGRhdGVzOiBEYXRlW10sIHN1cmUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIGlmIChzdXJlKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSBkYXRlcy5tYXAoKHgpID0+IHguZ2V0VGltZSgpKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgICB0aGlzLm5vZGVFbWl0LmVtaXQodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZShkYXRlcy5tYXAoKHgpID0+IHguZ2V0VGltZSgpKSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpIHtcclxuICAgIHRoaXMuaXNJbnB1dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoZGF0ZU51bWJlcjogbnVtYmVyW10pIHtcclxuICAgIC8vIGlmICh0aGlzLmlzSW5wdXQgJiYgaXNOYU4odGhpcy5zdGFydERpc3BsYXkpICYmICFpc05hTihEYXRlLnBhcnNlKHRoaXMuZGlzcGxheVZhbHVlKSkpIHtcclxuICAgIC8vICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmRpc3BsYXlWYWx1ZSwgdGhpcy5mb3JtYXQpO1xyXG4gICAgLy8gICB0aGlzLm51bWJlclZhbHVlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5VmFsdWUpLmdldFRpbWUoKTtcclxuICAgIC8vICAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcclxuICAgIC8vICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gICAgLy8gICB0aGlzLmlzSW5wdXQgPSBmYWxzZTtcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICBpZiAoIWRhdGVOdW1iZXIpIHJldHVybjtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZGF0ZU51bWJlci5tYXAoKHgpID0+IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHgsIHRoaXMuZm9ybWF0KSkgYXMgc3RyaW5nW107XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuaW5wdXRHcm91cC5lbGVtZW50UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYQ29ybmVyLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRhdGUtcmFuZ2UtcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5zZXRQbGFjZW1lbnQoKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNkYXRlUmFuZ2UgY2xhc3M9XCJ4LWRhdGUtcmFuZ2VcIiBbY2xhc3MueC1kYXRlLXJhbmdlLWFjdGl2ZV09XCJhY3RpdmVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXJvd1wiPlxyXG4gICAgPHgtaW5wdXQtZ3JvdXAgI2lucHV0R3JvdXAgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtZ3JvdXBcIiBib3JkZXJlZD1cImZhbHNlXCIgKGNsaWNrKT1cInNob3dQb3J0YWwoJGV2ZW50KVwiPlxyXG4gICAgICA8eC1pbnB1dFxyXG4gICAgICAgICNpbnB1dFN0YXJ0Q29tXHJcbiAgICAgICAgW2NsYXNzLngtaW5wdXQtYWN0aXZlXT1cInN0YXJ0QWN0aXZlXCJcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLlvIDlp4vml6XmnJ9cIlxyXG4gICAgICAgIChjbGljayk9XCJzaG93UG9ydGFsKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgICh4Rm9jdXMpPVwic3RhcnRBY3RpdmUgPSB0cnVlXCJcclxuICAgICAgICAoeEJsdXIpPVwic3RhcnRBY3RpdmUgPSBmYWxzZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICA+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8tYXJyb3ctcmlnaHRcIj48L3gtaWNvbj5cclxuICAgICAgPHgtaW5wdXRcclxuICAgICAgICAjaW5wdXRFbmRDb21cclxuICAgICAgICBbY2xhc3MueC1pbnB1dC1hY3RpdmVdPVwiZW5kQWN0aXZlXCJcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLnu5PmnZ/ml6XmnJ9cIlxyXG4gICAgICAgIChjbGljayk9XCJzaG93UG9ydGFsKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoeEZvY3VzKT1cImVuZEFjdGl2ZSA9IHRydWVcIlxyXG4gICAgICAgICh4Qmx1cik9XCJlbmRBY3RpdmUgPSBmYWxzZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlbmREaXNwbGF5XCJcclxuICAgICAgPjwveC1pbnB1dD5cclxuICAgICAgPHgtaWNvbiBbdHlwZV09XCJpY29uXCI+PC94LWljb24+XHJcbiAgICA8L3gtaW5wdXQtZ3JvdXA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|