ngx-tethys 18.2.5 → 18.2.7
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/CHANGELOG.md +23 -0
- package/carousel/carousel.component.d.ts +2 -2
- package/date-picker/date-picker.config.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -2
- package/date-picker/lib/date/date-table.component.d.ts +2 -2
- package/date-picker/lib/popups/date-popup.component.d.ts +3 -2
- package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
- package/date-picker/picker.util.d.ts +3 -3
- package/date-range/date-range.component.d.ts +1 -1
- package/esm2022/action/action.component.mjs +4 -4
- package/esm2022/action/action.module.mjs +5 -5
- package/esm2022/action/actions.component.mjs +4 -4
- package/esm2022/affix/affix.component.mjs +4 -4
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +4 -4
- package/esm2022/alert/alert.directive.mjs +4 -4
- package/esm2022/alert/alert.module.mjs +5 -5
- package/esm2022/anchor/anchor-link.component.mjs +4 -4
- package/esm2022/anchor/anchor.component.mjs +4 -4
- package/esm2022/anchor/anchor.module.mjs +5 -5
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -4
- package/esm2022/arrow-switcher/module.mjs +5 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +4 -4
- package/esm2022/autocomplete/module.mjs +5 -5
- package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +4 -4
- package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +4 -4
- package/esm2022/avatar/avatar.module.mjs +5 -5
- package/esm2022/avatar/avatar.pipe.mjs +10 -10
- package/esm2022/avatar/avatar.service.mjs +4 -4
- package/esm2022/back-top/back-top.component.mjs +4 -4
- package/esm2022/back-top/back-top.module.mjs +5 -5
- package/esm2022/badge/badge.component.mjs +4 -4
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +4 -4
- package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/breadcrumb/module.mjs +5 -5
- package/esm2022/button/button-group.component.mjs +4 -4
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +4 -4
- package/esm2022/button/button.module.mjs +5 -5
- package/esm2022/calendar/calendar-cells.mjs +7 -7
- package/esm2022/calendar/calendar-header.component.mjs +17 -17
- package/esm2022/calendar/calendar.component.mjs +6 -6
- package/esm2022/calendar/module.mjs +5 -5
- package/esm2022/card/card.component.mjs +4 -4
- package/esm2022/card/card.module.mjs +5 -5
- package/esm2022/card/content.component.mjs +4 -4
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel-item.directive.mjs +4 -4
- package/esm2022/carousel/carousel.component.mjs +13 -13
- package/esm2022/carousel/carousel.service.mjs +4 -4
- package/esm2022/carousel/module.mjs +5 -5
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +4 -4
- package/esm2022/cascader/cascader.service.mjs +4 -4
- package/esm2022/cascader/module.mjs +5 -5
- package/esm2022/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/checkbox/module.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +4 -4
- package/esm2022/collapse/collapse.component.mjs +4 -4
- package/esm2022/collapse/module.mjs +5 -5
- package/esm2022/color-picker/color-picker-custom-panel.component.mjs +4 -4
- package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
- package/esm2022/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/color-picker/coordinates.directive.mjs +4 -4
- package/esm2022/color-picker/module.mjs +5 -5
- package/esm2022/color-picker/parts/alpha/alpha.component.mjs +4 -4
- package/esm2022/color-picker/parts/hue/hue.component.mjs +4 -4
- package/esm2022/color-picker/parts/indicator/indicator.component.mjs +4 -4
- package/esm2022/color-picker/parts/inputs/inputs.component.mjs +4 -4
- package/esm2022/color-picker/parts/saturation/saturation.component.mjs +4 -4
- package/esm2022/comment/comment-actions.directive.mjs +4 -4
- package/esm2022/comment/comment-content.directive.mjs +4 -4
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/comment/comment.module.mjs +5 -5
- package/esm2022/copy/copy.directive.mjs +4 -4
- package/esm2022/copy/module.mjs +5 -5
- package/esm2022/core/click-positioner.mjs +4 -4
- package/esm2022/core/overlay/portal-directives.mjs +4 -4
- package/esm2022/core/request-animation.mjs +3 -2
- package/esm2022/core/scroll.mjs +4 -4
- package/esm2022/core/store/store.mjs +4 -4
- package/esm2022/core/theme/store.mjs +4 -4
- package/esm2022/core/translate.mjs +4 -4
- package/esm2022/core/update-host-class.service.mjs +4 -4
- package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
- package/esm2022/date-picker/abstract-picker.directive.mjs +4 -4
- package/esm2022/date-picker/base-picker.component.mjs +4 -4
- package/esm2022/date-picker/date-helper.service.mjs +4 -4
- package/esm2022/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/date-picker/date-picker.config.mjs +12 -13
- package/esm2022/date-picker/date-picker.directive.mjs +4 -4
- package/esm2022/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/date-picker/date-picker.service.mjs +4 -4
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +9 -9
- package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/calendar/calendar-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -9
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/lib-packer.module.mjs +5 -5
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +21 -18
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +6 -6
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +4 -4
- package/esm2022/date-picker/picker.component.mjs +8 -8
- package/esm2022/date-picker/picker.pipes.mjs +13 -13
- package/esm2022/date-picker/picker.util.mjs +8 -6
- package/esm2022/date-picker/picker.validators.mjs +7 -7
- package/esm2022/date-picker/quarter-picker.component.mjs +4 -4
- package/esm2022/date-picker/range-picker.component.mjs +4 -4
- package/esm2022/date-picker/range-picker.directive.mjs +4 -4
- package/esm2022/date-picker/week-picker.component.mjs +4 -4
- package/esm2022/date-picker/year-picker.component.mjs +4 -4
- package/esm2022/date-range/date-range.component.mjs +15 -16
- package/esm2022/date-range/module.mjs +5 -5
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +4 -4
- package/esm2022/dialog/body/dialog-body.component.mjs +4 -4
- package/esm2022/dialog/confirm/confirm.component.mjs +4 -4
- package/esm2022/dialog/dialog-container.component.mjs +4 -4
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/dialog/dialog.service.mjs +4 -4
- package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
- package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
- package/esm2022/divider/divider.component.mjs +4 -4
- package/esm2022/divider/divider.module.mjs +5 -5
- package/esm2022/dot/dot.component.mjs +4 -4
- package/esm2022/dot/dot.module.mjs +5 -5
- package/esm2022/drag-drop/drag-content.directive.mjs +4 -4
- package/esm2022/drag-drop/drag-drop.service.mjs +4 -4
- package/esm2022/drag-drop/drag-handle.directive.mjs +4 -4
- package/esm2022/drag-drop/drag.directive.mjs +4 -4
- package/esm2022/drag-drop/drop-container.directive.mjs +4 -4
- package/esm2022/drag-drop/module.mjs +5 -5
- package/esm2022/dropdown/dropdown-active.directive.mjs +4 -4
- package/esm2022/dropdown/dropdown-menu-item.directive.mjs +22 -22
- package/esm2022/dropdown/dropdown-menu.component.mjs +13 -13
- package/esm2022/dropdown/dropdown-submenu.component.mjs +4 -4
- package/esm2022/dropdown/dropdown.directive.mjs +4 -4
- package/esm2022/dropdown/module.mjs +5 -5
- package/esm2022/empty/empty.component.mjs +4 -4
- package/esm2022/empty/empty.config.mjs +4 -4
- package/esm2022/empty/empty.module.mjs +5 -5
- package/esm2022/flexible-text/flexible-text.component.mjs +4 -4
- package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
- package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
- package/esm2022/form/form-group-label.directive.mjs +4 -4
- package/esm2022/form/form-group.component.mjs +4 -4
- package/esm2022/form/form-submit.directive.mjs +4 -4
- package/esm2022/form/form-validator-loader.mjs +4 -4
- package/esm2022/form/form-validator.service.mjs +4 -4
- package/esm2022/form/form.directive.mjs +4 -4
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
- package/esm2022/form/module.mjs +5 -5
- package/esm2022/form/validator/confirm-validator.directive.mjs +4 -4
- package/esm2022/form/validator/max-validator.directive.mjs +4 -4
- package/esm2022/form/validator/min-validator.directive.mjs +4 -4
- package/esm2022/form/validator/unique-validator.directive.mjs +4 -4
- package/esm2022/fullscreen/fullscreen-launch.directive.mjs +4 -4
- package/esm2022/fullscreen/fullscreen.component.mjs +4 -4
- package/esm2022/fullscreen/fullscreen.module.mjs +5 -5
- package/esm2022/fullscreen/fullscreen.service.mjs +4 -4
- package/esm2022/grid/flex.mjs +13 -13
- package/esm2022/grid/module.mjs +5 -5
- package/esm2022/grid/thy-col.directive.mjs +4 -4
- package/esm2022/grid/thy-grid-item.component.mjs +4 -4
- package/esm2022/grid/thy-grid.component.mjs +7 -7
- package/esm2022/grid/thy-row.directive.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/guider/guider-manager.mjs +4 -4
- package/esm2022/guider/guider.directive.mjs +4 -4
- package/esm2022/guider/guider.module.mjs +5 -5
- package/esm2022/guider/guider.service.mjs +4 -4
- package/esm2022/i18n/i18n.mjs +1 -1
- package/esm2022/i18n/i18n.service.mjs +4 -4
- package/esm2022/i18n/locales/de-de.mjs +5 -1
- package/esm2022/i18n/locales/en-us.mjs +5 -1
- package/esm2022/i18n/locales/ja-jp.mjs +5 -1
- package/esm2022/i18n/locales/zh-hans.mjs +5 -1
- package/esm2022/i18n/locales/zh-hant.mjs +5 -1
- package/esm2022/icon/icon-registry.mjs +5 -5
- package/esm2022/icon/icon.component.mjs +4 -4
- package/esm2022/icon/icon.module.mjs +6 -7
- package/esm2022/image/image-group.component.mjs +4 -4
- package/esm2022/image/image.directive.mjs +4 -4
- package/esm2022/image/image.service.mjs +4 -4
- package/esm2022/image/module.mjs +5 -5
- package/esm2022/image/preview/image-preview.component.mjs +4 -4
- package/esm2022/input/input-count.component.mjs +4 -4
- package/esm2022/input/input-group.component.mjs +4 -4
- package/esm2022/input/input-search.component.mjs +4 -4
- package/esm2022/input/input.component.mjs +4 -4
- package/esm2022/input/input.directive.mjs +4 -4
- package/esm2022/input/module.mjs +5 -5
- package/esm2022/input-number/input-number.component.mjs +4 -4
- package/esm2022/input-number/module.mjs +5 -5
- package/esm2022/layout/content-main.component.mjs +7 -7
- package/esm2022/layout/content-section.component.mjs +7 -7
- package/esm2022/layout/content.component.mjs +7 -7
- package/esm2022/layout/header.component.mjs +7 -7
- package/esm2022/layout/layout.component.mjs +7 -7
- package/esm2022/layout/layout.module.mjs +5 -5
- package/esm2022/layout/sidebar-content.component.mjs +7 -7
- package/esm2022/layout/sidebar-footer.component.mjs +7 -7
- package/esm2022/layout/sidebar-header.component.mjs +7 -7
- package/esm2022/layout/sidebar.component.mjs +10 -8
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/list/list-item.component.mjs +4 -4
- package/esm2022/list/list.component.mjs +4 -4
- package/esm2022/list/list.module.mjs +5 -5
- package/esm2022/list/selection/selection-list.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +4 -4
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/mention/mention.directive.mjs +4 -4
- package/esm2022/mention/mention.module.mjs +5 -5
- package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
- package/esm2022/menu/divider/menu-divider.component.mjs +4 -4
- package/esm2022/menu/group/menu-group.component.mjs +4 -4
- package/esm2022/menu/item/action/menu-item-action.component.mjs +4 -4
- package/esm2022/menu/item/icon/menu-item-icon.component.mjs +4 -4
- package/esm2022/menu/item/menu-item.component.mjs +4 -4
- package/esm2022/menu/item/name/menu-item-name.component.mjs +4 -4
- package/esm2022/menu/menu.component.mjs +4 -4
- package/esm2022/menu/menu.module.mjs +5 -5
- package/esm2022/message/abstract/abstract-message-container.component.mjs +4 -4
- package/esm2022/message/abstract/abstract-message.component.mjs +4 -4
- package/esm2022/message/message-container.component.mjs +4 -4
- package/esm2022/message/message-queue.service.mjs +4 -4
- package/esm2022/message/message.component.mjs +4 -4
- package/esm2022/message/message.service.mjs +4 -4
- package/esm2022/message/module.mjs +5 -5
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -4
- package/esm2022/nav/icon-nav/icon-nav.component.mjs +4 -4
- package/esm2022/nav/nav-ink-bar.directive.mjs +4 -4
- package/esm2022/nav/nav-item.directive.mjs +4 -4
- package/esm2022/nav/nav.component.mjs +4 -4
- package/esm2022/nav/nav.module.mjs +5 -5
- package/esm2022/nav/nav.pipe.mjs +4 -4
- package/esm2022/notify/module.mjs +5 -5
- package/esm2022/notify/notify-container.component.mjs +4 -4
- package/esm2022/notify/notify-queue.service.mjs +4 -4
- package/esm2022/notify/notify.component.mjs +4 -4
- package/esm2022/notify/notify.service.mjs +4 -4
- package/esm2022/pagination/pagination.component.mjs +4 -4
- package/esm2022/pagination/pagination.module.mjs +5 -5
- package/esm2022/pagination/pagination.pipe.mjs +7 -7
- package/esm2022/popover/body/popover-body.component.mjs +4 -4
- package/esm2022/popover/header/popover-header.component.mjs +4 -4
- package/esm2022/popover/module.mjs +5 -5
- package/esm2022/popover/popover-container.component.mjs +4 -4
- package/esm2022/popover/popover.directive.mjs +4 -4
- package/esm2022/popover/popover.service.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +4 -4
- package/esm2022/progress/progress-strip.component.mjs +4 -4
- package/esm2022/progress/progress.component.mjs +4 -4
- package/esm2022/progress/progress.module.mjs +5 -5
- package/esm2022/property/module.mjs +5 -5
- package/esm2022/property/properties.component.mjs +4 -4
- package/esm2022/property/property-item.component.mjs +4 -4
- package/esm2022/property-operation/group/property-operation-group.component.mjs +4 -4
- package/esm2022/property-operation/module.mjs +5 -5
- package/esm2022/property-operation/property-operation.component.mjs +4 -4
- package/esm2022/radio/button/radio-button.component.mjs +4 -4
- package/esm2022/radio/group/radio-group.component.mjs +4 -4
- package/esm2022/radio/module.mjs +5 -5
- package/esm2022/radio/radio.component.mjs +4 -4
- package/esm2022/rate/module.mjs +5 -5
- package/esm2022/rate/rate-item.component.mjs +4 -4
- package/esm2022/rate/rate.component.mjs +4 -4
- package/esm2022/resizable/module.mjs +5 -5
- package/esm2022/resizable/resizable.directive.mjs +4 -4
- package/esm2022/resizable/resizable.service.mjs +4 -4
- package/esm2022/resizable/resize-handle.component.mjs +4 -4
- package/esm2022/resizable/resize-handles.component.mjs +4 -4
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/segment/segment-item.component.mjs +4 -4
- package/esm2022/segment/segment.component.mjs +4 -4
- package/esm2022/segment/segment.module.mjs +5 -5
- package/esm2022/select/custom-select/custom-select.component.mjs +4 -4
- package/esm2022/select/module.mjs +5 -5
- package/esm2022/select/native-select/native-select.component.mjs +4 -4
- package/esm2022/shared/base-form-check.component.mjs +4 -4
- package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-autofocus.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-contextmenu.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-drag-drop.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-enter.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-scroll.directive.mjs +4 -4
- package/esm2022/shared/directives/thy-show.mjs +4 -4
- package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +4 -4
- package/esm2022/shared/directives/view-outlet.directive.mjs +4 -4
- package/esm2022/shared/ng-transclude.directive.mjs +4 -4
- package/esm2022/shared/option/group/option-group.component.mjs +4 -4
- package/esm2022/shared/option/list-option/list-option.component.mjs +4 -4
- package/esm2022/shared/option/module.mjs +5 -5
- package/esm2022/shared/option/option-group.component.mjs +4 -4
- package/esm2022/shared/option/option.component.mjs +4 -4
- package/esm2022/shared/option/options-container.component.mjs +4 -4
- package/esm2022/shared/select/module.mjs +5 -5
- package/esm2022/shared/select/select-control/select-control.component.mjs +4 -4
- package/esm2022/shared/shared.module.mjs +5 -5
- package/esm2022/skeleton/module.mjs +5 -5
- package/esm2022/skeleton/skeleton-circle.component.mjs +4 -4
- package/esm2022/skeleton/skeleton-rectangle.component.mjs +4 -4
- package/esm2022/skeleton/skeleton.component.mjs +4 -4
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +4 -4
- package/esm2022/skeleton/stylized/list.component.mjs +4 -4
- package/esm2022/skeleton/stylized/paragraph.component.mjs +4 -4
- package/esm2022/slide/drawer/drawer-container.directive.mjs +4 -4
- package/esm2022/slide/slide-body/slide-body-section.component.mjs +4 -4
- package/esm2022/slide/slide-body/slide-body.component.mjs +4 -4
- package/esm2022/slide/slide-container.component.mjs +4 -4
- package/esm2022/slide/slide-footer/slide-footer.component.mjs +4 -4
- package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
- package/esm2022/slide/slide-layout/slide-layout.component.mjs +4 -4
- package/esm2022/slide/slide-ref.service.mjs +4 -4
- package/esm2022/slide/slide.module.mjs +5 -5
- package/esm2022/slide/slide.service.mjs +4 -4
- package/esm2022/slider/slider.component.mjs +4 -4
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/space/space.component.mjs +7 -7
- package/esm2022/space/space.module.mjs +5 -5
- package/esm2022/statistic/statistic.component.mjs +4 -4
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/stepper/step-header.component.mjs +4 -4
- package/esm2022/stepper/step.component.mjs +4 -4
- package/esm2022/stepper/stepper-button.directive.mjs +7 -7
- package/esm2022/stepper/stepper.component.mjs +4 -4
- package/esm2022/stepper/stepper.module.mjs +5 -5
- package/esm2022/strength/strength.component.mjs +4 -4
- package/esm2022/strength/strength.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +4 -4
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/table/pipes/drag.pipe.mjs +4 -4
- package/esm2022/table/pipes/table.pipe.mjs +4 -4
- package/esm2022/table/table-column.component.mjs +4 -4
- package/esm2022/table/table-skeleton.component.mjs +4 -4
- package/esm2022/table/table.component.mjs +4 -4
- package/esm2022/table/table.module.mjs +5 -5
- package/esm2022/tabs/tab-content.component.mjs +4 -4
- package/esm2022/tabs/tab.component.mjs +4 -4
- package/esm2022/tabs/tabs.component.mjs +4 -4
- package/esm2022/tabs/tabs.module.mjs +5 -5
- package/esm2022/tag/tag.component.mjs +4 -4
- package/esm2022/tag/tag.module.mjs +5 -5
- package/esm2022/tag/tags.component.mjs +4 -4
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +5 -5
- package/esm2022/time-picker/inner/inner-time-picker.config.mjs +4 -4
- package/esm2022/time-picker/inner/inner-time-picker.store.mjs +12 -9
- package/esm2022/time-picker/time-picker-panel.component.mjs +11 -12
- package/esm2022/time-picker/time-picker.component.mjs +17 -19
- package/esm2022/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/time-picker/time-picker.utils.mjs +14 -8
- package/esm2022/timeline/timeline-item.component.mjs +4 -4
- package/esm2022/timeline/timeline.component.mjs +4 -4
- package/esm2022/timeline/timeline.module.mjs +5 -5
- package/esm2022/timeline/timeline.service.mjs +4 -4
- package/esm2022/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/tooltip/tooltip.service.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +4 -4
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/transfer/transfer.module.mjs +5 -5
- package/esm2022/tree/tree-node.component.mjs +4 -4
- package/esm2022/tree/tree.component.mjs +4 -4
- package/esm2022/tree/tree.module.mjs +5 -5
- package/esm2022/tree/tree.pipe.mjs +4 -4
- package/esm2022/tree/tree.service.mjs +4 -4
- package/esm2022/tree-select/module.mjs +5 -5
- package/esm2022/tree-select/tree-select.component.mjs +7 -7
- package/esm2022/typography/bg-color.directive.mjs +4 -4
- package/esm2022/typography/module.mjs +5 -5
- package/esm2022/typography/text/text.component.mjs +4 -4
- package/esm2022/typography/text-color.directive.mjs +4 -4
- package/esm2022/upload/file-drop.directive.mjs +4 -4
- package/esm2022/upload/file-select-base.mjs +4 -4
- package/esm2022/upload/file-select.component.mjs +4 -4
- package/esm2022/upload/module.mjs +6 -7
- package/esm2022/upload/upload.service.mjs +11 -11
- package/esm2022/util/date/functions.mjs +26 -1
- package/esm2022/util/date/tiny-date.mjs +78 -34
- package/esm2022/util/index.mjs +9 -9
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/esm2022/vote/vote.module.mjs +5 -5
- package/esm2022/watermark/watermark.directive.mjs +4 -4
- package/esm2022/watermark/watermark.module.mjs +5 -5
- package/fesm2022/ngx-tethys-action.mjs +10 -10
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +7 -7
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +10 -10
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +10 -10
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +16 -16
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +22 -22
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +7 -7
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +13 -13
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +26 -26
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +13 -13
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +84 -84
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +16 -16
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +10 -10
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +31 -31
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +13 -13
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +7 -7
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +23 -23
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +242 -235
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +17 -18
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +22 -22
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +7 -7
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +7 -7
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +19 -19
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +46 -46
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +10 -10
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +40 -40
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +13 -13
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +31 -31
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +16 -16
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +23 -3
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +13 -13
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +16 -16
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +7 -7
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +19 -19
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +61 -59
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +16 -16
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +7 -7
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +10 -10
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +25 -25
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +22 -22
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +22 -22
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +16 -16
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +13 -13
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +19 -19
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +13 -13
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +10 -10
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +10 -10
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +13 -13
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +10 -10
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +16 -16
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +7 -7
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +10 -10
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +10 -10
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +66 -66
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +31 -31
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +7 -7
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +10 -10
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +7 -7
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +19 -19
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +7 -7
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +7 -7
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +19 -19
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +13 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +10 -10
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +46 -40
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +13 -13
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +13 -13
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +10 -10
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +16 -16
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +13 -13
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +23 -24
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +107 -38
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +7 -7
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +7 -7
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/i18n/i18n.d.ts +6 -1
- package/i18n/locales/de-de.d.ts +4 -0
- package/i18n/locales/en-us.d.ts +4 -0
- package/i18n/locales/ja-jp.d.ts +4 -0
- package/i18n/locales/zh-hans.d.ts +4 -0
- package/i18n/locales/zh-hant.d.ts +4 -0
- package/layout/sidebar.component.d.ts +8 -42
- package/package.json +3 -2
- package/schematics/ng-add/index.js +2 -3
- package/schematics/ng-add/index.spec.js +21 -22
- package/schematics/ng-update/update-18/index.spec.js +7 -8
- package/schematics/testing/test-app.js +2 -5
- package/schematics/testing/test-project.js +7 -10
- package/schematics/testing/test-workspace.d.ts +1 -0
- package/schematics/testing/test-workspace.js +14 -15
- package/schematics/tsconfig.json +1 -1
- package/schematics/utils/get-workspace-tsconfig.js +8 -9
- package/schematics/utils/package-config.js +1 -2
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/time-picker/inner/inner-time-picker.store.d.ts +1 -1
- package/util/date/functions.d.ts +25 -0
- package/util/date/tiny-date.d.ts +20 -4
- package/util/index.d.ts +8 -8
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TZDate } from '@date-fns/tz';
|
|
2
|
+
import { setHours, setMinutes, setSeconds } from 'date-fns';
|
|
3
|
+
import { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, differenceInCalendarMonths, differenceInCalendarQuarters, differenceInCalendarYears, differenceInDays, differenceInHours, differenceInMinutes, differenceInSeconds, differenceInWeeks, endOfDay, endOfISOWeek, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getQuarter, getUnixTime, getWeek, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameQuarter, isSameSecond, isSameYear, isToday, isTomorrow, isValid, isWeekend, setDay, setMonth, setQuarter, setYear, startOfDay, startOfISOWeek, startOfMonth, startOfQuarter, startOfWeek, startOfYear, subDays, subWeeks } from './functions';
|
|
2
4
|
export function sortRangeValue(rangeValue) {
|
|
3
5
|
if (Array.isArray(rangeValue)) {
|
|
4
6
|
const [start, end] = rangeValue;
|
|
@@ -6,25 +8,37 @@ export function sortRangeValue(rangeValue) {
|
|
|
6
8
|
}
|
|
7
9
|
return rangeValue;
|
|
8
10
|
}
|
|
11
|
+
export const DEFAULT_TIMEZONE = 'Asia/Shanghai';
|
|
9
12
|
export class TinyDate {
|
|
10
|
-
|
|
13
|
+
static { this.defaultTimeZone = DEFAULT_TIMEZONE; }
|
|
14
|
+
constructor(date, zone) {
|
|
15
|
+
this.useTimeZone = zone || TinyDate.defaultTimeZone;
|
|
11
16
|
if (date) {
|
|
12
17
|
if (date instanceof Date) {
|
|
13
|
-
this.nativeDate = date;
|
|
18
|
+
this.nativeDate = TinyDate.utcToZonedTime(date, this.useTimeZone);
|
|
14
19
|
}
|
|
15
20
|
else if (typeof date === 'string' || typeof date === 'number') {
|
|
16
|
-
this.nativeDate = new
|
|
21
|
+
this.nativeDate = new TZDate(date, this.useTimeZone);
|
|
17
22
|
}
|
|
18
23
|
else if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
19
24
|
throw new Error(`The input date type is not supported expect Date | string | number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(date)}`);
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
27
|
else {
|
|
23
|
-
this.nativeDate = new Date();
|
|
28
|
+
this.nativeDate = new TZDate(Date.now(), this.useTimeZone);
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
|
-
static
|
|
27
|
-
|
|
31
|
+
static setDefaultTimeZone(zone) {
|
|
32
|
+
TinyDate.defaultTimeZone = zone ?? DEFAULT_TIMEZONE;
|
|
33
|
+
}
|
|
34
|
+
static utcToZonedTime(value, timeZone) {
|
|
35
|
+
return TZDate.tz(timeZone || TinyDate.defaultTimeZone, value);
|
|
36
|
+
}
|
|
37
|
+
static createDateInTimeZone(year, month, day, hours, minutes, seconds, timeZone) {
|
|
38
|
+
return new TZDate(year, month, day, hours, minutes, seconds, timeZone || TinyDate.defaultTimeZone);
|
|
39
|
+
}
|
|
40
|
+
static fromUnixTime(unixTime, timeZone) {
|
|
41
|
+
return new TinyDate(fromUnixTime(unixTime), timeZone || TinyDate.defaultTimeZone);
|
|
28
42
|
}
|
|
29
43
|
// get
|
|
30
44
|
getTime() {
|
|
@@ -42,6 +56,9 @@ export class TinyDate {
|
|
|
42
56
|
getMonth() {
|
|
43
57
|
return this.nativeDate.getMonth();
|
|
44
58
|
}
|
|
59
|
+
getFullYear() {
|
|
60
|
+
return this.nativeDate.getFullYear();
|
|
61
|
+
}
|
|
45
62
|
getWeek(options = { weekStartsOn: 1 }) {
|
|
46
63
|
return getWeek(this.nativeDate, options);
|
|
47
64
|
}
|
|
@@ -70,49 +87,58 @@ export class TinyDate {
|
|
|
70
87
|
setDate(amount) {
|
|
71
88
|
const date = new Date(this.nativeDate);
|
|
72
89
|
date.setDate(amount);
|
|
73
|
-
return new TinyDate(date);
|
|
90
|
+
return new TinyDate(date, this.useTimeZone);
|
|
74
91
|
}
|
|
75
92
|
setHms(hour, minute, second) {
|
|
76
93
|
const date = new Date(this.nativeDate);
|
|
77
94
|
date.setHours(hour, minute, second);
|
|
78
|
-
return new TinyDate(date);
|
|
95
|
+
return new TinyDate(date, this.useTimeZone);
|
|
79
96
|
}
|
|
80
97
|
setYear(year) {
|
|
81
|
-
return new TinyDate(setYear(this.nativeDate, year));
|
|
98
|
+
return new TinyDate(setYear(this.nativeDate, year), this.useTimeZone);
|
|
82
99
|
}
|
|
83
100
|
setMonth(month) {
|
|
84
|
-
return new TinyDate(setMonth(this.nativeDate, month));
|
|
101
|
+
return new TinyDate(setMonth(this.nativeDate, month), this.useTimeZone);
|
|
85
102
|
}
|
|
86
103
|
setQuarter(quarter) {
|
|
87
|
-
return new TinyDate(setQuarter(this.nativeDate, quarter));
|
|
104
|
+
return new TinyDate(setQuarter(this.nativeDate, quarter), this.useTimeZone);
|
|
88
105
|
}
|
|
89
106
|
setDay(day, options) {
|
|
90
|
-
return new TinyDate(setDay(this.nativeDate, day, options));
|
|
107
|
+
return new TinyDate(setDay(this.nativeDate, day, options), this.useTimeZone);
|
|
108
|
+
}
|
|
109
|
+
setHours(hours) {
|
|
110
|
+
return new TinyDate(setHours(this.nativeDate, hours), this.useTimeZone);
|
|
111
|
+
}
|
|
112
|
+
setMinutes(minutes) {
|
|
113
|
+
return new TinyDate(setMinutes(this.nativeDate, minutes), this.useTimeZone);
|
|
114
|
+
}
|
|
115
|
+
setSeconds(seconds) {
|
|
116
|
+
return new TinyDate(setSeconds(this.nativeDate, seconds), this.useTimeZone);
|
|
91
117
|
}
|
|
92
118
|
// add
|
|
93
119
|
addYears(amount) {
|
|
94
|
-
return new TinyDate(addYears(this.nativeDate, amount));
|
|
120
|
+
return new TinyDate(addYears(this.nativeDate, amount), this.useTimeZone);
|
|
95
121
|
}
|
|
96
122
|
addQuarters(amount) {
|
|
97
|
-
return new TinyDate(addQuarters(this.nativeDate, amount));
|
|
123
|
+
return new TinyDate(addQuarters(this.nativeDate, amount), this.useTimeZone);
|
|
98
124
|
}
|
|
99
125
|
addMonths(amount) {
|
|
100
|
-
return new TinyDate(addMonths(this.nativeDate, amount));
|
|
126
|
+
return new TinyDate(addMonths(this.nativeDate, amount), this.useTimeZone);
|
|
101
127
|
}
|
|
102
128
|
addWeeks(amount) {
|
|
103
|
-
return new TinyDate(addWeeks(this.nativeDate, amount));
|
|
129
|
+
return new TinyDate(addWeeks(this.nativeDate, amount), this.useTimeZone);
|
|
104
130
|
}
|
|
105
131
|
addDays(amount) {
|
|
106
|
-
return new TinyDate(addDays(this.nativeDate, amount));
|
|
132
|
+
return new TinyDate(addDays(this.nativeDate, amount), this.useTimeZone);
|
|
107
133
|
}
|
|
108
134
|
addHours(amount) {
|
|
109
|
-
return new TinyDate(addHours(this.nativeDate, amount));
|
|
135
|
+
return new TinyDate(addHours(this.nativeDate, amount), this.useTimeZone);
|
|
110
136
|
}
|
|
111
137
|
addSeconds(amount) {
|
|
112
|
-
return new TinyDate(addSeconds(this.nativeDate, amount));
|
|
138
|
+
return new TinyDate(addSeconds(this.nativeDate, amount), this.useTimeZone);
|
|
113
139
|
}
|
|
114
140
|
addMinutes(amount) {
|
|
115
|
-
return new TinyDate(addMinutes(this.nativeDate, amount));
|
|
141
|
+
return new TinyDate(addMinutes(this.nativeDate, amount), this.useTimeZone);
|
|
116
142
|
}
|
|
117
143
|
// isSame
|
|
118
144
|
isSame(date, grain = 'day') {
|
|
@@ -233,44 +259,44 @@ export class TinyDate {
|
|
|
233
259
|
}
|
|
234
260
|
// startOf and endOf
|
|
235
261
|
startOfYear() {
|
|
236
|
-
return new TinyDate(startOfYear(this.nativeDate));
|
|
262
|
+
return new TinyDate(startOfYear(this.nativeDate), this.useTimeZone);
|
|
237
263
|
}
|
|
238
264
|
startOfQuarter() {
|
|
239
|
-
return new TinyDate(startOfQuarter(this.nativeDate));
|
|
265
|
+
return new TinyDate(startOfQuarter(this.nativeDate), this.useTimeZone);
|
|
240
266
|
}
|
|
241
267
|
startOfMonth() {
|
|
242
|
-
return new TinyDate(startOfMonth(this.nativeDate));
|
|
268
|
+
return new TinyDate(startOfMonth(this.nativeDate), this.useTimeZone);
|
|
243
269
|
}
|
|
244
270
|
startOfWeek(options) {
|
|
245
|
-
return new TinyDate(startOfWeek(this.nativeDate, options));
|
|
271
|
+
return new TinyDate(startOfWeek(this.nativeDate, options), this.useTimeZone);
|
|
246
272
|
}
|
|
247
273
|
startOfDay() {
|
|
248
|
-
return new TinyDate(startOfDay(this.nativeDate));
|
|
274
|
+
return new TinyDate(startOfDay(this.nativeDate), this.useTimeZone);
|
|
249
275
|
}
|
|
250
276
|
endOfYear() {
|
|
251
|
-
return new TinyDate(endOfYear(this.nativeDate));
|
|
277
|
+
return new TinyDate(endOfYear(this.nativeDate), this.useTimeZone);
|
|
252
278
|
}
|
|
253
279
|
endOfQuarter() {
|
|
254
|
-
return new TinyDate(endOfQuarter(this.nativeDate));
|
|
280
|
+
return new TinyDate(endOfQuarter(this.nativeDate), this.useTimeZone);
|
|
255
281
|
}
|
|
256
282
|
endOfMonth() {
|
|
257
|
-
return new TinyDate(endOfMonth(this.nativeDate));
|
|
283
|
+
return new TinyDate(endOfMonth(this.nativeDate), this.useTimeZone);
|
|
258
284
|
}
|
|
259
285
|
endOfWeek(options) {
|
|
260
|
-
return new TinyDate(endOfWeek(this.nativeDate, options));
|
|
286
|
+
return new TinyDate(endOfWeek(this.nativeDate, options), this.useTimeZone);
|
|
261
287
|
}
|
|
262
288
|
endOfDay() {
|
|
263
|
-
return new TinyDate(endOfDay(this.nativeDate));
|
|
289
|
+
return new TinyDate(endOfDay(this.nativeDate), this.useTimeZone);
|
|
264
290
|
}
|
|
265
291
|
// other
|
|
266
292
|
format(mat, options) {
|
|
267
293
|
return format(this.nativeDate, mat, options);
|
|
268
294
|
}
|
|
269
295
|
calendarStart(options) {
|
|
270
|
-
return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options));
|
|
296
|
+
return new TinyDate(startOfWeek(startOfMonth(this.nativeDate), options), this.useTimeZone);
|
|
271
297
|
}
|
|
272
298
|
clone() {
|
|
273
|
-
return new TinyDate(new Date(this.nativeDate));
|
|
299
|
+
return new TinyDate(new Date(this.nativeDate), this.useTimeZone);
|
|
274
300
|
}
|
|
275
301
|
getUnixTime() {
|
|
276
302
|
return getUnixTime(this.nativeDate);
|
|
@@ -314,5 +340,23 @@ export class TinyDate {
|
|
|
314
340
|
toNativeDate(date) {
|
|
315
341
|
return date instanceof TinyDate ? date.nativeDate : date;
|
|
316
342
|
}
|
|
343
|
+
startOfISOWeek() {
|
|
344
|
+
return new TinyDate(startOfISOWeek(this.nativeDate), this.useTimeZone);
|
|
345
|
+
}
|
|
346
|
+
endOfISOWeek() {
|
|
347
|
+
return new TinyDate(endOfISOWeek(this.nativeDate), this.useTimeZone);
|
|
348
|
+
}
|
|
349
|
+
differenceInDays(date) {
|
|
350
|
+
return differenceInDays(this.nativeDate, date);
|
|
351
|
+
}
|
|
352
|
+
differenceInHours(date) {
|
|
353
|
+
return differenceInHours(this.nativeDate, date);
|
|
354
|
+
}
|
|
355
|
+
subWeeks(amount) {
|
|
356
|
+
return new TinyDate(subWeeks(this.nativeDate, amount), this.useTimeZone);
|
|
357
|
+
}
|
|
358
|
+
subDays(amount) {
|
|
359
|
+
return new TinyDate(subDays(this.nativeDate, amount), this.useTimeZone);
|
|
360
|
+
}
|
|
317
361
|
}
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1kYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3V0aWwvZGF0ZS90aW55LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sRUFDUCxZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsY0FBYyxFQUNkLFVBQVUsRUFDVixVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ1gsY0FBYyxFQUNkLFdBQVcsRUFDWCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLEVBQ1YsTUFBTSxhQUFhLENBQUM7QUFVckIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFzQjtJQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUNoQyxPQUFPLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxD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LEVBQUUsR0FBRyw0QkFBNEIsQ0FBQztnQkFDbEMsTUFBTTtZQUNWLEtBQUssT0FBTztnQkFDUixFQUFFLEdBQUcsMEJBQTBCLENBQUM7Z0JBQ2hDLE1BQU07WUFDVixLQUFLLEtBQUs7Z0JBQ04sRUFBRSxHQUFHLHdCQUF3QixDQUFDO2dCQUM5QixNQUFNO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztnQkFDdkIsTUFBTTtZQUNWLEtBQUssTUFBTTtnQkFDUCxFQUFFLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsRUFBRSxHQUFHLG1CQUFtQixDQUFDO2dCQUN6QixNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztnQkFDekIsTUFBTTtZQUNWO2dCQUNJLEVBQUUsR0FBRyx3QkFBd0IsQ0FBQztnQkFDOUIsTUFBTTtRQUNkLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVM7UUFDMUIsT0FBTyxJQUFJLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzLFxuICAgIGRpZmZlcmVuY2VJbldlZWtzLFxuICAgIGRpZmZlcmVuY2VJbkhvdXJzLFxuICAgIGRpZmZlcmVuY2VJbk1pbnV0ZXMsXG4gICAgZGlmZmVyZW5jZUluU2Vjb25kcyxcbiAgICBpc1NhbWVEYXksXG4gICAgaXNTYW1lSG91cixcbiAgICBpc1NhbWVNaW51dGUsXG4gICAgaXNTYW1lTW9udGgsXG4gICAgaXNTYW1lU2Vjb25kLFxuICAgIGlzU2FtZVllYXIsXG4gICAgaXNTYW1lUXVhcnRlcixcbiAgICBpc1RvZGF5LFxuICAgIGlzVG9tb3Jyb3csXG4gICAgaXNWYWxpZCxcbiAgICBzZXRZZWFyLFxuICAgIHN0YXJ0T2ZNb250aCxcbiAgICBzdGFydE9mV2VlayxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkWWVhcnMsXG4gICAgc2V0RGF5LFxuICAgIHNldE1vbnRoLFxuICAgIHNldFF1YXJ0ZXIsXG4gICAgZ2V0VW5peFRpbWUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBlbmRPZkRheSxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgaXNXZWVrZW5kLFxuICAgIGdldFdlZWssXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRNaW51dGVzLFxuICAgIGFkZEhvdXJzLFxuICAgIGFkZFdlZWtzLFxuICAgIGFkZFF1YXJ0ZXJzLFxuICAgIHN0YXJ0T2ZRdWFydGVyLFxuICAgIHN0YXJ0T2ZZZWFyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZk1vbnRoLFxuICAgIGVuZE9mUXVhcnRlcixcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGdldFF1YXJ0ZXIsXG4gICAgYWRkRGF5c1xufSBmcm9tICcuL2Z1bmN0aW9ucyc7XG5cbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHR5cGUgVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGVjYWRlJyB8ICd5ZWFyJyB8ICdxdWFydGVyJyB8ICdtb250aCcgfCAnd2VlaycgfCAnZGF5JyB8ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCc7XG5cbmV4cG9ydCB0eXBlIFdlZWtEYXlJbmRleCA9IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDY7XG5cbmV4cG9ydCB0eXBlIFRpbnlEYXRlVHlwZSA9IFRpbnlEYXRlIHwgRGF0ZSB8IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0UmFuZ2VWYWx1ZShyYW5nZVZhbHVlOiBUaW55RGF0ZVtdKTogVGlueURhdGVbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2VWYWx1ZSkpIHtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gcmFuZ2VWYWx1ZTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0ICYmIGVuZCAmJiBzdGFydC5pc0FmdGVyU2Vjb25kKGVuZCkgPyBbZW5kLCBzdGFydF0gOiBbc3RhcnQsIGVuZF07XG4gICAgfVxuICAgIHJldHVybiByYW5nZVZhbHVlO1xufVxuXG5leHBvcnQgY2xhc3MgVGlueURhdGUgaW1wbGVtZW50cyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBuYXRpdmVEYXRlOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgZGF0ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZURhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGlucHV0IGRhdGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGV4cGVjdCBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgeyBkYXRlOiBudW1iZXI7IHdpdGhfdGltZTogMCB8IDF9LCBhY3R1YWwgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgICAgICAgICAgKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbVVuaXhUaW1lKHVuaXhUaW1lOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHVuaXhUaW1lKSk7XG4gICAgfVxuXG4gICAgLy8gZ2V0XG4gICAgZ2V0VGltZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBnZXREYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXRNb250aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0V2VlayhvcHRpb25zOiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0gPSB7IHdlZWtTdGFydHNPbjogMSB9KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFdlZWsodGhpcy5uYXRpdmVEYXRlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXREYXkoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXREYXkoKTtcbiAgICB9XG5cbiAgICBnZXRIb3VycygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1pbnV0ZXMoKTtcbiAgICB9XG5cbiAgICBnZXRTZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0U2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldE1pbGxpc2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldERheXNJbk1vbnRoKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGF5c0luTW9udGgodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5RdWFydGVyKCkge1xuICAgICAgICByZXR1cm4gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKHRoaXMuZW5kT2ZRdWFydGVyKCkuYWRkU2Vjb25kcygxKS5uYXRpdmVEYXRlLCB0aGlzLnN0YXJ0T2ZRdWFydGVyKCkubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgLy8gc2V0XG4gICAgc2V0RGF0ZShhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgICAgIGRhdGUuc2V0RGF0ZShhbW91bnQpO1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGRhdGUpO1xuICAgIH1cblxuICAgIHNldEhtcyhob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyLCBzZWNvbmQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgICAgIGRhdGUuc2V0SG91cnMoaG91ciwgbWludXRlLCBzZWNvbmQpO1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGRhdGUpO1xuICAgIH1cblxuICAgIHNldFllYXIoeWVhcjogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldFllYXIodGhpcy5uYXRpdmVEYXRlLCB5ZWFyKSk7XG4gICAgfVxuXG4gICAgc2V0TW9udGgobW9udGg6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRNb250aCh0aGlzLm5hdGl2ZURhdGUsIG1vbnRoKSk7XG4gICAgfVxuXG4gICAgc2V0UXVhcnRlcihxdWFydGVyOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSwgcXVhcnRlcikpO1xuICAgIH1cblxuICAgIHNldERheShkYXk6IG51bWJlciwgb3B0aW9ucz86IHsgd2Vla1N0YXJ0c09uOiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXREYXkodGhpcy5uYXRpdmVEYXRlLCBkYXksIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICAvLyBhZGRcbiAgICBhZGRZZWFycyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRZZWFycyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFF1YXJ0ZXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFF1YXJ0ZXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkTW9udGhzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZE1vbnRocyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFdlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGREYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuICAgIGFkZEhvdXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZEhvdXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkU2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRTZWNvbmRzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgYWRkTWludXRlcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRNaW51dGVzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgLy8gaXNTYW1lXG5cbiAgICBpc1NhbWUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5Jyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm47XG4gICAgICAgIHN3aXRjaCAoZ3JhaW4pIHtcbiAgICAgICAgICAgIGNhc2UgJ2RlY2FkZSc6XG4gICAgICAgICAgICAgICAgZm4gPSAocHJlOiBEYXRlLCBuZXh0OiBEYXRlKSA9PiBNYXRoLmFicyhwcmUuZ2V0RnVsbFllYXIoKSAtIG5leHQuZ2V0RnVsbFllYXIoKSkgPCAxMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lWWVhcjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZU1vbnRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVRdWFydGVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lSG91cjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVNaW51dGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lU2Vjb25kO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4odGhpcy5uYXRpdmVEYXRlLCB0aGlzLnRvTmF0aXZlRGF0ZShkYXRlKSk7XG4gICAgfVxuXG4gICAgaXNTYW1lWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICd5ZWFyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTW9udGgoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc1NhbWVRdWFydGVyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ3F1YXJ0ZXInKTtcbiAgICB9XG5cbiAgICBpc1NhbWVEYXkoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNTYW1lSG91cihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTWludXRlKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzU2FtZVNlY29uZChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICAvLyBpc0JlZm9yZSBhbmQgaXNBZnRlclxuICAgIGlzQmVmb3JlWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZVdlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZURheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlcldlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlckRheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5JywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gaXNcbiAgICBpc1dlZWtlbmQoKSB7XG4gICAgICAgIHJldHVybiBpc1dlZWtlbmQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBpc1RvZGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNUb2RheSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGlzVG9tb3Jyb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1RvbW9ycm93KHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvLyBzdGFydE9mIGFuZCBlbmRPZlxuICAgIHN0YXJ0T2ZZZWFyKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mWWVhcih0aGlzLm5hdGl2ZURhdGUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc3RhcnRPZlF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1vbnRoKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mV2Vlayh0aGlzLm5hdGl2ZURhdGUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mRGF5KHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZZZWFyKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mTW9udGgoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGVuZE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0pOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIGVuZE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShlbmRPZkRheSh0aGlzLm5hdGl2ZURhdGUpKTtcbiAgICB9XG5cbiAgICAvLyBvdGhlclxuICAgIGZvcm1hdChcbiAgICAgICAgbWF0OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBMb2NhbGU7XG4gICAgICAgICAgICB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXg7XG4gICAgICAgICAgICBmaXJzdFdlZWtDb250YWluc0RhdGU/OiBudW1iZXI7XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdCh0aGlzLm5hdGl2ZURhdGUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2FsZW5kYXJTdGFydChvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB8IHVuZGVmaW5lZCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLm5hdGl2ZURhdGUpLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSkpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGNvbXBhcmUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5JywgaXNCZWZvcmU6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZuO1xuICAgICAgICBzd2l0Y2ggKGdyYWluKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbldlZWtzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5Ib3VycztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5NaW51dGVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJblNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZuID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0JlZm9yZSA/IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpIDwgMCA6IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShkYXRlOiBhbnkpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBUaW55RGF0ZSA/IGRhdGUubmF0aXZlRGF0ZSA6IGRhdGU7XG4gICAgfVxufVxuIl19
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1kYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3V0aWwvZGF0ZS90aW55LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQWlDLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNGLE9BQU8sRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUNaLFVBQVUsRUFDVixPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFVBQVUsRUFDVixjQUFjLEVBQ2QsWUFBWSxFQUNaLGNBQWMsRUFDZCxXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEVBQ1gsTUFBTSxhQUFhLENBQUM7QUFRckIsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUFzQjtJQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1QixN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LENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVTtRQUN2QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRLENBQUMsTUFBYztRQUNuQixPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDbEIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRaRGF0ZSB9IGZyb20gJ0BkYXRlLWZucy90eic7XG5pbXBvcnQgeyBGaXJzdFdlZWtDb250YWluc0RhdGUsIExvY2FsZSwgc2V0SG91cnMsIHNldE1pbnV0ZXMsIHNldFNlY29uZHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQge1xuICAgIGFkZERheXMsXG4gICAgYWRkSG91cnMsXG4gICAgYWRkTWludXRlcyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkUXVhcnRlcnMsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzLFxuICAgIGRpZmZlcmVuY2VJbkRheXMsXG4gICAgZGlmZmVyZW5jZUluSG91cnMsXG4gICAgZGlmZmVyZW5jZUluTWludXRlcyxcbiAgICBkaWZmZXJlbmNlSW5TZWNvbmRzLFxuICAgIGRpZmZlcmVuY2VJbldlZWtzLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mSVNPV2VlayxcbiAgICBlbmRPZk1vbnRoLFxuICAgIGVuZE9mUXVhcnRlcixcbiAgICBlbmRPZldlZWssXG4gICAgZW5kT2ZZZWFyLFxuICAgIGZvcm1hdCxcbiAgICBmcm9tVW5peFRpbWUsXG4gICAgZ2V0RGF5c0luTW9udGgsXG4gICAgZ2V0UXVhcnRlcixcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzU2FtZURheSxcbiAgICBpc1NhbWVIb3VyLFxuICAgIGlzU2FtZU1pbnV0ZSxcbiAgICBpc1NhbWVNb250aCxcbiAgICBpc1NhbWVRdWFydGVyLFxuICAgIGlzU2FtZVNlY29uZCxcbiAgICBpc1NhbWVZZWFyLFxuICAgIGlzVG9kYXksXG4gICAgaXNUb21vcnJvdyxcbiAgICBpc1ZhbGlkLFxuICAgIGlzV2Vla2VuZCxcbiAgICBzZXREYXksXG4gICAgc2V0TW9udGgsXG4gICAgc2V0UXVhcnRlcixcbiAgICBzZXRZZWFyLFxuICAgIHN0YXJ0T2ZEYXksXG4gICAgc3RhcnRPZklTT1dlZWssXG4gICAgc3RhcnRPZk1vbnRoLFxuICAgIHN0YXJ0T2ZRdWFydGVyLFxuICAgIHN0YXJ0T2ZXZWVrLFxuICAgIHN0YXJ0T2ZZZWFyLFxuICAgIHN1YkRheXMsXG4gICAgc3ViV2Vla3Ncbn0gZnJvbSAnLi9mdW5jdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBUaW55RGF0ZUNvbXBhcmVHcmFpbiA9ICdkZWNhZGUnIHwgJ3llYXInIHwgJ3F1YXJ0ZXInIHwgJ21vbnRoJyB8ICd3ZWVrJyB8ICdkYXknIHwgJ2hvdXInIHwgJ21pbnV0ZScgfCAnc2Vjb25kJztcblxuZXhwb3J0IHR5cGUgV2Vla0RheUluZGV4ID0gMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcblxuZXhwb3J0IHR5cGUgVGlueURhdGVUeXBlID0gVGlueURhdGUgfCBEYXRlIHwgbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRSYW5nZVZhbHVlKHJhbmdlVmFsdWU6IFRpbnlEYXRlW10pOiBUaW55RGF0ZVtdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyYW5nZVZhbHVlKSkge1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSByYW5nZVZhbHVlO1xuICAgICAgICByZXR1cm4gc3RhcnQgJiYgZW5kICYmIHN0YXJ0LmlzQWZ0ZXJTZWNvbmQoZW5kKSA/IFtlbmQsIHN0YXJ0XSA6IFtzdGFydCwgZW5kXTtcbiAgICB9XG4gICAgcmV0dXJuIHJhbmdlVmFsdWU7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVaT05FID0gJ0FzaWEvU2hhbmdoYWknO1xuXG5leHBvcnQgY2xhc3MgVGlueURhdGUgaW1wbGVtZW50cyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBuYXRpdmVEYXRlOiBEYXRlO1xuXG4gICAgcHJpdmF0ZSB1c2VUaW1lWm9uZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBkZWZhdWx0VGltZVpvbmU6IHN0cmluZyA9IERFRkFVTFRfVElNRVpPTkU7XG5cbiAgICBjb25zdHJ1Y3RvcihkYXRlPzogRGF0ZSB8IHN0cmluZyB8IG51bWJlciwgem9uZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLnVzZVRpbWVab25lID0gem9uZSB8fCBUaW55RGF0ZS5kZWZhdWx0VGltZVpvbmU7XG4gICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZURhdGUgPSBUaW55RGF0ZS51dGNUb1pvbmVkVGltZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBUWkRhdGUoZGF0ZSBhcyBTYWZlQW55LCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgVGhlIGlucHV0IGRhdGUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIGV4cGVjdCBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgeyBkYXRlOiBudW1iZXI7IHdpdGhfdGltZTogMCB8IDF9LCBhY3R1YWwgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgICAgICAgICAgKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRGF0ZSA9IG5ldyBUWkRhdGUoRGF0ZS5ub3coKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0RGVmYXVsdFRpbWVab25lKHpvbmU6IHN0cmluZykge1xuICAgICAgICBUaW55RGF0ZS5kZWZhdWx0VGltZVpvbmUgPSB6b25lID8/IERFRkFVTFRfVElNRVpPTkU7XG4gICAgfVxuXG4gICAgc3RhdGljIHV0Y1RvWm9uZWRUaW1lKHZhbHVlOiBEYXRlIHwgbnVtYmVyLCB0aW1lWm9uZT86IHN0cmluZyk6IERhdGUge1xuICAgICAgICByZXR1cm4gVFpEYXRlLnR6KHRpbWVab25lIHx8IFRpbnlEYXRlLmRlZmF1bHRUaW1lWm9uZSwgdmFsdWUgYXMgYW55KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlRGF0ZUluVGltZVpvbmUoXG4gICAgICAgIHllYXI6IG51bWJlcixcbiAgICAgICAgbW9udGg6IG51bWJlcixcbiAgICAgICAgZGF5OiBudW1iZXIsXG4gICAgICAgIGhvdXJzOiBudW1iZXIsXG4gICAgICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgc2Vjb25kczogbnVtYmVyLFxuICAgICAgICB0aW1lWm9uZT86IHN0cmluZ1xuICAgICk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRaRGF0ZSh5ZWFyLCBtb250aCwgZGF5LCBob3VycywgbWludXRlcywgc2Vjb25kcywgdGltZVpvbmUgfHwgVGlueURhdGUuZGVmYXVsdFRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZnJvbVVuaXhUaW1lKHVuaXhUaW1lOiBudW1iZXIsIHRpbWVab25lPzogc3RyaW5nKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh1bml4VGltZSksIHRpbWVab25lIHx8IFRpbnlEYXRlLmRlZmF1bHRUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gZ2V0XG4gICAgZ2V0VGltZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICBnZXREYXRlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBnZXRNb250aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RnVsbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldFdlZWsob3B0aW9uczogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IFdlZWtEYXlJbmRleCB9ID0geyB3ZWVrU3RhcnRzT246IDEgfSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZ2V0RGF5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZURhdGUuZ2V0RGF5KCk7XG4gICAgfVxuXG4gICAgZ2V0SG91cnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRIb3VycygpO1xuICAgIH1cblxuICAgIGdldE1pbnV0ZXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVEYXRlLmdldFNlY29uZHMoKTtcbiAgICB9XG5cbiAgICBnZXRNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5Nb250aCgpIHtcbiAgICAgICAgcmV0dXJuIGdldERheXNJbk1vbnRoKHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgZ2V0RGF5c0luUXVhcnRlcigpIHtcbiAgICAgICAgcmV0dXJuIGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyh0aGlzLmVuZE9mUXVhcnRlcigpLmFkZFNlY29uZHMoMSkubmF0aXZlRGF0ZSwgdGhpcy5zdGFydE9mUXVhcnRlcigpLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIC8vIHNldFxuICAgIHNldERhdGUoYW1vdW50OiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgICAgICBkYXRlLnNldERhdGUoYW1vdW50KTtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzZXRIbXMoaG91cjogbnVtYmVyLCBtaW51dGU6IG51bWJlciwgc2Vjb25kOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgICAgICBkYXRlLnNldEhvdXJzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShkYXRlLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzZXRZZWFyKHllYXI6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzZXRZZWFyKHRoaXMubmF0aXZlRGF0ZSwgeWVhciksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldE1vbnRoKG1vbnRoOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0TW9udGgodGhpcy5uYXRpdmVEYXRlLCBtb250aCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldFF1YXJ0ZXIocXVhcnRlcjogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldFF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlLCBxdWFydGVyKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc2V0RGF5KGRheTogbnVtYmVyLCBvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldERheSh0aGlzLm5hdGl2ZURhdGUsIGRheSwgb3B0aW9ucyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldEhvdXJzKGhvdXJzOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0SG91cnModGhpcy5uYXRpdmVEYXRlLCBob3VycyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIHNldE1pbnV0ZXMobWludXRlczogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHNldE1pbnV0ZXModGhpcy5uYXRpdmVEYXRlLCBtaW51dGVzKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc2V0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc2V0U2Vjb25kcyh0aGlzLm5hdGl2ZURhdGUsIHNlY29uZHMpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICAvLyBhZGRcbiAgICBhZGRZZWFycyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRZZWFycyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGFkZFF1YXJ0ZXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFF1YXJ0ZXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkTW9udGhzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZE1vbnRocyh0aGlzLm5hdGl2ZURhdGUsIGFtb3VudCksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZFdlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGREYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuICAgIGFkZEhvdXJzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGFkZEhvdXJzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkU2Vjb25kcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRTZWNvbmRzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgYWRkTWludXRlcyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShhZGRNaW51dGVzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgLy8gaXNTYW1lXG5cbiAgICBpc1NhbWUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5Jyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgZm47XG4gICAgICAgIHN3aXRjaCAoZ3JhaW4pIHtcbiAgICAgICAgICAgIGNhc2UgJ2RlY2FkZSc6XG4gICAgICAgICAgICAgICAgZm4gPSAocHJlOiBEYXRlLCBuZXh0OiBEYXRlKSA9PiBNYXRoLmFicyhwcmUuZ2V0RnVsbFllYXIoKSAtIG5leHQuZ2V0RnVsbFllYXIoKSkgPCAxMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lWWVhcjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZU1vbnRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVRdWFydGVyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lSG91cjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBpc1NhbWVNaW51dGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIGZuID0gaXNTYW1lU2Vjb25kO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBmbiA9IGlzU2FtZURheTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4odGhpcy5uYXRpdmVEYXRlLCB0aGlzLnRvTmF0aXZlRGF0ZShkYXRlKSk7XG4gICAgfVxuXG4gICAgaXNTYW1lWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICd5ZWFyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTW9udGgoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc1NhbWVRdWFydGVyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ3F1YXJ0ZXInKTtcbiAgICB9XG5cbiAgICBpc1NhbWVEYXkoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNTYW1lSG91cihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNTYW1lTWludXRlKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzU2FtZVNlY29uZChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTYW1lKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICAvLyBpc0JlZm9yZSBhbmQgaXNBZnRlclxuICAgIGlzQmVmb3JlWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZVdlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnKTtcbiAgICB9XG5cbiAgICBpc0JlZm9yZURheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5Jyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJyk7XG4gICAgfVxuXG4gICAgaXNCZWZvcmVNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScpO1xuICAgIH1cblxuICAgIGlzQmVmb3JlU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyWWVhcihkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAneWVhcicsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyUXVhcnRlcihkYXRlOiBUaW55RGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdxdWFydGVyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNb250aChkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnbW9udGgnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlcldlZWsoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ3dlZWsnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaXNBZnRlckRheShkYXRlOiBUaW55RGF0ZVR5cGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlLCAnZGF5JywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJIb3VyKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdob3VyJywgZmFsc2UpO1xuICAgIH1cblxuICAgIGlzQWZ0ZXJNaW51dGUoZGF0ZTogVGlueURhdGVUeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZGF0ZSwgJ21pbnV0ZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpc0FmdGVyU2Vjb25kKGRhdGU6IFRpbnlEYXRlVHlwZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGRhdGUsICdzZWNvbmQnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gaXNcbiAgICBpc1dlZWtlbmQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1dlZWtlbmQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICBpc1RvZGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNUb2RheSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGlzVG9tb3Jyb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc1RvbW9ycm93KHRoaXMubmF0aXZlRGF0ZSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWQodGhpcy5uYXRpdmVEYXRlKTtcbiAgICB9XG5cbiAgICAvLyBzdGFydE9mIGFuZCBlbmRPZlxuICAgIHN0YXJ0T2ZZZWFyKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mWWVhcih0aGlzLm5hdGl2ZURhdGUpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoc3RhcnRPZlF1YXJ0ZXIodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1vbnRoKCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZldlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXggfSk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mV2Vlayh0aGlzLm5hdGl2ZURhdGUsIG9wdGlvbnMpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICBzdGFydE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdGFydE9mRGF5KHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZZZWFyKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZRdWFydGVyKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mTW9udGgoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKGVuZE9mTW9udGgodGhpcy5uYXRpdmVEYXRlKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogV2Vla0RheUluZGV4IH0pOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZXZWVrKHRoaXMubmF0aXZlRGF0ZSwgb3B0aW9ucyksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mRGF5KCk6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShlbmRPZkRheSh0aGlzLm5hdGl2ZURhdGUpLCB0aGlzLnVzZVRpbWVab25lKTtcbiAgICB9XG5cbiAgICAvLyBvdGhlclxuICAgIGZvcm1hdChcbiAgICAgICAgbWF0OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBMb2NhbGU7XG4gICAgICAgICAgICB3ZWVrU3RhcnRzT24/OiBXZWVrRGF5SW5kZXg7XG4gICAgICAgICAgICBmaXJzdFdlZWtDb250YWluc0RhdGU/OiBGaXJzdFdlZWtDb250YWluc0RhdGU7XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnM/OiBib29sZWFuO1xuICAgICAgICAgICAgdXNlQWRkaXRpb25hbERheU9mWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdCh0aGlzLm5hdGl2ZURhdGUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2FsZW5kYXJTdGFydChvcHRpb25zPzogeyB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleCB8IHVuZGVmaW5lZCB9KTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZXZWVrKHN0YXJ0T2ZNb250aCh0aGlzLm5hdGl2ZURhdGUpLCBvcHRpb25zKSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKG5ldyBEYXRlKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLm5hdGl2ZURhdGUpO1xuICAgIH1cblxuICAgIGNvbXBhcmUoZGF0ZTogVGlueURhdGVUeXBlLCBncmFpbjogVGlueURhdGVDb21wYXJlR3JhaW4gPSAnZGF5JywgaXNCZWZvcmU6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZuO1xuICAgICAgICBzd2l0Y2ggKGdyYWluKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJbldlZWtzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5Ib3VycztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgZm4gPSBkaWZmZXJlbmNlSW5NaW51dGVzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgICAgICAgICBmbiA9IGRpZmZlcmVuY2VJblNlY29uZHM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZuID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0JlZm9yZSA/IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpIDwgMCA6IGZuKHRoaXMubmF0aXZlRGF0ZSwgdGhpcy50b05hdGl2ZURhdGUoZGF0ZSkpID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTmF0aXZlRGF0ZShkYXRlOiBhbnkpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBUaW55RGF0ZSA/IGRhdGUubmF0aXZlRGF0ZSA6IGRhdGU7XG4gICAgfVxuXG4gICAgc3RhcnRPZklTT1dlZWsoKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN0YXJ0T2ZJU09XZWVrKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGVuZE9mSVNPV2VlaygpOiBUaW55RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgVGlueURhdGUoZW5kT2ZJU09XZWVrKHRoaXMubmF0aXZlRGF0ZSksIHRoaXMudXNlVGltZVpvbmUpO1xuICAgIH1cblxuICAgIGRpZmZlcmVuY2VJbkRheXMoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5EYXlzKHRoaXMubmF0aXZlRGF0ZSwgZGF0ZSk7XG4gICAgfVxuXG4gICAgZGlmZmVyZW5jZUluSG91cnMoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5Ib3Vycyh0aGlzLm5hdGl2ZURhdGUsIGRhdGUpO1xuICAgIH1cblxuICAgIHN1YldlZWtzKGFtb3VudDogbnVtYmVyKTogVGlueURhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFRpbnlEYXRlKHN1YldlZWtzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxuXG4gICAgc3ViRGF5cyhhbW91bnQ6IG51bWJlcik6IFRpbnlEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaW55RGF0ZShzdWJEYXlzKHRoaXMubmF0aXZlRGF0ZSwgYW1vdW50KSwgdGhpcy51c2VUaW1lWm9uZSk7XG4gICAgfVxufVxuIl19
|
package/esm2022/util/index.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export * from './date/functions';
|
|
2
2
|
export * from './date/tiny-date';
|
|
3
|
-
|
|
3
|
+
export * from './dom';
|
|
4
4
|
export * from './helpers/index';
|
|
5
|
-
import * as dom from './dom';
|
|
6
5
|
export { produce } from './immutable';
|
|
6
|
+
import * as dom from './dom';
|
|
7
|
+
import * as helpers from './helpers/index';
|
|
8
|
+
import * as keycodes from './keycodes';
|
|
7
9
|
import * as references from './references';
|
|
8
|
-
export * from './dom';
|
|
9
|
-
export * from './references';
|
|
10
|
-
export * from './ng';
|
|
11
10
|
export { Producer } from './immutable';
|
|
12
|
-
export * from './
|
|
13
|
-
|
|
14
|
-
export { helpers, dom, references, keycodes };
|
|
11
|
+
export * from './ng';
|
|
12
|
+
export * from './references';
|
|
15
13
|
export * from './keycodes';
|
|
16
|
-
|
|
14
|
+
export * from './logger/index';
|
|
15
|
+
export { dom, helpers, keycodes, references };
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sS0FBSyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFFM0MsT0FBTyxFQUE2RCxRQUFRLEVBQW1CLE1BQU0sYUFBYSxDQUFDO0FBQ25ILGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsY0FBYyxDQUFDO0FBRTdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlL2Z1bmN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUvdGlueS1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pbmRleCc7XG5leHBvcnQgeyBwcm9kdWNlIH0gZnJvbSAnLi9pbW11dGFibGUnO1xuaW1wb3J0ICogYXMgZG9tIGZyb20gJy4vZG9tJztcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSAnLi9oZWxwZXJzL2luZGV4JztcbmltcG9ydCAqIGFzIGtleWNvZGVzIGZyb20gJy4va2V5Y29kZXMnO1xuaW1wb3J0ICogYXMgcmVmZXJlbmNlcyBmcm9tICcuL3JlZmVyZW5jZXMnO1xuXG5leHBvcnQgeyBFbnRpdHlBZGRPcHRpb25zIGFzIEVudGl0eUFkZE9wdGlvbnMkMCwgRW50aXR5TW92ZU9wdGlvbnMsIFByb2R1Y2VyLCBQcm9kdWNlck9wdGlvbnMgfSBmcm9tICcuL2ltbXV0YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL25nJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmZXJlbmNlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4va2V5Y29kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXIvaW5kZXgnO1xuZXhwb3J0IHsgZG9tLCBoZWxwZXJzLCBrZXljb2RlcywgcmVmZXJlbmNlcyB9O1xuIl19
|
package/esm2022/version.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Version } from '@angular/core';
|
|
2
|
-
export const VERSION = new Version('18.2.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const VERSION = new Version('18.2.7');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxOC4yLjcnKTtcbiJdfQ==
|
|
@@ -90,10 +90,10 @@ export class ThyVote {
|
|
|
90
90
|
classNames.push(`thy-vote-${this._layout}-size-${this._size}`);
|
|
91
91
|
this.hostRenderer.updateClass(classNames);
|
|
92
92
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ThyVote, isStandalone: true, selector: "thy-vote,[thyVote]", inputs: { thySize: "thySize", thyVote: "thyVote", thyRound: ["thyRound", "thyRound", coerceBooleanProperty], thyLayout: "thyLayout", thyVoteCount: "thyVoteCount", thyIcon: "thyIcon", thyHasVoted: ["thyHasVoted", "thyHasVoted", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-vote-disabled": "thyDisabled", "class.thy-vote": "this.class", "class.has-voted": "this._hasVoted" } }, queries: [{ propertyName: "voteIcon", first: true, predicate: ["voteIcon"], descendants: true }], ngImport: i0, template: "@if (voteIcon) {\n <ng-container [ngTemplateOutlet]=\"voteIcon\"></ng-container>\n} @else {\n <thy-icon [thyIconName]=\"thyIcon\" [thyIconType]=\"_hasVoted ? 'fill' : ''\"></thy-icon>\n}\n<div>{{ thyVoteCount }}</div>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVote, decorators: [{
|
|
97
97
|
type: Component,
|
|
98
98
|
args: [{ selector: 'thy-vote,[thyVote]', host: {
|
|
99
99
|
'[class.thy-vote-disabled]': `thyDisabled`
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
127
127
|
type: ContentChild,
|
|
128
128
|
args: ['voteIcon']
|
|
129
129
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy92b3RlL3ZvdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFReEQ7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxPQUFPO0lBZWhCOzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQW1CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFRRDs7O09BR0c7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUs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aW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVTaXplcyA9ICdkZWZhdWx0JyB8ICdzbSc7XG5cbmV4cG9ydCB0eXBlIFRoeVZvdGVUeXBlID0gJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ3ByaW1hcnktd2VhaycgfCAnc3VjY2Vzcy13ZWFrJztcblxuZXhwb3J0IHR5cGUgVGh5Vm90ZUxheW91dCA9ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCc7XG5cbi8qKlxuICog5oqV56Wo57uE5Lu2XG4gKiBAbmFtZSB0aHktdm90ZSxbdGh5Vm90ZV1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS12b3RlLFt0aHlWb3RlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZvdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktdm90ZS1kaXNhYmxlZF0nOiBgdGh5RGlzYWJsZWRgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtUaHlJY29uLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBfc2l6ZTogVGh5Vm90ZVNpemVzO1xuXG4gICAgX3R5cGU6IFRoeVZvdGVUeXBlO1xuXG4gICAgX2xheW91dDogVGh5Vm90ZUxheW91dDtcblxuICAgIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXZvdGVgKSBjbGFzcyA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLmhhcy12b3RlZGApIF9oYXNWb3RlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIx0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiIOaXtu+8jOaUr+aMgTogc20gfCBkZWZhdWx0XG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFRoeVZvdGVTaXplcykge1xuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qCH562+57G75Z6LOiBwcmltYXJ5IHwgc3VjY2VzcyB8IHByaW1hcnktd2VhayB8IHN1Y2Nlc3Mtd2Vha1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlWb3RlKHZhbHVlOiBUaHlWb3RlVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5piv5YGP5ZyG5Z6LXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlSb3VuZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgDogaG9yaXpvbnRhbCB8IHZlcnRpY2FsXG4gICAgICogQGRlZmF1bHQgaG9yaXpvbnRhbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxheW91dCh2YWx1ZTogVGh5Vm90ZUxheW91dCkge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDotZ7lkIznmoTmlbDph49cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlWb3RlQ291bnQ6IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb24gPSAndGh1bWItdXAnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6LWe5ZCMXG4gICAgICogQHR5cGUgYm9vbGVhblxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5SGFzVm90ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFzVm90ZWQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRDbGFzc2VzQnlUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKhcbiAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5RGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5iUljb27mqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3ZvdGVJY29uJykgdm90ZUljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fc2V0Q2xhc3Nlc0J5VHlwZSgpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgX3NldENsYXNzZXNCeVR5cGUoKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXTtcbiAgICAgICAgaWYgKCF0aGlzLl90eXBlKSB7XG4gICAgICAgICAgICB0aGlzLl90eXBlID0gJ3ByaW1hcnknO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fbGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLl9sYXlvdXQgPSAnaG9yaXpvbnRhbCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9zaXplKSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gJ2RlZmF1bHQnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVJvdW5kKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ3RoeS12b3RlLXJvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGB0aHktdm90ZS0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9YCk7XG4gICAgICAgIGNsYXNzTmFtZXMucHVzaChgdGh5LXZvdGUtJHt0aGlzLl9sYXlvdXR9LXNpemUtJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG59XG4iLCJAaWYgKHZvdGVJY29uKSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidm90ZUljb25cIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2Uge1xuICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cInRoeUljb25cIiBbdGh5SWNvblR5cGVdPVwiX2hhc1ZvdGVkID8gJ2ZpbGwnIDogJydcIj48L3RoeS1pY29uPlxufVxuPGRpdj57eyB0aHlWb3RlQ291bnQgfX08L2Rpdj5cbiJdfQ==
|
|
@@ -5,11 +5,11 @@ import { ThyVote } from './vote.component';
|
|
|
5
5
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ThyVoteModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote], exports: [ThyVote] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote] }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyVoteModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [CommonModule, ThySharedModule, ThyIconModule, ThyVote],
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
17
17
|
providers: []
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdm90ZS92b3RlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLFlBSlosWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxhQUNyRCxPQUFPO2dIQUdSLGFBQWEsWUFKWixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPOzs0RkFJdEQsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlWb3RlIH0gZnJvbSAnLi92b3RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJY29uTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGh5U2hhcmVkTW9kdWxlLCBUaHlJY29uTW9kdWxlLCBUaHlWb3RlXSxcbiAgICBleHBvcnRzOiBbVGh5Vm90ZV0sXG4gICAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlWb3RlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -158,10 +158,10 @@ export class ThyWatermarkDirective {
|
|
|
158
158
|
};
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
162
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: ThyWatermarkDirective, isStandalone: true, selector: "[thyWatermark]", inputs: { thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], thyWatermark: "thyWatermark", thyCanvasConfig: "thyCanvasConfig" }, usesOnChanges: true, ngImport: i0 }); }
|
|
163
163
|
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyWatermarkDirective, decorators: [{
|
|
165
165
|
type: Directive,
|
|
166
166
|
args: [{
|
|
167
167
|
selector: '[thyWatermark]',
|
|
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
175
175
|
}], thyCanvasConfig: [{
|
|
176
176
|
type: Input
|
|
177
177
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBNkJoRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBVTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBbUJEO1FBbkNRLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFFSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlCckIscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQVFoQyxlQUFVLEdBQUcsTUFBTSxD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Q0gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F0TFEscUJBQXFCO2tHQUFyQixxQkFBcUIsd0dBTVYscUJBQXFCOzsyRkFOaEMscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFRRyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUXZDLFlBQVk7c0JBRGYsS0FBSztnQkFTRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIGluamVjdCwgRGVzdHJveVJlZiwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBERUZBVUxUX1dBVEVSTUFSS19DT05GSUcsIERFRkFVTFRfQ0FOVkFTX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGhlbWVTdG9yZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICog5rC05Y2w5qC35byP6YWN572uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2FudmFzQ29uZmlnVHlwZSB7XG4gICAgLyoqXG4gICAgICog5YGP56e76KeS5bqmXG4gICAgICovXG4gICAgZGVncmVlPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOWtl+S9k+minOiJsuOAguWmguaenOS8oOeahOaYr+aVsOe7hO+8jOesrOS4gOS4quS4uum7mOiupOS4u+mimOeahOWtl+S9k+minOiJsu+8jOesrOS6jOS4quS4uum7keaal+S4u+mimOeahOWtl+S9k+minOiJslxuICAgICAqL1xuICAgIGNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLyoqXG4gICAgICog5a2X5L2T5aSn5bCPXG4gICAgICovXG4gICAgZm9udFNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5paH5pys6KGM6auYXG4gICAgICovXG4gICAgdGV4dExpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5qiq57q16Ze06LedXG4gICAgICovXG4gICAgZ3V0dGVyPzogbnVtYmVyW107XG59XG5cbi8qKlxuICog5rC05Y2w5oyH5LukXG4gKiBAbmFtZSB0aHlXYXRlcm1hcmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5V2F0ZXJtYXJrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqO+8jOm7mOiupOS4uiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOWNsOagt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5VGhlbWVTdG9yZSA9IGluamVjdChUaHlUaGVtZVN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkICYmIHRoaXMudGh5VGhlbWVTdG9yZS50aGVtZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMudGh5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUF0dHJpYnV0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlXYXRlcm1hcmssIHRoeURpc2FibGVkIH0gPSBjaGFuZ2VzO1xuICAgICAgICBjb25zdCB0aHlXYXRlcm1hcmtDaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0aHlEaXNhYmxlZENoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlEaXNhYmxlZC5maXJzdENoYW5nZSkgcmV0dXJuO1xuICAgICAgICAgICAgdGh5RGlzYWJsZWQ/LmN1cnJlbnRWYWx1ZSA/IHRoaXMucmVtb3ZlV2F0ZXJtYXJrKCkgOiB0aGlzLnJlZnJlc2hXYXRlcm1hcmsoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGh5V2F0ZXJtYXJrICYmIHRoeVdhdGVybWFya0NoYW5nZSgpO1xuICAgICAgICB0aHlEaXNhYmxlZCAmJiB0aHlEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFdhdGVybWFyaygpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVXYXRlcm1hcmsoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVdhdGVybWFyaygpIHtcbiAgICAgICAgaWYgKHRoaXMud21EaXYpIHtcbiAgICAgICAgICAgIHRoaXMud21EaXYucmVtb3ZlKCk7XG4gICAgICAgICAgICB0aGlzLndtRGl2ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUNhbnZhcygpIHtcbiAgICAgICAgbGV0IHsgZ3V0dGVyLCBmb250U2l6ZSwgY29sb3IsIGRlZ3JlZSwgdGV4dExpbmVIZWlnaHQgfSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfQ0FOVkFTX0NPTkZJRyxcbiAgICAgICAgICAgIC4uLih0aGlzLnRoeUNhbnZhc0NvbmZpZyB8fCB7fSlcbiAgICAgICAgfTtcbiAgICAgICAgY29sb3IgPSB0aGlzLnRoeVRoZW1lU3RvcmUubm9ybWFsaXplQ29sb3IoY29sb3IpO1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93YXRlcm1hcmsvd2F0ZXJtYXJrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQW9DLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBNkJoRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBVTlCOztPQUVHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBYTtRQUMxQixLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBbUJEO1FBbkNRLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFFSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQWlCckIscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQVFoQyxlQUFVLEdBQUcsTUFBTSxD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Q0gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F0TFEscUJBQXFCO21HQUFyQixxQkFBcUIsd0dBTVYscUJBQXFCOzs0RkFOaEMscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFRRyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBUXZDLFlBQVk7c0JBRGYsS0FBSztnQkFTRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMsIGluamVjdCwgRGVzdHJveVJlZiwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBERUZBVUxUX1dBVEVSTUFSS19DT05GSUcsIERFRkFVTFRfQ0FOVkFTX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGhlbWVTdG9yZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbi8qKlxuICogQHB1YmxpY1xuICog5rC05Y2w5qC35byP6YWN572uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2FudmFzQ29uZmlnVHlwZSB7XG4gICAgLyoqXG4gICAgICog5YGP56e76KeS5bqmXG4gICAgICovXG4gICAgZGVncmVlPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOWtl+S9k+minOiJsuOAguWmguaenOS8oOeahOaYr+aVsOe7hO+8jOesrOS4gOS4quS4uum7mOiupOS4u+mimOeahOWtl+S9k+minOiJsu+8jOesrOS6jOS4quS4uum7keaal+S4u+mimOeahOWtl+S9k+minOiJslxuICAgICAqL1xuICAgIGNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLyoqXG4gICAgICog5a2X5L2T5aSn5bCPXG4gICAgICovXG4gICAgZm9udFNpemU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5paH5pys6KGM6auYXG4gICAgICovXG4gICAgdGV4dExpbmVIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5qiq57q16Ze06LedXG4gICAgICovXG4gICAgZ3V0dGVyPzogbnVtYmVyW107XG59XG5cbi8qKlxuICog5rC05Y2w5oyH5LukXG4gKiBAbmFtZSB0aHlXYXRlcm1hcmtcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5V2F0ZXJtYXJrXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlXYXRlcm1hcmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqO+8jOm7mOiupOS4uiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmsLTljbDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlXYXRlcm1hcmsodmFsdWU6IHN0cmluZykge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKC9eXFxcInxcXFwiJC9nLCAnJyk7XG4gICAgICAgIHRoaXMuY29udGVudCA9ICEhdmFsdWUgPyB2YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOawtOWNsOagt+W8j+mFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbnZhc0NvbmZpZzogVGh5Q2FudmFzQ29uZmlnVHlwZTtcblxuICAgIHByaXZhdGUgY3JlYXRlV2F0ZXJtYXJrJCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHdtRGl2OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5VGhlbWVTdG9yZSA9IGluamVjdChUaHlUaGVtZVN0b3JlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRoeURpc2FibGVkICYmIHRoaXMudGh5VGhlbWVTdG9yZS50aGVtZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoV2F0ZXJtYXJrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMudGh5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUF0dHJpYnV0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB0aHlXYXRlcm1hcmssIHRoeURpc2FibGVkIH0gPSBjaGFuZ2VzO1xuICAgICAgICBjb25zdCB0aHlXYXRlcm1hcmtDaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmZpcnN0Q2hhbmdlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGh5V2F0ZXJtYXJrLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFdhdGVybWFyaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0aHlEaXNhYmxlZENoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aHlEaXNhYmxlZC5maXJzdENoYW5nZSkgcmV0dXJuO1xuICAgICAgICAgICAgdGh5RGlzYWJsZWQ/LmN1cnJlbnRWYWx1ZSA/IHRoaXMucmVtb3ZlV2F0ZXJtYXJrKCkgOiB0aGlzLnJlZnJlc2hXYXRlcm1hcmsoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGh5V2F0ZXJtYXJrICYmIHRoeVdhdGVybWFya0NoYW5nZSgpO1xuICAgICAgICB0aHlEaXNhYmxlZCAmJiB0aHlEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFdhdGVybWFyaygpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVXYXRlcm1hcmsoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVXYXRlcm1hcmsoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZVdhdGVybWFyaygpIHtcbiAgICAgICAgaWYgKHRoaXMud21EaXYpIHtcbiAgICAgICAgICAgIHRoaXMud21EaXYucmVtb3ZlKCk7XG4gICAgICAgICAgICB0aGlzLndtRGl2ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUNhbnZhcygpIHtcbiAgICAgICAgbGV0IHsgZ3V0dGVyLCBmb250U2l6ZSwgY29sb3IsIGRlZ3JlZSwgdGV4dExpbmVIZWlnaHQgfSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfQ0FOVkFTX0NPTkZJRyxcbiAgICAgICAgICAgIC4uLih0aGlzLnRoeUNhbnZhc0NvbmZpZyB8fCB7fSlcbiAgICAgICAgfTtcbiAgICAgICAgY29sb3IgPSB0aGlzLnRoeVRoZW1lU3RvcmUubm9ybWFsaXplQ29sb3IoY29sb3IpO1xuXG4gICAgICAgIGNvbnN0IFt4R3V0dGVyLCB5R3V0dGVyXSA9IGd1dHRlcjtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgIGNvbnN0IGdldEZha2VTaXplID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUJveFN0eWxlID0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnOiBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4YCxcbiAgICAgICAgICAgICAgICAnd29yZC13cmFwJzogJ2JyZWFrLXdvcmQnLFxuICAgICAgICAgICAgICAgICdmb250LWZhbWlseSc6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAncHJlLWxpbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3R5bGVTdHIgPSBPYmplY3Qua2V5cyhmYWtlQm94U3R5bGUpLnJlZHVjZSgocHJlLCBuZXh0KSA9PiAoKHByZSArPSBgJHtuZXh0fToke2Zha2VCb3hTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgICAgIGZha2VCb3guc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlU3RyKTtcblxuICAgICAgICAgICAgZmFrZUJveC5pbm5lckhUTUwgPSB0aGlzLmNvbnRlbnQucmVwbGFjZSgvKFxcXFxuKS9nbSwgJzwvYnI+Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuaW5zZXJ0QmVmb3JlKGZha2VCb3gsIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZmFrZUJveC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGZha2VCb3gucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IGZha2VCb3hXaWR0aCwgaGVpZ2h0OiBmYWtlQm94SGVpZ2h0IH0gPSBnZXRGYWtlU2l6ZSgpO1xuXG4gICAgICAgIGNvbnN0IGFuZ2xlID0gKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwO1xuICAgICAgICBjb25zdCBjb250ZW50QXJyID0gdGhpcy5jb250ZW50LnNwbGl0KCdcXFxcbicpO1xuICAgICAgICBjb25zdCBjYW52YXNIZWlnaHQgPSBNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKyBmYWtlQm94SGVpZ2h0O1xuXG4gICAgICAgIGxldCBzdGFydCA9IE1hdGguY2VpbChNYXRoLnNpbihhbmdsZSkgKiBmYWtlQm94V2lkdGggKiBNYXRoLnNpbihhbmdsZSkpO1xuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IHN0YXJ0ICsgZmFrZUJveFdpZHRoO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcnICsgKGNhbnZhc1dpZHRoICsgeEd1dHRlcikpO1xuICAgICAgICBjYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnJyArIChjYW52YXNIZWlnaHQgKyB5R3V0dGVyKSk7XG5cbiAgICAgICAgY3R4LmZvbnQgPSBgJHtwYXJzZUZsb2F0KCcnICsgZm9udFNpemUpfXB4IG1pY3Jvc29mdCB5YWhlaWA7XG4gICAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gY29sb3I7XG4gICAgICAgIGN0eC5yb3RhdGUoMCAtIChkZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCk7XG4gICAgICAgIGNvbnRlbnRBcnIubWFwKChrLCBpKSA9PiB7XG4gICAgICAgICAgICBjdHguZmlsbFRleHQoaywgLXN0YXJ0ICsgTWF0aC5jZWlsKGNhbnZhc1dpZHRoIC8gMiksIE1hdGguc2luKGFuZ2xlKSAqIGNhbnZhc1dpZHRoICsgdGV4dExpbmVIZWlnaHQgKiBpKTtcbiAgICAgICAgICAgIHN0YXJ0ICs9IE1hdGguc2luKGFuZ2xlKSAqIHRleHRMaW5lSGVpZ2h0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYW52YXMgPSBjYW52YXM7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXYXRlcm1hcmsoaXNSZWZyZXNoID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtEaXYgPSB0aGlzLndtRGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgIGNvbnN0IGJhY2tncm91bmQgPSAhaXNSZWZyZXNoID8gdGhpcy5jYW52YXMudG9EYXRhVVJMKCkgOiB0aGlzLmNyZWF0ZUNhbnZhcygpLnRvRGF0YVVSTCgpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmtTdHlsZSA9IHtcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfV0FURVJNQVJLX0NPTkZJRyxcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCgke2JhY2tncm91bmR9KWBcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzdHlsZVN0ciA9IE9iamVjdC5rZXlzKHdhdGVybWFya1N0eWxlKS5yZWR1Y2UoKHByZSwgbmV4dCkgPT4gKChwcmUgKz0gYCR7bmV4dH06JHt3YXRlcm1hcmtTdHlsZVtuZXh0XX07YCksIHByZSksICcnKTtcbiAgICAgICAgd2F0ZXJtYXJrRGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBzdHlsZVN0cik7XG5cbiAgICAgICAgaWYgKCF0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgd2F0ZXJtYXJrRGl2LmNsYXNzTGlzdC5hZGQoYF92bWApO1xuICAgICAgICAgICAgdGhpcy53bURpdiA9IHdhdGVybWFya0RpdjtcbiAgICAgICAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdhdGVybWFya0RpdiwgcGFyZW50Tm9kZS5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZVdhdGVybWFyayQubmV4dCgnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQXR0cmlidXRlcygpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3ViamVjdDxNdXRhdGlvblJlY29yZFtdPigpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyRmFjdG9yeSgpLmNyZWF0ZShtdXRhdGlvbnMgPT4gc3RyZWFtLm5leHQobXV0YXRpb25zKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndtRGl2LCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndtRGl2KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXM/Lm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlV2F0ZXJtYXJrKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChzdHJlYW0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|