@ptsecurity/mosaic 14.9.1 → 14.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/autocomplete/autocomplete-origin.directive.mjs +4 -4
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +4 -4
- package/esm2020/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2020/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +7 -7
- package/esm2020/button/button.module.mjs +5 -5
- package/esm2020/button-toggle/button-toggle.component.mjs +7 -7
- package/esm2020/button-toggle/button-toggle.module.mjs +5 -5
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/checkbox/checkbox-module.mjs +5 -5
- package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
- package/esm2020/checkbox/checkbox.mjs +4 -4
- package/esm2020/code-block/actionbar.component.mjs +4 -4
- package/esm2020/code-block/code-block.component.mjs +4 -4
- package/esm2020/code-block/code-block.module.mjs +5 -5
- package/esm2020/core/common-behaviors/common-module.mjs +5 -5
- package/esm2020/core/error/error-options.mjs +7 -7
- package/esm2020/core/formatters/date/formatter.mjs +4 -4
- package/esm2020/core/formatters/date/formatter.pipe.mjs +40 -40
- package/esm2020/core/formatters/index.mjs +5 -5
- package/esm2020/core/formatters/number/formatter.mjs +5 -5
- package/esm2020/core/forms/forms-module.mjs +5 -5
- package/esm2020/core/forms/forms.directive.mjs +7 -7
- package/esm2020/core/highlight/highlight.pipe.mjs +4 -4
- package/esm2020/core/highlight/index.mjs +5 -5
- package/esm2020/core/line/line.mjs +8 -8
- package/esm2020/core/option/action.mjs +4 -4
- package/esm2020/core/option/optgroup.mjs +4 -4
- package/esm2020/core/option/option-module.mjs +5 -5
- package/esm2020/core/option/option.mjs +4 -4
- package/esm2020/core/pop-up/pop-up-trigger.mjs +4 -4
- package/esm2020/core/pop-up/pop-up.mjs +4 -4
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
- package/esm2020/core/services/measure-scrollbar.service.mjs +4 -4
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/datepicker/calendar-body.component.mjs +4 -4
- package/esm2020/datepicker/calendar-header.component.mjs +4 -4
- package/esm2020/datepicker/calendar.component.mjs +4 -4
- package/esm2020/datepicker/datepicker-input.directive.mjs +4 -4
- package/esm2020/datepicker/datepicker-intl.mjs +4 -4
- package/esm2020/datepicker/datepicker-module.mjs +5 -5
- package/esm2020/datepicker/datepicker-toggle.component.mjs +7 -7
- package/esm2020/datepicker/datepicker.component.mjs +7 -7
- package/esm2020/datepicker/month-view.component.mjs +4 -4
- package/esm2020/divider/divider.component.mjs +4 -4
- package/esm2020/divider/divider.module.mjs +5 -5
- package/esm2020/dl/dl.component.mjs +10 -10
- package/esm2020/dl/dl.module.mjs +5 -5
- package/esm2020/dropdown/dropdown-content.directive.mjs +4 -4
- package/esm2020/dropdown/dropdown-item.component.mjs +4 -4
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +4 -4
- package/esm2020/dropdown/dropdown.component.mjs +4 -4
- package/esm2020/dropdown/dropdown.module.mjs +5 -5
- package/esm2020/form-field/cleaner.mjs +4 -4
- package/esm2020/form-field/form-field.mjs +10 -10
- package/esm2020/form-field/form-field.module.mjs +5 -5
- package/esm2020/form-field/hint.mjs +4 -4
- package/esm2020/form-field/password-hint.mjs +4 -4
- package/esm2020/form-field/prefix.mjs +4 -4
- package/esm2020/form-field/stepper.mjs +4 -4
- package/esm2020/form-field/suffix.mjs +4 -4
- package/esm2020/form-field/validate.directive.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +7 -7
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/input/input-number-validators.mjs +7 -7
- package/esm2020/input/input-number.mjs +4 -4
- package/esm2020/input/input-password.mjs +7 -7
- package/esm2020/input/input.mjs +7 -7
- package/esm2020/input/input.module.mjs +5 -5
- package/esm2020/link/link.component.mjs +4 -4
- package/esm2020/link/link.module.mjs +5 -5
- package/esm2020/list/list-selection.component.mjs +7 -7
- package/esm2020/list/list.component.mjs +7 -7
- package/esm2020/list/list.module.mjs +5 -5
- package/esm2020/loader-overlay/loader-overlay.component.mjs +13 -13
- package/esm2020/loader-overlay/loader-overlay.module.mjs +5 -5
- package/esm2020/markdown/markdown.component.mjs +4 -4
- package/esm2020/markdown/markdown.module.mjs +5 -5
- package/esm2020/markdown/markdown.service.mjs +4 -4
- package/esm2020/modal/css-unit.pipe.mjs +4 -4
- package/esm2020/modal/modal-control.service.mjs +4 -4
- package/esm2020/modal/modal.component.mjs +4 -4
- package/esm2020/modal/modal.directive.mjs +13 -13
- package/esm2020/modal/modal.module.mjs +5 -5
- package/esm2020/modal/modal.service.mjs +4 -4
- package/esm2020/navbar/navbar-item.component.mjs +43 -42
- package/esm2020/navbar/navbar.component.mjs +10 -10
- package/esm2020/navbar/navbar.module.mjs +5 -5
- package/esm2020/navbar/vertical-navbar.component.mjs +4 -4
- package/esm2020/popover/popover-confirm.component.mjs +7 -7
- package/esm2020/popover/popover.component.mjs +7 -7
- package/esm2020/popover/popover.module.mjs +13 -7
- package/esm2020/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2020/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2020/progress-spinner/progress-spinner.component.mjs +4 -4
- package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
- package/esm2020/radio/radio.component.mjs +9 -8
- package/esm2020/radio/radio.module.mjs +5 -5
- package/esm2020/select/select-option.directive.mjs +4 -4
- package/esm2020/select/select.component.mjs +19 -19
- package/esm2020/select/select.module.mjs +5 -5
- package/esm2020/sidebar/sidebar.component.mjs +10 -10
- package/esm2020/sidebar/sidebar.module.mjs +5 -5
- package/esm2020/sidepanel/sidepanel-container.component.mjs +4 -4
- package/esm2020/sidepanel/sidepanel-directives.mjs +16 -16
- package/esm2020/sidepanel/sidepanel.module.mjs +5 -5
- package/esm2020/sidepanel/sidepanel.service.mjs +4 -4
- package/esm2020/splitter/splitter.component.mjs +13 -13
- package/esm2020/splitter/splitter.module.mjs +5 -5
- package/esm2020/table/table.component.mjs +4 -4
- package/esm2020/table/table.module.mjs +5 -5
- package/esm2020/tabs/paginated-tab-header.mjs +14 -5
- package/esm2020/tabs/tab-body.component.mjs +9 -8
- package/esm2020/tabs/tab-content.directive.mjs +4 -4
- package/esm2020/tabs/tab-group.component.mjs +19 -19
- package/esm2020/tabs/tab-header.component.mjs +4 -4
- package/esm2020/tabs/tab-label-wrapper.directive.mjs +4 -4
- package/esm2020/tabs/tab-label.directive.mjs +4 -4
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +7 -7
- package/esm2020/tabs/tab.component.mjs +4 -4
- package/esm2020/tabs/tabs.module.mjs +9 -5
- package/esm2020/tags/tag-input.mjs +4 -4
- package/esm2020/tags/tag-list.component.mjs +11 -7
- package/esm2020/tags/tag.component.mjs +16 -16
- package/esm2020/tags/tag.module.mjs +5 -5
- package/esm2020/textarea/textarea.component.mjs +4 -4
- package/esm2020/textarea/textarea.module.mjs +5 -5
- package/esm2020/timepicker/timepicker.directive.mjs +4 -4
- package/esm2020/timepicker/timepicker.module.mjs +5 -5
- package/esm2020/timezone/cities-by-filter.pipe.mjs +4 -4
- package/esm2020/timezone/timezone-option.component.mjs +4 -4
- package/esm2020/timezone/timezone-option.directive.mjs +4 -4
- package/esm2020/timezone/timezone-select.component.mjs +7 -7
- package/esm2020/timezone/timezone.module.mjs +5 -5
- package/esm2020/timezone/utc-offset.pipe.mjs +4 -4
- package/esm2020/toast/toast-container.component.mjs +4 -4
- package/esm2020/toast/toast.component.mjs +4 -4
- package/esm2020/toast/toast.module.mjs +5 -5
- package/esm2020/toast/toast.service.mjs +4 -4
- package/esm2020/toggle/toggle.component.mjs +4 -4
- package/esm2020/toggle/toggle.module.mjs +5 -5
- package/esm2020/tooltip/tooltip.component.mjs +13 -13
- package/esm2020/tooltip/tooltip.module.mjs +5 -5
- package/esm2020/tree/node.mjs +4 -4
- package/esm2020/tree/outlet.mjs +4 -4
- package/esm2020/tree/padding.directive.mjs +4 -4
- package/esm2020/tree/toggle.mjs +10 -10
- package/esm2020/tree/tree-base.mjs +7 -7
- package/esm2020/tree/tree-option.component.mjs +5 -4
- package/esm2020/tree/tree-selection.component.mjs +4 -4
- package/esm2020/tree/tree.mjs +4 -4
- package/esm2020/tree/tree.module.mjs +5 -5
- package/esm2020/tree-select/tree-select.component.mjs +10 -10
- package/esm2020/tree-select/tree-select.module.mjs +5 -5
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-code-block.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +114 -114
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +34 -34
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dl.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +34 -34
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.mjs +25 -25
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-markdown.mjs +10 -10
- package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +28 -28
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +58 -57
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +24 -18
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +12 -11
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +25 -25
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +25 -25
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +68 -55
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +32 -28
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +22 -22
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toast.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +7 -7
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +16 -16
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +13 -13
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +38 -37
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-card.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-code-block.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +114 -114
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +34 -34
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-divider.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dl.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +34 -34
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-icon.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-input.mjs +25 -25
- package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-link.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-list.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-markdown.mjs +10 -10
- package/fesm2020/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs +28 -28
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +58 -57
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +24 -18
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs +12 -11
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +25 -25
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +25 -25
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +68 -55
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +32 -28
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +22 -22
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toast.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +7 -7
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +16 -16
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +13 -13
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +38 -37
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/navbar/navbar-item.component.d.ts +3 -2
- package/package.json +4 -4
- package/tabs/paginated-tab-header.d.ts +1 -0
- package/tabs/tabs.module.d.ts +5 -4
- package/tags/tag-list.component.d.ts +1 -0
- package/tags/tag.component.d.ts +1 -1
@@ -434,12 +434,12 @@ export class DateFormatter {
|
|
434
434
|
return this.adapter.hasSame(startDate, endDate, unit) ? 'yes' : 'no';
|
435
435
|
}
|
436
436
|
}
|
437
|
-
/** @nocollapse */ DateFormatter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
438
|
-
/** @nocollapse */ DateFormatter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
437
|
+
/** @nocollapse */ DateFormatter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateFormatter, deps: [{ token: i1.DateAdapter }, { token: MC_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable });
|
438
|
+
/** @nocollapse */ DateFormatter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateFormatter });
|
439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateFormatter, decorators: [{
|
440
440
|
type: Injectable
|
441
441
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: undefined, decorators: [{
|
442
442
|
type: Inject,
|
443
443
|
args: [MC_DATE_LOCALE]
|
444
444
|
}] }]; } });
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsNkJBQTZCO0FBQzdCLE9BQU8sYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQWdCLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQXVHekMsTUFBTSxPQUFPLGFBQWE7SUFPdEIsWUFDcUIsT0FBdUIsRUFDaEIsTUFBYztRQURyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUwzQix5QkFBb0IsR0FBVyxjQUFjLENBQUM7UUFRM0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxZQUFZLENBQ1IsSUFBTyxFQUNQLFFBQW1DLEVBQ25DLE9BQU8sR0FBRyxLQUFL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LGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQU87UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxlQUFlLENBQUMsSUFBTztRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTyxDQUFDLFNBQVksRUFBRSxPQUFVLEVBQUUsSUFBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7OzhIQXpqQlEsYUFBYSw2Q0FTVixjQUFjO2tJQVRqQixhQUFhOzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQVVGLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW1hZ2ljLW51bWJlcnNcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gdHNsaW50OmRpc2FibGU6aW1wb3J0LW5hbWVcbmltcG9ydCBNZXNzYWdlRm9ybWF0IGZyb20gJ0BtZXNzYWdlZm9ybWF0L2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIER1cmF0aW9uVW5pdCwgTUNfREFURV9MT0NBTEUgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvZGF0ZXRpbWUnO1xuXG5pbXBvcnQgeyBlblVTIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZW4tVVMnO1xuaW1wb3J0IHsgcnVSVSB9IGZyb20gJy4vdGVtcGxhdGVzL3J1LVJVJztcblxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgYWJzb2x1dGUgZGF0ZSBvciBkYXRldGltZSBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlckFic29sdXRlVGVtcGxhdGUge1xuICAgIHZhcmlhYmxlcz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIERBVEU6IHN0cmluZztcbiAgICBEQVRFVElNRTogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgcmFuZ2UgZGF0ZSBvciBkYXRldGltZSBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlclJhbmdlVGVtcGxhdGUge1xuICAgIHZhcmlhYmxlcz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIFNUQVJUX0RBVEU6IHN0cmluZztcbiAgICBFTkRfREFURTogc3RyaW5nO1xuICAgIERBVEU6IHN0cmluZztcbiAgICBTVEFSVF9EQVRFVElNRTogc3RyaW5nO1xuICAgIEVORF9EQVRFVElNRTogc3RyaW5nO1xuICAgIERBVEVUSU1FOiBzdHJpbmc7XG59XG5cbi8qKlxuICogaW50ZXJmYWNlIGZvciByZWxhdGl2ZSBkYXRlIG9yIGRhdGV0aW1lIGZvcm1hdHRlciB0ZW1wbGF0ZVxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVyUmVsYXRpdmVUZW1wbGF0ZSB7XG4gICAgdmFyaWFibGVzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgQkVGT1JFX1lFU1RFUkRBWTogc3RyaW5nO1xuICAgIFlFU1RFUkRBWTogc3RyaW5nO1xuICAgIFRPREFZOiBzdHJpbmc7XG4gICAgVE9NT1JST1c6IHN0cmluZztcbiAgICBBRlRFUl9UT01PUlJPVzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgZHVyYXRpb24gb2YgZGF0ZXMgbnVtZXJpYyBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXR0ZXJEdXJhdGlvbk51bWJlcnNUZW1wbGF0ZSB7XG4gICAgdmFyaWFibGVzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgRlVMTDogc3RyaW5nO1xuICAgIE9OTFlfTUlOVVRFUzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgZHVyYXRpb24gb2YgZGF0ZXMgdGV4dCBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlIHtcbiAgICB2YXJpYWJsZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICBZRUFSUzogc3RyaW5nO1xuICAgIE1PTlRIUzogc3RyaW5nO1xuICAgIFdFRUtTOiBzdHJpbmc7XG4gICAgREFZUzogc3RyaW5nO1xuICAgIEhPVVJTOiBzdHJpbmc7XG4gICAgTUlOVVRFUzogc3RyaW5nO1xuICAgIFNFQ09ORFM6IHN0cmluZztcbiAgICBTRVBBUkFUT1I6IHN0cmluZztcbiAgICBZRUFSU19GUkFDVElPTjogc3RyaW5nO1xuICAgIE1PTlRIU19GUkFDVElPTjogc3RyaW5nO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVPcHRpb25zIHtcbiAgICBzZWNvbmRzPzogYm9vbGVhbjtcbiAgICBtaWxsaXNlY29uZHM/OiBib29sZWFuO1xuICAgIGN1cnJZZWFyPzogYm9vbGVhbjtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlckNvbmZpZyB7XG4gICAgcmVsYXRpdmVUZW1wbGF0ZXM6IHtcbiAgICAgICAgc2hvcnQ6IEZvcm1hdHRlclJlbGF0aXZlVGVtcGxhdGU7XG4gICAgICAgIGxvbmc6IEZvcm1hdHRlclJlbGF0aXZlVGVtcGxhdGU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZVRlbXBsYXRlczoge1xuICAgICAgICBzaG9ydDogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZTtcbiAgICAgICAgbG9uZzogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZTtcbiAgICB9O1xuICAgIHJhbmdlVGVtcGxhdGVzOiB7XG4gICAgICAgIGNsb3NlZFJhbmdlOiB7XG4gICAgICAgICAgICBzaG9ydDogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIG1pZGRsZTogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIGxvbmc6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGU7XG4gICAgICAgIH07XG4gICAgICAgIG9wZW5lZFJhbmdlOiB7XG4gICAgICAgICAgICBzaG9ydDogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIGxvbmc6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGU7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBkdXJhdGlvblRlbXBsYXRlczoge1xuICAgICAgICBzaG9ydGVzdDogRm9ybWF0dGVyRHVyYXRpb25OdW1iZXJzVGVtcGxhdGU7XG4gICAgICAgIHNob3J0OiBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlO1xuICAgICAgICBsb25nOiBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlO1xuICAgIH07XG59XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGVGb3JtYXR0ZXI8RD4ge1xuICAgIGNvbmZpZzogRm9ybWF0dGVyQ29uZmlnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnZhbGlkRGF0ZUVycm9yVGV4dDogc3RyaW5nID0gJ0ludmFsaWQgZGF0ZSc7XG5cbiAgICBwcml2YXRlIG1lc3NhZ2VGb3JtYXQ6IE1lc3NhZ2VGb3JtYXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgQEluamVjdChNQ19EQVRFX0xPQ0FMRSkgbG9jYWxlOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBsb2NhbGUgPT09ICdlbicgPyBlblVTIDogcnVSVTtcblxuICAgICAgICB0aGlzLm1lc3NhZ2VGb3JtYXQgPSBuZXcgTWVzc2FnZUZvcm1hdChsb2NhbGUpO1xuICAgIH1cblxuICAgIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGxvY2FsZSA9PT0gJ2VuJyA/IGVuVVMgOiBydVJVO1xuXG4gICAgICAgIHRoaXMuYWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEBwYXJhbSBzZWNvbmRzIC0gdXNlIHNlY29uZHNcbiAgICAgKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gdXNlIG1pbGxpc2Vjb25kc1xuICAgICAqIEByZXR1cm5zIHJlbGF0aXZlIGRhdGUgYnkgdGVtcGxhdGVcbiAgICAgKi9cbiAgICByZWxhdGl2ZURhdGUoXG4gICAgICAgIGRhdGU6IEQsXG4gICAgICAgIHRlbXBsYXRlOiBGb3JtYXR0ZXJSZWxhdGl2ZVRlbXBsYXRlLFxuICAgICAgICBzZWNvbmRzID0gZmFsc2UsXG4gICAgICAgIG1pbGxpc2Vjb25kcyA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZGF0ZSkpIHsgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpOyB9XG5cbiAgICAgICAgbGV0IG5ld1RlbXBsYXRlO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlVmFyaWFibGVzID0gey4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi50ZW1wbGF0ZS52YXJpYWJsZXN9O1xuXG4gICAgICAgIGlmICh0aGlzLmlzQmVmb3JlWWVzdGVyZGF5KGRhdGUpKSB7XG4gICAgICAgICAgICBuZXdUZW1wbGF0ZSA9IHRlbXBsYXRlLkJFRk9SRV9ZRVNURVJEQVk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1llc3RlcmRheShkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5ZRVNURVJEQVk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1RvZGF5KGRhdGUpKSB7XG4gICAgICAgICAgICBuZXdUZW1wbGF0ZSA9IHRlbXBsYXRlLlRPREFZO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUb21vcnJvdyhkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5UT01PUlJPVztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzQWZ0ZXJUb21vcnJvdyhkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5BRlRFUl9UT01PUlJPVztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhkYXRlLCB0ZW1wbGF0ZVZhcmlhYmxlcyk7XG5cbiAgICAgICAgdmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIHZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUobmV3VGVtcGxhdGUpKHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHJldHVybnMgcmVsYXRpdmUgZGF0ZSBpbiBzaG9ydCBmb3JtYXRcbiAgICAgKi9cbiAgICByZWxhdGl2ZVNob3J0RGF0ZShkYXRlOiBEKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRpdmVEYXRlKGRhdGUsIHRoaXMuY29uZmlnLnJlbGF0aXZlVGVtcGxhdGVzLnNob3J0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcmV0dXJucyByZWxhdGl2ZSBkYXRlIGluIGxvbmcgZm9ybWF0XG4gICAgICovXG4gICAgcmVsYXRpdmVMb25nRGF0ZShkYXRlOiBEKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRpdmVEYXRlKGRhdGUsIHRoaXMuY29uZmlnLnJlbGF0aXZlVGVtcGxhdGVzLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmVsYXRpdmUgZGF0ZSBpbiBzaG9ydCBmb3JtYXQgd2l0aCB0aW1lXG4gICAgICovXG4gICAgcmVsYXRpdmVTaG9ydERhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWxhdGl2ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcucmVsYXRpdmVUZW1wbGF0ZXMuc2hvcnQsIG9wdGlvbnM/LnNlY29uZHMsIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIG9wdGlvbnMgLSBEYXRlVGltZU9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyByZWxhdGl2ZSBkYXRlIGluIGxvbmcgZm9ybWF0IHdpdGggdGltZVxuICAgICAqL1xuICAgIHJlbGF0aXZlTG9uZ0RhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWxhdGl2ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcucmVsYXRpdmVUZW1wbGF0ZXMubG9uZywgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gcGFyYW1ldGVyc1xuICAgICAqIEBwYXJhbSBkYXRldGltZSAtIHNob3VsZCB0aW1lIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIHNob3VsZCB0aW1lIHdpdGggc2Vjb25kcyBiZSBzaG93biBhcyB3ZWxsXG4gICAgICogQHBhcmFtIG1pbGxpc2Vjb25kcyAtIHNob3VsZCB0aW1lIHdpdGggbWlsbGlzZWNvbmRzIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gY3VyclllYXIgLSBzaG91bGQgY3VycmVudCB5ZWFyIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKi9cbiAgICBhYnNvbHV0ZURhdGUoXG4gICAgICAgIGRhdGU6IEQsXG4gICAgICAgIHBhcmFtczogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZSxcbiAgICAgICAgZGF0ZXRpbWUgPSBmYWxzZSxcbiAgICAgICAgc2Vjb25kcyA9IGZhbHNlLFxuICAgICAgICBtaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICAgICAgY3VyclllYXIgPSBmYWxzZVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKGRhdGUpKSB7IHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTsgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhkYXRlLCB7IC4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi5wYXJhbXMudmFyaWFibGVzIH0sIGN1cnJZZWFyKTtcblxuICAgICAgICB2YXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgdmFyaWFibGVzLlNIT1dfTUlMTElTRUNPTkRTID0gbWlsbGlzZWNvbmRzID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gZGF0ZXRpbWUgPyBwYXJhbXMuREFURVRJTUUgOiBwYXJhbXMuREFURTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUpKHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIGN1cnJZZWFyIC0gc2hvdWxkIHRoZSB5ZWFyIGJlIHNob3duIGZvcmNlZFxuICAgICAqIEByZXR1cm5zIGFic29sdXRlIGRhdGUgaW4gc2hvcnQgZm9ybWF0XG4gICAgICovXG4gICAgYWJzb2x1dGVTaG9ydERhdGUoZGF0ZTogRCwgY3VyclllYXIgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFic29sdXRlRGF0ZShkYXRlLCB0aGlzLmNvbmZpZy5hYnNvbHV0ZVRlbXBsYXRlcy5zaG9ydCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VyclllYXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgYWJzb2x1dGUgZGF0ZSBpbiBzaG9ydCBmb3JtYXQgd2l0aCB0aW1lXG4gICAgICovXG4gICAgYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZURhdGUoXG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuYWJzb2x1dGVUZW1wbGF0ZXMuc2hvcnQsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgb3B0aW9ucz8uc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/LmN1cnJZZWFyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIGN1cnJZZWFyIC0gc2hvdWxkIHRoZSB5ZWFyIGJlIHNob3duIGZvcmNlZFxuICAgICAqIEByZXR1cm5zIGFic29sdXRlIGRhdGUgaW4gbG9uZyBmb3JtYXRcbiAgICAgKi9cbiAgICBhYnNvbHV0ZUxvbmdEYXRlKGRhdGU6IEQsIGN1cnJZZWFyID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcuYWJzb2x1dGVUZW1wbGF0ZXMubG9uZywgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VyclllYXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgYWJzb2x1dGUgZGF0ZSBpbiBsb25nIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICBhYnNvbHV0ZUxvbmdEYXRlVGltZShkYXRlOiBELCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWJzb2x1dGVEYXRlKFxuICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFic29sdXRlVGVtcGxhdGVzLmxvbmcsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgb3B0aW9ucz8uc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/LmN1cnJZZWFyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gdGVtcGxhdGVcbiAgICAgKiBAcmV0dXJucyBvcGVuZWQgZGF0ZVxuICAgICAqL1xuICAgIG9wZW5lZFJhbmdlRGF0ZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlOiBEIHwgbnVsbCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2Uoc3RhcnREYXRlKSAmJiAhdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKGVuZERhdGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YXJpYWJsZXMgPSB7IC4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi50ZW1wbGF0ZS52YXJpYWJsZXMgfTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHt9O1xuXG4gICAgICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZVZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhzdGFydERhdGUsIHZhcmlhYmxlcyk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgU1RBUlRfREFURTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuU1RBUlRfREFURSkoc3RhcnREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICBSQU5HRV9UWVBFOiAnb25seVN0YXJ0J1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChlbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgRU5EX0RBVEU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkVORF9EQVRFKShlbmREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICBSQU5HRV9UWVBFOiAnb25seUVuZCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuREFURSkocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEBwYXJhbSBzZWNvbmRzIC0gc2hvdWxkIHRpbWUgd2l0aCBzZWNvbmRzIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gc2hvdWxkIHRpbWUgd2l0aCBtaWxsaXNlY29uZHMgYmUgc2hvd24gYXMgd2VsbFxuICAgICAqIEByZXR1cm5zIG9wZW5lZCBkYXRlXG4gICAgICovXG4gICAgb3BlbmVkUmFuZ2VEYXRlVGltZShcbiAgICAgICAgc3RhcnREYXRlOiBEIHwgbnVsbCxcbiAgICAgICAgZW5kRGF0ZTogRCB8IG51bGwsXG4gICAgICAgIHRlbXBsYXRlOiBGb3JtYXR0ZXJSYW5nZVRlbXBsYXRlLFxuICAgICAgICBzZWNvbmRzID0gZmFsc2UsXG4gICAgICAgIG1pbGxpc2Vjb25kcyA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKHN0YXJ0RGF0ZSkgJiYgIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShlbmREYXRlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFyaWFibGVzID0geyAuLi50aGlzLmFkYXB0ZXIuY29uZmlnLnZhcmlhYmxlcywgLi4udGVtcGxhdGUudmFyaWFibGVzIH07XG4gICAgICAgIGxldCBwYXJhbXMgPSB7fTtcblxuICAgICAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0hPV19NSUxMSVNFQ09ORFMgPSBtaWxsaXNlY29uZHMgPyAneWVzJyA6ICdubyc7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgU1RBUlRfREFURVRJTUU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLlNUQVJUX0RBVEVUSU1FKShzdGFydERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgIFJBTkdFX1RZUEU6ICdvbmx5U3RhcnQnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoZW5kRGF0ZSwgdmFyaWFibGVzKTtcbiAgICAgICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19NSUxMSVNFQ09ORFMgPSBtaWxsaXNlY29uZHMgPyAneWVzJyA6ICdubyc7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgRU5EX0RBVEVUSU1FOiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5FTkRfREFURVRJTUUpKGVuZERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgIFJBTkdFX1RZUEU6ICdvbmx5RW5kJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5EQVRFVElNRSkocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEByZXR1cm5zIHJhbmdlIGRhdGUgaW4gdGVtcGxhdGUgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VEYXRlKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShzdGFydERhdGUpIHx8ICF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgLi4udGhpcy5hZGFwdGVyLmNvbmZpZy52YXJpYWJsZXMsIC4uLnRlbXBsYXRlLnZhcmlhYmxlcyB9O1xuICAgICAgICBjb25zdCBzYW1lTW9udGggPSB0aGlzLmhhc1NhbWUoc3RhcnREYXRlLCBlbmREYXRlLCAnbW9udGgnKTtcblxuICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcblxuICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcblxuICAgICAgICBjb25zdCBib3RoQ3VycmVudFllYXIgPSBzdGFydERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID09PSAneWVzJyAmJiBlbmREYXRlVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9PT0gJ3llcyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5DVVJSRU5UX1lFQVIgPSBib3RoQ3VycmVudFllYXIgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID0gYm90aEN1cnJlbnRZZWFyID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgIFNUQVJUX0RBVEU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLlNUQVJUX0RBVEUpKHN0YXJ0RGF0ZVZhcmlhYmxlcyksXG4gICAgICAgICAgICBFTkRfREFURTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuRU5EX0RBVEUpKGVuZERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgU0FNRV9NT05USDogc2FtZU1vbnRoXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkRBVEUpKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIHVzZSBzZWNvbmRzXG4gICAgICogQHBhcmFtIG1pbGxpc2Vjb25kcyAtIHVzZSBtaWxsaXNlY29uZHNcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIHRlbXBsYXRlIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZURhdGVUaW1lKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUsIHNlY29uZHMgPSBmYWxzZSwgbWlsbGlzZWNvbmRzID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShzdGFydERhdGUpIHx8ICF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsuLi50aGlzLmFkYXB0ZXIuY29uZmlnLnZhcmlhYmxlcywgLi4udGVtcGxhdGUudmFyaWFibGVzfTtcblxuICAgICAgICBjb25zdCBzYW1lTW9udGggPSB0aGlzLmhhc1NhbWUoc3RhcnREYXRlLCBlbmREYXRlLCAnbW9udGgnKTtcbiAgICAgICAgY29uc3Qgc2FtZURheSA9IHRoaXMuaGFzU2FtZShzdGFydERhdGUsIGVuZERhdGUsICdkYXknKTtcblxuICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcbiAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNBTUVfREFZID0gc2FtZURheTtcbiAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcbiAgICAgICAgZW5kRGF0ZVZhcmlhYmxlcy5TQU1FX0RBWSA9IHNhbWVEYXk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgZW5kRGF0ZVZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICBjb25zdCBib3RoQ3VycmVudFllYXIgPSBzdGFydERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID09PSAneWVzJyAmJiBlbmREYXRlVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9PT0gJ3llcyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5DVVJSRU5UX1lFQVIgPSBib3RoQ3VycmVudFllYXIgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID0gYm90aEN1cnJlbnRZZWFyID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgIFNUQVJUX0RBVEVUSU1FOiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5TVEFSVF9EQVRFVElNRSkoc3RhcnREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgIEVORF9EQVRFVElNRTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuRU5EX0RBVEVUSU1FKShlbmREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgIFNBTUVfTU9OVEg6IHNhbWVNb250aCxcbiAgICAgICAgICAgIFNBTUVfREFZOiBzYW1lRGF5XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkRBVEVUSU1FKShwYXJhbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEByZXR1cm5zIHJhbmdlIGRhdGUgaW4gc2hvcnQgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VTaG9ydERhdGUoc3RhcnREYXRlOiBEIHwgbnVsbCwgZW5kRGF0ZT86IEQpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByYW5nZVRlbXBsYXRlcyA9IHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2Uuc2hvcnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkUmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSB8fCBudWxsLCByYW5nZVRlbXBsYXRlcy5vcGVuZWRSYW5nZS5zaG9ydCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIG9wdGlvbnMgLSBEYXRlVGltZU9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIHNob3J0IGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZVNob3J0RGF0ZVRpbWUoc3RhcnREYXRlOiBEIHwgbnVsbCwgZW5kRGF0ZT86IEQgfCBudWxsLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmFuZ2VUZW1wbGF0ZXMgPSB0aGlzLmNvbmZpZy5yYW5nZVRlbXBsYXRlcztcblxuICAgICAgICBpZiAoc3RhcnREYXRlICYmIGVuZERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlRGF0ZVRpbWUoc3RhcnREYXRlLCBlbmREYXRlLCByYW5nZVRlbXBsYXRlcy5jbG9zZWRSYW5nZS5zaG9ydCwgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFJhbmdlRGF0ZVRpbWUoXG4gICAgICAgICAgICBzdGFydERhdGUsXG4gICAgICAgICAgICBlbmREYXRlIHx8IG51bGwsXG4gICAgICAgICAgICByYW5nZVRlbXBsYXRlcy5vcGVuZWRSYW5nZS5zaG9ydCxcbiAgICAgICAgICAgIG9wdGlvbnM/LnNlY29uZHMsXG4gICAgICAgICAgICBvcHRpb25zPy5taWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIGxvbmcgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VMb25nRGF0ZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlPzogRCB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByYW5nZVRlbXBsYXRlcyA9IHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2UubG9uZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWRSYW5nZURhdGUoc3RhcnREYXRlLCBlbmREYXRlIHx8IG51bGwsIHJhbmdlVGVtcGxhdGVzLm9wZW5lZFJhbmdlLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmFuZ2UgZGF0ZSBpbiBsb25nIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZUxvbmdEYXRlVGltZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlPzogRCwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJhbmdlVGVtcGxhdGVzID0gdGhpcy5jb25maWcucmFuZ2VUZW1wbGF0ZXM7XG5cbiAgICAgICAgaWYgKHN0YXJ0RGF0ZSAmJiBlbmREYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZURhdGVUaW1lKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2UubG9uZywgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFJhbmdlRGF0ZVRpbWUoc3RhcnREYXRlLCBlbmREYXRlIHx8IG51bGwsIHJhbmdlVGVtcGxhdGVzLm9wZW5lZFJhbmdlLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmFuZ2UgbWlkZGxlIGRhdGUgd2l0aCB0aW1lXG4gICAgICovXG4gICAgcmFuZ2VNaWRkbGVEYXRlVGltZShzdGFydERhdGU6IEQsIGVuZERhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yYW5nZURhdGVUaW1lKFxuICAgICAgICAgICAgc3RhcnREYXRlLFxuICAgICAgICAgICAgZW5kRGF0ZSxcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzLmNsb3NlZFJhbmdlLm1pZGRsZSxcbiAgICAgICAgICAgIG9wdGlvbnM/LnNlY29uZHMsXG4gICAgICAgICAgICBvcHRpb25zPy5taWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIGFkZCBzZWNvbmRzIHRvIGZvcm1hdHRlZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBtaWxsaXNlY29uZHMgLSBhZGQgbWlsbGlzZWNvbmRzIHRvIGZvcm1hdHRlZCB2YWx1ZVxuICAgICAqIEByZXR1cm5zIGZvcm1hdHRlZCBkdXJhdGlvbiBhcyBzdHJpbmcgbGlrZSA0ODowMjoyNVxuICAgICAqL1xuICAgIGR1cmF0aW9uU2hvcnRlc3Qoc3RhcnREYXRlOiBELCBlbmREYXRlOiBELCBzZWNvbmRzID0gdHJ1ZSwgbWlsbGlzZWNvbmRzID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICB0aGlzLmNoZWNrRGF0ZXMoc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICAgICAgICBpZiAoc3RhcnREYXRlID4gZW5kRGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25PYmplY3QgPSB0aGlzLmFkYXB0ZXIuZHVyYXRpb25PYmplY3RGcm9tRGF0ZXMoXG4gICAgICAgICAgICBzdGFydERhdGUsIGVuZERhdGUsIFsnaG91cnMnLCAnbWludXRlcycsICdzZWNvbmRzJywgJ21pbGxpc2Vjb25kcyddXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgcm91bmRlZFNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMuYWRhcHRlci5kdXJhdGlvbkFzKGR1cmF0aW9uT2JqZWN0LCAnc2Vjb25kcycpKTtcblxuICAgICAgICBpZiAoc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZU1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZHVyYXRpb25UZW1wbGF0ZXMuc2hvcnRlc3QuRlVMTCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIEQ6IHJvdW5kZWRTZWNvbmRzLFxuICAgICAgICAgICAgICAgICAgICBTSE9XX01JTExJU0VDT05EUzogbWlsbGlzZWNvbmRzID8gJ3llcycgOiAnbm8nLFxuICAgICAgICAgICAgICAgICAgICBNSUxMSVNFQ09ORFM6IGR1cmF0aW9uT2JqZWN0Lm1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm91bmRlZFNlY29uZHMgLSAocm91bmRlZFNlY29uZHMgJSA2MCkgPyB0aGlzLmNvbXBpbGVNZXNzYWdlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZHVyYXRpb25UZW1wbGF0ZXMuc2hvcnRlc3QuT05MWV9NSU5VVEVTLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEhPVVJTOiBkdXJhdGlvbk9iamVjdC5ob3VycyxcbiAgICAgICAgICAgICAgICBNSU5VVEVTOiBkdXJhdGlvbk9iamVjdC5taW51dGVzXG4gICAgICAgICAgICB9KSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSB1bml0cyAtIGlmIGRlZmluZWQsIHVuaXRzIHRvIHNob3cgd2lsbCBiZSBzcGVjaWZpZWRcbiAgICAgKiBAcGFyYW0gZnJhY3Rpb24gLSBzaG93cyBmcmFjdGlvbiBwYXJ0IGZvciB5ZWFycyBhbmQgbW9udGhzXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gc3BlY2lmeSB0ZW1wbGF0ZVxuICAgICAqIEByZXR1cm5zIGZvcm1hdHRlZCBkdXJhdGlvbiBhcyBzdHJpbmdcbiAgICAgKi9cbiAgICBkdXJhdGlvbihcbiAgICAgICAgc3RhcnREYXRlOiBELFxuICAgICAgICBlbmREYXRlOiBELFxuICAgICAgICB1bml0czogRHVyYXRpb25Vbml0W10sXG4gICAgICAgIGZyYWN0aW9uLFxuICAgICAgICB0ZW1wbGF0ZTogRm9ybWF0dGVyRHVyYXRpb25UZW1wbGF0ZVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIHRoaXMuY2hlY2tEYXRlcyhzdGFydERhdGUsIGVuZERhdGUpO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgPiBlbmREYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmFkYXB0ZXIuZHVyYXRpb25PYmplY3RGcm9tRGF0ZXMoc3RhcnREYXRlLCBlbmREYXRlLCB1bml0cywgZnJhY3Rpb24pO1xuICAgICAgICBjb25zdCB2YXJpYWJsZXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0geyAuLi52YWx1ZXMgfTtcbiAgICAgICAgdmFyaWFibGVzLlNIT1dfTUlMTElTRUNPTkRTID0gdmFsdWVzLm1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICByZXR1cm4gT2JqZWN0XG4gICAgICAgICAgICAua2V5cyh2YWx1ZXMpXG4gICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPihcbiAgICAgICAgICAgICAgICAoYWNjLCB1bml0LCBpbmRleCwgYXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmcmFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLmZsb29yVmFsdWUgPSBNYXRoLmZsb29yKHZhbHVlc1t1bml0XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY2MucHVzaCh0aGlzLmNvbXBpbGVNZXNzYWdlKHRlbXBsYXRlW2Ake3VuaXQudG9VcHBlckNhc2UoKX1fRlJBQ1RJT05gXSwgdmFyaWFibGVzKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA+IDEgJiYgaW5kZXggPT09IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2godGhpcy5jb21waWxlTWVzc2FnZSh0ZW1wbGF0ZS5TRVBBUkFUT1IsIHZhcmlhYmxlcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2MucHVzaCh0aGlzLmNvbXBpbGVNZXNzYWdlKHRlbXBsYXRlW3VuaXQudG9VcHBlckNhc2UoKV0sIHZhcmlhYmxlcykpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtdXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuZmlsdGVyKCh0ZXh0KSA9PiAhIXRleHQpXG4gICAgICAgICAgICAuam9pbignICcpO1xuICAgIH1cblxuICAgIGR1cmF0aW9uTG9uZyhzdGFydERhdGU6IEQsIGVuZERhdGU6IEQsIHVuaXRzOiBEdXJhdGlvblVuaXRbXSA9IFtdLCBmcmFjdGlvbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHVyYXRpb24oc3RhcnREYXRlLCBlbmREYXRlLCB1bml0cywgZnJhY3Rpb24sIHRoaXMuY29uZmlnLmR1cmF0aW9uVGVtcGxhdGVzLmxvbmcpO1xuICAgIH1cblxuICAgIGR1cmF0aW9uU2hvcnQoc3RhcnREYXRlOiBELCBlbmREYXRlOiBELCB1bml0czogRHVyYXRpb25Vbml0W10gPSBbXSwgZnJhY3Rpb24gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmR1cmF0aW9uKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdW5pdHMsIGZyYWN0aW9uLCB0aGlzLmNvbmZpZy5kdXJhdGlvblRlbXBsYXRlcy5zaG9ydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0RhdGVzKC4uLmFyZ3MpIHtcbiAgICAgICAgYXJncy5mb3JFYWNoKChkYXRlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShkYXRlKSB8fCAhdGhpcy5hZGFwdGVyLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcGlsZU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCB2YXJpYWJsZXMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUobWVzc2FnZSkodmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGUgZm9yIGNvbXBpbGVcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzIC0gZGF0ZSB0ZW1wbGF0ZSB2YXJpYWJsZXNcbiAgICAgKiBAcGFyYW0gY3VyclllYXJGb3JjZWQgLSBwYXJhbSBmb3IgYWJzb2x1dGUgZGF5cyBmb3JtYXR0aW5nXG4gICAgICogQHJldHVybnMgY29tcGlsZWRWYXJpYWJsZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbXBpbGVWYXJpYWJsZXMoZGF0ZTogRCwgdmFyaWFibGVzOiBhbnksIGN1cnJZZWFyRm9yY2VkOiBib29sZWFuID0gZmFsc2UpOiBhbnkge1xuICAgICAgICBjb25zdCBjb21waWxlZFZhcmlhYmxlczogYW55ID0ge307XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWZvci1pblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB2YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIGlmICghdmFyaWFibGVzLmhhc093blByb3BlcnR5KGtleSkpIHsgY29udGludWU7IH1cblxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YXJpYWJsZXNba2V5XTtcbiAgICAgICAgICAgIGNvbXBpbGVkVmFyaWFibGVzW2tleV0gPSB0aGlzLmFkYXB0ZXIuZm9ybWF0KGRhdGUsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBpbGVkVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9IChjdXJyWWVhckZvcmNlZCAmJiAnbm8nKSB8fCB0aGlzLmhhc1NhbWUoZGF0ZSwgdGhpcy5hZGFwdGVyLnRvZGF5KCksICd5ZWFyJyk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBpbGVkVmFyaWFibGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNCZWZvcmVZZXN0ZXJkYXkoZGF0ZTogRCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmRheXNGcm9tVG9kYXkoZGF0ZSkgPD0gLTI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheShkYXRlOiBEKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZGF5c0Zyb21Ub2RheShkYXRlKSA9PT0gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1RvZGF5KGRhdGU6IEQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID09PSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyhkYXRlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID09PSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBZnRlclRvbW9ycm93KGRhdGU6IEQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID49IDI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTYW1lKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdW5pdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5oYXNTYW1lKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdW5pdCkgPyAneWVzJyA6ICdubyc7XG4gICAgfVxufVxuIl19
|
445
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsNkJBQTZCO0FBQzdCLE9BQU8sYUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQWdCLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQXVHekMsTUFBTSxPQUFPLGFBQWE7SUFPdEIsWUFDcUIsT0FBdUIsRUFDaEIsTUFBYztRQURyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUwzQix5QkFBb0IsR0FBVyxjQUFjLENBQUM7UUFRM0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUU1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxZQUFZLENBQ1IsSUFBTyxFQUNQLFFBQW1DLEVBQ25DLE9BQU8sR0FBRyxLQUFL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LGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQU87UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxlQUFlLENBQUMsSUFBTztRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTyxDQUFDLFNBQVksRUFBRSxPQUFVLEVBQUUsSUFBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7OzZIQXpqQlEsYUFBYSw2Q0FTVixjQUFjO2lJQVRqQixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQVVGLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOm5vLW1hZ2ljLW51bWJlcnNcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gdHNsaW50OmRpc2FibGU6aW1wb3J0LW5hbWVcbmltcG9ydCBNZXNzYWdlRm9ybWF0IGZyb20gJ0BtZXNzYWdlZm9ybWF0L2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIER1cmF0aW9uVW5pdCwgTUNfREFURV9MT0NBTEUgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvZGF0ZXRpbWUnO1xuXG5pbXBvcnQgeyBlblVTIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZW4tVVMnO1xuaW1wb3J0IHsgcnVSVSB9IGZyb20gJy4vdGVtcGxhdGVzL3J1LVJVJztcblxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgYWJzb2x1dGUgZGF0ZSBvciBkYXRldGltZSBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlckFic29sdXRlVGVtcGxhdGUge1xuICAgIHZhcmlhYmxlcz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIERBVEU6IHN0cmluZztcbiAgICBEQVRFVElNRTogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgcmFuZ2UgZGF0ZSBvciBkYXRldGltZSBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlclJhbmdlVGVtcGxhdGUge1xuICAgIHZhcmlhYmxlcz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIFNUQVJUX0RBVEU6IHN0cmluZztcbiAgICBFTkRfREFURTogc3RyaW5nO1xuICAgIERBVEU6IHN0cmluZztcbiAgICBTVEFSVF9EQVRFVElNRTogc3RyaW5nO1xuICAgIEVORF9EQVRFVElNRTogc3RyaW5nO1xuICAgIERBVEVUSU1FOiBzdHJpbmc7XG59XG5cbi8qKlxuICogaW50ZXJmYWNlIGZvciByZWxhdGl2ZSBkYXRlIG9yIGRhdGV0aW1lIGZvcm1hdHRlciB0ZW1wbGF0ZVxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVyUmVsYXRpdmVUZW1wbGF0ZSB7XG4gICAgdmFyaWFibGVzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgQkVGT1JFX1lFU1RFUkRBWTogc3RyaW5nO1xuICAgIFlFU1RFUkRBWTogc3RyaW5nO1xuICAgIFRPREFZOiBzdHJpbmc7XG4gICAgVE9NT1JST1c6IHN0cmluZztcbiAgICBBRlRFUl9UT01PUlJPVzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgZHVyYXRpb24gb2YgZGF0ZXMgbnVtZXJpYyBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXR0ZXJEdXJhdGlvbk51bWJlcnNUZW1wbGF0ZSB7XG4gICAgdmFyaWFibGVzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgRlVMTDogc3RyaW5nO1xuICAgIE9OTFlfTUlOVVRFUzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGludGVyZmFjZSBmb3IgZHVyYXRpb24gb2YgZGF0ZXMgdGV4dCBmb3JtYXR0ZXIgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlIHtcbiAgICB2YXJpYWJsZXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICBZRUFSUzogc3RyaW5nO1xuICAgIE1PTlRIUzogc3RyaW5nO1xuICAgIFdFRUtTOiBzdHJpbmc7XG4gICAgREFZUzogc3RyaW5nO1xuICAgIEhPVVJTOiBzdHJpbmc7XG4gICAgTUlOVVRFUzogc3RyaW5nO1xuICAgIFNFQ09ORFM6IHN0cmluZztcbiAgICBTRVBBUkFUT1I6IHN0cmluZztcbiAgICBZRUFSU19GUkFDVElPTjogc3RyaW5nO1xuICAgIE1PTlRIU19GUkFDVElPTjogc3RyaW5nO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVPcHRpb25zIHtcbiAgICBzZWNvbmRzPzogYm9vbGVhbjtcbiAgICBtaWxsaXNlY29uZHM/OiBib29sZWFuO1xuICAgIGN1cnJZZWFyPzogYm9vbGVhbjtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRlckNvbmZpZyB7XG4gICAgcmVsYXRpdmVUZW1wbGF0ZXM6IHtcbiAgICAgICAgc2hvcnQ6IEZvcm1hdHRlclJlbGF0aXZlVGVtcGxhdGU7XG4gICAgICAgIGxvbmc6IEZvcm1hdHRlclJlbGF0aXZlVGVtcGxhdGU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZVRlbXBsYXRlczoge1xuICAgICAgICBzaG9ydDogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZTtcbiAgICAgICAgbG9uZzogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZTtcbiAgICB9O1xuICAgIHJhbmdlVGVtcGxhdGVzOiB7XG4gICAgICAgIGNsb3NlZFJhbmdlOiB7XG4gICAgICAgICAgICBzaG9ydDogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIG1pZGRsZTogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIGxvbmc6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGU7XG4gICAgICAgIH07XG4gICAgICAgIG9wZW5lZFJhbmdlOiB7XG4gICAgICAgICAgICBzaG9ydDogRm9ybWF0dGVyUmFuZ2VUZW1wbGF0ZTtcbiAgICAgICAgICAgIGxvbmc6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGU7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBkdXJhdGlvblRlbXBsYXRlczoge1xuICAgICAgICBzaG9ydGVzdDogRm9ybWF0dGVyRHVyYXRpb25OdW1iZXJzVGVtcGxhdGU7XG4gICAgICAgIHNob3J0OiBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlO1xuICAgICAgICBsb25nOiBGb3JtYXR0ZXJEdXJhdGlvblRlbXBsYXRlO1xuICAgIH07XG59XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGVGb3JtYXR0ZXI8RD4ge1xuICAgIGNvbmZpZzogRm9ybWF0dGVyQ29uZmlnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnZhbGlkRGF0ZUVycm9yVGV4dDogc3RyaW5nID0gJ0ludmFsaWQgZGF0ZSc7XG5cbiAgICBwcml2YXRlIG1lc3NhZ2VGb3JtYXQ6IE1lc3NhZ2VGb3JtYXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgQEluamVjdChNQ19EQVRFX0xPQ0FMRSkgbG9jYWxlOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBsb2NhbGUgPT09ICdlbicgPyBlblVTIDogcnVSVTtcblxuICAgICAgICB0aGlzLm1lc3NhZ2VGb3JtYXQgPSBuZXcgTWVzc2FnZUZvcm1hdChsb2NhbGUpO1xuICAgIH1cblxuICAgIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGxvY2FsZSA9PT0gJ2VuJyA/IGVuVVMgOiBydVJVO1xuXG4gICAgICAgIHRoaXMuYWRhcHRlci5zZXRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEBwYXJhbSBzZWNvbmRzIC0gdXNlIHNlY29uZHNcbiAgICAgKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gdXNlIG1pbGxpc2Vjb25kc1xuICAgICAqIEByZXR1cm5zIHJlbGF0aXZlIGRhdGUgYnkgdGVtcGxhdGVcbiAgICAgKi9cbiAgICByZWxhdGl2ZURhdGUoXG4gICAgICAgIGRhdGU6IEQsXG4gICAgICAgIHRlbXBsYXRlOiBGb3JtYXR0ZXJSZWxhdGl2ZVRlbXBsYXRlLFxuICAgICAgICBzZWNvbmRzID0gZmFsc2UsXG4gICAgICAgIG1pbGxpc2Vjb25kcyA9IGZhbHNlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZGF0ZSkpIHsgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpOyB9XG5cbiAgICAgICAgbGV0IG5ld1RlbXBsYXRlO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlVmFyaWFibGVzID0gey4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi50ZW1wbGF0ZS52YXJpYWJsZXN9O1xuXG4gICAgICAgIGlmICh0aGlzLmlzQmVmb3JlWWVzdGVyZGF5KGRhdGUpKSB7XG4gICAgICAgICAgICBuZXdUZW1wbGF0ZSA9IHRlbXBsYXRlLkJFRk9SRV9ZRVNURVJEQVk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1llc3RlcmRheShkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5ZRVNURVJEQVk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1RvZGF5KGRhdGUpKSB7XG4gICAgICAgICAgICBuZXdUZW1wbGF0ZSA9IHRlbXBsYXRlLlRPREFZO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUb21vcnJvdyhkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5UT01PUlJPVztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzQWZ0ZXJUb21vcnJvdyhkYXRlKSkge1xuICAgICAgICAgICAgbmV3VGVtcGxhdGUgPSB0ZW1wbGF0ZS5BRlRFUl9UT01PUlJPVztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhkYXRlLCB0ZW1wbGF0ZVZhcmlhYmxlcyk7XG5cbiAgICAgICAgdmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIHZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUobmV3VGVtcGxhdGUpKHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHJldHVybnMgcmVsYXRpdmUgZGF0ZSBpbiBzaG9ydCBmb3JtYXRcbiAgICAgKi9cbiAgICByZWxhdGl2ZVNob3J0RGF0ZShkYXRlOiBEKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRpdmVEYXRlKGRhdGUsIHRoaXMuY29uZmlnLnJlbGF0aXZlVGVtcGxhdGVzLnNob3J0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcmV0dXJucyByZWxhdGl2ZSBkYXRlIGluIGxvbmcgZm9ybWF0XG4gICAgICovXG4gICAgcmVsYXRpdmVMb25nRGF0ZShkYXRlOiBEKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVsYXRpdmVEYXRlKGRhdGUsIHRoaXMuY29uZmlnLnJlbGF0aXZlVGVtcGxhdGVzLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmVsYXRpdmUgZGF0ZSBpbiBzaG9ydCBmb3JtYXQgd2l0aCB0aW1lXG4gICAgICovXG4gICAgcmVsYXRpdmVTaG9ydERhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWxhdGl2ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcucmVsYXRpdmVUZW1wbGF0ZXMuc2hvcnQsIG9wdGlvbnM/LnNlY29uZHMsIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIG9wdGlvbnMgLSBEYXRlVGltZU9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyByZWxhdGl2ZSBkYXRlIGluIGxvbmcgZm9ybWF0IHdpdGggdGltZVxuICAgICAqL1xuICAgIHJlbGF0aXZlTG9uZ0RhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWxhdGl2ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcucmVsYXRpdmVUZW1wbGF0ZXMubG9uZywgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGVcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gcGFyYW1ldGVyc1xuICAgICAqIEBwYXJhbSBkYXRldGltZSAtIHNob3VsZCB0aW1lIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIHNob3VsZCB0aW1lIHdpdGggc2Vjb25kcyBiZSBzaG93biBhcyB3ZWxsXG4gICAgICogQHBhcmFtIG1pbGxpc2Vjb25kcyAtIHNob3VsZCB0aW1lIHdpdGggbWlsbGlzZWNvbmRzIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gY3VyclllYXIgLSBzaG91bGQgY3VycmVudCB5ZWFyIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKi9cbiAgICBhYnNvbHV0ZURhdGUoXG4gICAgICAgIGRhdGU6IEQsXG4gICAgICAgIHBhcmFtczogRm9ybWF0dGVyQWJzb2x1dGVUZW1wbGF0ZSxcbiAgICAgICAgZGF0ZXRpbWUgPSBmYWxzZSxcbiAgICAgICAgc2Vjb25kcyA9IGZhbHNlLFxuICAgICAgICBtaWxsaXNlY29uZHMgPSBmYWxzZSxcbiAgICAgICAgY3VyclllYXIgPSBmYWxzZVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKGRhdGUpKSB7IHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTsgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhkYXRlLCB7IC4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi5wYXJhbXMudmFyaWFibGVzIH0sIGN1cnJZZWFyKTtcblxuICAgICAgICB2YXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgdmFyaWFibGVzLlNIT1dfTUlMTElTRUNPTkRTID0gbWlsbGlzZWNvbmRzID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gZGF0ZXRpbWUgPyBwYXJhbXMuREFURVRJTUUgOiBwYXJhbXMuREFURTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUpKHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIGN1cnJZZWFyIC0gc2hvdWxkIHRoZSB5ZWFyIGJlIHNob3duIGZvcmNlZFxuICAgICAqIEByZXR1cm5zIGFic29sdXRlIGRhdGUgaW4gc2hvcnQgZm9ybWF0XG4gICAgICovXG4gICAgYWJzb2x1dGVTaG9ydERhdGUoZGF0ZTogRCwgY3VyclllYXIgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFic29sdXRlRGF0ZShkYXRlLCB0aGlzLmNvbmZpZy5hYnNvbHV0ZVRlbXBsYXRlcy5zaG9ydCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VyclllYXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgYWJzb2x1dGUgZGF0ZSBpbiBzaG9ydCBmb3JtYXQgd2l0aCB0aW1lXG4gICAgICovXG4gICAgYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZURhdGUoXG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgdGhpcy5jb25maWcuYWJzb2x1dGVUZW1wbGF0ZXMuc2hvcnQsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgb3B0aW9ucz8uc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/LmN1cnJZZWFyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRhdGUgLSBkYXRlXG4gICAgICogQHBhcmFtIGN1cnJZZWFyIC0gc2hvdWxkIHRoZSB5ZWFyIGJlIHNob3duIGZvcmNlZFxuICAgICAqIEByZXR1cm5zIGFic29sdXRlIGRhdGUgaW4gbG9uZyBmb3JtYXRcbiAgICAgKi9cbiAgICBhYnNvbHV0ZUxvbmdEYXRlKGRhdGU6IEQsIGN1cnJZZWFyID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hYnNvbHV0ZURhdGUoZGF0ZSwgdGhpcy5jb25maWcuYWJzb2x1dGVUZW1wbGF0ZXMubG9uZywgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VyclllYXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRlIC0gZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgYWJzb2x1dGUgZGF0ZSBpbiBsb25nIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICBhYnNvbHV0ZUxvbmdEYXRlVGltZShkYXRlOiBELCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWJzb2x1dGVEYXRlKFxuICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFic29sdXRlVGVtcGxhdGVzLmxvbmcsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgb3B0aW9ucz8uc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/Lm1pbGxpc2Vjb25kcyxcbiAgICAgICAgICAgIG9wdGlvbnM/LmN1cnJZZWFyXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gdGVtcGxhdGVcbiAgICAgKiBAcmV0dXJucyBvcGVuZWQgZGF0ZVxuICAgICAqL1xuICAgIG9wZW5lZFJhbmdlRGF0ZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlOiBEIHwgbnVsbCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2Uoc3RhcnREYXRlKSAmJiAhdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKGVuZERhdGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YXJpYWJsZXMgPSB7IC4uLnRoaXMuYWRhcHRlci5jb25maWcudmFyaWFibGVzLCAuLi50ZW1wbGF0ZS52YXJpYWJsZXMgfTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IHt9O1xuXG4gICAgICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZVZhcmlhYmxlcyA9IHRoaXMuY29tcGlsZVZhcmlhYmxlcyhzdGFydERhdGUsIHZhcmlhYmxlcyk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgU1RBUlRfREFURTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuU1RBUlRfREFURSkoc3RhcnREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICBSQU5HRV9UWVBFOiAnb25seVN0YXJ0J1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChlbmREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgRU5EX0RBVEU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkVORF9EQVRFKShlbmREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICBSQU5HRV9UWVBFOiAnb25seUVuZCdcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuREFURSkocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEBwYXJhbSBzZWNvbmRzIC0gc2hvdWxkIHRpbWUgd2l0aCBzZWNvbmRzIGJlIHNob3duIGFzIHdlbGxcbiAgICAgKiBAcGFyYW0gbWlsbGlzZWNvbmRzIC0gc2hvdWxkIHRpbWUgd2l0aCBtaWxsaXNlY29uZHMgYmUgc2hvd24gYXMgd2VsbFxuICAgICAqIEByZXR1cm5zIG9wZW5lZCBkYXRlXG4gICAgICovXG4gICAgb3BlbmVkUmFuZ2VEYXRlVGltZShcbiAgICAgICAgc3RhcnREYXRlOiBEIHwgbnVsbCxcbiAgICAgICAgZW5kRGF0ZTogRCB8IG51bGwsXG4gICAgICAgIHRlbXBsYXRlOiBGb3JtYXR0ZXJSYW5nZVRlbXBsYXRlLFxuICAgICAgICBzZWNvbmRzID0gZmFsc2UsXG4gICAgICAgIG1pbGxpc2Vjb25kcyA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5hZGFwdGVyLmlzRGF0ZUluc3RhbmNlKHN0YXJ0RGF0ZSkgJiYgIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShlbmREYXRlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFyaWFibGVzID0geyAuLi50aGlzLmFkYXB0ZXIuY29uZmlnLnZhcmlhYmxlcywgLi4udGVtcGxhdGUudmFyaWFibGVzIH07XG4gICAgICAgIGxldCBwYXJhbXMgPSB7fTtcblxuICAgICAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0hPV19NSUxMSVNFQ09ORFMgPSBtaWxsaXNlY29uZHMgPyAneWVzJyA6ICdubyc7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgU1RBUlRfREFURVRJTUU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLlNUQVJUX0RBVEVUSU1FKShzdGFydERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgIFJBTkdFX1RZUEU6ICdvbmx5U3RhcnQnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGVuZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoZW5kRGF0ZSwgdmFyaWFibGVzKTtcbiAgICAgICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19NSUxMSVNFQ09ORFMgPSBtaWxsaXNlY29uZHMgPyAneWVzJyA6ICdubyc7XG5cbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgRU5EX0RBVEVUSU1FOiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5FTkRfREFURVRJTUUpKGVuZERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgIFJBTkdFX1RZUEU6ICdvbmx5RW5kJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5EQVRFVElNRSkocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgLSB0ZW1wbGF0ZVxuICAgICAqIEByZXR1cm5zIHJhbmdlIGRhdGUgaW4gdGVtcGxhdGUgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VEYXRlKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShzdGFydERhdGUpIHx8ICF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsgLi4udGhpcy5hZGFwdGVyLmNvbmZpZy52YXJpYWJsZXMsIC4uLnRlbXBsYXRlLnZhcmlhYmxlcyB9O1xuICAgICAgICBjb25zdCBzYW1lTW9udGggPSB0aGlzLmhhc1NhbWUoc3RhcnREYXRlLCBlbmREYXRlLCAnbW9udGgnKTtcblxuICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcblxuICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcblxuICAgICAgICBjb25zdCBib3RoQ3VycmVudFllYXIgPSBzdGFydERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID09PSAneWVzJyAmJiBlbmREYXRlVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9PT0gJ3llcyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5DVVJSRU5UX1lFQVIgPSBib3RoQ3VycmVudFllYXIgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID0gYm90aEN1cnJlbnRZZWFyID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgIFNUQVJUX0RBVEU6IHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLlNUQVJUX0RBVEUpKHN0YXJ0RGF0ZVZhcmlhYmxlcyksXG4gICAgICAgICAgICBFTkRfREFURTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuRU5EX0RBVEUpKGVuZERhdGVWYXJpYWJsZXMpLFxuICAgICAgICAgICAgU0FNRV9NT05USDogc2FtZU1vbnRoXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkRBVEUpKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIHVzZSBzZWNvbmRzXG4gICAgICogQHBhcmFtIG1pbGxpc2Vjb25kcyAtIHVzZSBtaWxsaXNlY29uZHNcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIHRlbXBsYXRlIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZURhdGVUaW1lKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdGVtcGxhdGU6IEZvcm1hdHRlclJhbmdlVGVtcGxhdGUsIHNlY29uZHMgPSBmYWxzZSwgbWlsbGlzZWNvbmRzID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShzdGFydERhdGUpIHx8ICF0aGlzLmFkYXB0ZXIuaXNEYXRlSW5zdGFuY2UoZW5kRGF0ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmludmFsaWREYXRlRXJyb3JUZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsuLi50aGlzLmFkYXB0ZXIuY29uZmlnLnZhcmlhYmxlcywgLi4udGVtcGxhdGUudmFyaWFibGVzfTtcblxuICAgICAgICBjb25zdCBzYW1lTW9udGggPSB0aGlzLmhhc1NhbWUoc3RhcnREYXRlLCBlbmREYXRlLCAnbW9udGgnKTtcbiAgICAgICAgY29uc3Qgc2FtZURheSA9IHRoaXMuaGFzU2FtZShzdGFydERhdGUsIGVuZERhdGUsICdkYXknKTtcblxuICAgICAgICBjb25zdCBzdGFydERhdGVWYXJpYWJsZXMgPSB0aGlzLmNvbXBpbGVWYXJpYWJsZXMoc3RhcnREYXRlLCB2YXJpYWJsZXMpO1xuICAgICAgICBzdGFydERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcbiAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNBTUVfREFZID0gc2FtZURheTtcbiAgICAgICAgc3RhcnREYXRlVmFyaWFibGVzLlNIT1dfU0VDT05EUyA9IHNlY29uZHMgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICBjb25zdCBlbmREYXRlVmFyaWFibGVzID0gdGhpcy5jb21waWxlVmFyaWFibGVzKGVuZERhdGUsIHZhcmlhYmxlcyk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0FNRV9NT05USCA9IHNhbWVNb250aDtcbiAgICAgICAgZW5kRGF0ZVZhcmlhYmxlcy5TQU1FX0RBWSA9IHNhbWVEYXk7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuU0hPV19TRUNPTkRTID0gc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcbiAgICAgICAgZW5kRGF0ZVZhcmlhYmxlcy5TSE9XX01JTExJU0VDT05EUyA9IG1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICBjb25zdCBib3RoQ3VycmVudFllYXIgPSBzdGFydERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID09PSAneWVzJyAmJiBlbmREYXRlVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9PT0gJ3llcyc7XG4gICAgICAgIHN0YXJ0RGF0ZVZhcmlhYmxlcy5DVVJSRU5UX1lFQVIgPSBib3RoQ3VycmVudFllYXIgPyAneWVzJyA6ICdubyc7XG4gICAgICAgIGVuZERhdGVWYXJpYWJsZXMuQ1VSUkVOVF9ZRUFSID0gYm90aEN1cnJlbnRZZWFyID8gJ3llcycgOiAnbm8nO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgIFNUQVJUX0RBVEVUSU1FOiB0aGlzLm1lc3NhZ2VGb3JtYXQuY29tcGlsZSh0ZW1wbGF0ZS5TVEFSVF9EQVRFVElNRSkoc3RhcnREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgIEVORF9EQVRFVElNRTogdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUodGVtcGxhdGUuRU5EX0RBVEVUSU1FKShlbmREYXRlVmFyaWFibGVzKSxcbiAgICAgICAgICAgIFNBTUVfTU9OVEg6IHNhbWVNb250aCxcbiAgICAgICAgICAgIFNBTUVfREFZOiBzYW1lRGF5XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUZvcm1hdC5jb21waWxlKHRlbXBsYXRlLkRBVEVUSU1FKShwYXJhbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEByZXR1cm5zIHJhbmdlIGRhdGUgaW4gc2hvcnQgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VTaG9ydERhdGUoc3RhcnREYXRlOiBEIHwgbnVsbCwgZW5kRGF0ZT86IEQpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByYW5nZVRlbXBsYXRlcyA9IHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2Uuc2hvcnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkUmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSB8fCBudWxsLCByYW5nZVRlbXBsYXRlcy5vcGVuZWRSYW5nZS5zaG9ydCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHN0YXJ0RGF0ZSAtIHN0YXJ0IGRhdGVcbiAgICAgKiBAcGFyYW0gZW5kRGF0ZSAtIGVuZCBkYXRlXG4gICAgICogQHBhcmFtIG9wdGlvbnMgLSBEYXRlVGltZU9wdGlvbnNcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIHNob3J0IGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZVNob3J0RGF0ZVRpbWUoc3RhcnREYXRlOiBEIHwgbnVsbCwgZW5kRGF0ZT86IEQgfCBudWxsLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcmFuZ2VUZW1wbGF0ZXMgPSB0aGlzLmNvbmZpZy5yYW5nZVRlbXBsYXRlcztcblxuICAgICAgICBpZiAoc3RhcnREYXRlICYmIGVuZERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlRGF0ZVRpbWUoc3RhcnREYXRlLCBlbmREYXRlLCByYW5nZVRlbXBsYXRlcy5jbG9zZWRSYW5nZS5zaG9ydCwgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFJhbmdlRGF0ZVRpbWUoXG4gICAgICAgICAgICBzdGFydERhdGUsXG4gICAgICAgICAgICBlbmREYXRlIHx8IG51bGwsXG4gICAgICAgICAgICByYW5nZVRlbXBsYXRlcy5vcGVuZWRSYW5nZS5zaG9ydCxcbiAgICAgICAgICAgIG9wdGlvbnM/LnNlY29uZHMsXG4gICAgICAgICAgICBvcHRpb25zPy5taWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcmV0dXJucyByYW5nZSBkYXRlIGluIGxvbmcgZm9ybWF0XG4gICAgICovXG4gICAgcmFuZ2VMb25nRGF0ZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlPzogRCB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCByYW5nZVRlbXBsYXRlcyA9IHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2VEYXRlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2UubG9uZyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWRSYW5nZURhdGUoc3RhcnREYXRlLCBlbmREYXRlIHx8IG51bGwsIHJhbmdlVGVtcGxhdGVzLm9wZW5lZFJhbmdlLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmFuZ2UgZGF0ZSBpbiBsb25nIGZvcm1hdCB3aXRoIHRpbWVcbiAgICAgKi9cbiAgICByYW5nZUxvbmdEYXRlVGltZShzdGFydERhdGU6IEQgfCBudWxsLCBlbmREYXRlPzogRCwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJhbmdlVGVtcGxhdGVzID0gdGhpcy5jb25maWcucmFuZ2VUZW1wbGF0ZXM7XG5cbiAgICAgICAgaWYgKHN0YXJ0RGF0ZSAmJiBlbmREYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yYW5nZURhdGVUaW1lKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgcmFuZ2VUZW1wbGF0ZXMuY2xvc2VkUmFuZ2UubG9uZywgb3B0aW9ucz8uc2Vjb25kcywgb3B0aW9ucz8ubWlsbGlzZWNvbmRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFJhbmdlRGF0ZVRpbWUoc3RhcnREYXRlLCBlbmREYXRlIHx8IG51bGwsIHJhbmdlVGVtcGxhdGVzLm9wZW5lZFJhbmdlLmxvbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSBvcHRpb25zIC0gRGF0ZVRpbWVPcHRpb25zXG4gICAgICogQHJldHVybnMgcmFuZ2UgbWlkZGxlIGRhdGUgd2l0aCB0aW1lXG4gICAgICovXG4gICAgcmFuZ2VNaWRkbGVEYXRlVGltZShzdGFydERhdGU6IEQsIGVuZERhdGU6IEQsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yYW5nZURhdGVUaW1lKFxuICAgICAgICAgICAgc3RhcnREYXRlLFxuICAgICAgICAgICAgZW5kRGF0ZSxcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnJhbmdlVGVtcGxhdGVzLmNsb3NlZFJhbmdlLm1pZGRsZSxcbiAgICAgICAgICAgIG9wdGlvbnM/LnNlY29uZHMsXG4gICAgICAgICAgICBvcHRpb25zPy5taWxsaXNlY29uZHNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gc3RhcnREYXRlIC0gc3RhcnQgZGF0ZVxuICAgICAqIEBwYXJhbSBlbmREYXRlIC0gZW5kIGRhdGVcbiAgICAgKiBAcGFyYW0gc2Vjb25kcyAtIGFkZCBzZWNvbmRzIHRvIGZvcm1hdHRlZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBtaWxsaXNlY29uZHMgLSBhZGQgbWlsbGlzZWNvbmRzIHRvIGZvcm1hdHRlZCB2YWx1ZVxuICAgICAqIEByZXR1cm5zIGZvcm1hdHRlZCBkdXJhdGlvbiBhcyBzdHJpbmcgbGlrZSA0ODowMjoyNVxuICAgICAqL1xuICAgIGR1cmF0aW9uU2hvcnRlc3Qoc3RhcnREYXRlOiBELCBlbmREYXRlOiBELCBzZWNvbmRzID0gdHJ1ZSwgbWlsbGlzZWNvbmRzID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICB0aGlzLmNoZWNrRGF0ZXMoc3RhcnREYXRlLCBlbmREYXRlKTtcblxuICAgICAgICBpZiAoc3RhcnREYXRlID4gZW5kRGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuaW52YWxpZERhdGVFcnJvclRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25PYmplY3QgPSB0aGlzLmFkYXB0ZXIuZHVyYXRpb25PYmplY3RGcm9tRGF0ZXMoXG4gICAgICAgICAgICBzdGFydERhdGUsIGVuZERhdGUsIFsnaG91cnMnLCAnbWludXRlcycsICdzZWNvbmRzJywgJ21pbGxpc2Vjb25kcyddXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgcm91bmRlZFNlY29uZHMgPSBNYXRoLmZsb29yKHRoaXMuYWRhcHRlci5kdXJhdGlvbkFzKGR1cmF0aW9uT2JqZWN0LCAnc2Vjb25kcycpKTtcblxuICAgICAgICBpZiAoc2Vjb25kcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZU1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZHVyYXRpb25UZW1wbGF0ZXMuc2hvcnRlc3QuRlVMTCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIEQ6IHJvdW5kZWRTZWNvbmRzLFxuICAgICAgICAgICAgICAgICAgICBTSE9XX01JTExJU0VDT05EUzogbWlsbGlzZWNvbmRzID8gJ3llcycgOiAnbm8nLFxuICAgICAgICAgICAgICAgICAgICBNSUxMSVNFQ09ORFM6IGR1cmF0aW9uT2JqZWN0Lm1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm91bmRlZFNlY29uZHMgLSAocm91bmRlZFNlY29uZHMgJSA2MCkgPyB0aGlzLmNvbXBpbGVNZXNzYWdlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZHVyYXRpb25UZW1wbGF0ZXMuc2hvcnRlc3QuT05MWV9NSU5VVEVTLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIEhPVVJTOiBkdXJhdGlvbk9iamVjdC5ob3VycyxcbiAgICAgICAgICAgICAgICBNSU5VVEVTOiBkdXJhdGlvbk9iamVjdC5taW51dGVzXG4gICAgICAgICAgICB9KSA6ICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBzdGFydERhdGUgLSBzdGFydCBkYXRlXG4gICAgICogQHBhcmFtIGVuZERhdGUgLSBlbmQgZGF0ZVxuICAgICAqIEBwYXJhbSB1bml0cyAtIGlmIGRlZmluZWQsIHVuaXRzIHRvIHNob3cgd2lsbCBiZSBzcGVjaWZpZWRcbiAgICAgKiBAcGFyYW0gZnJhY3Rpb24gLSBzaG93cyBmcmFjdGlvbiBwYXJ0IGZvciB5ZWFycyBhbmQgbW9udGhzXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIC0gc3BlY2lmeSB0ZW1wbGF0ZVxuICAgICAqIEByZXR1cm5zIGZvcm1hdHRlZCBkdXJhdGlvbiBhcyBzdHJpbmdcbiAgICAgKi9cbiAgICBkdXJhdGlvbihcbiAgICAgICAgc3RhcnREYXRlOiBELFxuICAgICAgICBlbmREYXRlOiBELFxuICAgICAgICB1bml0czogRHVyYXRpb25Vbml0W10sXG4gICAgICAgIGZyYWN0aW9uLFxuICAgICAgICB0ZW1wbGF0ZTogRm9ybWF0dGVyRHVyYXRpb25UZW1wbGF0ZVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIHRoaXMuY2hlY2tEYXRlcyhzdGFydERhdGUsIGVuZERhdGUpO1xuXG4gICAgICAgIGlmIChzdGFydERhdGUgPiBlbmREYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmFkYXB0ZXIuZHVyYXRpb25PYmplY3RGcm9tRGF0ZXMoc3RhcnREYXRlLCBlbmREYXRlLCB1bml0cywgZnJhY3Rpb24pO1xuICAgICAgICBjb25zdCB2YXJpYWJsZXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0geyAuLi52YWx1ZXMgfTtcbiAgICAgICAgdmFyaWFibGVzLlNIT1dfTUlMTElTRUNPTkRTID0gdmFsdWVzLm1pbGxpc2Vjb25kcyA/ICd5ZXMnIDogJ25vJztcblxuICAgICAgICByZXR1cm4gT2JqZWN0XG4gICAgICAgICAgICAua2V5cyh2YWx1ZXMpXG4gICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPihcbiAgICAgICAgICAgICAgICAoYWNjLCB1bml0LCBpbmRleCwgYXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmcmFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLmZsb29yVmFsdWUgPSBNYXRoLmZsb29yKHZhbHVlc1t1bml0XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY2MucHVzaCh0aGlzLmNvbXBpbGVNZXNzYWdlKHRlbXBsYXRlW2Ake3VuaXQudG9VcHBlckNhc2UoKX1fRlJBQ1RJT05gXSwgdmFyaWFibGVzKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyLmxlbmd0aCA+IDEgJiYgaW5kZXggPT09IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2godGhpcy5jb21waWxlTWVzc2FnZSh0ZW1wbGF0ZS5TRVBBUkFUT1IsIHZhcmlhYmxlcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2MucHVzaCh0aGlzLmNvbXBpbGVNZXNzYWdlKHRlbXBsYXRlW3VuaXQudG9VcHBlckNhc2UoKV0sIHZhcmlhYmxlcykpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtdXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuZmlsdGVyKCh0ZXh0KSA9PiAhIXRleHQpXG4gICAgICAgICAgICAuam9pbignICcpO1xuICAgIH1cblxuICAgIGR1cmF0aW9uTG9uZyhzdGFydERhdGU6IEQsIGVuZERhdGU6IEQsIHVuaXRzOiBEdXJhdGlvblVuaXRbXSA9IFtdLCBmcmFjdGlvbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHVyYXRpb24oc3RhcnREYXRlLCBlbmREYXRlLCB1bml0cywgZnJhY3Rpb24sIHRoaXMuY29uZmlnLmR1cmF0aW9uVGVtcGxhdGVzLmxvbmcpO1xuICAgIH1cblxuICAgIGR1cmF0aW9uU2hvcnQoc3RhcnREYXRlOiBELCBlbmREYXRlOiBELCB1bml0czogRHVyYXRpb25Vbml0W10gPSBbXSwgZnJhY3Rpb24gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmR1cmF0aW9uKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdW5pdHMsIGZyYWN0aW9uLCB0aGlzLmNvbmZpZy5kdXJhdGlvblRlbXBsYXRlcy5zaG9ydCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0RhdGVzKC4uLmFyZ3MpIHtcbiAgICAgICAgYXJncy5mb3JFYWNoKChkYXRlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWRhcHRlci5pc0RhdGVJbnN0YW5jZShkYXRlKSB8fCAhdGhpcy5hZGFwdGVyLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5pbnZhbGlkRGF0ZUVycm9yVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcGlsZU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nLCB2YXJpYWJsZXMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlRm9ybWF0LmNvbXBpbGUobWVzc2FnZSkodmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0ZSAtIGRhdGUgZm9yIGNvbXBpbGVcbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzIC0gZGF0ZSB0ZW1wbGF0ZSB2YXJpYWJsZXNcbiAgICAgKiBAcGFyYW0gY3VyclllYXJGb3JjZWQgLSBwYXJhbSBmb3IgYWJzb2x1dGUgZGF5cyBmb3JtYXR0aW5nXG4gICAgICogQHJldHVybnMgY29tcGlsZWRWYXJpYWJsZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbXBpbGVWYXJpYWJsZXMoZGF0ZTogRCwgdmFyaWFibGVzOiBhbnksIGN1cnJZZWFyRm9yY2VkOiBib29sZWFuID0gZmFsc2UpOiBhbnkge1xuICAgICAgICBjb25zdCBjb21waWxlZFZhcmlhYmxlczogYW55ID0ge307XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWZvci1pblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB2YXJpYWJsZXMpIHtcbiAgICAgICAgICAgIGlmICghdmFyaWFibGVzLmhhc093blByb3BlcnR5KGtleSkpIHsgY29udGludWU7IH1cblxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YXJpYWJsZXNba2V5XTtcbiAgICAgICAgICAgIGNvbXBpbGVkVmFyaWFibGVzW2tleV0gPSB0aGlzLmFkYXB0ZXIuZm9ybWF0KGRhdGUsIHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbXBpbGVkVmFyaWFibGVzLkNVUlJFTlRfWUVBUiA9IChjdXJyWWVhckZvcmNlZCAmJiAnbm8nKSB8fCB0aGlzLmhhc1NhbWUoZGF0ZSwgdGhpcy5hZGFwdGVyLnRvZGF5KCksICd5ZWFyJyk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBpbGVkVmFyaWFibGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNCZWZvcmVZZXN0ZXJkYXkoZGF0ZTogRCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmRheXNGcm9tVG9kYXkoZGF0ZSkgPD0gLTI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheShkYXRlOiBEKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZGF5c0Zyb21Ub2RheShkYXRlKSA9PT0gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1RvZGF5KGRhdGU6IEQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID09PSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyhkYXRlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID09PSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBZnRlclRvbW9ycm93KGRhdGU6IEQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5kYXlzRnJvbVRvZGF5KGRhdGUpID49IDI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTYW1lKHN0YXJ0RGF0ZTogRCwgZW5kRGF0ZTogRCwgdW5pdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5oYXNTYW1lKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgdW5pdCkgPyAneWVzJyA6ICdubyc7XG4gICAgfVxufVxuIl19
|
@@ -14,9 +14,9 @@ export class AbsoluteDateFormatterPipe {
|
|
14
14
|
return date ? this.formatter.absoluteLongDate(date, currYear) : '';
|
15
15
|
}
|
16
16
|
}
|
17
|
-
/** @nocollapse */ AbsoluteDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
18
|
-
/** @nocollapse */ AbsoluteDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
17
|
+
/** @nocollapse */ AbsoluteDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
18
|
+
/** @nocollapse */ AbsoluteDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateFormatterPipe, name: "absoluteLongDate" });
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
|
20
20
|
type: Pipe,
|
21
21
|
args: [{ name: 'absoluteLongDate' }]
|
22
22
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -30,9 +30,9 @@ export class AbsoluteDateTimeFormatterPipe {
|
|
30
30
|
return date ? this.formatter.absoluteLongDateTime(date, options) : '';
|
31
31
|
}
|
32
32
|
}
|
33
|
-
/** @nocollapse */ AbsoluteDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
34
|
-
/** @nocollapse */ AbsoluteDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
33
|
+
/** @nocollapse */ AbsoluteDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
34
|
+
/** @nocollapse */ AbsoluteDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, name: "absoluteLongDateTime" });
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
|
36
36
|
type: Pipe,
|
37
37
|
args: [{ name: 'absoluteLongDateTime' }]
|
38
38
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -46,9 +46,9 @@ export class AbsoluteDateShortFormatterPipe {
|
|
46
46
|
return date ? this.formatter.absoluteShortDate(date, currYear) : '';
|
47
47
|
}
|
48
48
|
}
|
49
|
-
/** @nocollapse */ AbsoluteDateShortFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
50
|
-
/** @nocollapse */ AbsoluteDateShortFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
49
|
+
/** @nocollapse */ AbsoluteDateShortFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
50
|
+
/** @nocollapse */ AbsoluteDateShortFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateShortFormatterPipe, name: "absoluteShortDate" });
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
|
52
52
|
type: Pipe,
|
53
53
|
args: [{ name: 'absoluteShortDate' }]
|
54
54
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -62,9 +62,9 @@ export class AbsoluteShortDateTimeFormatterPipe {
|
|
62
62
|
return date ? this.formatter.absoluteShortDateTime(date, options) : '';
|
63
63
|
}
|
64
64
|
}
|
65
|
-
/** @nocollapse */ AbsoluteShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
66
|
-
/** @nocollapse */ AbsoluteShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
65
|
+
/** @nocollapse */ AbsoluteShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
66
|
+
/** @nocollapse */ AbsoluteShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, name: "absoluteShortDateTime" });
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
|
68
68
|
type: Pipe,
|
69
69
|
args: [{ name: 'absoluteShortDateTime' }]
|
70
70
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -78,9 +78,9 @@ export class RelativeDateFormatterPipe {
|
|
78
78
|
return date ? this.formatter.relativeLongDate(date) : '';
|
79
79
|
}
|
80
80
|
}
|
81
|
-
/** @nocollapse */ RelativeDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
82
|
-
/** @nocollapse */ RelativeDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
81
|
+
/** @nocollapse */ RelativeDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
82
|
+
/** @nocollapse */ RelativeDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateFormatterPipe, name: "relativeLongDate" });
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
|
84
84
|
type: Pipe,
|
85
85
|
args: [{ name: 'relativeLongDate' }]
|
86
86
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -94,9 +94,9 @@ export class RelativeDateTimeFormatterPipe {
|
|
94
94
|
return date ? this.formatter.relativeLongDateTime(date, options) : '';
|
95
95
|
}
|
96
96
|
}
|
97
|
-
/** @nocollapse */ RelativeDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
98
|
-
/** @nocollapse */ RelativeDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
97
|
+
/** @nocollapse */ RelativeDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
98
|
+
/** @nocollapse */ RelativeDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateTimeFormatterPipe, name: "relativeLongDateTime" });
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
|
100
100
|
type: Pipe,
|
101
101
|
args: [{ name: 'relativeLongDateTime' }]
|
102
102
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -110,9 +110,9 @@ export class RelativeShortDateFormatterPipe {
|
|
110
110
|
return date ? this.formatter.relativeShortDate(date) : '';
|
111
111
|
}
|
112
112
|
}
|
113
|
-
/** @nocollapse */ RelativeShortDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
114
|
-
/** @nocollapse */ RelativeShortDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
113
|
+
/** @nocollapse */ RelativeShortDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
114
|
+
/** @nocollapse */ RelativeShortDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateFormatterPipe, name: "relativeShortDate" });
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
|
116
116
|
type: Pipe,
|
117
117
|
args: [{ name: 'relativeShortDate' }]
|
118
118
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -126,9 +126,9 @@ export class RelativeShortDateTimeFormatterPipe {
|
|
126
126
|
return date ? this.formatter.relativeShortDateTime(date, options) : '';
|
127
127
|
}
|
128
128
|
}
|
129
|
-
/** @nocollapse */ RelativeShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
130
|
-
/** @nocollapse */ RelativeShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
129
|
+
/** @nocollapse */ RelativeShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
130
|
+
/** @nocollapse */ RelativeShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, name: "relativeShortDateTime" });
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
|
132
132
|
type: Pipe,
|
133
133
|
args: [{ name: 'relativeShortDateTime' }]
|
134
134
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -143,9 +143,9 @@ export class RangeDateFormatterPipe {
|
|
143
143
|
return this.formatter.rangeLongDate(date1, date2);
|
144
144
|
}
|
145
145
|
}
|
146
|
-
/** @nocollapse */ RangeDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
147
|
-
/** @nocollapse */ RangeDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
146
|
+
/** @nocollapse */ RangeDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDateFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
147
|
+
/** @nocollapse */ RangeDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RangeDateFormatterPipe, name: "rangeLongDate" });
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
|
149
149
|
type: Pipe,
|
150
150
|
args: [{ name: 'rangeLongDate' }]
|
151
151
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -160,9 +160,9 @@ export class RangeShortDateFormatterPipe {
|
|
160
160
|
return this.formatter.rangeShortDate(date1, date2);
|
161
161
|
}
|
162
162
|
}
|
163
|
-
/** @nocollapse */ RangeShortDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
164
|
-
/** @nocollapse */ RangeShortDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
163
|
+
/** @nocollapse */ RangeShortDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
164
|
+
/** @nocollapse */ RangeShortDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateFormatterPipe, name: "rangeShortDate" });
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
|
166
166
|
type: Pipe,
|
167
167
|
args: [{ name: 'rangeShortDate' }]
|
168
168
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -177,9 +177,9 @@ export class RangeDateTimeFormatterPipe {
|
|
177
177
|
return this.formatter.rangeLongDateTime(date1, date2, options);
|
178
178
|
}
|
179
179
|
}
|
180
|
-
/** @nocollapse */ RangeDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
181
|
-
/** @nocollapse */ RangeDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
180
|
+
/** @nocollapse */ RangeDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
181
|
+
/** @nocollapse */ RangeDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RangeDateTimeFormatterPipe, name: "rangeLongDateTime" });
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
|
183
183
|
type: Pipe,
|
184
184
|
args: [{ name: 'rangeLongDateTime' }]
|
185
185
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -194,9 +194,9 @@ export class RangeMiddleDateTimeFormatterPipe {
|
|
194
194
|
return this.formatter.rangeMiddleDateTime(date1, date2, options);
|
195
195
|
}
|
196
196
|
}
|
197
|
-
/** @nocollapse */ RangeMiddleDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
198
|
-
/** @nocollapse */ RangeMiddleDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
197
|
+
/** @nocollapse */ RangeMiddleDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
198
|
+
/** @nocollapse */ RangeMiddleDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, name: "rangeMiddleDateTime" });
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
|
200
200
|
type: Pipe,
|
201
201
|
args: [{ name: 'rangeMiddleDateTime' }]
|
202
202
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
@@ -211,10 +211,10 @@ export class RangeShortDateTimeFormatterPipe {
|
|
211
211
|
return this.formatter.rangeShortDateTime(date1, date2, options);
|
212
212
|
}
|
213
213
|
}
|
214
|
-
/** @nocollapse */ RangeShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
215
|
-
/** @nocollapse */ RangeShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
214
|
+
/** @nocollapse */ RangeShortDateTimeFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: [{ token: i1.DateAdapter }, { token: i2.DateFormatter }], target: i0.ɵɵFactoryTarget.Pipe });
|
215
|
+
/** @nocollapse */ RangeShortDateTimeFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateTimeFormatterPipe, name: "rangeShortDateTime" });
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
|
217
217
|
type: Pipe,
|
218
218
|
args: [{ name: 'rangeShortDateTime' }]
|
219
219
|
}], ctorParameters: function () { return [{ type: i1.DateAdapter }, { type: i2.DateFormatter }]; } });
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9mb3JtYXR0ZXJzL2RhdGUvZm9ybWF0dGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTdELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLEtBQWlCLEVBQUUsUUFBa0I7UUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQzs7MElBVlEseUJBQXlCO3dJQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFEckMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTs7QUFlbEMsTUFBTSxPQUFPLDZCQUE2QjtJQUN0QyxZQUNZLE9BQXVCLEVBQ3ZCLFNBQTJCO1FBRDNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixTQUFTLENBQUMsS0FBaUIsRUFBRSxPQUF5QjtRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FB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L0UsQ0FBQzs7aUpBWFEsZ0NBQWdDOytJQUFoQyxnQ0FBZ0M7NEZBQWhDLGdDQUFnQztrQkFENUMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRTs7QUFnQnJDLE1BQU0sT0FBTywrQkFBK0I7SUFDeEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDOztnSkFYUSwrQkFBK0I7OElBQS9CLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUQzQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvZGF0ZXRpbWUnO1xuXG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyLCBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5cblxuQFBpcGUoeyBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBjdXJyWWVhcj86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGUoZGF0ZSwgY3VyclllYXIpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZVRpbWUoZGF0ZSwgb3B0aW9ucykgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJyB9KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVNob3J0Rm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZVRpbWUoZGF0ZSwgb3B0aW9ucykgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIucmVsYXRpdmVMb25nRGF0ZShkYXRlKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIucmVsYXRpdmVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZUxvbmdEYXRlJyB9KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZUxvbmdEYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VTaG9ydERhdGUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZUxvbmdEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VNaWRkbGVEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBSYW5nZU1pZGRsZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTWlkZGxlRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZVNob3J0RGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlVGltZShkYXRlMSBhcyBELCBkYXRlMiBhcyBELCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9mb3JtYXR0ZXJzL2RhdGUvZm9ybWF0dGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTdELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLEtBQWlCLEVBQUUsUUFBa0I7UUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQzs7eUlBVlEseUJBQXlCO3VJQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTs7QUFlbEMsTUFBTSxPQUFPLDZCQUE2QjtJQUN0QyxZQUNZLE9BQXVCLEVBQ3ZCLFNBQTJCO1FBRDNCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ3BDLENBQUM7SUFFSixTQUFTLENBQUMsS0FBaUIsRUFBRSxPQUF5QjtRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FB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L0UsQ0FBQzs7Z0pBWFEsZ0NBQWdDOzhJQUFoQyxnQ0FBZ0M7MkZBQWhDLGdDQUFnQztrQkFENUMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRTs7QUFnQnJDLE1BQU0sT0FBTywrQkFBK0I7SUFDeEMsWUFDWSxPQUF1QixFQUN2QixTQUEyQjtRQUQzQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNwQyxDQUFDO0lBRUosU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDOzsrSUFYUSwrQkFBK0I7NklBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvZGF0ZXRpbWUnO1xuXG5pbXBvcnQgeyBEYXRlRm9ybWF0dGVyLCBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5cblxuQFBpcGUoeyBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBjdXJyWWVhcj86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGUoZGF0ZSwgY3VyclllYXIpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZVRpbWUoZGF0ZSwgb3B0aW9ucykgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJyB9KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVNob3J0Rm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZVRpbWUoZGF0ZSwgb3B0aW9ucykgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHsgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIucmVsYXRpdmVMb25nRGF0ZShkYXRlKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIucmVsYXRpdmVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZUxvbmdEYXRlJyB9KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD5cbiAgICApIHt9XG5cbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZUxvbmdEYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VTaG9ydERhdGUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIHByaXZhdGUgZm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyPEQ+XG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZUxvbmdEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoeyBuYW1lOiAncmFuZ2VNaWRkbGVEYXRlVGltZScgfSlcbmV4cG9ydCBjbGFzcyBSYW5nZU1pZGRsZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTWlkZGxlRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7IG5hbWU6ICdyYW5nZVNob3J0RGF0ZVRpbWUnIH0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBwcml2YXRlIGZvcm1hdHRlcjogRGF0ZUZvcm1hdHRlcjxEPlxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSwgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlVGltZShkYXRlMSBhcyBELCBkYXRlMiBhcyBELCBvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=
|
@@ -5,8 +5,8 @@ import { McDecimalPipe } from './number/formatter';
|
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export class McFormattersModule {
|
7
7
|
}
|
8
|
-
/** @nocollapse */ McFormattersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
9
|
-
/** @nocollapse */ McFormattersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
8
|
+
/** @nocollapse */ McFormattersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: McFormattersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
/** @nocollapse */ McFormattersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: McFormattersModule, declarations: [McDecimalPipe,
|
10
10
|
AbsoluteDateFormatterPipe,
|
11
11
|
AbsoluteDateTimeFormatterPipe,
|
12
12
|
AbsoluteDateShortFormatterPipe,
|
@@ -33,8 +33,8 @@ export class McFormattersModule {
|
|
33
33
|
RangeDateTimeFormatterPipe,
|
34
34
|
RangeShortDateTimeFormatterPipe,
|
35
35
|
RangeMiddleDateTimeFormatterPipe] });
|
36
|
-
/** @nocollapse */ McFormattersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
36
|
+
/** @nocollapse */ McFormattersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: McFormattersModule, providers: [DateFormatter] });
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: McFormattersModule, decorators: [{
|
38
38
|
type: NgModule,
|
39
39
|
args: [{
|
40
40
|
declarations: [
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
75
75
|
export * from './number/formatter';
|
76
76
|
export * from './date/formatter';
|
77
77
|
export * from './date/formatter.pipe';
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9mb3JtYXR0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsOEJBQThCLEVBQzlCLDZCQUE2QixFQUM3QixrQ0FBa0MsRUFDbEMsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QixrQ0FBa0MsRUFDckMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBNENuRCxNQUFNLE9BQU8sa0JBQWtCOztrSUFBbEIsa0JBQWtCO21JQUFsQixrQkFBa0IsaUJBdkN2QixhQUFhO1FBRWIseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3Qiw4QkFBOEI7UUFDOUIsa0NBQWtDO1FBRWxDLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLGtDQUFrQztRQUVsQyxzQkFBc0I7UUFDdEIsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQiwrQkFBK0I7UUFDL0IsZ0NBQWdDLGFBR2hDLGFBQWE7UUFFYix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLDhCQUE4QjtRQUM5QixrQ0FBa0M7UUFFbEMseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3Qiw4QkFBOEI7UUFDOUIsa0NBQWtDO1FBRWxDLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLCtCQUErQjtRQUMvQixnQ0FBZ0M7bUlBSTNCLGtCQUFrQixhQUZoQixDQUFDLGFBQWEsQ0FBQzsyRkFFakIsa0JBQWtCO2tCQXpDOUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsYUFBYTt3QkFFYix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixrQ0FBa0M7d0JBRWxDLHlCQUF5Qjt3QkFDekIsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLGtDQUFrQzt3QkFFbEMsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsK0JBQStCO3dCQUMvQixnQ0FBZ0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDTCxhQUFhO3dCQUViLHlCQUF5Qjt3QkFDekIsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLGtDQUFrQzt3QkFFbEMseUJBQXlCO3dCQUN6Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsa0NBQWtDO3dCQUVsQyxzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQiwrQkFBK0I7d0JBQy9CLGdDQUFnQztxQkFDbkM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUM3Qjs7QUFJRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGVGb3JtYXR0ZXIgfSBmcm9tICcuL2RhdGUvZm9ybWF0dGVyJztcbmltcG9ydCB7XG4gICAgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZSxcbiAgICBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGUsXG4gICAgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZSxcbiAgICBSYW5nZURhdGVGb3JtYXR0ZXJQaXBlLFxuICAgIFJhbmdlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlLFxuICAgIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlLFxuICAgIFJhbmdlU2hvcnREYXRlRm9ybWF0dGVyUGlwZSxcbiAgICBSYW5nZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlLFxuICAgIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGUsXG4gICAgUmVsYXRpdmVEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlLFxuICAgIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGVcbn0gZnJvbSAnLi9kYXRlL2Zvcm1hdHRlci5waXBlJztcbmltcG9ydCB7IE1jRGVjaW1hbFBpcGUgfSBmcm9tICcuL251bWJlci9mb3JtYXR0ZXInO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1jRGVjaW1hbFBpcGUsXG5cbiAgICAgICAgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIEFic29sdXRlRGF0ZVNob3J0Rm9ybWF0dGVyUGlwZSxcbiAgICAgICAgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZSxcblxuICAgICAgICBSZWxhdGl2ZURhdGVGb3JtYXR0ZXJQaXBlLFxuICAgICAgICBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlLFxuICAgICAgICBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlLFxuXG4gICAgICAgIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlU2hvcnREYXRlRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1jRGVjaW1hbFBpcGUsXG5cbiAgICAgICAgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIEFic29sdXRlRGF0ZVNob3J0Rm9ybWF0dGVyUGlwZSxcbiAgICAgICAgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZSxcblxuICAgICAgICBSZWxhdGl2ZURhdGVGb3JtYXR0ZXJQaXBlLFxuICAgICAgICBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlLFxuICAgICAgICBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlLFxuXG4gICAgICAgIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlU2hvcnREYXRlRm9ybWF0dGVyUGlwZSxcbiAgICAgICAgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGUsXG4gICAgICAgIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtEYXRlRm9ybWF0dGVyXVxufSlcbmV4cG9ydCBjbGFzcyBNY0Zvcm1hdHRlcnNNb2R1bGUge31cblxuXG5leHBvcnQgKiBmcm9tICcuL251bWJlci9mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlL2Zvcm1hdHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUvZm9ybWF0dGVyLnBpcGUnO1xuIl19
|