ngx-tethys 18.0.8 → 18.1.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -1
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor.component.d.ts +1 -3
- package/badge/badge.component.d.ts +12 -3
- package/date-picker/index.d.ts +26 -27
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/popups/date-popup.component.d.ts +0 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
- package/date-range/date-range.component.d.ts +2 -8
- package/divider/divider.component.d.ts +8 -2
- package/esm2022/action/action.component.mjs +3 -4
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +15 -7
- package/esm2022/anchor/anchor.component.mjs +17 -9
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +4 -4
- package/esm2022/back-top/back-top.component.mjs +4 -4
- package/esm2022/badge/badge.component.mjs +3 -4
- package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -6
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +4 -4
- package/esm2022/calendar/calendar-header.component.mjs +4 -4
- package/esm2022/calendar/calendar.component.mjs +3 -4
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel.component.mjs +4 -4
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +5 -7
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +4 -4
- package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/date-picker/date-picker.component.mjs +5 -6
- package/esm2022/date-picker/index.mjs +27 -28
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -4
- package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +5 -5
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -18
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -8
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +4 -5
- package/esm2022/date-picker/picker.component.mjs +4 -14
- package/esm2022/date-picker/quarter-picker.component.mjs +4 -5
- package/esm2022/date-picker/range-picker.component.mjs +4 -5
- package/esm2022/date-picker/week-picker.component.mjs +4 -5
- package/esm2022/date-picker/year-picker.component.mjs +4 -5
- package/esm2022/date-range/date-range.component.mjs +4 -4
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
- package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/empty/empty.component.mjs +4 -4
- package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
- package/esm2022/form/form-group.component.mjs +4 -4
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/image/preview/image-preview.component.mjs +3 -4
- package/esm2022/input/input-group.component.mjs +4 -4
- package/esm2022/input/input-search.component.mjs +3 -4
- package/esm2022/input/input.component.mjs +4 -4
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +81 -71
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +3 -4
- package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
- package/esm2022/menu/group/menu-group.component.mjs +4 -4
- package/esm2022/menu/item/menu-item.component.mjs +3 -4
- package/esm2022/message/message-container.component.mjs +13 -5
- package/esm2022/message/message.component.mjs +3 -4
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/nav.component.mjs +4 -6
- package/esm2022/notify/notify-container.component.mjs +4 -4
- package/esm2022/notify/notify.component.mjs +4 -4
- package/esm2022/pagination/pagination.component.mjs +4 -4
- package/esm2022/popover/header/popover-header.component.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +4 -4
- package/esm2022/property-operation/property-operation.component.mjs +4 -4
- package/esm2022/radio/radio.component.mjs +5 -5
- package/esm2022/rate/rate.component.mjs +5 -5
- package/esm2022/resizable/resize-handle.component.mjs +10 -7
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +4 -4
- package/esm2022/segment/segment.component.mjs +4 -5
- package/esm2022/select/custom-select/custom-select.component.mjs +6 -8
- package/esm2022/select/native-select/native-select.component.mjs +5 -6
- package/esm2022/shared/option/list-option/list-option.component.mjs +3 -4
- package/esm2022/shared/option/option.component.mjs +3 -4
- package/esm2022/shared/select/select-control/select-control.component.mjs +5 -5
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
- package/esm2022/space/space.component.mjs +4 -4
- package/esm2022/statistic/statistic.component.mjs +4 -4
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +6 -6
- package/esm2022/table/table-skeleton.component.mjs +4 -7
- package/esm2022/table/table.component.mjs +5 -7
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +4 -7
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -4
- package/esm2022/time-picker/time-picker-panel.component.mjs +5 -8
- package/esm2022/time-picker/time-picker.component.mjs +5 -15
- package/esm2022/timeline/timeline-item.component.mjs +4 -4
- package/esm2022/timeline/timeline.component.mjs +9 -9
- package/esm2022/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +4 -4
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +4 -4
- package/esm2022/tree/tree.component.mjs +5 -7
- package/esm2022/tree-select/tree-select.component.mjs +7 -10
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/fesm2022/ngx-tethys-action.mjs +3 -3
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +29 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -4
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +4 -4
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +5 -5
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +3 -3
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +3 -3
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +3 -5
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +5 -5
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +5 -5
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +3 -3
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +8 -10
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +4 -4
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +3 -3
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +3 -3
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +2428 -2456
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +5 -7
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +5 -5
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +10 -6
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +3 -3
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +7 -7
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +3 -3
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +3 -3
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +7 -7
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +84 -74
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +3 -3
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +3 -3
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +3 -3
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +5 -5
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +14 -6
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +6 -8
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +5 -5
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +3 -3
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +3 -3
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +6 -12
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +3 -3
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +3 -3
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +4 -4
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +4 -4
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -9
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +6 -6
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +9 -11
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +8 -8
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +3 -3
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +3 -3
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +3 -3
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +4 -4
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +5 -5
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +6 -11
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +9 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +10 -10
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +3 -3
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +5 -5
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +6 -9
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +6 -8
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +3 -3
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/menu/group/menu-group.component.d.ts +42 -6
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +15 -5
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +1 -4
- package/resizable/resize-handle.component.d.ts +1 -4
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment.component.d.ts +1 -5
- package/shared/option/list-option/list-option.component.d.ts +5 -1
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/table/table-skeleton.component.d.ts +10 -3
- package/tabs/tabs.component.d.ts +0 -1
- package/time-picker/time-picker-panel.component.d.ts +0 -1
- package/tree/tree-node.component.d.ts +10 -10
|
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Ren
|
|
|
2
2
|
import { assertIconOnly, coerceBooleanProperty } from 'ngx-tethys/util';
|
|
3
3
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
4
4
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
5
|
-
import {
|
|
5
|
+
import { NgClass } from '@angular/common';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
const btnTypeClassesMap = {
|
|
8
8
|
primary: ['btn-primary'],
|
|
@@ -186,13 +186,13 @@ export class ThyButton {
|
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
188
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
189
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyButton, isStandalone: true, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: ["thyLoading", "thyLoading", coerceBooleanProperty], thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: ["thyBlock", "thyBlock", coerceBooleanProperty] }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "@if (svgIconName) {\n <thy-icon [thyIconName]=\"svgIconName\"></thy-icon>\n} @else {\n @if (iconClass) {\n <i [ngClass]=\"iconClass\"></i>\n }\n}\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyButton, decorators: [{
|
|
192
192
|
type: Component,
|
|
193
193
|
args: [{ selector: 'thy-button,[thy-button],[thyButton]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
194
194
|
class: 'thy-btn btn'
|
|
195
|
-
}, standalone: true, imports: [
|
|
195
|
+
}, standalone: true, imports: [ThyIcon, NgClass], template: "@if (svgIconName) {\n <thy-icon [thyIconName]=\"svgIconName\"></thy-icon>\n} @else {\n @if (iconClass) {\n <i [ngClass]=\"iconClass\"></i>\n }\n}\n<ng-content></ng-content>\n" }]
|
|
196
196
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { thyButton: [{
|
|
197
197
|
type: Input
|
|
198
198
|
}], thyType: [{
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
213
213
|
type: Input,
|
|
214
214
|
args: [{ transform: coerceBooleanProperty }]
|
|
215
215
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFxQmhELE1BQU0saUJBQWlCLEdBQUc7SUFDdEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLFNBQVMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUM7SUFDcEMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxpQkFBaUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0lBQzFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU87SUFDM0IsV0FBVyxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVM7SUFDckQsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxTQUFTO0lBQ2xFLGtCQUFrQixFQUFFLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLEVBQUUsU0FBUztJQUNuRSxhQUFhLEVBQUUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxPQUFPO0lBQ3ZELGNBQWMsRUFBRSxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLE9BQU87Q0FDM0QsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBRTFDOzs7O0dBSUc7QUFZSCxNQUFNLE9BQU8sU0FBUztJQXNCbEIsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFvQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxjQUFjLENBQUMsS0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxPQUFPLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN2QixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO2dCQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFVTyxVQUFVLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLFVBQVUsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQ1ksVUFBc0IsRUFDdEIsUUFBbUI7UUFEbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBN0t2QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWM3QixPQUFPO1FBQ1Asb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVaEIsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztJQXFKdEMsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFlO1FBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6TVEsU0FBUztrR0FBVCxTQUFTLHNLQW1ERSxxQkFBcUIsZ0hBbUVyQixxQkFBcUIsMEhDNUw3Qyx1TkFLQSw0Q0QrRGMsSUFBSSw2RkFBRSxPQUFPLHNNQUFFLE9BQU87OzJGQUV2QixTQUFTO2tCQVhyQixTQUFTOytCQUNJLHFDQUFxQyxpQkFFaEMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsYUFBYTtxQkFDdkIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQzt1R0FvQzdCLFNBQVM7c0JBRFosS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBVUYsVUFBVTtzQkFEYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQWlCdkMsY0FBYztzQkFEakIsS0FBSztnQkFnQkYsT0FBTztzQkFEVixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkEwQk4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJWaWV3SW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYXNzZXJ0SWNvbk9ubHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IHR5cGUgVGh5QnV0dG9uVHlwZSA9XG4gICAgfCAncHJpbWFyeSdcbiAgICB8ICdzZWNvbmRhcnknXG4gICAgfCAnaW5mbydcbiAgICB8ICdvdXRsaW5lLXByaW1hcnknXG4gICAgfCAnb3V0bGluZS1kZWZhdWx0J1xuICAgIHwgJ2RhbmdlcidcbiAgICB8ICdsaW5rJ1xuICAgIHwgJ2xpbmstc2Vjb25kYXJ5J1xuICAgIHwgJ3dhcm5pbmcnXG4gICAgfCAnb3V0bGluZS13YXJuaW5nJ1xuICAgIHwgJ3N1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1zdWNjZXNzJ1xuICAgIHwgJ291dGxpbmUtaW5mbydcbiAgICB8ICdvdXRsaW5lLWRhbmdlcidcbiAgICB8ICdsaW5rLWRhbmdlci13ZWFrJ1xuICAgIHwgJ2xpbmstZGFuZ2VyJ1xuICAgIHwgJ2xpbmstc3VjY2Vzcyc7XG5cbmNvbnN0IGJ0blR5cGVDbGFzc2VzTWFwID0ge1xuICAgIHByaW1hcnk6IFsnYnRuLXByaW1hcnknXSxcbiAgICBzZWNvbmRhcnk6IFsnYnRuLXByaW1hcnknLCAnYnRuLW1kJ10sXG4gICAgaW5mbzogWydidG4taW5mbyddLFxuICAgIHdhcm5pbmc6IFsnYnRuLXdhcm5pbmcnXSxcbiAgICBkYW5nZXI6IFsnYnRuLWRhbmdlciddLFxuICAgICdvdXRsaW5lLXByaW1hcnknOiBbJ2J0bi1vdXRsaW5lLXByaW1hcnknXSxcbiAgICAnb3V0bGluZS1kZWZhdWx0JzogWydidG4tb3V0bGluZS1kZWZhdWx0J10sXG4gICAgbGluazogWydidG4tbGluayddLCAvLyDpk77mjqXmjInpkq5cbiAgICAnbGluay1pbmZvJzogWydidG4tbGluaycsICdidG4tbGluay1pbmZvJ10sIC8vIOW5veeBtemTvuaOpeaMiemSrlxuICAgICdsaW5rLXNlY29uZGFyeSc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstcHJpbWFyeS13ZWFrJ10sIC8vIOW5veeBtemTvuaOpeaMiemSrlxuICAgICdsaW5rLWRhbmdlci13ZWFrJzogWydidG4tbGluaycsICdidG4tbGluay1kYW5nZXItd2VhayddLCAvLyDlub3ngbXljbHpmanmjInpkq5cbiAgICAnbGluay1kYW5nZXInOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlciddLCAvLyDljbHpmanmjInpkq5cbiAgICAnbGluay1zdWNjZXNzJzogWydidG4tbGluaycsICdidG4tbGluay1zdWNjZXNzJ10gLy8g5oiQ5Yqf5oyJ6ZKuXG59O1xuXG5jb25zdCBpY29uT25seUNsYXNzID0gJ3RoeS1idG4taWNvbi1vbmx5JztcblxuLyoqXG4gKiDmk43kvZzmjInpkq7vvIzmlK/mjIHnu4Tku7ZgdGh5LWJ1dHRvbmDlkoxgdGh5QnV0dG9uYOaMh+S7pOS4pOenjeW9ouW8j1xuICogQG5hbWUgdGh5LWJ1dHRvbixbdGh5LWJ1dHRvbl0sW3RoeUJ1dHRvbl1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYnRuIGJ0bidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nQ2xhc3NdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX2xvYWRpbmdUZXh0OiBzdHJpbmc7XG5cbiAgICAvLyDlnIbop5LmlrnlvaJcbiAgICBfaXNSYWRpdXNTcXVhcmUgPSBmYWxzZTtcblxuICAgIGljb25DbGFzczogc3RyaW5nW107XG5cbiAgICBzdmdJY29uTmFtZTogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu57G75Z6L77yM5pSv5oyB5re75Yqg5YmN57yAYG91dGxpbmUtYOWunueOsOe6v+ahhuaMiemSru+8jOaUr+aMgea3u+WKoOWJjee8gGBsaW5rLWDlrp7njrDmjInpkq7pk77mjqVcbiAgICAgKiBAdHlwZSBwcmltYXJ5IHwgaW5mbyB8IHdhcm5pbmcgfCBkYW5nZXIgfCBzdWNjZXNzXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUJ1dHRvbih2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWSjGB0aHlCdXR0b25g5Y+C5pWw5LiA5qC377yM5LiA6Iis5L2/55SoYHRoeUJ1dHRvbmDvvIzkuLrkuoblh4/lsJHlj4LmlbDovpPlhaUsIOW9k+mAmui/h2B0aHktYnV0dG9uYOS9v+eUqOaXtu+8jOWPquiDveS9v+eUqOivpeWPguaVsOaOp+WItuexu+Wei1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QnRuVHlwZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Yqg6L2954q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5fbG9hZGluZyAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3BhbicpO1xuICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdGV4dEVsZW1lbnQgPyB0ZXh0RWxlbWVudC5pbm5lclRleHQgOiAnJztcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXR1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3nirbmgIHml7bmmL7npLrnmoTmlofmoYhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMb2FkaW5nVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nVGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUZXh0ID0gdmFsdWU7XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9hZGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQodGhpcy5fbG9hZGluZ1RleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu5aSn5bCPXG4gICAgICogQHR5cGUgeHMgfCBzbSB8IG1kIHwgZGVmYXVsdCB8IGxnXG4gICAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUoc2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSBzaXplO1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyJ6ZKu5Lit5pi+56S655qE5Zu+5qCH77yM5pSv5oyBU1ZH5Zu+5qCH5ZCN56ew77yM5q+U5aaCYGFuZ2xlLWxlZnRg77yM5Lmf5pSv5oyB5Lyg5LmL5YmN55qEIHd0ZiDlrZfkvZPvvIzmr5TlpoI6IHd0Zi1wbHVzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWNvbiA9IGljb247XG4gICAgICAgIGlmICh0aGlzLl9pY29uKSB7XG4gICAgICAgICAgICBpZiAoaWNvbi5pbmNsdWRlcygnd3RmJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gdGhpcy5faWNvbi5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmIChjbGFzc2VzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnVuc2hpZnQoJ3d0ZicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IGNsYXNzZXM7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3ZnSWNvbk5hbWUgPSBpY29uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7mlbTlnZflsZXnpLpcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuYnRuLWJsb2NrYClcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeUJsb2NrOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzZXRCdG5UeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCctc3F1YXJlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUucmVwbGFjZSgnLXNxdWFyZScsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JhZGl1c1NxdWFyZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdUZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgIGlmIChzcGFuRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzcGFuRWxlbWVudCwgJ2lubmVyVGV4dCcsIHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdHVzKCkge1xuICAgICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLl9sb2FkaW5nID8gdGhpcy5fbG9hZGluZ1RleHQgOiB0aGlzLl9vcmlnaW5hbFRleHQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICBpZiAoaW5uZXJUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdUZXh0KGlubmVyVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4uYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYGJ0bi0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faXNSYWRpdXNTcXVhcmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnYnRuLXNxdWFyZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ2xvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmIChhc3NlcnRJY29uT25seSh0aGlzLm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhpY29uT25seUNsYXNzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JhcFNwYW5Gb3JUZXh0KHRoaXMubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyYXBTcGFuRm9yVGV4dChub2RlczogTm9kZUxpc3QpOiB2b2lkIHtcbiAgICAgICAgbm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZShub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHNwYW4sICd0aHktYnRuLXdyYXAtc3BhbicpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3Bhbiwgbm9kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzcGFuLCBub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPHRoeS1pY29uICpuZ0lmPVwic3ZnSWNvbk5hbWU7IGVsc2UgaWNvbkZvbnRcIiBbdGh5SWNvbk5hbWVdPVwic3ZnSWNvbk5hbWVcIj48L3RoeS1pY29uPlxuPG5nLXRlbXBsYXRlICNpY29uRm9udD5cbiAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCIgKm5nSWY9XCJpY29uQ2xhc3NcIj48L2k+XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQXFCMUMsTUFBTSxpQkFBaUIsR0FBRztJQUN0QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztJQUN0QixpQkFBaUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0lBQzFDLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTztJQUMzQixXQUFXLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUztJQUNyRCxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLFNBQVM7SUFDbEUsa0JBQWtCLEVBQUUs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LENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsYUFBYTtxQkFDdkIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO3VHQW9DdkIsU0FBUztzQkFEWixLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFVRixVQUFVO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBaUJ2QyxjQUFjO3NCQURqQixLQUFLO2dCQWdCRixPQUFPO3NCQURWLEtBQUs7Z0JBWUYsT0FBTztzQkFEVixLQUFLO2dCQTBCTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NlcnRJY29uT25seSwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBUaHlCdXR0b25UeXBlID1cbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ291dGxpbmUtcHJpbWFyeSdcbiAgICB8ICdvdXRsaW5lLWRlZmF1bHQnXG4gICAgfCAnZGFuZ2VyJ1xuICAgIHwgJ2xpbmsnXG4gICAgfCAnbGluay1zZWNvbmRhcnknXG4gICAgfCAnd2FybmluZydcbiAgICB8ICdvdXRsaW5lLXdhcm5pbmcnXG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLXN1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1pbmZvJ1xuICAgIHwgJ291dGxpbmUtZGFuZ2VyJ1xuICAgIHwgJ2xpbmstZGFuZ2VyLXdlYWsnXG4gICAgfCAnbGluay1kYW5nZXInXG4gICAgfCAnbGluay1zdWNjZXNzJztcblxuY29uc3QgYnRuVHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHJpbWFyeTogWydidG4tcHJpbWFyeSddLFxuICAgIHNlY29uZGFyeTogWydidG4tcHJpbWFyeScsICdidG4tbWQnXSxcbiAgICBpbmZvOiBbJ2J0bi1pbmZvJ10sXG4gICAgd2FybmluZzogWydidG4td2FybmluZyddLFxuICAgIGRhbmdlcjogWydidG4tZGFuZ2VyJ10sXG4gICAgJ291dGxpbmUtcHJpbWFyeSc6IFsnYnRuLW91dGxpbmUtcHJpbWFyeSddLFxuICAgICdvdXRsaW5lLWRlZmF1bHQnOiBbJ2J0bi1vdXRsaW5lLWRlZmF1bHQnXSxcbiAgICBsaW5rOiBbJ2J0bi1saW5rJ10sIC8vIOmTvuaOpeaMiemSrlxuICAgICdsaW5rLWluZm8nOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWluZm8nXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstc2Vjb25kYXJ5JzogWydidG4tbGluaycsICdidG4tbGluay1wcmltYXJ5LXdlYWsnXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyLXdlYWsnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlci13ZWFrJ10sIC8vIOW5veeBteWNsemZqeaMiemSrlxuICAgICdsaW5rLWRhbmdlcic6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyJ10sIC8vIOWNsemZqeaMiemSrlxuICAgICdsaW5rLXN1Y2Nlc3MnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXN1Y2Nlc3MnXSAvLyDmiJDlip/mjInpkq5cbn07XG5cbmNvbnN0IGljb25Pbmx5Q2xhc3MgPSAndGh5LWJ0bi1pY29uLW9ubHknO1xuXG4vKipcbiAqIOaTjeS9nOaMiemSru+8jOaUr+aMgee7hOS7tmB0aHktYnV0dG9uYOWSjGB0aHlCdXR0b25g5oyH5Luk5Lik56eN5b2i5byPXG4gKiBAbmFtZSB0aHktYnV0dG9uLFt0aHktYnV0dG9uXSxbdGh5QnV0dG9uXVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJ1dHRvbixbdGh5LWJ1dHRvbl0sW3RoeUJ1dHRvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1idG4gYnRuJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5SWNvbiwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgVGh5QnV0dG9uIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfb3JpZ2luYWxUZXh0OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF90eXBlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9zaXplOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9pY29uOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9sb2FkaW5nOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZ1RleHQ6IHN0cmluZztcblxuICAgIC8vIOWchuinkuaWueW9olxuICAgIF9pc1JhZGl1c1NxdWFyZSA9IGZhbHNlO1xuXG4gICAgaWNvbkNsYXNzOiBzdHJpbmdbXTtcblxuICAgIHN2Z0ljb25OYW1lOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7nsbvlnovvvIzmlK/mjIHmt7vliqDliY3nvIBgb3V0bGluZS1g5a6e546w57q/5qGG5oyJ6ZKu77yM5pSv5oyB5re75Yqg5YmN57yAYGxpbmstYOWunueOsOaMiemSrumTvuaOpVxuICAgICAqIEB0eXBlIHByaW1hcnkgfCBpbmZvIHwgd2FybmluZyB8IGRhbmdlciB8IHN1Y2Nlc3NcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QnV0dG9uKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QnRuVHlwZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5ZKMYHRoeUJ1dHRvbmDlj4LmlbDkuIDmoLfvvIzkuIDoiKzkvb/nlKhgdGh5QnV0dG9uYO+8jOS4uuS6huWHj+WwkeWPguaVsOi+k+WFpSwg5b2T6YCa6L+HYHRoeS1idXR0b25g5L2/55So5pe277yM5Y+q6IO95L2/55So6K+l5Y+C5pWw5o6n5Yi257G75Z6LXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRCdG5UeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3nirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkaW5nICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgICAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB0ZXh0RWxlbWVudCA/IHRleHRFbGVtZW50LmlubmVyVGV4dCA6ICcnO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgeaXtuaYvuekuueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxvYWRpbmdUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RleHQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nVGV4dCh0aGlzLl9sb2FkaW5nVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7lpKflsI9cbiAgICAgKiBAdHlwZSB4cyB8IHNtIHwgbWQgfCBkZWZhdWx0IHwgbGdcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7kuK3mmL7npLrnmoTlm77moIfvvIzmlK/mjIFTVkflm77moIflkI3np7DvvIzmr5TlpoJgYW5nbGUtbGVmdGDvvIzkuZ/mlK/mjIHkvKDkuYvliY3nmoQgd3RmIOWtl+S9k++8jOavlOWmgjogd3RmLXBsdXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgaWYgKHRoaXMuX2ljb24pIHtcbiAgICAgICAgICAgIGlmIChpY29uLmluY2x1ZGVzKCd3dGYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLl9pY29uLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKGNsYXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudW5zaGlmdCgnd3RmJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMiemSruaVtOWdl+WxleekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5idG4tYmxvY2tgKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QmxvY2s6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHNldEJ0blR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJy1zcXVhcmUnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZS5yZXBsYWNlKCctc3F1YXJlJywgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzUmFkaXVzU3F1YXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TG9hZGluZ1RleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKTtcbiAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNwYW5FbGVtZW50LCAnaW5uZXJUZXh0JywgdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IGlubmVyVGV4dCA9IHRoaXMuX2xvYWRpbmcgPyB0aGlzLl9sb2FkaW5nVGV4dCA6IHRoaXMuX29yaWdpbmFsVGV4dDtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIGlmIChpbm5lclRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQoaW5uZXJUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChidG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcyA9IFsuLi5idG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdHlwZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fdHlwZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBidG4tJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pc1JhZGl1c1NxdWFyZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdidG4tc3F1YXJlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbG9hZGluZycpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKGFzc2VydEljb25Pbmx5KHRoaXMubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1idG4td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAaWYgKHN2Z0ljb25OYW1lKSB7XG4gIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwic3ZnSWNvbk5hbWVcIj48L3RoeS1pY29uPlxufSBAZWxzZSB7XG4gIEBpZiAoaWNvbkNsYXNzKSB7XG4gICAgPGkgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCI+PC9pPlxuICB9XG59XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { ThyDateRange } from 'ngx-tethys/date-range';
|
|
|
3
3
|
import { endOfMonth, getUnixTime, startOfMonth, TinyDate } from 'ngx-tethys/util';
|
|
4
4
|
import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
5
5
|
import { ThyButton } from 'ngx-tethys/button';
|
|
6
|
-
import {
|
|
6
|
+
import { NgTemplateOutlet, JsonPipe } from '@angular/common';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/forms";
|
|
@@ -91,11 +91,11 @@ export class ThyCalendarHeader {
|
|
|
91
91
|
this.isCurrent = currentDate.getMonth() !== getMonth(new Date()) || currentDate.getYear() !== getYear(new Date());
|
|
92
92
|
}
|
|
93
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCalendarHeader, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyCalendarHeader, isStandalone: true, selector: "thy-calendar-header", inputs: { currentDate: "currentDate", operationRender: "operationRender" }, outputs: { yearChange: "yearChange", monthChange: "monthChange", dateRangeChange: "dateRangeChange" }, host: { properties: { "class.thy-calendar-full-header-container": "this.className" } }, ngImport: i0, template: "<div class=\"thy-calendar-full-header-left\">\n <thy-date-range\n class=\"select-date-range\"\n [ngModel]=\"date\"\n [thyHiddenMenu]=\"true\"\n [thyCustomKey]=\"'exception'\"\n [thyPickerFormat]=\"pickerFormat\"\n (ngModelChange)=\"onChangeRange($event)\"></thy-date-range>\n @if (isCurrent) {\n <button thyButton=\"outline-default-square\" thySize=\"md\" (click)=\"backToday()\">\u4ECA\u5929</button>\n }\n</div>\n<div class=\"thy-calendar-full-header-right\">\n <ng-container *ngTemplateOutlet=\"$any(operationRender); context: { $implicit: operationRender }\">\n <span>{{ operationRender | json }}</span>\n </ng-container>\n</div>\n", dependencies: [{ kind: "component", type: ThyDateRange, selector: "thy-date-range", inputs: ["thyOptionalDateRanges", "thyHiddenMenu", "thyDisabledSwitch", "thyCustomTextValue", "thyMinDate", "thyMaxDate", "thyCustomKey", "thyPickerFormat", "thyDisabledDate"], outputs: ["thyOnCalendarChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: JsonPipe, name: "json" }] }); }
|
|
95
95
|
}
|
|
96
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCalendarHeader, decorators: [{
|
|
97
97
|
type: Component,
|
|
98
|
-
args: [{ selector: 'thy-calendar-header', standalone: true, imports: [ThyDateRange, FormsModule,
|
|
98
|
+
args: [{ selector: 'thy-calendar-header', standalone: true, imports: [ThyDateRange, FormsModule, ThyButton, NgTemplateOutlet, JsonPipe], template: "<div class=\"thy-calendar-full-header-left\">\n <thy-date-range\n class=\"select-date-range\"\n [ngModel]=\"date\"\n [thyHiddenMenu]=\"true\"\n [thyCustomKey]=\"'exception'\"\n [thyPickerFormat]=\"pickerFormat\"\n (ngModelChange)=\"onChangeRange($event)\"></thy-date-range>\n @if (isCurrent) {\n <button thyButton=\"outline-default-square\" thySize=\"md\" (click)=\"backToday()\">\u4ECA\u5929</button>\n }\n</div>\n<div class=\"thy-calendar-full-header-right\">\n <ng-container *ngTemplateOutlet=\"$any(operationRender); context: { $implicit: operationRender }\">\n <span>{{ operationRender | json }}</span>\n </ng-container>\n</div>\n" }]
|
|
99
99
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { className: [{
|
|
100
100
|
type: HostBinding,
|
|
101
101
|
args: ['class.thy-calendar-full-header-container']
|
|
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
110
110
|
}], dateRangeChange: [{
|
|
111
111
|
type: Output
|
|
112
112
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFxQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRTdDOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8saUJBQWlCO0lBRzFCOztPQUVHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBZTtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUEyQ0QsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFuRGUsY0FBUyxHQUFHLElBQUksQ0FBQztRQWUxRTs7V0FFRztRQUNnQixlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekU7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxRTs7V0FFRztRQUNnQixvQkFBZSxHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxGLGlCQUFZLEdBQUcsVUFBVSxDQUFDO1FBRTFCLGVBQVUsR0FBd0I7WUFDckM7Z0JBQ0ksR0FBRyxFQUFFLE9BQU87Z0JBQ1osSUFBSSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDNUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxTQUFTLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxFQUFFLE9BQU87aUJBQ2hCO2FBQ0o7U0FDSixDQUFDO0lBUTJDLENBQUM7SUFFOUMsUUFBUSxLQUFVLENBQUM7SUFFbkIsYUFBYSxDQUFDLEtBQXdCO1FBQ2xDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUF1QjtRQUNoQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBNEI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBZTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE1BQU0sU0FBUyxHQUFHO2dCQUNkLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLEdBQUcsRUFBRSxXQUFXO2dCQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDakQsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDOUQsR0FBRyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQXFCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEgsQ0FBQzs4R0FwR1EsaUJBQWlCO2tHQUFqQixpQkFBaUIsMFZDcEI5QixrcEJBZUEsNENER2MsWUFBWSw2UUFBRSxXQUFXLCtWQUFFLElBQUksNkZBQUUsU0FBUyxvTEFBRSxnQkFBZ0IsK0lBQUUsUUFBUTs7MkZBRXZFLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDSSxxQkFBcUIsY0FFbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQztzRkFHeEIsU0FBUztzQkFBakUsV0FBVzt1QkFBQywwQ0FBMEM7Z0JBTW5ELFdBQVc7c0JBRGQsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQUthLFVBQVU7c0JBQTVCLE1BQU07Z0JBS1ksV0FBVztzQkFBN0IsTUFBTTtnQkFLWSxlQUFlO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbVVuaXhUaW1lLCBnZXRNb250aCwgZ2V0WWVhciB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW1JbmZvLCBUaHlEYXRlUmFuZ2UgfSBmcm9tICduZ3gtdGV0aHlzL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgZW5kT2ZNb250aCwgRnVuY3Rpb25Qcm9wLCBnZXRVbml4VGltZSwgc3RhcnRPZk1vbnRoLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUJ1dHRvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIOaXpeWOhuWktOmDqOaTjeS9nOagj+e7hOS7tlxuICogQG5hbWUgdGh5LWNhbGVuZGFyLWhlYWRlclxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhbGVuZGFyLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5RGF0ZVJhbmdlLCBGb3Jtc01vZHVsZSwgTmdJZiwgVGh5QnV0dG9uLCBOZ1RlbXBsYXRlT3V0bGV0LCBKc29uUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FsZW5kYXJIZWFkZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLWZ1bGwtaGVhZGVyLWNvbnRhaW5lcicpIGNsYXNzTmFtZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlvZPliY3pgInkuK3ml6XmnJ9cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjdXJyZW50RGF0ZSh2YWx1ZTogVGlueURhdGUpIHtcbiAgICAgICAgdGhpcy5zZXREYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcdOiHquWumuS5iea4suafk+WPs+S+p+aTjeS9nOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9wZXJhdGlvblJlbmRlcjogRnVuY3Rpb25Qcm9wPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgLyoqXG4gICAgICog5pel5pyf6YCJ5oup6IyD5Zu077yI5bm077yJ5Y+R55Sf5Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHllYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICog5pel5pyf6YCJ5oup6IyD5Zu077yI5pyI77yJ5Y+R55Sf5Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG1vbnRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+mAieaLqeiMg+WbtO+8iOaXpeacn++8ieWPkeeUn+WPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBkYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2VJdGVtSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgcGlja2VyRm9ybWF0ID0gJ3l5eXnlubRNTeaciCc7XG5cbiAgICBwdWJsaWMgZGF0ZVJhbmdlczogRGF0ZVJhbmdlSXRlbUluZm9bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnbW9udGgnLFxuICAgICAgICAgICAgdGV4dDogbmV3IFRpbnlEYXRlKCkuZm9ybWF0KHRoaXMucGlja2VyRm9ybWF0KSxcbiAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShzdGFydE9mTW9udGgobmV3IERhdGUoKSkpLFxuICAgICAgICAgICAgZW5kOiBnZXRVbml4VGltZShlbmRPZk1vbnRoKG5ldyBEYXRlKCkpKSxcbiAgICAgICAgICAgIHRpbWVzdGFtcDoge1xuICAgICAgICAgICAgICAgIGludGVydmFsOiAxLFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdtb250aCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwdWJsaWMgZGF0ZTogRGF0ZVJhbmdlSXRlbUluZm87XG5cbiAgICBwcml2YXRlIF9jdXJyZW50RGF0ZTogVGlueURhdGU7XG5cbiAgICBwdWJsaWMgaXNDdXJyZW50OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgb25DaGFuZ2VNb250aChtb250aDogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgY29uc3QgY3VycmVudE1vbnRoID0gZnJvbVVuaXhUaW1lKG1vbnRoLmJlZ2luKS5nZXRNb250aCgpO1xuICAgICAgICB0aGlzLm1vbnRoQ2hhbmdlLmVtaXQoY3VycmVudE1vbnRoKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZVllYXIoeWVhcjogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgY29uc3QgY3VycmVudFllYXIgPSBmcm9tVW5peFRpbWUoeWVhci5iZWdpbikuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy55ZWFyQ2hhbmdlLmVtaXQoY3VycmVudFllYXIpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlUmFuZ2UoZGF0ZVJhbmdlOiBEYXRlUmFuZ2VJdGVtSW5mbykge1xuICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUodGhpcy5fY3VycmVudERhdGUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlWWVhcihkYXRlUmFuZ2UpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlTW9udGgoZGF0ZVJhbmdlKTtcbiAgICAgICAgdGhpcy5kYXRlUmFuZ2VDaGFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xuICAgIH1cblxuICAgIGJhY2tUb2RheSgpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudERhdGUgPSBuZXcgVGlueURhdGUoKTtcbiAgICAgICAgdGhpcy5kYXRlID0geyAuLi50aGlzLmRhdGVSYW5nZXNbMF0gfTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVJhbmdlKHRoaXMuZGF0ZSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZXREYXRlKHZhbHVlOiBUaW55RGF0ZSkge1xuICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnREYXRlID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCBkYXRlUmFuZ2UgPSB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5kYXRlUmFuZ2VzWzBdLFxuICAgICAgICAgICAgICAgIGtleTogJ2V4Y2VwdGlvbicsXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5fY3VycmVudERhdGUuZm9ybWF0KHRoaXMucGlja2VyRm9ybWF0KSxcbiAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoc3RhcnRPZk1vbnRoKHRoaXMuX2N1cnJlbnREYXRlLm5hdGl2ZURhdGUpKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGVuZE9mTW9udGgodGhpcy5fY3VycmVudERhdGUubmF0aXZlRGF0ZSkpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gZGF0ZVJhbmdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudERhdGUgPSBuZXcgVGlueURhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IHsgLi4udGhpcy5kYXRlUmFuZ2VzWzBdIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0N1cnJlbnREYXRlKGN1cnJlbnREYXRlOiBUaW55RGF0ZSkge1xuICAgICAgICB0aGlzLmlzQ3VycmVudCA9IGN1cnJlbnREYXRlLmdldE1vbnRoKCkgIT09IGdldE1vbnRoKG5ldyBEYXRlKCkpIHx8IGN1cnJlbnREYXRlLmdldFllYXIoKSAhPT0gZ2V0WWVhcihuZXcgRGF0ZSgpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWNhbGVuZGFyLWZ1bGwtaGVhZGVyLWxlZnRcIj5cbiAgPHRoeS1kYXRlLXJhbmdlXG4gICAgY2xhc3M9XCJzZWxlY3QtZGF0ZS1yYW5nZVwiXG4gICAgW25nTW9kZWxdPVwiZGF0ZVwiXG4gICAgW3RoeUhpZGRlbk1lbnVdPVwidHJ1ZVwiXG4gICAgW3RoeUN1c3RvbUtleV09XCInZXhjZXB0aW9uJ1wiXG4gICAgW3RoeVBpY2tlckZvcm1hdF09XCJwaWNrZXJGb3JtYXRcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlUmFuZ2UoJGV2ZW50KVwiPjwvdGh5LWRhdGUtcmFuZ2U+XG4gIDxidXR0b24gKm5nSWY9XCJpc0N1cnJlbnRcIiB0aHlCdXR0b249XCJvdXRsaW5lLWRlZmF1bHQtc3F1YXJlXCIgdGh5U2l6ZT1cIm1kXCIgKGNsaWNrKT1cImJhY2tUb2RheSgpXCI+5LuK5aSpPC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktY2FsZW5kYXItZnVsbC1oZWFkZXItcmlnaHRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIiRhbnkob3BlcmF0aW9uUmVuZGVyKTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wZXJhdGlvblJlbmRlciB9XCI+XG4gICAgPHNwYW4+e3sgb3BlcmF0aW9uUmVuZGVyIHwganNvbiB9fTwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFxQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFN0M7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxpQkFBaUI7SUFHMUI7O09BRUc7SUFDSCxJQUNJLFdBQVcsQ0FBQyxLQUFlO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQTJDRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5EZSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBZTFFOztXQUVHO1FBQ2dCLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6RTs7V0FFRztRQUNnQixnQkFBVyxH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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsV0FBcUI7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxFQUFFLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0SCxDQUFDOzhHQXBHUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwVkNwQjlCLHdwQkFpQkEsNENEQ2MsWUFBWSw2UUFBRSxXQUFXLCtWQUFFLFNBQVMsb0xBQUUsZ0JBQWdCLCtJQUFFLFFBQVE7OzJGQUVqRSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0kscUJBQXFCLGNBRW5CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQztzRkFHbEIsU0FBUztzQkFBakUsV0FBVzt1QkFBQywwQ0FBMEM7Z0JBTW5ELFdBQVc7c0JBRGQsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQUthLFVBQVU7c0JBQTVCLE1BQU07Z0JBS1ksV0FBVztzQkFBN0IsTUFBTTtnQkFLWSxlQUFlO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbVVuaXhUaW1lLCBnZXRNb250aCwgZ2V0WWVhciB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW1JbmZvLCBUaHlEYXRlUmFuZ2UgfSBmcm9tICduZ3gtdGV0aHlzL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgZW5kT2ZNb250aCwgRnVuY3Rpb25Qcm9wLCBnZXRVbml4VGltZSwgc3RhcnRPZk1vbnRoLCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUJ1dHRvbiB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIOaXpeWOhuWktOmDqOaTjeS9nOagj+e7hOS7tlxuICogQG5hbWUgdGh5LWNhbGVuZGFyLWhlYWRlclxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhbGVuZGFyLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5RGF0ZVJhbmdlLCBGb3Jtc01vZHVsZSwgVGh5QnV0dG9uLCBOZ1RlbXBsYXRlT3V0bGV0LCBKc29uUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FsZW5kYXJIZWFkZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLWZ1bGwtaGVhZGVyLWNvbnRhaW5lcicpIGNsYXNzTmFtZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlvZPliY3pgInkuK3ml6XmnJ9cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjdXJyZW50RGF0ZSh2YWx1ZTogVGlueURhdGUpIHtcbiAgICAgICAgdGhpcy5zZXREYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcdOiHquWumuS5iea4suafk+WPs+S+p+aTjeS9nOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9wZXJhdGlvblJlbmRlcjogRnVuY3Rpb25Qcm9wPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgLyoqXG4gICAgICog5pel5pyf6YCJ5oup6IyD5Zu077yI5bm077yJ5Y+R55Sf5Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHllYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICog5pel5pyf6YCJ5oup6IyD5Zu077yI5pyI77yJ5Y+R55Sf5Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG1vbnRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+mAieaLqeiMg+WbtO+8iOaXpeacn++8ieWPkeeUn+WPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBkYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2VJdGVtSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgcGlja2VyRm9ybWF0ID0gJ3l5eXnlubRNTeaciCc7XG5cbiAgICBwdWJsaWMgZGF0ZVJhbmdlczogRGF0ZVJhbmdlSXRlbUluZm9bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnbW9udGgnLFxuICAgICAgICAgICAgdGV4dDogbmV3IFRpbnlEYXRlKCkuZm9ybWF0KHRoaXMucGlja2VyRm9ybWF0KSxcbiAgICAgICAgICAgIGJlZ2luOiBnZXRVbml4VGltZShzdGFydE9mTW9udGgobmV3IERhdGUoKSkpLFxuICAgICAgICAgICAgZW5kOiBnZXRVbml4VGltZShlbmRPZk1vbnRoKG5ldyBEYXRlKCkpKSxcbiAgICAgICAgICAgIHRpbWVzdGFtcDoge1xuICAgICAgICAgICAgICAgIGludGVydmFsOiAxLFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdtb250aCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwdWJsaWMgZGF0ZTogRGF0ZVJhbmdlSXRlbUluZm87XG5cbiAgICBwcml2YXRlIF9jdXJyZW50RGF0ZTogVGlueURhdGU7XG5cbiAgICBwdWJsaWMgaXNDdXJyZW50OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgb25DaGFuZ2VNb250aChtb250aDogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgY29uc3QgY3VycmVudE1vbnRoID0gZnJvbVVuaXhUaW1lKG1vbnRoLmJlZ2luKS5nZXRNb250aCgpO1xuICAgICAgICB0aGlzLm1vbnRoQ2hhbmdlLmVtaXQoY3VycmVudE1vbnRoKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZVllYXIoeWVhcjogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgY29uc3QgY3VycmVudFllYXIgPSBmcm9tVW5peFRpbWUoeWVhci5iZWdpbikuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy55ZWFyQ2hhbmdlLmVtaXQoY3VycmVudFllYXIpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlUmFuZ2UoZGF0ZVJhbmdlOiBEYXRlUmFuZ2VJdGVtSW5mbykge1xuICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUodGhpcy5fY3VycmVudERhdGUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlWWVhcihkYXRlUmFuZ2UpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlTW9udGgoZGF0ZVJhbmdlKTtcbiAgICAgICAgdGhpcy5kYXRlUmFuZ2VDaGFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xuICAgIH1cblxuICAgIGJhY2tUb2RheSgpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudERhdGUgPSBuZXcgVGlueURhdGUoKTtcbiAgICAgICAgdGhpcy5kYXRlID0geyAuLi50aGlzLmRhdGVSYW5nZXNbMF0gfTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVJhbmdlKHRoaXMuZGF0ZSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZXREYXRlKHZhbHVlOiBUaW55RGF0ZSkge1xuICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnREYXRlID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCBkYXRlUmFuZ2UgPSB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5kYXRlUmFuZ2VzWzBdLFxuICAgICAgICAgICAgICAgIGtleTogJ2V4Y2VwdGlvbicsXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5fY3VycmVudERhdGUuZm9ybWF0KHRoaXMucGlja2VyRm9ybWF0KSxcbiAgICAgICAgICAgICAgICBiZWdpbjogZ2V0VW5peFRpbWUoc3RhcnRPZk1vbnRoKHRoaXMuX2N1cnJlbnREYXRlLm5hdGl2ZURhdGUpKSxcbiAgICAgICAgICAgICAgICBlbmQ6IGdldFVuaXhUaW1lKGVuZE9mTW9udGgodGhpcy5fY3VycmVudERhdGUubmF0aXZlRGF0ZSkpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5kYXRlID0gZGF0ZVJhbmdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudERhdGUgPSBuZXcgVGlueURhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IHsgLi4udGhpcy5kYXRlUmFuZ2VzWzBdIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0N1cnJlbnREYXRlKGN1cnJlbnREYXRlOiBUaW55RGF0ZSkge1xuICAgICAgICB0aGlzLmlzQ3VycmVudCA9IGN1cnJlbnREYXRlLmdldE1vbnRoKCkgIT09IGdldE1vbnRoKG5ldyBEYXRlKCkpIHx8IGN1cnJlbnREYXRlLmdldFllYXIoKSAhPT0gZ2V0WWVhcihuZXcgRGF0ZSgpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWNhbGVuZGFyLWZ1bGwtaGVhZGVyLWxlZnRcIj5cbiAgPHRoeS1kYXRlLXJhbmdlXG4gICAgY2xhc3M9XCJzZWxlY3QtZGF0ZS1yYW5nZVwiXG4gICAgW25nTW9kZWxdPVwiZGF0ZVwiXG4gICAgW3RoeUhpZGRlbk1lbnVdPVwidHJ1ZVwiXG4gICAgW3RoeUN1c3RvbUtleV09XCInZXhjZXB0aW9uJ1wiXG4gICAgW3RoeVBpY2tlckZvcm1hdF09XCJwaWNrZXJGb3JtYXRcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVJhbmdlKCRldmVudClcIj48L3RoeS1kYXRlLXJhbmdlPlxuICBAaWYgKGlzQ3VycmVudCkge1xuICAgIDxidXR0b24gdGh5QnV0dG9uPVwib3V0bGluZS1kZWZhdWx0LXNxdWFyZVwiIHRoeVNpemU9XCJtZFwiIChjbGljayk9XCJiYWNrVG9kYXkoKVwiPuS7iuWkqTwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktY2FsZW5kYXItZnVsbC1oZWFkZXItcmlnaHRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIiRhbnkob3BlcmF0aW9uUmVuZGVyKTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wZXJhdGlvblJlbmRlciB9XCI+XG4gICAgPHNwYW4+e3sgb3BlcmF0aW9uUmVuZGVyIHwganNvbiB9fTwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -3,7 +3,6 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Ev
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { ThyCalendarHeaderOperationDirective as HeaderOperation, ThyDateCellDirective as DateCell } from './calendar-cells';
|
|
5
5
|
import { DateTable, MonthTable } from 'ngx-tethys/date-picker';
|
|
6
|
-
import { NgIf } from '@angular/common';
|
|
7
6
|
import { ThyCalendarHeader } from './calendar-header.component';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
/**
|
|
@@ -86,11 +85,11 @@ export class ThyCalendar {
|
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
87
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCalendar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyCalendar, isStandalone: true, selector: "thy-calendar", inputs: { thyMode: "thyMode", thyValue: "thyValue", thyDisabledDate: "thyDisabledDate", thyDateCell: "thyDateCell", thyCalendarHeaderOperation: "thyCalendarHeaderOperation" }, outputs: { thySelectChange: "thySelectChange", thyValueChange: "thyValueChange", thyDateRangeChange: "thyDateRangeChange" }, host: { properties: { "class.thy-calendar-container": "this.className", "class.thy-calendar-full": "this.className1" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ThyCalendar), multi: true }], queries: [{ propertyName: "thyDateCellChild", first: true, predicate: DateCell, descendants: true, read: TemplateRef }, { propertyName: "thyCalendarHeaderOperationChild", first: true, predicate: HeaderOperation, descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<thy-calendar-header\n [operationRender]=\"headerOperation\"\n (monthChange)=\"onMonthSelect($event)\"\n (yearChange)=\"onYearSelect($event)\"\n (dateRangeChange)=\"onDateRangeSelect($event)\"\n [currentDate]=\"currentDate\"\n></thy-calendar-header>\n\n<div class=\"thy-calendar-panel\">\n <div class=\"thy-calendar-{{ thyMode === 'month' ? 'date' : 'month' }}-panel\">\n <div class=\"thy-calendar-body\">\n @if (thyMode === 'month') {\n <date-table\n [prefixCls]=\"prefixCls\"\n [value]=\"currentDate\"\n [activeDate]=\"currentDate\"\n [selectedValue]=\"currentDate\"\n [cellRender]=\"dateCell\"\n [disabledDate]=\"thyDisabledDate\"\n (valueChange)=\"onDateSelect($event)\"\n ></date-table>\n } @else {\n <month-table [value]=\"currentDate\" [disabledDate]=\"thyDisabledDate\" (valueChange)=\"onDateSelect($event)\"></month-table>\n }\n </div>\n </div>\n</div>\n\n", dependencies: [{ kind: "component", type: ThyCalendarHeader, selector: "thy-calendar-header", inputs: ["currentDate", "operationRender"], outputs: ["yearChange", "monthChange", "dateRangeChange"] }, { kind: "component", type: DateTable, selector: "date-table", outputs: ["dayHover"], exportAs: ["dateTable"] }, { kind: "component", type: MonthTable, selector: "month-table", exportAs: ["monthTable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
90
89
|
}
|
|
91
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCalendar, decorators: [{
|
|
92
91
|
type: Component,
|
|
93
|
-
args: [{ selector: 'thy-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ThyCalendar), multi: true }], standalone: true, imports: [ThyCalendarHeader,
|
|
92
|
+
args: [{ selector: 'thy-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ThyCalendar), multi: true }], standalone: true, imports: [ThyCalendarHeader, DateTable, MonthTable], template: "<thy-calendar-header\n [operationRender]=\"headerOperation\"\n (monthChange)=\"onMonthSelect($event)\"\n (yearChange)=\"onYearSelect($event)\"\n (dateRangeChange)=\"onDateRangeSelect($event)\"\n [currentDate]=\"currentDate\"\n></thy-calendar-header>\n\n<div class=\"thy-calendar-panel\">\n <div class=\"thy-calendar-{{ thyMode === 'month' ? 'date' : 'month' }}-panel\">\n <div class=\"thy-calendar-body\">\n @if (thyMode === 'month') {\n <date-table\n [prefixCls]=\"prefixCls\"\n [value]=\"currentDate\"\n [activeDate]=\"currentDate\"\n [selectedValue]=\"currentDate\"\n [cellRender]=\"dateCell\"\n [disabledDate]=\"thyDisabledDate\"\n (valueChange)=\"onDateSelect($event)\"\n ></date-table>\n } @else {\n <month-table [value]=\"currentDate\" [disabledDate]=\"thyDisabledDate\" (valueChange)=\"onDateSelect($event)\"></month-table>\n }\n </div>\n </div>\n</div>\n\n" }]
|
|
94
93
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { className: [{
|
|
95
94
|
type: HostBinding,
|
|
96
95
|
args: ['class.thy-calendar-container']
|
|
@@ -120,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
120
119
|
type: ContentChild,
|
|
121
120
|
args: [HeaderOperation, { read: TemplateRef }]
|
|
122
121
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLGVBQWUsRUFBRSxvQkFBb0IsSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLaEU7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxXQUFXO0lBNkNwQixJQUFJLFFBQVE7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUUsQ0FBQztJQUN4RCxDQUFDO0lBV0QsSUFBSSxlQUFlO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsSUFBSSxJQUFJLENBQUMsK0JBQStCLENBQUUsQ0FBQztJQUN0RixDQUFDO0lBVUQsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdB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QVEsMkJBQVUsV0FBVywrRUFhN0IsZUFBZSwyQkFBVSxXQUFXLGtEQ3BHdEQsbWlDQThCQSw0Q0RXYyxpQkFBaUIsdUtBQUUsSUFBSSw2RkFBRSxTQUFTLHVHQUFFLFVBQVU7OzJGQUUvQyxXQUFXO2tCQVR2QixTQUFTOytCQUNJLGNBQWMsaUJBRVQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxjQUN4RixJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQztzRkFHWixTQUFTO3NCQUFyRCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFFSCxVQUFVO3NCQUFqRCxXQUFXO3VCQUFDLHlCQUF5QjtnQkFNN0IsT0FBTztzQkFBZixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFLSSxlQUFlO3NCQUF4QixNQUFNO2dCQUtHLGNBQWM7c0JBQXZCLE1BQU07Z0JBS0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUtFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS3lDLGdCQUFnQjtzQkFBOUQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQVFwQywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBS2dELCtCQUErQjtzQkFBcEYsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVJhbmdlSXRlbUluZm8gfSBmcm9tICduZ3gtdGV0aHlzL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgVGlueURhdGUgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUaHlDYWxlbmRhckhlYWRlck9wZXJhdGlvbkRpcmVjdGl2ZSBhcyBIZWFkZXJPcGVyYXRpb24sIFRoeURhdGVDZWxsRGlyZWN0aXZlIGFzIERhdGVDZWxsIH0gZnJvbSAnLi9jYWxlbmRhci1jZWxscyc7XG5pbXBvcnQgeyBEYXRlVGFibGUsIE1vbnRoVGFibGUgfSBmcm9tICduZ3gtdGV0aHlzL2RhdGUtcGlja2VyJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5Q2FsZW5kYXJIZWFkZXIgfSBmcm9tICcuL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBDYWxlbmRhck1vZGUgPSAnbW9udGgnIHwgJ3llYXInO1xudHlwZSBDYWxlbmRhckRhdGVUZW1wbGF0ZSA9IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBEYXRlIH0+O1xuXG4vKipcbiAqIOaXpeWOhue7hOS7tlxuICogQG5hbWUgdGh5LWNhbGVuZGFyXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlDYWxlbmRhciksIG11bHRpOiB0cnVlIH1dLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeUNhbGVuZGFySGVhZGVyLCBOZ0lmLCBEYXRlVGFibGUsIE1vbnRoVGFibGVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhbGVuZGFyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLWNvbnRhaW5lcicpIGNsYXNzTmFtZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYWxlbmRhci1mdWxsJykgY2xhc3NOYW1lMSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrmqKHlvI9cbiAgICAgKiBAdHlwZSBtb250aCB8IHllYXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlNb2RlOiBDYWxlbmRhck1vZGUgPSAnbW9udGgnO1xuXG4gICAgLyoqXG4gICAgICog77yI5Y+v5Y+M5ZCR57uR5a6a77yJ5bGV56S65pel5pyf77yM6buY6K6k5Li65b2T5YmN5pel5pyfXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VmFsdWU/OiBEYXRlO1xuXG4gICAgLyoqXG4gICAgICog5LiN5Y+v6YCJ5oup55qE5pel5pyfXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGlzYWJsZWREYXRlPzogKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDml6XmnJ/pgInmi6nlj5jljJbnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5U2VsZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDml6XmnJ/pgInmi6nlj5jljJbnmoTlm57osINcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5VmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+mAieaLqeiMg+WbtOWPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlEYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2VJdGVtSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDvvIjlj6/kvZzkuLrlhoXlrrnvvInoh6rlrprkuYnmuLLmn5Pml6XmnJ/ljZXlhYPmoLzvvIzmqKHmnb/lhoXlrrnkvJrooqvov73liqDliLDljZXlhYPmoLxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEYXRlQ2VsbD86IENhbGVuZGFyRGF0ZVRlbXBsYXRlO1xuXG4gICAgLyoqXG4gICAgICogIOi/veWKoOWIsOWNleWFg+agvOeahOiHquWumuS5ieaooeadv1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRGF0ZUNlbGwsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGh5RGF0ZUNlbGxDaGlsZD86IENhbGVuZGFyRGF0ZVRlbXBsYXRlO1xuICAgIGdldCBkYXRlQ2VsbCgpOiBDYWxlbmRhckRhdGVUZW1wbGF0ZSB7XG4gICAgICAgIHJldHVybiAodGhpcy50aHlEYXRlQ2VsbCB8fCB0aGlzLnRoeURhdGVDZWxsQ2hpbGQpITtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDvvIjlj6/kvZzkuLrlhoXlrrnvvInoh6rlrprkuYnmuLLmn5Plj7PkuIrop5Lmk43kvZzpoblcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDYWxlbmRhckhlYWRlck9wZXJhdGlvbj86IENhbGVuZGFyRGF0ZVRlbXBsYXRlO1xuXG4gICAgLyoqXG4gICAgICog5Y+z5LiK6KeS5pON5L2c6aG555qE6Ieq5a6a5LmJ5qih5p2/XG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChIZWFkZXJPcGVyYXRpb24sIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGh5Q2FsZW5kYXJIZWFkZXJPcGVyYXRpb25DaGlsZD86IENhbGVuZGFyRGF0ZVRlbXBsYXRlO1xuICAgIGdldCBoZWFkZXJPcGVyYXRpb24oKTogQ2FsZW5kYXJEYXRlVGVtcGxhdGUge1xuICAgICAgICByZXR1cm4gKHRoaXMudGh5Q2FsZW5kYXJIZWFkZXJPcGVyYXRpb24gfHwgdGhpcy50aHlDYWxlbmRhckhlYWRlck9wZXJhdGlvbkNoaWxkKSE7XG4gICAgfVxuXG4gICAgcHVibGljIGN1cnJlbnREYXRlID0gbmV3IFRpbnlEYXRlKCk7XG5cbiAgICBwdWJsaWMgcHJlZml4Q2xzID0gJ3RoeS1jYWxlbmRhci1mdWxsJztcblxuICAgIHByaXZhdGUgb25DaGFuZ2VGbjogKGRhdGU6IERhdGUpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgb25Ub3VjaEZuOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBvblllYXJTZWxlY3QoeWVhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmN1cnJlbnREYXRlLnNldFllYXIoeWVhcik7XG4gICAgICAgIHRoaXMudXBkYXRlRGF0ZShkYXRlKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoU2VsZWN0KG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuY3VycmVudERhdGUuc2V0TW9udGgobW9udGgpO1xuICAgICAgICB0aGlzLnVwZGF0ZURhdGUoZGF0ZSk7XG4gICAgfVxuXG4gICAgb25EYXRlU2VsZWN0KGRhdGU6IFRpbnlEYXRlKTogdm9pZCB7XG4gICAgICAgIC8vIE9ubHkgY3VycmVudERhdGUgaXMgZW5vdWdoIGluIGNhbGVuZGFyXG4gICAgICAgIC8vIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgICAgICB0aGlzLnVwZGF0ZURhdGUoZGF0ZSk7XG4gICAgfVxuXG4gICAgb25EYXRlUmFuZ2VTZWxlY3QoZGF0ZTogRGF0ZVJhbmdlSXRlbUluZm8pIHtcbiAgICAgICAgdGhpcy50aHlEYXRlUmFuZ2VDaGFuZ2UuZW1pdChkYXRlKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZURhdGUobmV3IFRpbnlEYXRlKHZhbHVlIGFzIERhdGUpLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChkYXRlOiBEYXRlKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaEZuID0gZm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEYXRlKGRhdGU6IFRpbnlEYXRlLCB0b3VjaGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gZGF0ZTtcblxuICAgICAgICBpZiAodG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuKGRhdGUubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hGbigpO1xuICAgICAgICAgICAgdGhpcy50aHlTZWxlY3RDaGFuZ2UuZW1pdChkYXRlLm5hdGl2ZURhdGUpO1xuICAgICAgICAgICAgdGhpcy50aHlWYWx1ZUNoYW5nZS5lbWl0KGRhdGUubmF0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZURhdGUobmV3IFRpbnlEYXRlKHRoaXMudGh5VmFsdWUpLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dGh5LWNhbGVuZGFyLWhlYWRlclxuICBbb3BlcmF0aW9uUmVuZGVyXT1cImhlYWRlck9wZXJhdGlvblwiXG4gIChtb250aENoYW5nZSk9XCJvbk1vbnRoU2VsZWN0KCRldmVudClcIlxuICAoeWVhckNoYW5nZSk9XCJvblllYXJTZWxlY3QoJGV2ZW50KVwiXG4gIChkYXRlUmFuZ2VDaGFuZ2UpPVwib25EYXRlUmFuZ2VTZWxlY3QoJGV2ZW50KVwiXG4gIFtjdXJyZW50RGF0ZV09XCJjdXJyZW50RGF0ZVwiXG4+PC90aHktY2FsZW5kYXItaGVhZGVyPlxuXG48ZGl2IGNsYXNzPVwidGh5LWNhbGVuZGFyLXBhbmVsXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktY2FsZW5kYXIte3sgdGh5TW9kZSA9PT0gJ21vbnRoJyA/ICdkYXRlJyA6ICdtb250aCcgfX0tcGFuZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGh5LWNhbGVuZGFyLWJvZHlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlNb2RlID09PSAnbW9udGgnOyB0aGVuIG1vbnRoTW9kZVRhYmxlOyBlbHNlIHllYXJNb2RlVGFibGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjbW9udGhNb2RlVGFibGU+XG4gIDxkYXRlLXRhYmxlXG4gICAgW3ByZWZpeENsc109XCJwcmVmaXhDbHNcIlxuICAgIFt2YWx1ZV09XCJjdXJyZW50RGF0ZVwiXG4gICAgW2FjdGl2ZURhdGVdPVwiY3VycmVudERhdGVcIlxuICAgIFtzZWxlY3RlZFZhbHVlXT1cImN1cnJlbnREYXRlXCJcbiAgICBbY2VsbFJlbmRlcl09XCJkYXRlQ2VsbFwiXG4gICAgW2Rpc2FibGVkRGF0ZV09XCJ0aHlEaXNhYmxlZERhdGVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVTZWxlY3QoJGV2ZW50KVwiXG4gID48L2RhdGUtdGFibGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3llYXJNb2RlVGFibGU+XG4gIDxtb250aC10YWJsZSBbdmFsdWVdPVwiY3VycmVudERhdGVcIiBbZGlzYWJsZWREYXRlXT1cInRoeURpc2FibGVkRGF0ZVwiICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVTZWxlY3QoJGV2ZW50KVwiPjwvbW9udGgtdGFibGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLGVBQWUsRUFBRSxvQkFBb0IsSUFBSSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUtoRTs7OztHQUlHO0FBVUgsTUFBTSxPQUFPLFdBQVc7SUE2Q3BCLElBQUksUUFBUTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDO0lBQ3hELENBQUM7SUFXRCxJQUFJLGVBQWU7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBRSxDQUFDO0lBQ3RGLENBQUM7SUFVRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJFRyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGVB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RCxtOUJBNEJBLDRDRGFjLGlCQUFpQix1S0FBRSxTQUFTLHVHQUFFLFVBQVU7OzJGQUV6QyxXQUFXO2tCQVR2QixTQUFTOytCQUNJLGNBQWMsaUJBRVQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxjQUN4RixJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDO3NGQUdOLFNBQVM7c0JBQXJELFdBQVc7dUJBQUMsOEJBQThCO2dCQUVILFVBQVU7c0JBQWpELFdBQVc7dUJBQUMseUJBQXlCO2dCQU03QixPQUFPO3NCQUFmLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtJLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0csY0FBYztzQkFBdkIsTUFBTTtnQkFLRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0UsV0FBVztzQkFBbkIsS0FBSztnQkFLeUMsZ0JBQWdCO3NCQUE5RCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBUXBDLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFLZ0QsK0JBQStCO3NCQUFwRixZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUmFuZ2VJdGVtSW5mbyB9IGZyb20gJ25neC10ZXRoeXMvZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoeUNhbGVuZGFySGVhZGVyT3BlcmF0aW9uRGlyZWN0aXZlIGFzIEhlYWRlck9wZXJhdGlvbiwgVGh5RGF0ZUNlbGxEaXJlY3RpdmUgYXMgRGF0ZUNlbGwgfSBmcm9tICcuL2NhbGVuZGFyLWNlbGxzJztcbmltcG9ydCB7IERhdGVUYWJsZSwgTW9udGhUYWJsZSB9IGZyb20gJ25neC10ZXRoeXMvZGF0ZS1waWNrZXInO1xuXG5pbXBvcnQgeyBUaHlDYWxlbmRhckhlYWRlciB9IGZyb20gJy4vY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIENhbGVuZGFyTW9kZSA9ICdtb250aCcgfCAneWVhcic7XG50eXBlIENhbGVuZGFyRGF0ZVRlbXBsYXRlID0gVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IERhdGUgfT47XG5cbi8qKlxuICog5pel5Y6G57uE5Lu2XG4gKiBAbmFtZSB0aHktY2FsZW5kYXJcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYWxlbmRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoeUNhbGVuZGFyKSwgbXVsdGk6IHRydWUgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5Q2FsZW5kYXJIZWFkZXIsIERhdGVUYWJsZSwgTW9udGhUYWJsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FsZW5kYXIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktY2FsZW5kYXItY29udGFpbmVyJykgY2xhc3NOYW1lID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhbGVuZGFyLWZ1bGwnKSBjbGFzc05hbWUxID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOWxleekuuaooeW8j1xuICAgICAqIEB0eXBlIG1vbnRoIHwgeWVhclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1vZGU6IENhbGVuZGFyTW9kZSA9ICdtb250aCc7XG5cbiAgICAvKipcbiAgICAgKiDvvIjlj6/lj4zlkJHnu5HlrprvvInlsZXnpLrml6XmnJ/vvIzpu5jorqTkuLrlvZPliY3ml6XmnJ9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlWYWx1ZT86IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiDkuI3lj6/pgInmi6nnmoTml6XmnJ9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEaXNhYmxlZERhdGU/OiAoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+mAieaLqeWPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlTZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaXpeacn+mAieaLqeWPmOWMlueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqXG4gICAgICog5pel5pyf6YCJ5oup6IyD5Zu05Y+Y5YyW55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeURhdGVSYW5nZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGVSYW5nZUl0ZW1JbmZvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIO+8iOWPr+S9nOS4uuWGheWuue+8ieiHquWumuS5iea4suafk+aXpeacn+WNleWFg+agvO+8jOaooeadv+WGheWuueS8muiiq+i/veWKoOWIsOWNleWFg+agvFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeURhdGVDZWxsPzogQ2FsZW5kYXJEYXRlVGVtcGxhdGU7XG5cbiAgICAvKipcbiAgICAgKiAg6L+95Yqg5Yiw5Y2V5YWD5qC855qE6Ieq5a6a5LmJ5qih5p2/XG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChEYXRlQ2VsbCwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0aHlEYXRlQ2VsbENoaWxkPzogQ2FsZW5kYXJEYXRlVGVtcGxhdGU7XG4gICAgZ2V0IGRhdGVDZWxsKCk6IENhbGVuZGFyRGF0ZVRlbXBsYXRlIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnRoeURhdGVDZWxsIHx8IHRoaXMudGh5RGF0ZUNlbGxDaGlsZCkhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIO+8iOWPr+S9nOS4uuWGheWuue+8ieiHquWumuS5iea4suafk+WPs+S4iuinkuaTjeS9nOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNhbGVuZGFySGVhZGVyT3BlcmF0aW9uPzogQ2FsZW5kYXJEYXRlVGVtcGxhdGU7XG5cbiAgICAvKipcbiAgICAgKiDlj7PkuIrop5Lmk43kvZzpobnnmoToh6rlrprkuYnmqKHmnb9cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKEhlYWRlck9wZXJhdGlvbiwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0aHlDYWxlbmRhckhlYWRlck9wZXJhdGlvbkNoaWxkPzogQ2FsZW5kYXJEYXRlVGVtcGxhdGU7XG4gICAgZ2V0IGhlYWRlck9wZXJhdGlvbigpOiBDYWxlbmRhckRhdGVUZW1wbGF0ZSB7XG4gICAgICAgIHJldHVybiAodGhpcy50aHlDYWxlbmRhckhlYWRlck9wZXJhdGlvbiB8fCB0aGlzLnRoeUNhbGVuZGFySGVhZGVyT3BlcmF0aW9uQ2hpbGQpITtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3VycmVudERhdGUgPSBuZXcgVGlueURhdGUoKTtcblxuICAgIHB1YmxpYyBwcmVmaXhDbHMgPSAndGh5LWNhbGVuZGFyLWZ1bGwnO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUZuOiAoZGF0ZTogRGF0ZSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoRm46ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIG9uWWVhclNlbGVjdCh5ZWFyOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuY3VycmVudERhdGUuc2V0WWVhcih5ZWFyKTtcbiAgICAgICAgdGhpcy51cGRhdGVEYXRlKGRhdGUpO1xuICAgIH1cblxuICAgIG9uTW9udGhTZWxlY3QobW9udGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5jdXJyZW50RGF0ZS5zZXRNb250aChtb250aCk7XG4gICAgICAgIHRoaXMudXBkYXRlRGF0ZShkYXRlKTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoZGF0ZTogVGlueURhdGUpOiB2b2lkIHtcbiAgICAgICAgLy8gT25seSBjdXJyZW50RGF0ZSBpcyBlbm91Z2ggaW4gY2FsZW5kYXJcbiAgICAgICAgLy8gdGhpcy52YWx1ZSA9IGRhdGU7XG4gICAgICAgIHRoaXMudXBkYXRlRGF0ZShkYXRlKTtcbiAgICB9XG5cbiAgICBvbkRhdGVSYW5nZVNlbGVjdChkYXRlOiBEYXRlUmFuZ2VJdGVtSW5mbykge1xuICAgICAgICB0aGlzLnRoeURhdGVSYW5nZUNoYW5nZS5lbWl0KGRhdGUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRGF0ZShuZXcgVGlueURhdGUodmFsdWUgYXMgRGF0ZSksIGZhbHNlKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGRhdGU6IERhdGUpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZURhdGUoZGF0ZTogVGlueURhdGUsIHRvdWNoZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBkYXRlO1xuXG4gICAgICAgIGlmICh0b3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4oZGF0ZS5uYXRpdmVEYXRlKTtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaEZuKCk7XG4gICAgICAgICAgICB0aGlzLnRoeVNlbGVjdENoYW5nZS5lbWl0KGRhdGUubmF0aXZlRGF0ZSk7XG4gICAgICAgICAgICB0aGlzLnRoeVZhbHVlQ2hhbmdlLmVtaXQoZGF0ZS5uYXRpdmVEYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMudGh5VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRGF0ZShuZXcgVGlueURhdGUodGhpcy50aHlWYWx1ZSksIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0aHktY2FsZW5kYXItaGVhZGVyXG4gIFtvcGVyYXRpb25SZW5kZXJdPVwiaGVhZGVyT3BlcmF0aW9uXCJcbiAgKG1vbnRoQ2hhbmdlKT1cIm9uTW9udGhTZWxlY3QoJGV2ZW50KVwiXG4gICh5ZWFyQ2hhbmdlKT1cIm9uWWVhclNlbGVjdCgkZXZlbnQpXCJcbiAgKGRhdGVSYW5nZUNoYW5nZSk9XCJvbkRhdGVSYW5nZVNlbGVjdCgkZXZlbnQpXCJcbiAgW2N1cnJlbnREYXRlXT1cImN1cnJlbnREYXRlXCJcbj48L3RoeS1jYWxlbmRhci1oZWFkZXI+XG5cbjxkaXYgY2xhc3M9XCJ0aHktY2FsZW5kYXItcGFuZWxcIj5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYWxlbmRhci17eyB0aHlNb2RlID09PSAnbW9udGgnID8gJ2RhdGUnIDogJ21vbnRoJyB9fS1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktY2FsZW5kYXItYm9keVwiPlxuICAgICAgQGlmICh0aHlNb2RlID09PSAnbW9udGgnKSB7XG4gICAgICAgIDxkYXRlLXRhYmxlXG4gICAgICAgICAgW3ByZWZpeENsc109XCJwcmVmaXhDbHNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjdXJyZW50RGF0ZVwiXG4gICAgICAgICAgW2FjdGl2ZURhdGVdPVwiY3VycmVudERhdGVcIlxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cImN1cnJlbnREYXRlXCJcbiAgICAgICAgICBbY2VsbFJlbmRlcl09XCJkYXRlQ2VsbFwiXG4gICAgICAgICAgW2Rpc2FibGVkRGF0ZV09XCJ0aHlEaXNhYmxlZERhdGVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgID48L2RhdGUtdGFibGU+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPG1vbnRoLXRhYmxlIFt2YWx1ZV09XCJjdXJyZW50RGF0ZVwiIFtkaXNhYmxlZERhdGVdPVwidGh5RGlzYWJsZWREYXRlXCIgKHZhbHVlQ2hhbmdlKT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9tb250aC10YWJsZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input, TemplateRef, ContentChild, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { NgTemplateOutlet
|
|
2
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* 卡片头部组件
|
|
@@ -10,7 +10,7 @@ export class ThyCardHeader {
|
|
|
10
10
|
constructor() { }
|
|
11
11
|
ngOnInit() { }
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyCardHeader, isStandalone: true, selector: "thy-card-header", inputs: { thyTitle: "thyTitle", thyDescription: "thyDescription", thySize: "thySize" }, host: { properties: { "class.thy-card-header--sm": "thySize === \"sm\"", "class.thy-card-header--lg": "thySize === \"lg\"", "class.thy-card-header--md": "thySize === \"md\"" }, classAttribute: "thy-card-header" }, queries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["headerTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["headerDescription"], descendants: true }, { propertyName: "operationTemplateRef", first: true, predicate: ["headerOperation"], descendants: true }], ngImport: i0, template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\n <span>{{ thyTitle }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n @if (!descriptionTemplateRef) {\n <span>{{ thyDescription }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCardHeader, decorators: [{
|
|
16
16
|
type: Component,
|
|
@@ -19,7 +19,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
19
19
|
'[class.thy-card-header--sm]': 'thySize === "sm"',
|
|
20
20
|
'[class.thy-card-header--lg]': 'thySize === "lg"',
|
|
21
21
|
'[class.thy-card-header--md]': 'thySize === "md"'
|
|
22
|
-
}, standalone: true, imports: [NgTemplateOutlet
|
|
22
|
+
}, standalone: true, imports: [NgTemplateOutlet], template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\n <span>{{ thyTitle }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n @if (!descriptionTemplateRef) {\n <span>{{ thyDescription }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef\"></ng-template>\n</div>\n" }]
|
|
23
23
|
}], ctorParameters: () => [], propDecorators: { thyTitle: [{
|
|
24
24
|
type: Input,
|
|
25
25
|
args: ['thyTitle']
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
39
39
|
type: ContentChild,
|
|
40
40
|
args: ['headerOperation']
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXJkL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY2FyZC9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkQ7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxhQUFhO0lBeUN0QixnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOzhHQTNDSixhQUFhO2tHQUFiLGFBQWEsOHJCQ3RCMUIsOGZBZUEsNENES2MsZ0JBQWdCOzsyRkFFakIsYUFBYTtrQkFkekIsU0FBUzsrQkFDSSxpQkFBaUIsdUJBQ04sS0FBSyxtQkFFVCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLDZCQUE2QixFQUFFLGtCQUFrQjt3QkFDakQsNkJBQTZCLEVBQUUsa0JBQWtCO3dCQUNqRCw2QkFBNkIsRUFBRSxrQkFBa0I7cUJBQ3BELGNBQ1csSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUM7d0RBUVIsUUFBUTtzQkFBMUIsS0FBSzt1QkFBQyxVQUFVO2dCQUtRLGNBQWM7c0JBQXRDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQU9MLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFPVCxnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsYUFBYTtnQkFRcEIsc0JBQXNCO3NCQUQ1QixZQUFZO3VCQUFDLG1CQUFtQjtnQkFRMUIsb0JBQW9CO3NCQUQxQixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIENvbnRlbnRDaGlsZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOWNoeeJh+WktOmDqOe7hOS7tlxuICogQG5hbWUgdGh5LWNhcmQtaGVhZGVyXG4gKiBAb3JkZXIgMjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktY2FyZC1oZWFkZXInLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktY2FyZC1oZWFkZXInLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLWhlYWRlci0tc21dJzogJ3RoeVNpemUgPT09IFwic21cIicsXG4gICAgICAgICdbY2xhc3MudGh5LWNhcmQtaGVhZGVyLS1sZ10nOiAndGh5U2l6ZSA9PT0gXCJsZ1wiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC1oZWFkZXItLW1kXSc6ICd0aHlTaXplID09PSBcIm1kXCInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDYXJkSGVhZGVyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgaWNvbkNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpLTpg6jvvIzmoIfpophcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVRpdGxlJykgdGh5VGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWktOmDqO+8jOmZhOWKoOS/oeaBr1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5RGVzY3JpcHRpb24nKSB0aHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM5aS06YOo5aSn5bCPXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2l6ZScpIHRoeVNpemU6ICdzbScgfCAnbGcnIHwgJ21kJyB8ICcnO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5aS06YOo5qCH6aKYXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXJUaXRsZScpXG4gICAgcHVibGljIHRpdGxlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlpLTpg6jmj4/ov7BcbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckRlc2NyaXB0aW9uJylcbiAgICBwdWJsaWMgZGVzY3JpcHRpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieWktOmDqOaTjeS9nOWMuuWfn1xuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyT3BlcmF0aW9uJylcbiAgICBwdWJsaWMgb3BlcmF0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXItdGl0bGVcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICBAaWYgKCF0aXRsZVRlbXBsYXRlUmVmKSB7XG4gICAgPHNwYW4+e3sgdGh5VGl0bGUgfX08L3NwYW4+XG4gIH1cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyLWRlc2NyaXB0aW9uXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXNjcmlwdGlvblRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgQGlmICghZGVzY3JpcHRpb25UZW1wbGF0ZVJlZikge1xuICAgIDxzcGFuPnt7IHRoeURlc2NyaXB0aW9uIH19PC9zcGFuPlxuICB9XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlci1vcGVyYXRpb25cIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wZXJhdGlvblRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -7,7 +7,7 @@ import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
|
7
7
|
import { ThyCarouselService } from './carousel.service';
|
|
8
8
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
9
9
|
import { ThyDot } from 'ngx-tethys/dot';
|
|
10
|
-
import {
|
|
10
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
11
11
|
import { coerceBooleanProperty, isNumber } from 'ngx-tethys/util';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
import * as i1 from "./carousel.service";
|
|
@@ -244,13 +244,13 @@ export class ThyCarousel {
|
|
|
244
244
|
this._destroy$.complete();
|
|
245
245
|
}
|
|
246
246
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCarousel, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ThyCarouselService }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
247
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: ["thyAutoPlay", "thyAutoPlay", coerceBooleanProperty], thyAutoPlayInterval: ["thyAutoPlayInterval", "thyAutoPlayInterval", numberAttribute], thyEffect: "thyEffect", thyIndicators: ["thyIndicators", "thyIndicators", coerceBooleanProperty], thyIndicatorRender: "thyIndicatorRender", thyControls: ["thyControls", "thyControls", coerceBooleanProperty], thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: ["thyTouchable", "thyTouchable", coerceBooleanProperty], thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
248
248
|
}
|
|
249
249
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyCarousel, decorators: [{
|
|
250
250
|
type: Component,
|
|
251
251
|
args: [{ selector: 'thy-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
|
|
252
252
|
class: 'thy-carousel'
|
|
253
|
-
}, standalone: true, imports: [
|
|
253
|
+
}, standalone: true, imports: [NgTemplateOutlet, ThyDot, ThyIcon], template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n" }]
|
|
254
254
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.ThyCarouselService }, { type: i2.Platform }], propDecorators: { carouselItems: [{
|
|
255
255
|
type: ContentChildren,
|
|
256
256
|
args: [ThyCarouselItemDirective]
|
|
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
289
289
|
}], thyAfterChange: [{
|
|
290
290
|
type: Output
|
|
291
291
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBSWpCLE1BQU0sRUFFTixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FB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QkFBZ0Isb0pBQUUsS0FBSyxtSEFBRSxNQUFNLGdJQUFFLE9BQU87OzJGQUUvQyxXQUFXO2tCQVp2QixTQUFTOytCQUNJLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7MkxBTWQsYUFBYTtzQkFBdkQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBS08sZUFBZTtzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS0QsV0FBVztzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFLSixtQkFBbUI7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU01QixTQUFTO3NCQUFqQixLQUFLO2dCQUt1QyxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS3VDLFdBQVc7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS2xDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLdUMsWUFBWTtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNbEMsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUthLGVBQWU7c0JBQWpDLE1BQU07Z0JBS1ksY0FBYztzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUaHlDYXJvdXNlbEVuZ2luZSxcbiAgICBUaHlEaXN0YW5jZVZlY3RvcixcbiAgICBUaHlDYXJvdXNlbFN3aXRjaERhdGEsXG4gICAgVGh5Q2Fyb3VzZWxFZmZlY3QsXG4gICAgVGh5Q2Fyb3VzZWxUcmlnZ2VyLFxuICAgIFRoeUNhcm91c2VsUGF1c2Vcbn0gZnJvbSAnLi90eXBpbmdzJztcbmltcG9ydCB7IFRoeUNhcm91c2VsU2xpZGVFbmdpbmUsIFRoeUNhcm91c2VsTm9vcEVuZ2luZSwgVGh5Q2Fyb3VzZWxGYWRlRW5naW5lIH0gZnJvbSAnLi9lbmdpbmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeUNhcm91c2VsU2VydmljZSB9IGZyb20gJy4vY2Fyb3VzZWwuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeURvdCB9IGZyb20gJ25neC10ZXRoeXMvZG90JztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNOdW1iZXIgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOi1sOmprOeBr+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcm91c2VsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJvdXNlbCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBUaHlEb3QsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSkgY2Fyb3VzZWxJdGVtcyE6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbFdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYXJvdXNlbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5YiH5o2i77yM6buY6K6kIGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5QXV0b1BsYXk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiHquWKqOWIh+aNouaXtumXtOmXtOmalCjmr6vnp5IpXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGh5QXV0b1BsYXlJbnRlcnZhbDogbnVtYmVyID0gMzAwMDtcblxuICAgIC8qKlxuICAgICAqIOWIh+aNouWKqOeUu+agt+W8j1xuICAgICAqIEB0eXBlIHNsaWRlIHwgZmFkZSB8IG5vb3BcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlFZmZlY3Q6IFRoeUNhcm91c2VsRWZmZWN0ID0gJ3NsaWRlJztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuWIh+aNouaMh+ekuuWZqFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUluZGljYXRvcnMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5oyH56S65ZmoIEl0ZW0g55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW5kaWNhdG9yUmVuZGVyPzogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IGJvb2xlYW4gfT47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlt6blj7PliIfmjaJcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlDb250cm9scyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDkuIrkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sUHJldj86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDkuIvkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sTmV4dD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmlK/mjIHmiYvlir/mu5HliqhcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlUb3VjaGFibGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5oyH56S654K55YiH5o2i55qE6Kem5Y+R5p2h5Lu2XG4gICAgICogQHR5cGUgY2xpY2sgfCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRyaWdnZXI6IFRoeUNhcm91c2VsVHJpZ2dlciA9ICdjbGljayc7XG5cbiAgICAvKipcbiAgICAgKiDpvKDmoIfnp7vliqjliLDmjIfnpLrlmajml7bmmK/lkKbmmoLlgZzmkq3mlL5cbiAgICAgKiBAdHlwZSBmYWxzZSB8IGhvdmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGF1c2U6IFRoeUNhcm91c2VsUGF1c2UgPSAnaG92ZXInO1xuXG4gICAgLyoqXG4gICAgICog6Kem5Y+R5YiH5o2i5bin5LmL5YmN77yM6L+U5ZueIGB7ZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyfWBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5QmVmb3JlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlDYXJvdXNlbFN3aXRjaERhdGE+KCk7XG5cbiAgICAvKipcbiAgICAgKiDliIfmjaLluKfkuYvlkI7nmoTlm57osIPvvIzov5Tlm57lvZPliY3luKfntKLlvJVcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5QWZ0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgaXNEcmFnZ2luZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc1RyYW5zaXRpb25pbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcG9pbnRlclZlY3RvcjogVGh5RGlzdGFuY2VWZWN0b3IgPSB7IHg6IDAsIHk6IDAgfTtcblxuICAgIHByaXZhdGUgZW5naW5lOiBUaHlDYXJvdXNlbEVuZ2luZTtcblxuICAgIHByaXZhdGUgX3RyaWdnZXIkID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgbnVsbD4oKTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHdyYXBwZXJEb21SZWN0OiBET01SZWN0O1xuXG4gICAgYWN0aXZlSW5kZXggPSAwO1xuXG4gICAgd3JhcHBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgIHRyYW5zaXRpb25UaW1lcjogYW55ID0gbnVsbDtcblxuICAgIHBsYXlUaW1lOiBudW1iZXIgPSA0MDA7XG5cbiAgICBpc1BhdXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXJvdXNlbFNlcnZpY2U6IFRoeUNhcm91c2VsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybTogUGxhdGZvcm1cbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG1vdmVUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsSXRlbXMgJiYgdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IChpbmRleCArIGxlbikgJSBsZW47XG4gICAgICAgICAgICB0aGlzLnRoeUJlZm9yZUNoYW5nZS5lbWl0KHsgZnJvbSwgdG8gfSk7XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZT8uc3dpdGNoKGluZGV4LCB0aGlzLmFjdGl2ZUluZGV4KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdG87XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUFmdGVyQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzd2l0Y2hFbmdpbmUoKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlFZmZlY3QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsRmFkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsTm9vcEVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtDb250ZW50QWN0aXZlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuZm9yRWFjaCgoY2Fyb3VzZWxDb250ZW50OiBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY2Fyb3VzZWxDb250ZW50LmlzQWN0aXZlID0gaW5kZXggPT09IGk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgICAgICAgdGhpcy5lbmdpbmUuaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHModGhpcy5jYXJvdXNlbEl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMudGh5QXV0b1BsYXkgJiYgIXRoaXMuaXNQYXVzZSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9LCB0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zaXRpb25UaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJhbnNpdGlvblRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZyhldmVudDogVG91Y2hFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nICYmIHRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBtb3VzZURvd25UaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBsZXQgbW91c2VVcFRpbWU6IG51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJEb21SZWN0ID0gdGhpcy53cmFwcGVyRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsU2VydmljZS5yZWdpc3RlckRyYWcoZXZlbnQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBwb2ludGVyVmVjdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiYmluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJWZWN0b3IgPSBwb2ludGVyVmVjdG9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZT8uZHJhZ2dpbmcodGhpcy5wb2ludGVyVmVjdG9yLCB0aGlzLndyYXBwZXJEb21SZWN0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VVcFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvbGREb3duVGltZSA9IG1vdXNlVXBUaW1lIC0gbW91c2VEb3duVGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhc3QgZW5vdWdoIHRvIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBwb2ludGVyVmVjdG9yIGlzIG1vcmUgdGhhbiBvbmUgdGhpcmQgc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpID4gdGhpcy53cmFwcGVyRG9tUmVjdC53aWR0aCAvIDMgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgLyBob2xkRG93blRpbWUgPj0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5wb2ludGVyVmVjdG9yLnggPiAwID8gdGhpcy5hY3RpdmVJbmRleCAtIDEgOiB0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVUcmlnZ2VyKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYXVzZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlTGVhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGF1c2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJFbCA9IHRoaXMuY2Fyb3VzZWxXcmFwcGVyIS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUodGhpcy5wbGF5VGltZSkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNOdW1iZXIoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwgdGh5LWNhcm91c2VsLWluaXRpYWxpemVkIHRoeS1jYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwidGh5LWNhcm91c2VsLXdyYXBwZXJcIiAobW91c2Vkb3duKT1cIm9uRHJhZygkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25EcmFnKCRldmVudClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGh5Q29udHJvbHMgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLXByZS13cmFwcGVyXCIgKGNsaWNrKT1cInByZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbFByZXYgfHwgZGVmYXVsdENvbnRyb2xQcmV2XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLW5leHQtd3JhcHBlclwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aHlDb250cm9sTmV4dCB8fCBkZWZhdWx0Q29udHJvbE5leHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlJbmRpY2F0b3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjYXJvdXNlbEl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtaW5kaWNhdG9yXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImluZGljYXRvckhhbmRsZUxlYXZlKClcIlxuICAgICAgICAoY2xpY2spPVwiaW5kaWNhdG9ySGFuZGxlQ2xpY2soaSlcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlJbmRpY2F0b3JSZW5kZXIgfHwgZGVmYXVsdEluZGljYXRvclJlbmRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpID09PSBhY3RpdmVJbmRleCB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluZGljYXRvclJlbmRlciBsZXQtYWN0aXZlPlxuICA8dGh5LWRvdCB0aHlDb2xvcj1cIiNmZmZcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiPjwvdGh5LWRvdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRyb2xQcmV2PlxuICA8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsLWNvbnRyb2wgdGh5LWNhcm91c2VsLWNvbnRyb2wtcHJlXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtbGVmdC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sTmV4dD5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLW5leHRcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBSWpCLE1BQU0sRUFFTixlQUFlLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVsRTs7O0dBR0c7QUFhSCxNQUFN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QUVsQyxXQUFXO2tCQVp2QixTQUFTOytCQUNJLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDOzJMQU1ELGFBQWE7c0JBQXZELGVBQWU7dUJBQUMsd0JBQXdCO2dCQUtPLGVBQWU7c0JBQTlELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtELFdBQVc7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS0osbUJBQW1CO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFNNUIsU0FBUztzQkFBakIsS0FBSztnQkFLdUMsYUFBYTtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFLbEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUt1QyxXQUFXO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtsQyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS3VDLFlBQVk7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsUUFBUTtzQkFBaEIsS0FBSztnQkFLYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUtZLGNBQWM7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBudW1iZXJBdHRyaWJ1dGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2Nhcm91c2VsLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVGh5Q2Fyb3VzZWxFbmdpbmUsXG4gICAgVGh5RGlzdGFuY2VWZWN0b3IsXG4gICAgVGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhLFxuICAgIFRoeUNhcm91c2VsRWZmZWN0LFxuICAgIFRoeUNhcm91c2VsVHJpZ2dlcixcbiAgICBUaHlDYXJvdXNlbFBhdXNlXG59IGZyb20gJy4vdHlwaW5ncyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lLCBUaHlDYXJvdXNlbE5vb3BFbmdpbmUsIFRoeUNhcm91c2VsRmFkZUVuZ2luZSB9IGZyb20gJy4vZW5naW5lJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbFNlcnZpY2UgfSBmcm9tICcuL2Nhcm91c2VsLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlEb3QgfSBmcm9tICduZ3gtdGV0aHlzL2RvdCc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNOdW1iZXIgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOi1sOmprOeBr+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcm91c2VsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJvdXNlbCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIFRoeURvdCwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2Fyb3VzZWwgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlKSBjYXJvdXNlbEl0ZW1zITogUXVlcnlMaXN0PFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2Nhcm91c2VsV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIGNhcm91c2VsV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjliIfmjaLvvIzpu5jorqQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBdXRvUGxheTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo5YiH5o2i5pe26Ze06Ze06ZqUKOavq+enkilcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlBdXRvUGxheUludGVydmFsOiBudW1iZXIgPSAzMDAwO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5Yqo55S75qC35byPXG4gICAgICogQHR5cGUgc2xpZGUgfCBmYWRlIHwgbm9vcFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVmZmVjdDogVGh5Q2Fyb3VzZWxFZmZlY3QgPSAnc2xpZGUnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YiH5o2i5oyH56S65ZmoXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5SW5kaWNhdG9ycyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrlmaggSXRlbSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJbmRpY2F0b3JSZW5kZXI/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYm9vbGVhbiB9PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuW3puWPs+WIh+aNolxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUNvbnRyb2xzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOS4iuS4gOS4quaOp+WItuWZqOa4suafk+aooeadv1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRyb2xQcmV2PzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOS4i+S4gOS4quaOp+WItuWZqOa4suafk+aooeadv1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRyb2xOZXh0PzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaUr+aMgeaJi+WKv+a7keWKqFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeVRvdWNoYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrngrnliIfmjaLnmoTop6blj5HmnaHku7ZcbiAgICAgKiBAdHlwZSBjbGljayB8IGhvdmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHJpZ2dlcjogVGh5Q2Fyb3VzZWxUcmlnZ2VyID0gJ2NsaWNrJztcblxuICAgIC8qKlxuICAgICAqIOm8oOagh+enu+WKqOWIsOaMh+ekuuWZqOaXtuaYr+WQpuaaguWBnOaSreaUvlxuICAgICAqIEB0eXBlIGZhbHNlIHwgaG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQYXVzZTogVGh5Q2Fyb3VzZWxQYXVzZSA9ICdob3Zlcic7XG5cbiAgICAvKipcbiAgICAgKiDop6blj5HliIfmjaLluKfkuYvliY3vvIzov5Tlm54gYHtmcm9tOiBudW1iZXIsIHRvOiBudW1iZXJ9YFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlCZWZvcmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUNhcm91c2VsU3dpdGNoRGF0YT4oKTtcblxuICAgIC8qKlxuICAgICAqIOWIh+aNouW4p+S5i+WQjueahOWbnuiwg++8jOi/lOWbnuW9k+WJjeW4p+e0ouW8lVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlBZnRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwb2ludGVyVmVjdG9yOiBUaHlEaXN0YW5jZVZlY3RvciA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgcHJpdmF0ZSBlbmdpbmU6IFRoeUNhcm91c2VsRW5naW5lO1xuXG4gICAgcHJpdmF0ZSBfdHJpZ2dlciQgPSBuZXcgU3ViamVjdDxudW1iZXIgfCBudWxsPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgd3JhcHBlckRvbVJlY3Q6IERPTVJlY3Q7XG5cbiAgICBhY3RpdmVJbmRleCA9IDA7XG5cbiAgICB3cmFwcGVyRWw6IEhUTUxFbGVtZW50O1xuXG4gICAgdHJhbnNpdGlvblRpbWVyOiBhbnkgPSBudWxsO1xuXG4gICAgcGxheVRpbWU6IG51bWJlciA9IDQwMDtcblxuICAgIGlzUGF1c2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNhcm91c2VsU2VydmljZTogVGh5Q2Fyb3VzZWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtOiBQbGF0Zm9ybVxuICAgICkge31cblxuICAgIHByaXZhdGUgbW92ZVRvKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2Fyb3VzZWxJdGVtcyAmJiB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoICYmICF0aGlzLmlzVHJhbnNpdGlvbmluZykge1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcbiAgICAgICAgICAgIGNvbnN0IGxlbiA9IHRoaXMuY2Fyb3VzZWxJdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5hY3RpdmVJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IHRvID0gKGluZGV4ICsgbGVuKSAlIGxlbjtcbiAgICAgICAgICAgIHRoaXMudGh5QmVmb3JlQ2hhbmdlLmVtaXQoeyBmcm9tLCB0byB9KTtcbiAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZW5naW5lPy5zd2l0Y2goaW5kZXgsIHRoaXMuYWN0aXZlSW5kZXgpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0bztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU5leHRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGh5QWZ0ZXJDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN3aXRjaEVuZ2luZSgpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnRoeUVmZmVjdCkge1xuICAgICAgICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsU2xpZGVFbmdpbmUodGhpcywgdGhpcy5jZHIsIHRoaXMucmVuZGVyZXIsIHRoaXMucGxhdGZvcm0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5lbmdpbmUgPSBuZXcgVGh5Q2Fyb3VzZWxGYWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5lbmdpbmUgPSBuZXcgVGh5Q2Fyb3VzZWxOb29wRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWFya0NvbnRlbnRBY3RpdmUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxJdGVtcy5mb3JFYWNoKChjYXJvdXNlbENvbnRlbnQ6IFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjYXJvdXNlbENvbnRlbnQuaXNBY3RpdmUgPSBpbmRleCA9PT0gaTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEluaXRpYWxWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZW5naW5lKSB7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZS5pbml0aWFsaXplQ2Fyb3VzZWxDb250ZW50cyh0aGlzLmNhcm91c2VsSXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY2hlZHVsZU5leHRUcmFuc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICBpZiAodGhpcy50aHlBdXRvUGxheSAmJiAhdGhpcy5pc1BhdXNlKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25UaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICAgICAgICAgIH0sIHRoaXMudGh5QXV0b1BsYXlJbnRlcnZhbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJhbnNpdGlvblRpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50cmFuc2l0aW9uVGltZXIpO1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnKGV2ZW50OiBUb3VjaEV2ZW50IHwgTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZyAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcgJiYgdGhpcy50aHlUb3VjaGFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNlRG93blRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGxldCBtb3VzZVVwVGltZTogbnVtYmVyO1xuICAgICAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMud3JhcHBlckRvbVJlY3QgPSB0aGlzLndyYXBwZXJFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWxTZXJ2aWNlLnJlZ2lzdGVyRHJhZyhldmVudCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHBvaW50ZXJWZWN0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWJiaW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclZlY3RvciA9IHBvaW50ZXJWZWN0b3I7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lPy5kcmFnZ2luZyh0aGlzLnBvaW50ZXJWZWN0b3IsIHRoaXMud3JhcHBlckRvbVJlY3QpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3VzZVVwVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9sZERvd25UaW1lID0gbW91c2VVcFRpbWUgLSBtb3VzZURvd25UaW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFzdCBlbm91Z2ggdG8gc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHBvaW50ZXJWZWN0b3IgaXMgbW9yZSB0aGFuIG9uZSB0aGlyZCBzd2l0Y2ggdG8gdGhlIG5leHQgZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgPiB0aGlzLndyYXBwZXJEb21SZWN0LndpZHRoIC8gMyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKHRoaXMucG9pbnRlclZlY3Rvci54KSAvIGhvbGREb3duVGltZSA+PSAxXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLnBvaW50ZXJWZWN0b3IueCA+IDAgPyB0aGlzLmFjdGl2ZUluZGV4IC0gMSA6IHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCAnZ3JhYicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluZGljYXRvckhhbmRsZVRyaWdnZXIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlQYXVzZSA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy5pc1BhdXNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudGh5VHJpZ2dlciA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlciQubmV4dChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVMZWF2ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYXVzZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU5leHRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgcHJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4IC0gMSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JhcHBlckVsID0gdGhpcy5jYXJvdXNlbFdyYXBwZXIhLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZT8uY29ycmVjdGlvbk9mZnNldCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCB7IHRoeUVmZmVjdCwgdGh5VG91Y2hhYmxlIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAodGh5RWZmZWN0ICYmICF0aHlFZmZlY3QuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnN3aXRjaEVuZ2luZSgpO1xuICAgICAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGh5VG91Y2hhYmxlICYmICF0aHlUb3VjaGFibGUuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgdGh5VG91Y2hhYmxlLmN1cnJlbnRWYWx1ZSA/ICdncmFiJyA6ICdkZWZhdWx0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMudGh5QXV0b1BsYXkgfHwgIXRoaXMudGh5QXV0b1BsYXlJbnRlcnZhbCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN3aXRjaEVuZ2luZSgpO1xuICAgICAgICB0aGlzLm1hcmtDb250ZW50QWN0aXZlKDApO1xuICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuXG4gICAgICAgIGlmICghdGhpcy50aHlUb3VjaGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCAnZGVmYXVsdCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLl90cmlnZ2VyJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIGRlYm91bmNlVGltZSh0aGlzLnBsYXlUaW1lKSkuc3Vic2NyaWJlKGluZGV4ID0+IHtcbiAgICAgICAgICAgIGlmIChpc051bWJlcihpbmRleCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyJC5uZXh0KG51bGwpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbCB0aHktY2Fyb3VzZWwtaW5pdGlhbGl6ZWQgdGh5LWNhcm91c2VsLXBvaW50LWV2ZW50c1wiPlxuICA8ZGl2ICNjYXJvdXNlbFdyYXBwZXIgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtd3JhcHBlclwiIChtb3VzZWRvd24pPVwib25EcmFnKCRldmVudClcIiAodG91Y2hzdGFydCk9XCJvbkRyYWcoJGV2ZW50KVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIEBpZiAodGh5Q29udHJvbHMgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLXByZS13cmFwcGVyXCIgKGNsaWNrKT1cInByZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbFByZXYgfHwgZGVmYXVsdENvbnRyb2xQcmV2XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLW5leHQtd3JhcHBlclwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aHlDb250cm9sTmV4dCB8fCBkZWZhdWx0Q29udHJvbE5leHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuICBAaWYgKHRoeUluZGljYXRvcnMpIHtcbiAgICA8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsLWluZGljYXRvcnNcIj5cbiAgICAgIEBmb3IgKGNvbnRlbnQgb2YgY2Fyb3VzZWxJdGVtczsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidGh5LWNhcm91c2VsLWluZGljYXRvclwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwiaW5kaWNhdG9ySGFuZGxlTGVhdmUoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImluZGljYXRvckhhbmRsZUNsaWNrKGkpXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlJbmRpY2F0b3JSZW5kZXIgfHwgZGVmYXVsdEluZGljYXRvclJlbmRlclwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGkgPT09IGFjdGl2ZUluZGV4IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJbmRpY2F0b3JSZW5kZXIgbGV0LWFjdGl2ZT5cbiAgPHRoeS1kb3QgdGh5Q29sb3I9XCIjZmZmXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVcIj48L3RoeS1kb3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sUHJldj5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLXByZVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLWxlZnQtYm9sZFwiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29udHJvbE5leHQ+XG4gIDxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtY29udHJvbCB0aHktY2Fyb3VzZWwtY29udHJvbC1uZXh0XCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHQtYm9sZFwiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|