@naniteninja/dashboard-components-lib 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/auto-delegation/animations.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/auto-delegation-modal.component.mjs +3 -3
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation-data.interface.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.event.interface.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.mjs +1 -1
- package/esm2022/lib/components/auto-delegation/interface/preferences.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.mjs +3 -3
- package/esm2022/lib/components/calendar/agenda/agenda.component.mjs +3 -3
- package/esm2022/lib/components/calendar/agenda/agenda.module.mjs +1 -2
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.day.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.mjs +1 -1
- package/esm2022/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.mjs +3 -3
- package/esm2022/lib/components/calendar/components/event-form/event-form.component.mjs +3 -3
- package/esm2022/lib/components/calendar/components/event-form/event-form.module.mjs +1 -1
- package/esm2022/lib/components/calendar/components/event-info/event-info.component.mjs +3 -3
- package/esm2022/lib/components/calendar/enums/calendar.account.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/enums/calendar.account.icons.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/enums/event-type.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/enums/recurring.edit.options.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/enums/recurring.type.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/calendar.account.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/calendar.account.theme.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/event.form.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/event.form.output.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/event.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/event.time.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/recurring.event.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/recurring.exception.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/interfaces/recurring.pattern.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/lookups/recurring.options.lookup.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/enums/schedule-date-status.enum.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/mock-schedule.mjs +1 -1
- package/esm2022/lib/components/calendar/scheduler/scheduler.component.mjs +3 -3
- package/esm2022/lib/components/calendar/services/calendar-utils.service.mjs +1 -1
- package/esm2022/lib/components/chat/chat.component.mjs +3 -3
- package/esm2022/lib/components/chat/chat.component.module.mjs +1 -1
- package/esm2022/lib/components/chat/chat.service.mjs +1 -1
- package/esm2022/lib/components/chat/enums/sender-types.enum.mjs +1 -1
- package/esm2022/lib/components/chat/gif-selector/gif-selector.component.mjs +3 -3
- package/esm2022/lib/components/chat/gif-selector/gif-selector.service.mjs +1 -1
- package/esm2022/lib/components/chat/gif-selector/tenor-media-format.interface.mjs +1 -1
- package/esm2022/lib/components/chat/gif-selector/tenor-object.interface.mjs +1 -1
- package/esm2022/lib/components/chat/gif-selector/tenor-result.interface.mjs +1 -1
- package/esm2022/lib/components/chat/interfaces/date-messages.interface.mjs +1 -1
- package/esm2022/lib/components/chat/interfaces/message-attachment.interface.mjs +1 -1
- package/esm2022/lib/components/chat/interfaces/message.interface.mjs +1 -1
- package/esm2022/lib/components/chat/interfaces/send-options-message.interface.mjs +1 -1
- package/esm2022/lib/components/chat/interfaces/type-send-message.enum.mjs +1 -1
- package/esm2022/lib/components/chat-suggestion/chat-suggestion.component.mjs +3 -3
- package/esm2022/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.mjs +1 -1
- package/esm2022/lib/components/circle-progress/circle-progress.component.mjs +3 -3
- package/esm2022/lib/components/circle-progress/circle-progress.module.mjs +1 -1
- package/esm2022/lib/components/circle-progress/enums/circle-variable.enum.mjs +1 -1
- package/esm2022/lib/components/circle-progress/interfaces/circle-progress-config.interface.mjs +1 -1
- package/esm2022/lib/components/client-home/client-home.component.mjs +3 -3
- package/esm2022/lib/components/client-home/enums/client-home-component.enum.mjs +1 -1
- package/esm2022/lib/components/client-home/interfaces/chat-meta.interface.mjs +1 -1
- package/esm2022/lib/components/client-home/interfaces/home-dashboard-inputs.interface.mjs +1 -1
- package/esm2022/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.mjs +1 -1
- package/esm2022/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/client-home.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/inner-progress-default-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/inner-progress-pink-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/inner-progress-purple-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/inner-progress-teal-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/inner-progress-white-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/progress-default-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/lookup/progress-white-colors.config.mjs +1 -1
- package/esm2022/lib/components/client-home/pipes/chat-meta.pipe.mjs +1 -1
- package/esm2022/lib/components/client-home/pipes/get-color-by-matcher.pipe.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/client-match-overview.component.mjs +3 -3
- package/esm2022/lib/components/client-match-overview/enums/conversation-flag.enum.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/enums/counter-flag-base.enum.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/enums/inner-circle-state.enum.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/interfaces/client-match-overview.interface.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/interfaces/conversation-flag.interface.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/interfaces/progress-decision.interface.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/interfaces/progress-facts.interface.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/lookups/computer-inner-state.lookup.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-gap.config.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.config.mjs +1 -1
- package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.service.mjs +1 -1
- package/esm2022/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.mjs +3 -3
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.mjs +1 -1
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.mjs +1 -1
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.mjs +1 -1
- package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.mjs +1 -1
- package/esm2022/lib/components/lib-client-dashboard/client-dashboard.component.mjs +3 -3
- package/esm2022/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.mjs +1 -1
- package/esm2022/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.mjs +1 -1
- package/esm2022/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.mjs +1 -1
- package/esm2022/lib/components/lib-client-dashboard/lookups/client-dashboard.config.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.mjs +3 -3
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.mjs +1 -1
- package/esm2022/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.mjs +1 -1
- package/esm2022/lib/components/matcher-statuses/enums/matcher-statuses.enum.mjs +1 -1
- package/esm2022/lib/components/matcher-statuses/interfaces/status.interface.mjs +1 -1
- package/esm2022/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.mjs +1 -1
- package/esm2022/lib/components/matcher-statuses/matcher-statuses.component.mjs +3 -3
- package/esm2022/lib/components/matcher-statuses/pipes/is-status-included.pipe.mjs +1 -1
- package/esm2022/lib/components/profile-card/profile-card.component.mjs +3 -3
- package/esm2022/lib/components/profile-card/profile-card.module.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-circle.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/config.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/dataset.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/polygon-color.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.mjs +1 -1
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.lookup.mjs +1 -1
- package/esm2022/lib/components/spider-chart/lookup/default-spider-config.mjs +1 -1
- package/esm2022/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.mjs +1 -1
- package/esm2022/lib/components/spider-chart/lookup/svg-config.lookup.mjs +1 -1
- package/esm2022/lib/components/spider-chart/spider-chart.component.mjs +3 -3
- package/esm2022/lib/enums/direction.enum.mjs +1 -1
- package/esm2022/lib/enums/local-storage-keys.enum.mjs +1 -1
- package/esm2022/lib/model/select-option-template.mjs +1 -1
- package/esm2022/lib/operations/operations.mjs +1 -1
- package/esm2022/lib/pipes/array-sort/array.sort.pipe.mjs +1 -1
- package/esm2022/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.mjs +1 -1
- package/esm2022/lib/pipes/date-localization/date-localization.pipe.mjs +1 -1
- package/esm2022/lib/pipes/fallback-translate/fallback-translate.pipe.mjs +1 -1
- package/esm2022/lib/pipes/get-display-value/get-display-value.pipe.mjs +1 -1
- package/esm2022/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.mjs +1 -1
- package/esm2022/lib/pipes/initials/initials.pipe.mjs +1 -1
- package/esm2022/lib/pipes/round/round.pipe.mjs +1 -1
- package/esm2022/lib/pipes/update-llm-preference/update-llm-preference.pipe.mjs +1 -1
- package/esm2022/lib/services/abstract-cache.service.mjs +1 -1
- package/esm2022/lib/shared/shared/message-modal/message-modal.component.mjs +1 -1
- package/esm2022/lib/shared/shared.module.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/naniteninja-dashboard-components-lib.mjs +38 -38
- package/fesm2022/naniteninja-dashboard-components-lib.mjs.map +1 -1
- package/package.json +2 -2
- package/src/assets/auto-delegation-modal/cross.svg +17 -17
- package/src/assets/auto-delegation-modal/menu.svg +3 -3
- package/src/assets/auto-delegation-modal/timer-center-dot.svg +25 -25
- package/src/assets/auto-delegation-modal/user-profile.svg +9 -9
- package/src/assets/circle-progress/circle-progress-1.svg +159 -159
- package/src/assets/circle-progress/circle-progress-2.svg +155 -155
- package/src/assets/circle-progress/circle-progress-3.svg +25 -25
- package/src/assets/circle-progress/circle-progress.svg +159 -159
- package/src/assets/client-match-overview/background-eclipse.svg +13 -13
- package/src/assets/grid/icons/filter-button.svg +47 -47
- package/src/assets/grid/images/chips-background-shadow.svg +34 -34
- package/src/assets/icons/back-v2.svg +14 -14
- package/src/assets/icons/checkbox/checkbox-off.svg +72 -72
- package/src/assets/icons/checkbox/checkbox-on.svg +113 -113
- package/src/assets/icons/checkmark-button.svg +72 -72
- package/src/assets/icons/checkmark.svg +7 -7
- package/src/assets/icons/close-icon.svg +3 -3
- package/src/assets/icons/compose-matcher/notes.svg +4 -4
- package/src/assets/icons/compose-matcher/profile.svg +4 -4
- package/src/assets/icons/compose-matcher/suggest.svg +3 -3
- package/src/assets/icons/compose-matcher/visual.svg +3 -3
- package/src/assets/icons/default-profile.svg +23 -23
- package/src/assets/icons/defualt.svg +5 -5
- package/src/assets/icons/first-page.svg +7 -7
- package/src/assets/icons/incrementer/minus.svg +3 -3
- package/src/assets/icons/incrementer/plus.svg +3 -3
- package/src/assets/icons/info.svg +5 -5
- package/src/assets/icons/last-page.svg +7 -7
- package/src/assets/icons/minus.svg +3 -3
- package/src/assets/icons/next-page.svg +6 -6
- package/src/assets/icons/plus.svg +3 -3
- package/src/assets/icons/popup-defualt.svg +34 -34
- package/src/assets/icons/prev-page.svg +6 -6
- package/src/assets/icons/send-icon.svg +4 -4
- package/src/assets/icons/shake.svg +74 -74
- package/src/assets/icons/thumbs-up.svg +28 -28
- package/src/assets/nsfw/blazeface.bundle.js +1 -1
- package/src/assets/nsfw/model/model.json +4085 -4085
- package/src/assets/nsfw/nsfwjs.bundle.js +1 -1
- package/src/assets/nsfw/tf.bundle.js +1 -1
- package/src/assets/scheduler/accept.svg +3 -3
- package/src/assets/scheduler/accept_active.svg +3 -3
- package/src/assets/scheduler/arrow.svg +13 -13
- package/src/assets/scheduler/cancel.svg +3 -3
- package/src/assets/scheduler/cancel_active.svg +3 -3
- package/src/assets/scheduler/heart.svg +18 -18
- package/src/lib/shared-styles/common/animations.scss +48 -48
- package/src/lib/shared-styles/common/base-input-field.scss +132 -132
- package/src/lib/shared-styles/common/buttons.scss +152 -152
- package/src/lib/shared-styles/common/cards.scss +163 -163
- package/src/lib/shared-styles/common/client-dash.scss +5 -5
- package/src/lib/shared-styles/common/date-picker.scss +179 -179
- package/src/lib/shared-styles/common/draggable-scroll-and-marquee.scss +34 -34
- package/src/lib/shared-styles/common/feedback.scss +157 -157
- package/src/lib/shared-styles/common/fonts.scss +3 -3
- package/src/lib/shared-styles/common/information-card.scss +56 -56
- package/src/lib/shared-styles/common/input.scss +110 -110
- package/src/lib/shared-styles/common/lib-styles-utils.scss +157 -157
- package/src/lib/shared-styles/common/lists.scss +91 -91
- package/src/lib/shared-styles/common/login.scss +32 -32
- package/src/lib/shared-styles/common/maps.scss +10 -10
- package/src/lib/shared-styles/common/matcher-dash.scss +49 -49
- package/src/lib/shared-styles/common/modal_styles.scss +32 -32
- package/src/lib/shared-styles/common/notifications-list.scss +9 -9
- package/src/lib/shared-styles/common/overrides.scss +6 -6
- package/src/lib/shared-styles/common/pulse.scss +26 -26
- package/src/lib/shared-styles/common/swiper.scss +5 -5
- package/src/lib/shared-styles/common/tab-menu.scss +74 -74
- package/src/lib/shared-styles/common/theme.scss +55 -55
- package/src/lib/shared-styles/common/typography.scss +121 -121
- package/src/lib/shared-styles/common/user-menu.scss +129 -129
- package/src/lib/shared-styles/fonts/calistoga.font.scss +6 -6
- package/src/lib/shared-styles/fonts/gilroy.font.scss +160 -160
- package/src/lib/shared-styles/styles.scss +25 -25
- package/naniteninja-dashboard-components-lib-1.0.0.tgz +0 -0
|
@@ -27,14 +27,14 @@ export class LibEditRecurringEventComponent {
|
|
|
27
27
|
this.editOptionsCtrl.setValue(this.excludeCurrentInstance ? EditRecurringEventOptions.FOLLOWING : EditRecurringEventOptions.CURRENT);
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEditRecurringEventComponent, deps: [{ token: i1.FallbackTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEditRecurringEventComponent, isStandalone: true, selector: "lib-edit-recurring-event", inputs: { excludeCurrentInstance: "excludeCurrentInstance", editOptionsCtrl: "editOptionsCtrl" }, ngImport: i0, template: "@if (options) {\
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEditRecurringEventComponent, isStandalone: true, selector: "lib-edit-recurring-event", inputs: { excludeCurrentInstance: "excludeCurrentInstance", editOptionsCtrl: "editOptionsCtrl" }, ngImport: i0, template: "@if (options) {\n <div class=\"edit-recurring-options\">\n <lib-form-field\n class=\"recurring-edit-options\"\n [formFieldControl]=\"editOptionsCtrl\"\n [radioTranslateLabels]=\"true\"\n [radioRippleEffect]=\"false\"\n [options]=\"options\"\n [type]=\"radioFieldType\"\n ></lib-form-field>\n </div>\n}\n", styles: [".edit-recurring-options{padding:20px 10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: InputFieldModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormFieldModule }, { kind: "component", type: i2.FormFieldComponent, selector: "lib-form-field", inputs: ["fieldName", "label", "placeholder", "message", "useTooltips", "descriptionText", "formFieldControl", "submitted", "required", "type", "plusIconUrl", "minusIconUrl", "maxLength", "max", "min", "pinValue", "dualKnobs", "reverseBarColor", "defaultValue", "noMargin", "options", "iconHtml", "invalidPatternMessage", "dateFormat", "currencySymbol", "hideCents", "isEditable", "rowEditConfirmationObsv", "errorInlineMode", "showLabelInRequiredErrorMessage", "decimalPosition", "hyperlinkTarget", "readOnly", "focus", "showRequiredIndicator", "maxDate", "minDate", "radioTranslateLabels", "radioDeselectable", "radioRippleEffect"], outputs: ["rowEdit", "focusOut", "valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEditRecurringEventComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'lib-edit-recurring-event', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FallbackTranslatePipe, TranslateModule, InputFieldModule, FormsModule, ReactiveFormsModule, FormFieldModule], template: "@if (options) {\
|
|
34
|
+
args: [{ selector: 'lib-edit-recurring-event', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FallbackTranslatePipe, TranslateModule, InputFieldModule, FormsModule, ReactiveFormsModule, FormFieldModule], template: "@if (options) {\n <div class=\"edit-recurring-options\">\n <lib-form-field\n class=\"recurring-edit-options\"\n [formFieldControl]=\"editOptionsCtrl\"\n [radioTranslateLabels]=\"true\"\n [radioRippleEffect]=\"false\"\n [options]=\"options\"\n [type]=\"radioFieldType\"\n ></lib-form-field>\n </div>\n}\n", styles: [".edit-recurring-options{padding:20px 10px}\n"] }]
|
|
35
35
|
}], ctorParameters: () => [{ type: i1.FallbackTranslatePipe }], propDecorators: { excludeCurrentInstance: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}], editOptionsCtrl: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1yZWN1cnJpbmctZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9jb21wb25lbnRzL2VkaXQtcmVjdXJyaW5nLWV2ZW50L2VkaXQtcmVjdXJyaW5nLWV2ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9lZGl0LXJlY3VycmluZy1ldmVudC9lZGl0LXJlY3VycmluZy1ldmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFnQixNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDckcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFVcEYsTUFBTSxPQUFPLDhCQUE4QjtJQU96QyxZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUx2RCxvQkFBZSxHQUEyQyxJQUFJLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUcvRyxtQkFBYyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFFdUIsQ0FBQztJQUVwRSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLE9BQU8sR0FBRztZQUNkLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsa0RBQWtELEVBQUUsMkJBQTJCLENBQUMsRUFBRSxLQUFLLEVBQUUseUJBQXlCLENBQUMsU0FBUyxFQUFFO1lBQzVLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsb0NBQW9DLEVBQUUsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtTQUMxSSxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUseUJBQXlCLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUMvSixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkksQ0FBQzsrR0FwQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsc0xDakIzQyx1VkFZQSxxR0RHWSxZQUFZLDhCQUF5QixlQUFlLDhCQUFFLGdCQUFnQiw4QkFBRSxXQUFXLDhCQUFFLG1CQUFtQiw4QkFBRSxlQUFlOzs0RkFFeEgsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLENBQUM7MEZBRzNILHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1GaWVsZE1vZHVsZSwgSW5wdXRGaWVsZE1vZHVsZSwgU2VsZWN0T3B0aW9uIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1GaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcy9mb3JtLWZpZWxkLXR5cGUnO1xuaW1wb3J0IHsgRmFsbGJhY2tUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZmFsbGJhY2stdHJhbnNsYXRlL2ZhbGxiYWNrLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IEVkaXRSZWN1cnJpbmdFdmVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi9lbnVtcy9yZWN1cnJpbmcuZWRpdC5vcHRpb25zLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZWRpdC1yZWN1cnJpbmctZXZlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1yZWN1cnJpbmctZXZlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LXJlY3VycmluZy1ldmVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRmFsbGJhY2tUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVNb2R1bGUsIElucHV0RmllbGRNb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtRmllbGRNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJFZGl0UmVjdXJyaW5nRXZlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBleGNsdWRlQ3VycmVudEluc3RhbmNlOiBib29sZWFuO1xuICBASW5wdXQoKSBlZGl0T3B0aW9uc0N0cmw6IEZvcm1Db250cm9sPEVkaXRSZWN1cnJpbmdFdmVudE9wdGlvbnM+ID0gbmV3IEZvcm1Db250cm9sKEVkaXRSZWN1cnJpbmdFdmVudE9wdGlvbnMuQ1VSUkVOVCk7XG5cbiAgcHVibGljIG9wdGlvbnM6IFNlbGVjdE9wdGlvbjxFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zPltdO1xuICBwdWJsaWMgcmFkaW9GaWVsZFR5cGUgPSBGb3JtRmllbGRUeXBlLnJhZGlvO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFsbGJhY2tUcmFuc2xhdGVQaXBlOiBGYWxsYmFja1RyYW5zbGF0ZVBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0UmVjdXJyaW5nT3B0aW9ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVjdXJyaW5nT3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gW1xuICAgICAgeyBsYWJlbDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5FRElUX1JFQ1VSUklOR19USElTX0FORF9GT0xMT1dJTkdfRVZFTlQnLCAnVGhpcyBhbmQgZm9sbG93aW5nIGV2ZW50cycpLCB2YWx1ZTogRWRpdFJlY3VycmluZ0V2ZW50T3B0aW9ucy5GT0xMT1dJTkcgfSxcbiAgICAgIHsgbGFiZWw6IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQ0FMRU5EQVIuRURJVF9SRUNVUlJJTkdfQUxMX0VWRU5UUycsICdBbGwgZXZlbnRzJyksIHZhbHVlOiBFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zLkFMTCB9LFxuICAgIF07XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5leGNsdWRlQ3VycmVudEluc3RhbmNlID8gb3B0aW9ucyA6IFt7IGxhYmVsOiAnQ0FMRU5EQVIuRURJVF9SRUNVUlJJTkdfVEhJU19FVkVOVCcsIHZhbHVlOiBFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zLkNVUlJFTlQgfSwgLi4ub3B0aW9uc107XG4gICAgdGhpcy5lZGl0T3B0aW9uc0N0cmwuc2V0VmFsdWUodGhpcy5leGNsdWRlQ3VycmVudEluc3RhbmNlID8gRWRpdFJlY3VycmluZ0V2ZW50T3B0aW9ucy5GT0xMT1dJTkcgOiBFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zLkNVUlJFTlQpO1xuICB9XG59XG4iLCJAaWYgKG9wdGlvbnMpIHtcbiAgPGRpdiBjbGFzcz1cImVkaXQtcmVjdXJyaW5nLW9wdGlvbnNcIj5cbiAgICA8bGliLWZvcm0tZmllbGRcbiAgICAgIGNsYXNzPVwicmVjdXJyaW5nLWVkaXQtb3B0aW9uc1wiXG4gICAgICBbZm9ybUZpZWxkQ29udHJvbF09XCJlZGl0T3B0aW9uc0N0cmxcIlxuICAgICAgW3JhZGlvVHJhbnNsYXRlTGFiZWxzXT1cInRydWVcIlxuICAgICAgW3JhZGlvUmlwcGxlRWZmZWN0XT1cImZhbHNlXCJcbiAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgW3R5cGVdPVwicmFkaW9GaWVsZFR5cGVcIlxuICAgID48L2xpYi1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -250,11 +250,11 @@ export class LibEventFormComponent extends BaseComponent {
|
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }, { token: i2.CalendarUtilsService }, { token: i3.FallbackTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventFormComponent, selector: "lib-event-form", inputs: { calendars: "calendars", event: "event", draggedEvent: "draggedEvent" }, outputs: { updateRecurringEvent: "updateRecurringEvent", updateDraggedEvent: "updateDraggedEvent", delete: "delete", closeForm: "closeForm", submitForm: "submitForm" }, usesInheritance: true, ngImport: i0, template: "<lib-bottom-modal\r\n [title]=\"modalTitle\"\r\n [(isOpen)]=\"openModal\"\r\n [(showConfirm)]=\"showConfirm\"\r\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\r\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\r\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\r\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\r\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\r\n [customClass]=\"'calendar-event-modal'\"\r\n [loading]=\"loading$ | async\"\r\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\r\n [cancelButtonTitle]=\"cancelButtonTitle\"\r\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\r\n (closeModal)=\"resetModal()\"\r\n (submitModal)=\"onSubmitModal()\"\r\n (confirmEvent)=\"onDeleteConfirm()\"\r\n>\r\n <div class=\"event-modal\">\r\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\r\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\r\n <ng-content></ng-content>\r\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\r\n <div class=\"form-body\">\r\n <div class=\"form-row center-content\">\r\n <div class=\"event-title-field\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n formControlName=\"title\"\r\n type=\"text\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\r\n [trimWhiteSpace]=\"false\"\r\n ></lib-input-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n <div class=\"form-row event-dates\">\r\n <div class=\"input-field-container input-field-container-group\">\r\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\r\n <lib-input-date-field\r\n class=\"event-date\"\r\n formControlName=\"startDate\"\r\n [readonly]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\r\n </div>\r\n @if (form.controls['allDay'].value) {\r\n <lib-input-date-field\r\n class=\"event-date event-end-date\"\r\n formControlName=\"endDate\"\r\n [disabled]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (!form.controls['allDay'].value) {\r\n <div class=\"form-row\">\r\n <div class=\"input-field-container input-field-container-group time-fields-group\">\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n formControlName=\"startTime\"\r\n [showIcon]=\"true\"\r\n [startDate]=\"eventStart\"\r\n [interval]=\"15\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\r\n </div>\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n class=\"end-time\"\r\n formControlName=\"endTime\"\r\n [interval]=\"15\"\r\n [showIcon]=\"true\"\r\n [displaySlotTime]=\"true\"\r\n [fromTime]=\"\r\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\r\n \"\r\n [startDate]=\"eventStart\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"form-row recurring\">\r\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\r\n <lib-input-field-select\r\n formControlName=\"type\"\r\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\r\n [optionValue]=\"'type'\"\r\n [options]=\"recurringOptions\"\r\n [disabled]=\"loading$ | async\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"allDay-container\">\r\n <ion-item class=\"no-shadow allDay\">\r\n <label>\r\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\r\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\r\n </label>\r\n </ion-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row address\">\r\n <div class=\"input-field-container\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n [trimWhiteSpace]=\"false\"\r\n formControlName=\"address\"\r\n [enableGoogleAddress]=\"true\"\r\n [address]=\"form.controls['address'].value\"\r\n (locationChange)=\"onLocationChange($event)\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\r\n >\r\n </lib-input-field>\r\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <div class=\"event-note-field\">\r\n <lib-input-field\r\n formControlName=\"note\"\r\n [textarea]=\"true\"\r\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\r\n maxLength=\"2000\"\r\n [readonly]=\"loading$ | async\"\r\n ></lib-input-field>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i6.DashedCheckboxComponent, selector: "lib-dashed-checkbox", inputs: ["checked", "disabled"], outputs: ["toggle"] }, { kind: "component", type: i6.InputDateFieldComponent, selector: "lib-input-date-field", inputs: ["label", "defaultDate", "maxDate", "minDate", "showTime", "hieActions", "readonly", "defaultDayHighlight", "showIcon", "timeOnly", "view", "disabled", "dateFormat", "placeholder", "appendTo", "stepMinute", "mask", "styleClass", "timeFormat"], outputs: ["focusEvent"] }, { kind: "component", type: i6.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "component", type: i6.InputFieldSelectComponent, selector: "lib-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation"], outputs: ["valueChange"] }, { kind: "component", type: i6.InputTimeFieldComponent, selector: "lib-input-time-field", inputs: ["startDate", "interval", "displaySlotTime", "fromTime", "format", "label", "readonly", "showIcon", "disabled"], outputs: ["focusEvent"] }, { kind: "component", type: i6.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "component", type: i6.LibErrorMessageComponent, selector: "lib-error-message", inputs: ["config"] }, { kind: "component", type: i7.LibEventInfoComponent, selector: "lib-event-info", inputs: ["event", "calendars"] }, { kind: "component", type: i8.LibEditRecurringEventComponent, selector: "lib-edit-recurring-event", inputs: ["excludeCurrentInstance", "editOptionsCtrl"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FallbackTranslatePipe, name: "fallbackTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventFormComponent, selector: "lib-event-form", inputs: { calendars: "calendars", event: "event", draggedEvent: "draggedEvent" }, outputs: { updateRecurringEvent: "updateRecurringEvent", updateDraggedEvent: "updateDraggedEvent", delete: "delete", closeForm: "closeForm", submitForm: "submitForm" }, usesInheritance: true, ngImport: i0, template: "<lib-bottom-modal\n [title]=\"modalTitle\"\n [(isOpen)]=\"openModal\"\n [(showConfirm)]=\"showConfirm\"\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\n [customClass]=\"'calendar-event-modal'\"\n [loading]=\"loading$ | async\"\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\n [submitButtonTitle]=\"submitButtonTitle\"\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\n [cancelButtonTitle]=\"cancelButtonTitle\"\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\n (closeModal)=\"resetModal()\"\n (submitModal)=\"onSubmitModal()\"\n (confirmEvent)=\"onDeleteConfirm()\"\n>\n <div class=\"event-modal\">\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\n <ng-content></ng-content>\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\n <div class=\"form-body\">\n <div class=\"form-row center-content\">\n <div class=\"event-title-field\">\n <lib-input-field\n maxLength=\"2000\"\n formControlName=\"title\"\n type=\"text\"\n [readonly]=\"loading$ | async\"\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\n [trimWhiteSpace]=\"false\"\n ></lib-input-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\n </div>\n </div>\n <div class=\"form-row event-dates\">\n <div class=\"input-field-container input-field-container-group\">\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\n <lib-input-date-field\n class=\"event-date\"\n formControlName=\"startDate\"\n [readonly]=\"loading$ | async\"\n [hieActions]=\"true\"\n [showIcon]=\"true\"\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\n ></lib-input-date-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\n </div>\n @if (form.controls['allDay'].value) {\n <lib-input-date-field\n class=\"event-date event-end-date\"\n formControlName=\"endDate\"\n [disabled]=\"loading$ | async\"\n [hieActions]=\"true\"\n [showIcon]=\"true\"\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\n ></lib-input-date-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\n }\n </div>\n </div>\n\n @if (!form.controls['allDay'].value) {\n <div class=\"form-row\">\n <div class=\"input-field-container input-field-container-group time-fields-group\">\n <div class=\"time-field\">\n <lib-input-time-field\n formControlName=\"startTime\"\n [showIcon]=\"true\"\n [startDate]=\"eventStart\"\n [interval]=\"15\"\n [disabled]=\"loading$ | async\"\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\n ></lib-input-time-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\n </div>\n <div class=\"time-field\">\n <lib-input-time-field\n class=\"end-time\"\n formControlName=\"endTime\"\n [interval]=\"15\"\n [showIcon]=\"true\"\n [displaySlotTime]=\"true\"\n [fromTime]=\"\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\n \"\n [startDate]=\"eventStart\"\n [disabled]=\"loading$ | async\"\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\n ></lib-input-time-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\n </div>\n </div>\n </div>\n }\n\n <div class=\"form-row recurring\">\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\n <lib-input-field-select\n formControlName=\"type\"\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\n [optionValue]=\"'type'\"\n [options]=\"recurringOptions\"\n [disabled]=\"loading$ | async\"\n >\n </lib-input-field-select>\n </div>\n <div class=\"allDay-container\">\n <ion-item class=\"no-shadow allDay\">\n <label>\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\n </label>\n </ion-item>\n </div>\n </div>\n\n <div class=\"form-row address\">\n <div class=\"input-field-container\">\n <lib-input-field\n maxLength=\"2000\"\n [trimWhiteSpace]=\"false\"\n formControlName=\"address\"\n [enableGoogleAddress]=\"true\"\n [address]=\"form.controls['address'].value\"\n (locationChange)=\"onLocationChange($event)\"\n [readonly]=\"loading$ | async\"\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\n >\n </lib-input-field>\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"event-note-field\">\n <lib-input-field\n formControlName=\"note\"\n [textarea]=\"true\"\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\n maxLength=\"2000\"\n [readonly]=\"loading$ | async\"\n ></lib-input-field>\n </div>\n </div>\n </div>\n </form>\n </div>\n</lib-bottom-modal>\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i6.DashedCheckboxComponent, selector: "lib-dashed-checkbox", inputs: ["checked", "disabled"], outputs: ["toggle"] }, { kind: "component", type: i6.InputDateFieldComponent, selector: "lib-input-date-field", inputs: ["label", "defaultDate", "maxDate", "minDate", "showTime", "hieActions", "readonly", "defaultDayHighlight", "showIcon", "timeOnly", "view", "disabled", "dateFormat", "placeholder", "appendTo", "stepMinute", "mask", "styleClass", "timeFormat"], outputs: ["focusEvent"] }, { kind: "component", type: i6.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "component", type: i6.InputFieldSelectComponent, selector: "lib-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation"], outputs: ["valueChange"] }, { kind: "component", type: i6.InputTimeFieldComponent, selector: "lib-input-time-field", inputs: ["startDate", "interval", "displaySlotTime", "fromTime", "format", "label", "readonly", "showIcon", "disabled"], outputs: ["focusEvent"] }, { kind: "component", type: i6.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "component", type: i6.LibErrorMessageComponent, selector: "lib-error-message", inputs: ["config"] }, { kind: "component", type: i7.LibEventInfoComponent, selector: "lib-event-info", inputs: ["event", "calendars"] }, { kind: "component", type: i8.LibEditRecurringEventComponent, selector: "lib-edit-recurring-event", inputs: ["excludeCurrentInstance", "editOptionsCtrl"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.FallbackTranslatePipe, name: "fallbackTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
254
254
|
}
|
|
255
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventFormComponent, decorators: [{
|
|
256
256
|
type: Component,
|
|
257
|
-
args: [{ selector: 'lib-event-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lib-bottom-modal\r\n [title]=\"modalTitle\"\r\n [(isOpen)]=\"openModal\"\r\n [(showConfirm)]=\"showConfirm\"\r\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\r\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\r\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\r\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\r\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\r\n [customClass]=\"'calendar-event-modal'\"\r\n [loading]=\"loading$ | async\"\r\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\r\n [submitButtonTitle]=\"submitButtonTitle\"\r\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\r\n [cancelButtonTitle]=\"cancelButtonTitle\"\r\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\r\n (closeModal)=\"resetModal()\"\r\n (submitModal)=\"onSubmitModal()\"\r\n (confirmEvent)=\"onDeleteConfirm()\"\r\n>\r\n <div class=\"event-modal\">\r\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\r\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\r\n <ng-content></ng-content>\r\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\r\n <div class=\"form-body\">\r\n <div class=\"form-row center-content\">\r\n <div class=\"event-title-field\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n formControlName=\"title\"\r\n type=\"text\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\r\n [trimWhiteSpace]=\"false\"\r\n ></lib-input-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n <div class=\"form-row event-dates\">\r\n <div class=\"input-field-container input-field-container-group\">\r\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\r\n <lib-input-date-field\r\n class=\"event-date\"\r\n formControlName=\"startDate\"\r\n [readonly]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\r\n </div>\r\n @if (form.controls['allDay'].value) {\r\n <lib-input-date-field\r\n class=\"event-date event-end-date\"\r\n formControlName=\"endDate\"\r\n [disabled]=\"loading$ | async\"\r\n [hieActions]=\"true\"\r\n [showIcon]=\"true\"\r\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\r\n ></lib-input-date-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (!form.controls['allDay'].value) {\r\n <div class=\"form-row\">\r\n <div class=\"input-field-container input-field-container-group time-fields-group\">\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n formControlName=\"startTime\"\r\n [showIcon]=\"true\"\r\n [startDate]=\"eventStart\"\r\n [interval]=\"15\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\r\n </div>\r\n <div class=\"time-field\">\r\n <lib-input-time-field\r\n class=\"end-time\"\r\n formControlName=\"endTime\"\r\n [interval]=\"15\"\r\n [showIcon]=\"true\"\r\n [displaySlotTime]=\"true\"\r\n [fromTime]=\"\r\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\r\n \"\r\n [startDate]=\"eventStart\"\r\n [disabled]=\"loading$ | async\"\r\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\r\n ></lib-input-time-field>\r\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"form-row recurring\">\r\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\r\n <lib-input-field-select\r\n formControlName=\"type\"\r\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\r\n [optionValue]=\"'type'\"\r\n [options]=\"recurringOptions\"\r\n [disabled]=\"loading$ | async\"\r\n >\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"allDay-container\">\r\n <ion-item class=\"no-shadow allDay\">\r\n <label>\r\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\r\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\r\n </label>\r\n </ion-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row address\">\r\n <div class=\"input-field-container\">\r\n <lib-input-field\r\n maxLength=\"2000\"\r\n [trimWhiteSpace]=\"false\"\r\n formControlName=\"address\"\r\n [enableGoogleAddress]=\"true\"\r\n [address]=\"form.controls['address'].value\"\r\n (locationChange)=\"onLocationChange($event)\"\r\n [readonly]=\"loading$ | async\"\r\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\r\n >\r\n </lib-input-field>\r\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\r\n </div>\r\n </div>\r\n\r\n <div class=\"form-row\">\r\n <div class=\"event-note-field\">\r\n <lib-input-field\r\n formControlName=\"note\"\r\n [textarea]=\"true\"\r\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\r\n maxLength=\"2000\"\r\n [readonly]=\"loading$ | async\"\r\n ></lib-input-field>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</lib-bottom-modal>\r\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"] }]
|
|
257
|
+
args: [{ selector: 'lib-event-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<lib-bottom-modal\n [title]=\"modalTitle\"\n [(isOpen)]=\"openModal\"\n [(showConfirm)]=\"showConfirm\"\n [confirmButton]=\"'CONFIRM.YES' | fallbackTranslate: 'Yes'\"\n [confirmCancelButton]=\"'CONFIRM.No' | fallbackTranslate: 'No'\"\n [confirmationTitle]=\"'CONFIRM.ARE_YOU_SURE' | fallbackTranslate: 'Confirm Deletion'\"\n [confirmationMsg]=\"'CONFIRM.ARE_YOU_SURE_MESSAGE' | fallbackTranslate: 'Sure you want to delete?'\"\n [showCloseBtn]=\"!cancelButtonTitle && editMode\"\n [customClass]=\"'calendar-event-modal'\"\n [loading]=\"loading$ | async\"\n [validModal]=\"(!form || form.valid) && (loading$ | async) !== true\"\n [submitButtonTitle]=\"submitButtonTitle\"\n [secondaryButtonTitle]=\"secondaryButtonTitle\"\n [cancelButtonTitle]=\"cancelButtonTitle\"\n (secondaryButtonClick)=\"onModalSecondaryButtonClick()\"\n (closeModal)=\"resetModal()\"\n (submitModal)=\"onSubmitModal()\"\n (confirmEvent)=\"onDeleteConfirm()\"\n>\n <div class=\"event-modal\">\n <lib-event-info [event]=\"event\" [calendars]=\"calendars\" *ngIf=\"!form && editMode && !openRecurringOptions\"></lib-event-info>\n <lib-edit-recurring-event [editOptionsCtrl]=\"editOptionsCtrl\" [excludeCurrentInstance]=\"recurringTypeChanged\" *ngIf=\"openRecurringOptions\"></lib-edit-recurring-event>\n <ng-content></ng-content>\n <form [formGroup]=\"form\" *ngIf=\"form && !openRecurringOptions\" autocomplete=\"off\" appFocusInvalidInput (ngSubmit)=\"saveEvent()\" (keyup.enter)=\"saveEvent()\" id=\"event-form\">\n <div class=\"form-body\">\n <div class=\"form-row center-content\">\n <div class=\"event-title-field\">\n <lib-input-field\n maxLength=\"2000\"\n formControlName=\"title\"\n type=\"text\"\n [readonly]=\"loading$ | async\"\n [label]=\"'CALENDAR.TITLE_FIELD' | fallbackTranslate: 'Title'\"\n [trimWhiteSpace]=\"false\"\n ></lib-input-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['title'] }\"></lib-error-message>\n </div>\n </div>\n <div class=\"form-row event-dates\">\n <div class=\"input-field-container input-field-container-group\">\n <div class=\"event-date-container\" [ngClass]=\"{ 'input-field-container-full-row': !form.controls['allDay'].value }\">\n <lib-input-date-field\n class=\"event-date\"\n formControlName=\"startDate\"\n [readonly]=\"loading$ | async\"\n [hieActions]=\"true\"\n [showIcon]=\"true\"\n [label]=\"'CALENDAR.START_DATE' | fallbackTranslate: 'Start Date'\"\n ></lib-input-date-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startDate'] }\"></lib-error-message>\n </div>\n @if (form.controls['allDay'].value) {\n <lib-input-date-field\n class=\"event-date event-end-date\"\n formControlName=\"endDate\"\n [disabled]=\"loading$ | async\"\n [hieActions]=\"true\"\n [showIcon]=\"true\"\n [label]=\"'CALENDAR.END_DATE' | fallbackTranslate: 'End Date'\"\n ></lib-input-date-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endDate'] }\"></lib-error-message>\n }\n </div>\n </div>\n\n @if (!form.controls['allDay'].value) {\n <div class=\"form-row\">\n <div class=\"input-field-container input-field-container-group time-fields-group\">\n <div class=\"time-field\">\n <lib-input-time-field\n formControlName=\"startTime\"\n [showIcon]=\"true\"\n [startDate]=\"eventStart\"\n [interval]=\"15\"\n [disabled]=\"loading$ | async\"\n [label]=\"'CALENDAR.STARTS' | fallbackTranslate: 'Starts'\"\n ></lib-input-time-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['startTime'] }\"></lib-error-message>\n </div>\n <div class=\"time-field\">\n <lib-input-time-field\n class=\"end-time\"\n formControlName=\"endTime\"\n [interval]=\"15\"\n [showIcon]=\"true\"\n [displaySlotTime]=\"true\"\n [fromTime]=\"\n form.controls.startTime.value && form.controls.startTime.value['slotValue'] ? form.controls.startTime.value['slotValue'] : form.controls.startTime.value\n \"\n [startDate]=\"eventStart\"\n [disabled]=\"loading$ | async\"\n [label]=\"'CALENDAR.ENDS' | fallbackTranslate: 'Ends'\"\n ></lib-input-time-field>\n <lib-error-message class=\"input-error event-input-field-error\" [config]=\"{ control: form.controls['endTime'] }\"></lib-error-message>\n </div>\n </div>\n </div>\n }\n\n <div class=\"form-row recurring\">\n <div class=\"recurring-select\" formGroupName=\"recurringPattern\">\n <lib-input-field-select\n formControlName=\"type\"\n [optionLabel]=\"(recurringOptions[0].title | fallbackTranslate: 'noTrnslations') === 'noTrnslations' ? 'name' : 'title'\"\n [optionValue]=\"'type'\"\n [options]=\"recurringOptions\"\n [disabled]=\"loading$ | async\"\n >\n </lib-input-field-select>\n </div>\n <div class=\"allDay-container\">\n <ion-item class=\"no-shadow allDay\">\n <label>\n <lib-dashed-checkbox formControlName=\"allDay\" [disabled]=\"loading$ | async\"></lib-dashed-checkbox>\n <span>{{ 'CALENDAR.ALL_DAY' | fallbackTranslate: 'All day' }}</span>\n </label>\n </ion-item>\n </div>\n </div>\n\n <div class=\"form-row address\">\n <div class=\"input-field-container\">\n <lib-input-field\n maxLength=\"2000\"\n [trimWhiteSpace]=\"false\"\n formControlName=\"address\"\n [enableGoogleAddress]=\"true\"\n [address]=\"form.controls['address'].value\"\n (locationChange)=\"onLocationChange($event)\"\n [readonly]=\"loading$ | async\"\n [label]=\"'FIELDS.ADD_LOCATION' | fallbackTranslate: 'Location'\"\n >\n </lib-input-field>\n <lib-error-message class=\"input-error\" [config]=\"{ control: form.controls['address'] }\"></lib-error-message>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"event-note-field\">\n <lib-input-field\n formControlName=\"note\"\n [textarea]=\"true\"\n [label]=\"'FIELDS.ADD_DESCRIPTION' | fallbackTranslate: 'Description'\"\n maxLength=\"2000\"\n [readonly]=\"loading$ | async\"\n ></lib-input-field>\n </div>\n </div>\n </div>\n </form>\n </div>\n</lib-bottom-modal>\n", styles: [".event-modal{--input-width: 100%;--input-height: 48px;--border-radius: 100px;--input-icon-color: #fe3c72;--input-font-color: #fff;--dropdown-background: linear-gradient(191.18deg, #27242c 61.33%, #0c0b0e 101.43%);--input-font-family: \"Gilroy-Regular\", serif;--label-color: grey;--input-field-box-shadow: inset 17px 22px 20px 2.5px rgba(17, 16, 20, .7), inset -2px -2px 8px rgba(203, 199, 209, .5);--input-number-filed-font: var(--font-family);--textarea-height: 100px !important;position:relative;display:block;width:100%;padding:0 20px 10px;max-height:72vh;overflow:auto}.event-modal .form-row{display:flex;flex-direction:row;margin-bottom:10px}.event-modal .form-row.form-footer{align-items:flex-end;justify-content:flex-end;margin-bottom:-15px}.event-modal .form-row.form-footer lib-primary-btn{width:100px}.event-modal .form-row.form-row-error{margin:-10px 0 0;padding:0;height:20px}.event-modal .form-row.recurring{margin:12px 0;display:flex}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:50%}.event-modal .form-row.recurring .recurring-select lib-input-field-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;margin-top:-10px}.event-modal form{padding:5px 5px 0}.event-modal form .form-body{max-width:100%;position:relative;display:block}.event-modal ion-item ion-label{font-family:Gilroy-Regular,serif!important}.event-modal ion-item ion-label:not(.allDay){display:flex!important;flex-direction:row;align-items:center;justify-content:center}.event-modal ion-item.allDay{margin-top:-10px;width:fit-content;--min-height: 50px}.event-modal ion-item.allDay label{display:flex;gap:10px;align-items:center;font-family:Gilroy-Regular,serif;cursor:pointer}.event-modal ion-item.allDay lib-dashed-checkbox{--size: 24px;--color: var(--cyrano-pink-shade-1)}.event-modal .event-title-field,.event-modal .event-note-field{position:relative;display:block;width:100%;padding-top:10px}.event-modal .event-title-field lib-input-field,.event-modal .event-note-field lib-input-field{position:relative;width:100%;min-width:100%}.event-modal .input-field-container{padding-top:2px;width:100%}.event-modal .input-field-container.input-field-container-group{display:flex;gap:5px}.event-modal .input-field-container.input-field-container-group div{width:50%}.event-modal .input-field-container.input-field-container-group div.input-field-container-full-row{width:100%}.event-modal .input-field-container .time-fields{display:flex;gap:10px}.event-modal .input-field-container lib-input-field{width:100%}.event-modal .field-error{position:relative;display:block;width:100%}@media screen and (max-width: 500px){.event-modal .event-date-container{margin-bottom:15px}.event-modal .input-field-container-group{display:flex;flex-direction:column}.event-modal .input-field-container-group div{width:100%!important}.event-modal .input-field-container-group.time-fields-group{flex-direction:row}.event-modal .form-row.recurring{display:block}.event-modal .form-row.recurring .allDay-container,.event-modal .form-row.recurring .recurring-select{width:100%}.event-modal .form-row.recurring .allDay-container{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end}.event-modal .form-row.recurring .allDay-container ion-item.allDay{padding-left:0;margin-top:10px}.event-modal .form-row.address{margin-top:-20px}.event-modal .form-row.event-dates{margin-bottom:0}}@media screen and (max-width: 350px){.event-modal .input-placeholder.input-placeholder-date .time-placeholder{margin-left:0}}.event-modal .event-input-field-error{margin-top:-20px}\n"] }]
|
|
258
258
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }, { type: i2.CalendarUtilsService }, { type: i3.FallbackTranslatePipe }], propDecorators: { calendars: [{
|
|
259
259
|
type: Input
|
|
260
260
|
}], event: [{
|
|
@@ -272,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
272
272
|
}], submitForm: [{
|
|
273
273
|
type: Output
|
|
274
274
|
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtZm9ybS9ldmVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9ldmVudC1mb3JtL2V2ZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFpQixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBUzFFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBRXRELElBQWEsS0FBSztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxD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QztRQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzsrR0FqUlUscUJBQXFCO21HQUFyQixxQkFBcUIsd1VDdkJsQywyb1BBeUpBOzs0RkRsSWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3VMQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTU8sWUFBWTtzQkFBeEIsS0FBSztnQkFPSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBEYXRlUmFuZ2VWYWxpZGF0b3IsIExvY2F0aW9uTW9kZWwsIFRpbWVSYW5nZVZhbGlkYXRvciB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBhZGRNaW51dGVzLCBkaWZmZXJlbmNlSW5NaW51dGVzLCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmFsbGJhY2tUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZmFsbGJhY2stdHJhbnNsYXRlL2ZhbGxiYWNrLXRyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL2VudW1zL2V2ZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEVkaXRSZWN1cnJpbmdFdmVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi9lbnVtcy9yZWN1cnJpbmcuZWRpdC5vcHRpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBJQ2FsZW5kYXJBY2NvdW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYWxlbmRhci5hY2NvdW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElFdmVudEZvcm0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmZvcm0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSUV2ZW50Rm9ybU91dHB1dCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXZlbnQuZm9ybS5vdXRwdXQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ldmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5ldmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5leGNlcHRpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgcmVjdXJyaW5nT3B0aW9ucyB9IGZyb20gJy4uLy4uL2xvb2t1cHMvcmVjdXJyaW5nLm9wdGlvbnMubG9va3VwJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci11dGlscy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWV2ZW50LWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZXZlbnQtZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaWJFdmVudEZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBjYWxlbmRhcnM6IElDYWxlbmRhckFjY291bnRbXTtcclxuICBASW5wdXQoKSBnZXQgZXZlbnQoKTogSUV2ZW50IHtcclxuICAgIHJldHVybiB0aGlzLl9ldmVudDtcclxuICB9XHJcbiAgc2V0IGV2ZW50KGU6IElFdmVudCkge1xyXG4gICAgdGhpcy5vbkV2ZW50Q2hhbmdlKGUpO1xyXG4gIH1cclxuICBASW5wdXQoKSBnZXQgZHJhZ2dlZEV2ZW50KCk6IElFdmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZHJhZ2dlZEV2ZW50O1xyXG4gIH1cclxuICBzZXQgZHJhZ2dlZEV2ZW50KGU6IElFdmVudCkge1xyXG4gICAgdGhpcy5vbkRyYWdFdmVudChlKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSB1cGRhdGVSZWN1cnJpbmdFdmVudDogRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVEcmFnZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlOiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtOiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XHJcblxyXG4gIHB1YmxpYyBlZGl0TW9kZTogYm9vbGVhbjtcclxuICBwdWJsaWMgZWRpdE9wdGlvbnNDdHJsOiBGb3JtQ29udHJvbDxFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zPiA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHB1YmxpYyBtb2RhbFRpdGxlOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlY3VycmluZ1R5cGVDaGFuZ2VkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBjYW5jZWxCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZWNvbmRhcnlCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBvcGVuTW9kYWw6IGJvb2xlYW47XHJcbiAgcHVibGljIHNob3dDb25maXJtOiBib29sZWFuO1xyXG4gIHB1YmxpYyBvcGVuUmVjdXJyaW5nT3B0aW9uczogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVjdXJyaW5nT3B0aW9uczogSVJlY3VycmluZ0V2ZW50W107XHJcbiAgcHVibGljIGV2ZW50U3RhcnQ6IERhdGU7XHJcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDxJRXZlbnRGb3JtPjtcclxuICBwdWJsaWMgcmVjdXJyaW5nRXhjZXB0aW9uOiBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb247XHJcbiAgcHJpdmF0ZSBpbml0aWFsRm9ybVZhbHVlOiBJRXZlbnQ7XHJcbiAgcHJpdmF0ZSBldmVudFRpbWU6IG51bWJlcjtcclxuICBwcml2YXRlIF9ldmVudDogSUV2ZW50O1xyXG4gIHByaXZhdGUgX2RyYWdnZWRFdmVudDogSUV2ZW50O1xyXG4gIHByaXZhdGUgZGVsZXRlQ29uZmlybWVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgdXBkYXRlZEV2ZW50OiBJRXZlbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgY2FsZW5kYXJVdGlsU2VydmljZTogQ2FsZW5kYXJVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZhbGxiYWNrVHJhbnNsYXRlUGlwZTogRmFsbGJhY2tUcmFuc2xhdGVQaXBlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRlbGV0ZUNvbmZpcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDb25maXJtID0gZmFsc2U7XHJcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KHsgc2VsZWN0ZWRSZWN1cnJpbmdPcHRpb246IHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3VibWl0TW9kYWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kZWxldGVDb25maXJtZWQpIHtcclxuICAgICAgdGhpcy5vbkRlbGV0ZUNvbmZpcm0oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJhZ2dlZEV2ZW50KSB7XHJcbiAgICAgIHRoaXMudXBkYXRlRHJhZ2dlZEV2ZW50LmVtaXQoe1xyXG4gICAgICAgIHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdE1vZGUgPyB0aGlzLnVwZGF0ZUV2ZW50KCkgOiB0aGlzLnNhdmVFdmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTW9kYWxTZWNvbmRhcnlCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0aGlzLmVkaXRPcHRpb25zQ3RybD8udmFsdWUgPyBmYWxzZSA6IHRoaXMuZXZlbnQucmVjdXJyaW5nIHx8ICEhdGhpcy5ldmVudC5yZWN1cnJpbmdFdmVudElkO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybSA9ICF0aGlzLm9wZW5SZWN1cnJpbmdPcHRpb25zO1xyXG4gICAgaWYgKHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMpIHtcclxuICAgICAgdGhpcy5jYW5jZWxCdXR0b25UaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5DQU5DRUwnLCAnQ2FuY2VsJyk7XHJcbiAgICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuREVMRVRFJywgJ0RlbGV0ZScpO1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm1lZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVFdmVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFsbG93U3VibWlzc2lvbigpKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZWRFdmVudDogSUV2ZW50ID0gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmJ1aWxkVXBkYXRlZEV2ZW50KHRoaXMuZXZlbnQsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcclxuICAgICAgaWYgKCh1cGRhdGVkRXZlbnQucmVjdXJyaW5nICYmIHRoaXMuZXZlbnQucmVjdXJyaW5nKSB8fCB0aGlzLmV2ZW50Py5yZWN1cnJpbmdFdmVudElkKSB7XHJcbiAgICAgICAgdXBkYXRlZEV2ZW50LnJlY3VycmluZ1N0YXJ0RGF0ZSA9IHRoaXMuZXZlbnQucmVjdXJyaW5nU3RhcnREYXRlO1xyXG4gICAgICAgIHVwZGF0ZWRFdmVudC5yZWN1cnJpbmdFbmREYXRlID0gdGhpcy5ldmVudC5yZWN1cnJpbmdFbmREYXRlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlZEV2ZW50ID0gdXBkYXRlZEV2ZW50O1xyXG4gICAgICAgIHRoaXMucmVjdXJyaW5nVHlwZUNoYW5nZWQgPVxyXG4gICAgICAgICAgdGhpcy51cGRhdGVkRXZlbnQucmVjdXJyaW5nUGF0dGVybj8udHlwZSAhPT0gdGhpcy5ldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlIHx8ICh0aGlzLnVwZGF0ZWRFdmVudC5yZWN1cnJpbmdQYXR0ZXJuICYmICF0aGlzLmV2ZW50LnJlY3VycmluZ1BhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQ0FMRU5EQVIuRURJVF9SRUNVUlJJTkdfRVZFTlQnLCAnRWRpdCByZWN1cnJpbmcgZXZlbnQnKTtcclxuICAgICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gbnVsbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdEZvcm1FdmVudCh1cGRhdGVkRXZlbnQsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IExvY2F0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5sb2NhdGlvbi5zZXRWYWx1ZSh7IGNvb3JkaW5hdGVzOiBldmVudC5jb29yZGluYXRlcywgYWRkcmVzczogZXZlbnQuYWRkcmVzcyB9KTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZGRyZXNzLnNldFZhbHVlKGV2ZW50LmFkZHJlc3MpO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKGV2ZW50LmFkZHJlc3MgJiYgZXZlbnQuY29vcmRpbmF0ZXMgPyBudWxsIDogeyBpbnZhbGlkRmllbGQ6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRNb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVjdXJyaW5nVHlwZUNoYW5nZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdE9wdGlvbnNDdHJsLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5vcGVuUmVjdXJyaW5nT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5vcGVuTW9kYWwgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VGb3JtLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUV2ZW50Rm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyB0aGlzLmV2ZW50LnRpdGxlIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5ORVdfRVZFTlQnLCAnTmV3IGV2ZW50Jyk7XHJcbiAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gdGhpcy5lZGl0TW9kZSA/IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5ERUxFVEUnLCAnRGVsZXRlJykgOiBudWxsO1xyXG4gICAgdGhpcy5jYW5jZWxCdXR0b25UaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyBudWxsIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkNBTkNFTCcsICdDYW5jZWwnKTtcclxuICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmVkaXRNb2RlID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkVESVQnLCAnRWRpdCcpIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLlNBVkUnLCAnU2F2ZScpO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRNb2RlKSB7XHJcbiAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wZW5Nb2RhbCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVjdXJyaW5nT3B0aW9ucyA9IHJlY3VycmluZ09wdGlvbnMubWFwKChvcHRpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHsgLi4ub3B0aW9uLCB0aXRsZTogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKG9wdGlvbi50aXRsZSwgb3B0aW9uLm5hbWUpIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uID1cclxuICAgICAgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldEV4Y2VwdGlvbkV2ZW50KHRoaXMuZXZlbnQsIHRoaXMuZXZlbnQucmVjdXJyaW5nUGF0dGVybj8uZXhjZXB0aW9ucykgfHwgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldFVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb24odGhpcy5ldmVudCk7XHJcbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8uc3RhcnREYXRlIHx8IHRoaXMuZXZlbnQucmVjdXJyaW5nU3RhcnREYXRlIHx8IHRoaXMuZXZlbnQuc3RhcnREYXRlKTtcclxuICAgIHRoaXMuZXZlbnRTdGFydCA9IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5zZXRFdmVudFRpbWUodGhpcy5ldmVudCk7XHJcbiAgICBjb25zdCBldmVudFRpbWVzID0gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldEV2ZW50VGltZXModGhpcy5ldmVudCwgdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24sIHRydWUpO1xyXG4gICAgY29uc3QgZXZlbnROb3RlID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/Lm5vdGUgfHwgdGhpcy5ldmVudC5ub3RlID8gdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLnJlbW92ZUh0bWxUYWdzKHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5ub3RlIHx8IHRoaXMuZXZlbnQubm90ZSkgOiAnJztcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIubm9uTnVsbGFibGUuZ3JvdXAoXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6IFt0aGlzLmV2ZW50Ll9pZCwgW11dLFxyXG4gICAgICAgIGFjY291bnRJZDogW3RoaXMuZXZlbnQuYWNjb3VudElkLCBbXV0sXHJcbiAgICAgICAgdHlwZTogW3RoaXMuZXZlbnQudHlwZSB8fCBFdmVudFR5cGVzLlVTRVIsIFtdXSxcclxuICAgICAgICBlbWFpbDogW3RoaXMuZXZlbnQuZW1haWwsIFtdXSxcclxuICAgICAgICB0aXRsZTogW3RoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy50aXRsZSB8fCB0aGlzLmV2ZW50LnRpdGxlLCB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UuaXNQcm92aWRlckV2ZW50KHRoaXMuZXZlbnQpID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgIGFsbERheTogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5hbGxEYXkgfHwgdGhpcy5ldmVudC5hbGxEYXkgfHwgZmFsc2UsIFtdKSxcclxuICAgICAgICBzdGFydERhdGU6IG5ldyBGb3JtQ29udHJvbDxEYXRlPihzdGFydERhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgc3RhcnRUaW1lOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4oZXZlbnRUaW1lcy5zdGFydFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgZW5kRGF0ZTogbmV3IEZvcm1Db250cm9sPERhdGU+KG5ldyBEYXRlKCF0aGlzLmV2ZW50Ll9pZCA/IHN0YXJ0RGF0ZSA6IHRoaXMuZXZlbnQucmVjdXJyaW5nRW5kRGF0ZSB8fCB0aGlzLmV2ZW50LmVuZERhdGUpLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAgIGVuZFRpbWU6IG5ldyBGb3JtQ29udHJvbDxEYXRlPihldmVudFRpbWVzLmVuZFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgbm90ZTogW2V2ZW50Tm90ZSwgW11dLFxyXG4gICAgICAgIGxvY2F0aW9uOiBbdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uIHx8IHRoaXMuZXZlbnQubG9jYXRpb24sIFtdXSxcclxuICAgICAgICBhZGRyZXNzOiBbdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uPy5hZGRyZXNzIHx8IHRoaXMuZXZlbnQubG9jYXRpb24/LmFkZHJlc3MsIHRoaXMuZXZlbnQ/LnR5cGUgPyBbXSA6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgICAgcmVjdXJyaW5nUGF0dGVybjogdGhpcy5mYi5ub25OdWxsYWJsZS5ncm91cCh7XHJcbiAgICAgICAgICB0eXBlOiBbIXRoaXMuZXZlbnQuX2lkID8gcmVjdXJyaW5nT3B0aW9uc1swXS50eXBlIDogdGhpcy5ldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlLCBbXV0sXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWxpZGF0b3JzOiBbRGF0ZVJhbmdlVmFsaWRhdG9yKCdzdGFydERhdGUnLCAnZW5kRGF0ZScpLCBUaW1lUmFuZ2VWYWxpZGF0b3IoJ3N0YXJ0VGltZScsICdlbmRUaW1lJyldLFxyXG4gICAgICB9LFxyXG4gICAgKTtcclxuICAgIHRoaXMuZXZlbnRUaW1lID0gZGlmZmVyZW5jZUluTWludXRlcyhldmVudFRpbWVzLmVuZFRpbWUsIGV2ZW50VGltZXMuc3RhcnRUaW1lKTtcclxuICAgIHRoaXMuaGFuZGxlQWxsRGF5RXZlbnRzKHRoaXMuZXZlbnQuYWxsRGF5KTtcclxuICAgIHRoaXMud2F0Y2hGb3JtRmllbGRzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxGb3JtVmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hGb3JtRmllbGRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFsbERheS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVBbGxEYXlFdmVudHModmFsdWUsIHRydWUpKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZGRyZXNzLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiAhdGhpcy5mb3JtLnZhbHVlLmxvY2F0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKHsgaW52YWxpZEZpZWxkOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMubG9jYXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIC0tLS0tLS0gd2F0Y2ggc3RhcnQgZGF0ZSByZWN1cnJpbmcgLS0tLS0tLS0tLS0tLVxyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXJ0RGF0ZS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuZm9ybS5jb250cm9scy5hbGxEYXkudmFsdWUpIHtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuZW5kRGF0ZS5zZXRWYWx1ZShuZXcgRGF0ZSh2YWx1ZSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmVuZFRpbWUuc2V0VmFsdWUoYWRkTWludXRlcyh2YWx1ZVsnc2xvdFZhbHVlJ10gfHwgbmV3IERhdGUodmFsdWUpLCB0aGlzLmV2ZW50VGltZSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQWxsRGF5RXZlbnRzKGFsbERheTogYm9vbGVhbiwgb25DaGFuZ2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBbJ2VuZERhdGUnLCAnZW5kVGltZScsICdzdGFydFRpbWUnXS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLnNldFZhbGlkYXRvcnMoYWxsRGF5ID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbE5hbWVdLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH0pO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIGlmIChhbGxEYXkpIHtcclxuICAgICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnREYXRlLnZhbHVlO1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5lbmREYXRlLnNldFZhbHVlKHN0YXJ0RGF0ZSA/IHN0YXJ0T2ZEYXkobmV3IERhdGUoc3RhcnREYXRlKSkgOiBudWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBzdGFydFRpbWUgJiYgc3RhcnRUaW1lWydzbG90VmFsdWUnXSA/IHN0YXJ0T2ZEYXkobmV3IERhdGUoc3RhcnRUaW1lWydzbG90VmFsdWUnXSkpIDogbnVsbDtcclxuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnNldFZhbHVlKHRpbWUpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5lbmRUaW1lLnNldFZhbHVlKHRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlIHx8IHRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLnNhdmVFdmVudCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgICAgdGhpcy5tb2RhbFRpdGxlID0gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5VUERBVEVfRVZFTlQnLCAnVXBkYXRlIEV2ZW50Jyk7XHJcbiAgICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuU0FWRScsICdTYXZlJyk7XHJcbiAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpO1xyXG4gICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWxsb3dTdWJtaXNzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZvcm0udmFsdWUuYWRkcmVzcyAmJiAhdGhpcy5mb3JtLnZhbHVlLmxvY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1snYWRkcmVzcyddLnNldEVycm9ycyh7IGludmFsaWRGaWVsZDogdHJ1ZSB9KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMpIHtcclxuICAgICAgdGhpcy51cGRhdGVSZWN1cnJpbmdFdmVudC5lbWl0KHtcclxuICAgICAgICBldmVudDogdGhpcy51cGRhdGVkRXZlbnQsXHJcbiAgICAgICAgc2VsZWN0ZWRSZWN1cnJpbmdPcHRpb246IHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlLFxyXG4gICAgICAgIHJlY3VycmluZ1R5cGVDaGFuZ2VkOiB0aGlzLnJlY3VycmluZ1R5cGVDaGFuZ2VkLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1Ym1pdEZvcm1FdmVudChldmVudDogSUV2ZW50LCBmb3JtVmFsdWU6IElFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQoe1xyXG4gICAgICBldmVudCxcclxuICAgICAgaW5pdGlhbEZvcm1WYWx1ZTogdGhpcy5pbml0aWFsRm9ybVZhbHVlLFxyXG4gICAgICBmb3JtVmFsdWUsXHJcbiAgICAgIHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkV2ZW50Q2hhbmdlKGV2ZW50OiBJRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSAhIWV2ZW50Py5faWQ7XHJcbiAgICB0aGlzLl9ldmVudCA9IGV2ZW50O1xyXG4gICAgdGhpcy5lZGl0T3B0aW9uc0N0cmwuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBpZiAoIWV2ZW50KSB7XHJcbiAgICAgIHRoaXMub3Blbk1vZGFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9ybSA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVFdmVudEZvcm0oKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRHJhZ0V2ZW50KGV2ZW50OiBJRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSAhIWV2ZW50Py5faWQ7XHJcbiAgICB0aGlzLm9wZW5Nb2RhbCA9ICF0aGlzLl9kcmFnZ2VkRXZlbnQgJiYgZXZlbnQ/LnJlY3VycmluZztcclxuICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0aGlzLm9wZW5Nb2RhbDtcclxuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMub3Blbk1vZGFsID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5FRElUX1JFQ1VSUklOR19FVkVOVCcsICdFZGl0IHJlY3VycmluZyBldmVudCcpIDogbnVsbDtcclxuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLm9wZW5Nb2RhbCA/IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5DQU5DRUwnLCAnQ2FuY2VsJykgOiBudWxsO1xyXG4gICAgdGhpcy5zdWJtaXRCdXR0b25UaXRsZSA9IHRoaXMub3Blbk1vZGFsID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkVESVQnLCAnRWRpdCcpIDogbnVsbDtcclxuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xyXG4gICAgdGhpcy5fZHJhZ2dlZEV2ZW50ID0gZXZlbnQ7XHJcbiAgICBpZiAodGhpcy5fZHJhZ2dlZEV2ZW50ICYmICF0aGlzLm9wZW5Nb2RhbCkge1xyXG4gICAgICB0aGlzLnN1Ym1pdEZvcm1FdmVudCh0aGlzLl9kcmFnZ2VkRXZlbnQsIHRoaXMuZHJhZ2dlZEV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGxpYi1ib3R0b20tbW9kYWxcclxuICBbdGl0bGVdPVwibW9kYWxUaXRsZVwiXHJcbiAgWyhpc09wZW4pXT1cIm9wZW5Nb2RhbFwiXHJcbiAgWyhzaG93Q29uZmlybSldPVwic2hvd0NvbmZpcm1cIlxyXG4gIFtjb25maXJtQnV0dG9uXT1cIidDT05GSVJNLllFUycgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ1llcydcIlxyXG4gIFtjb25maXJtQ2FuY2VsQnV0dG9uXT1cIidDT05GSVJNLk5vJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnTm8nXCJcclxuICBbY29uZmlybWF0aW9uVGl0bGVdPVwiJ0NPTkZJUk0uQVJFX1lPVV9TVVJFJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnQ29uZmlybSBEZWxldGlvbidcIlxyXG4gIFtjb25maXJtYXRpb25Nc2ddPVwiJ0NPTkZJUk0uQVJFX1lPVV9TVVJFX01FU1NBR0UnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdTdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nXCJcclxuICBbc2hvd0Nsb3NlQnRuXT1cIiFjYW5jZWxCdXR0b25UaXRsZSAmJiBlZGl0TW9kZVwiXHJcbiAgW2N1c3RvbUNsYXNzXT1cIidjYWxlbmRhci1ldmVudC1tb2RhbCdcIlxyXG4gIFtsb2FkaW5nXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gIFt2YWxpZE1vZGFsXT1cIighZm9ybSB8fCBmb3JtLnZhbGlkKSAmJiAobG9hZGluZyQgfCBhc3luYykgIT09IHRydWVcIlxyXG4gIFtzdWJtaXRCdXR0b25UaXRsZV09XCJzdWJtaXRCdXR0b25UaXRsZVwiXHJcbiAgW3NlY29uZGFyeUJ1dHRvblRpdGxlXT1cInNlY29uZGFyeUJ1dHRvblRpdGxlXCJcclxuICBbY2FuY2VsQnV0dG9uVGl0bGVdPVwiY2FuY2VsQnV0dG9uVGl0bGVcIlxyXG4gIChzZWNvbmRhcnlCdXR0b25DbGljayk9XCJvbk1vZGFsU2Vjb25kYXJ5QnV0dG9uQ2xpY2soKVwiXHJcbiAgKGNsb3NlTW9kYWwpPVwicmVzZXRNb2RhbCgpXCJcclxuICAoc3VibWl0TW9kYWwpPVwib25TdWJtaXRNb2RhbCgpXCJcclxuICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlQ29uZmlybSgpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJldmVudC1tb2RhbFwiPlxyXG4gICAgPGxpYi1ldmVudC1pbmZvIFtldmVudF09XCJldmVudFwiIFtjYWxlbmRhcnNdPVwiY2FsZW5kYXJzXCIgKm5nSWY9XCIhZm9ybSAmJiBlZGl0TW9kZSAmJiAhb3BlblJlY3VycmluZ09wdGlvbnNcIj48L2xpYi1ldmVudC1pbmZvPlxyXG4gICAgPGxpYi1lZGl0LXJlY3VycmluZy1ldmVudCBbZWRpdE9wdGlvbnNDdHJsXT1cImVkaXRPcHRpb25zQ3RybFwiIFtleGNsdWRlQ3VycmVudEluc3RhbmNlXT1cInJlY3VycmluZ1R5cGVDaGFuZ2VkXCIgKm5nSWY9XCJvcGVuUmVjdXJyaW5nT3B0aW9uc1wiPjwvbGliLWVkaXQtcmVjdXJyaW5nLWV2ZW50PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJmb3JtICYmICFvcGVuUmVjdXJyaW5nT3B0aW9uc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGFwcEZvY3VzSW52YWxpZElucHV0IChuZ1N1Ym1pdCk9XCJzYXZlRXZlbnQoKVwiIChrZXl1cC5lbnRlcik9XCJzYXZlRXZlbnQoKVwiIGlkPVwiZXZlbnQtZm9ybVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IGNlbnRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtdGl0bGUtZmllbGRcIj5cclxuICAgICAgICAgICAgPGxpYi1pbnB1dC1maWVsZFxyXG4gICAgICAgICAgICAgIG1heExlbmd0aD1cIjIwMDBcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuVElUTEVfRklFTEQnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdUaXRsZSdcIlxyXG4gICAgICAgICAgICAgIFt0cmltV2hpdGVTcGFjZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cclxuICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1sndGl0bGUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBldmVudC1kYXRlc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkLWNvbnRhaW5lciBpbnB1dC1maWVsZC1jb250YWluZXItZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRhdGUtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaW5wdXQtZmllbGQtY29udGFpbmVyLWZ1bGwtcm93JzogIWZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlIH1cIj5cclxuICAgICAgICAgICAgICA8bGliLWlucHV0LWRhdGUtZmllbGRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnQtZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgW2hpZUFjdGlvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLlNUQVJUX0RBVEUnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdTdGFydCBEYXRlJ1wiXHJcbiAgICAgICAgICAgICAgPjwvbGliLWlucHV0LWRhdGUtZmllbGQ+XHJcbiAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snc3RhcnREYXRlJ10gfVwiPjwvbGliLWVycm9yLW1lc3NhZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBAaWYgKGZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgPGxpYi1pbnB1dC1kYXRlLWZpZWxkXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50LWRhdGUgZXZlbnQtZW5kLWRhdGVcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICBbaGllQWN0aW9uc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuRU5EX0RBVEUnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmQgRGF0ZSdcIlxyXG4gICAgICAgICAgICAgID48L2xpYi1pbnB1dC1kYXRlLWZpZWxkPlxyXG4gICAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yIGV2ZW50LWlucHV0LWZpZWxkLWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2VuZERhdGUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZiAoIWZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkLWNvbnRhaW5lciBpbnB1dC1maWVsZC1jb250YWluZXItZ3JvdXAgdGltZS1maWVsZHMtZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1pbnB1dC10aW1lLWZpZWxkXHJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW3N0YXJ0RGF0ZV09XCJldmVudFN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgW2ludGVydmFsXT1cIjE1XCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLlNUQVJUUycgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ1N0YXJ0cydcIlxyXG4gICAgICAgICAgICAgICAgPjwvbGliLWlucHV0LXRpbWUtZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8bGliLWVycm9yLW1lc3NhZ2UgY2xhc3M9XCJpbnB1dC1lcnJvciBldmVudC1pbnB1dC1maWVsZC1lcnJvclwiIFtjb25maWddPVwieyBjb250cm9sOiBmb3JtLmNvbnRyb2xzWydzdGFydFRpbWUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1pbnB1dC10aW1lLWZpZWxkXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZW5kLXRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2ludGVydmFsXT1cIjE1XCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheVNsb3RUaW1lXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZnJvbVRpbWVdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWUgJiYgZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVbJ3Nsb3RWYWx1ZSddID8gZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVbJ3Nsb3RWYWx1ZSddIDogZm9ybS5jb250cm9scy5zdGFydFRpbWUudmFsdWVcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgW3N0YXJ0RGF0ZV09XCJldmVudFN0YXJ0XCJcclxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLkVORFMnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmRzJ1wiXHJcbiAgICAgICAgICAgICAgICA+PC9saWItaW5wdXQtdGltZS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yIGV2ZW50LWlucHV0LWZpZWxkLWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2VuZFRpbWUnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyByZWN1cnJpbmdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWN1cnJpbmctc2VsZWN0XCIgZm9ybUdyb3VwTmFtZT1cInJlY3VycmluZ1BhdHRlcm5cIj5cclxuICAgICAgICAgICAgPGxpYi1pbnB1dC1maWVsZC1zZWxlY3RcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICBbb3B0aW9uTGFiZWxdPVwiKHJlY3VycmluZ09wdGlvbnNbMF0udGl0bGUgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ25vVHJuc2xhdGlvbnMnKSA9PT0gJ25vVHJuc2xhdGlvbnMnID8gJ25hbWUnIDogJ3RpdGxlJ1wiXHJcbiAgICAgICAgICAgICAgW29wdGlvblZhbHVlXT1cIid0eXBlJ1wiXHJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwicmVjdXJyaW5nT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvbGliLWlucHV0LWZpZWxkLXNlbGVjdD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFsbERheS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1pdGVtIGNsYXNzPVwibm8tc2hhZG93IGFsbERheVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxsaWItZGFzaGVkLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImFsbERheVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCI+PC9saWItZGFzaGVkLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJ0NBTEVOREFSLkFMTF9EQVknIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdBbGwgZGF5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBhZGRyZXNzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGRcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg9XCIyMDAwXCJcclxuICAgICAgICAgICAgICBbdHJpbVdoaXRlU3BhY2VdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxyXG4gICAgICAgICAgICAgIFtlbmFibGVHb29nbGVBZGRyZXNzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFthZGRyZXNzXT1cImZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgKGxvY2F0aW9uQ2hhbmdlKT1cIm9uTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInRklFTERTLkFERF9MT0NBVElPTicgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ0xvY2F0aW9uJ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9saWItaW5wdXQtZmllbGQ+XHJcbiAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1ub3RlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGRcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJub3RlXCJcclxuICAgICAgICAgICAgICBbdGV4dGFyZWFdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidGSUVMRFMuQUREX0RFU0NSSVBUSU9OJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnRGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICBtYXhMZW5ndGg9XCIyMDAwXCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwibG9hZGluZyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L2Rpdj5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG4iXX0=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtZm9ybS9ldmVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9ldmVudC1mb3JtL2V2ZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFlLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFpQixrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7O0FBUzFFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBRXRELElBQWEsS0FBSztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQVM7UUFDakIsSUFBSSxD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QztRQUMzQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzsrR0FqUlUscUJBQXFCO21HQUFyQixxQkFBcUIsd1VDdkJsQyx5MU9BeUpBOzs0RkRsSWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNO3VMQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBTU8sWUFBWTtzQkFBeEIsS0FBSztnQkFPSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIERhdGVSYW5nZVZhbGlkYXRvciwgTG9jYXRpb25Nb2RlbCwgVGltZVJhbmdlVmFsaWRhdG9yIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XG5pbXBvcnQgeyBhZGRNaW51dGVzLCBkaWZmZXJlbmNlSW5NaW51dGVzLCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGYWxsYmFja1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9mYWxsYmFjay10cmFuc2xhdGUvZmFsbGJhY2stdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL2VudW1zL2V2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vZW51bXMvcmVjdXJyaW5nLmVkaXQub3B0aW9ucy5lbnVtJztcbmltcG9ydCB7IElDYWxlbmRhckFjY291bnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NhbGVuZGFyLmFjY291bnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElFdmVudEZvcm0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IElFdmVudEZvcm1PdXRwdXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmZvcm0ub3V0cHV0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVJlY3VycmluZ0V2ZW50RXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWN1cnJpbmcuZXhjZXB0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyByZWN1cnJpbmdPcHRpb25zIH0gZnJvbSAnLi4vLi4vbG9va3Vwcy9yZWN1cnJpbmcub3B0aW9ucy5sb29rdXAnO1xuaW1wb3J0IHsgQ2FsZW5kYXJVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYWxlbmRhci11dGlscy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWV2ZW50LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9ldmVudC1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpYkV2ZW50Rm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjYWxlbmRhcnM6IElDYWxlbmRhckFjY291bnRbXTtcbiAgQElucHV0KCkgZ2V0IGV2ZW50KCk6IElFdmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50O1xuICB9XG4gIHNldCBldmVudChlOiBJRXZlbnQpIHtcbiAgICB0aGlzLm9uRXZlbnRDaGFuZ2UoZSk7XG4gIH1cbiAgQElucHV0KCkgZ2V0IGRyYWdnZWRFdmVudCgpOiBJRXZlbnQge1xuICAgIHJldHVybiB0aGlzLl9kcmFnZ2VkRXZlbnQ7XG4gIH1cbiAgc2V0IGRyYWdnZWRFdmVudChlOiBJRXZlbnQpIHtcbiAgICB0aGlzLm9uRHJhZ0V2ZW50KGUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHVwZGF0ZVJlY3VycmluZ0V2ZW50OiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XG4gIEBPdXRwdXQoKSB1cGRhdGVEcmFnZ2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZTogRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRGb3JtT3V0cHV0PigpO1xuICBAT3V0cHV0KCkgY2xvc2VGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtOiBFdmVudEVtaXR0ZXI8SUV2ZW50Rm9ybU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudEZvcm1PdXRwdXQ+KCk7XG5cbiAgcHVibGljIGVkaXRNb2RlOiBib29sZWFuO1xuICBwdWJsaWMgZWRpdE9wdGlvbnNDdHJsOiBGb3JtQ29udHJvbDxFZGl0UmVjdXJyaW5nRXZlbnRPcHRpb25zPiA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nO1xuICBwdWJsaWMgcmVjdXJyaW5nVHlwZUNoYW5nZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBjYW5jZWxCdXR0b25UaXRsZTogc3RyaW5nO1xuICBwdWJsaWMgc3VibWl0QnV0dG9uVGl0bGU6IHN0cmluZztcbiAgcHVibGljIHNlY29uZGFyeUJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBvcGVuTW9kYWw6IGJvb2xlYW47XG4gIHB1YmxpYyBzaG93Q29uZmlybTogYm9vbGVhbjtcbiAgcHVibGljIG9wZW5SZWN1cnJpbmdPcHRpb25zOiBib29sZWFuO1xuICBwdWJsaWMgcmVjdXJyaW5nT3B0aW9uczogSVJlY3VycmluZ0V2ZW50W107XG4gIHB1YmxpYyBldmVudFN0YXJ0OiBEYXRlO1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwPElFdmVudEZvcm0+O1xuICBwdWJsaWMgcmVjdXJyaW5nRXhjZXB0aW9uOiBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb247XG4gIHByaXZhdGUgaW5pdGlhbEZvcm1WYWx1ZTogSUV2ZW50O1xuICBwcml2YXRlIGV2ZW50VGltZTogbnVtYmVyO1xuICBwcml2YXRlIF9ldmVudDogSUV2ZW50O1xuICBwcml2YXRlIF9kcmFnZ2VkRXZlbnQ6IElFdmVudDtcbiAgcHJpdmF0ZSBkZWxldGVDb25maXJtZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgdXBkYXRlZEV2ZW50OiBJRXZlbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclV0aWxTZXJ2aWNlOiBDYWxlbmRhclV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGZhbGxiYWNrVHJhbnNsYXRlUGlwZTogRmFsbGJhY2tUcmFuc2xhdGVQaXBlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlQ29uZmlybSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDb25maXJtID0gZmFsc2U7XG4gICAgdGhpcy5kZWxldGUuZW1pdCh7IHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdE1vZGFsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlbGV0ZUNvbmZpcm1lZCkge1xuICAgICAgdGhpcy5vbkRlbGV0ZUNvbmZpcm0oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZHJhZ2dlZEV2ZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZURyYWdnZWRFdmVudC5lbWl0KHtcbiAgICAgICAgc2VsZWN0ZWRSZWN1cnJpbmdPcHRpb246IHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZWRpdE1vZGUgPyB0aGlzLnVwZGF0ZUV2ZW50KCkgOiB0aGlzLnNhdmVFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIG9uTW9kYWxTZWNvbmRhcnlCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5SZWN1cnJpbmdPcHRpb25zID0gdGhpcy5lZGl0T3B0aW9uc0N0cmw/LnZhbHVlID8gZmFsc2UgOiB0aGlzLmV2ZW50LnJlY3VycmluZyB8fCAhIXRoaXMuZXZlbnQucmVjdXJyaW5nRXZlbnRJZDtcbiAgICB0aGlzLnNob3dDb25maXJtID0gIXRoaXMub3BlblJlY3VycmluZ09wdGlvbnM7XG4gICAgaWYgKHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMpIHtcbiAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpO1xuICAgICAgdGhpcy5zdWJtaXRCdXR0b25UaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5ERUxFVEUnLCAnRGVsZXRlJyk7XG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblRpdGxlID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIHNhdmVFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbGxvd1N1Ym1pc3Npb24oKSkge1xuICAgICAgY29uc3QgdXBkYXRlZEV2ZW50OiBJRXZlbnQgPSB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UuYnVpbGRVcGRhdGVkRXZlbnQodGhpcy5ldmVudCwgdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpO1xuICAgICAgaWYgKCh1cGRhdGVkRXZlbnQucmVjdXJyaW5nICYmIHRoaXMuZXZlbnQucmVjdXJyaW5nKSB8fCB0aGlzLmV2ZW50Py5yZWN1cnJpbmdFdmVudElkKSB7XG4gICAgICAgIHVwZGF0ZWRFdmVudC5yZWN1cnJpbmdTdGFydERhdGUgPSB0aGlzLmV2ZW50LnJlY3VycmluZ1N0YXJ0RGF0ZTtcbiAgICAgICAgdXBkYXRlZEV2ZW50LnJlY3VycmluZ0VuZERhdGUgPSB0aGlzLmV2ZW50LnJlY3VycmluZ0VuZERhdGU7XG4gICAgICAgIHRoaXMudXBkYXRlZEV2ZW50ID0gdXBkYXRlZEV2ZW50O1xuICAgICAgICB0aGlzLnJlY3VycmluZ1R5cGVDaGFuZ2VkID1cbiAgICAgICAgICB0aGlzLnVwZGF0ZWRFdmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlICE9PSB0aGlzLmV2ZW50LnJlY3VycmluZ1BhdHRlcm4/LnR5cGUgfHwgKHRoaXMudXBkYXRlZEV2ZW50LnJlY3VycmluZ1BhdHRlcm4gJiYgIXRoaXMuZXZlbnQucmVjdXJyaW5nUGF0dGVybik7XG4gICAgICAgIHRoaXMub3BlblJlY3VycmluZ09wdGlvbnMgPSB0cnVlO1xuICAgICAgICB0aGlzLm1vZGFsVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0NBTEVOREFSLkVESVRfUkVDVVJSSU5HX0VWRU5UJywgJ0VkaXQgcmVjdXJyaW5nIGV2ZW50Jyk7XG4gICAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdWJtaXRGb3JtRXZlbnQodXBkYXRlZEV2ZW50LCB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IExvY2F0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMubG9jYXRpb24uc2V0VmFsdWUoeyBjb29yZGluYXRlczogZXZlbnQuY29vcmRpbmF0ZXMsIGFkZHJlc3M6IGV2ZW50LmFkZHJlc3MgfSk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0VmFsdWUoZXZlbnQuYWRkcmVzcyk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKGV2ZW50LmFkZHJlc3MgJiYgZXZlbnQuY29vcmRpbmF0ZXMgPyBudWxsIDogeyBpbnZhbGlkRmllbGQ6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlY3VycmluZ1R5cGVDaGFuZ2VkID0gZmFsc2U7XG4gICAgdGhpcy5lZGl0T3B0aW9uc0N0cmwuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5vcGVuUmVjdXJyaW5nT3B0aW9ucyA9IGZhbHNlO1xuICAgIHRoaXMub3Blbk1vZGFsID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZUZvcm0uZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRXZlbnRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyB0aGlzLmV2ZW50LnRpdGxlIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5ORVdfRVZFTlQnLCAnTmV3IGV2ZW50Jyk7XG4gICAgdGhpcy5zZWNvbmRhcnlCdXR0b25UaXRsZSA9IHRoaXMuZWRpdE1vZGUgPyB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuREVMRVRFJywgJ0RlbGV0ZScpIDogbnVsbDtcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblRpdGxlID0gdGhpcy5lZGl0TW9kZSA/IG51bGwgOiB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpO1xuICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLmVkaXRNb2RlID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLkVESVQnLCAnRWRpdCcpIDogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdCVVRUT05TLlNBVkUnLCAnU2F2ZScpO1xuICAgIGlmICghdGhpcy5lZGl0TW9kZSkge1xuICAgICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB9XG4gICAgdGhpcy5vcGVuTW9kYWwgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5yZWN1cnJpbmdPcHRpb25zID0gcmVjdXJyaW5nT3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHsgLi4ub3B0aW9uLCB0aXRsZTogdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKG9wdGlvbi50aXRsZSwgb3B0aW9uLm5hbWUpIH07XG4gICAgfSk7XG4gICAgdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24gPVxuICAgICAgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldEV4Y2VwdGlvbkV2ZW50KHRoaXMuZXZlbnQsIHRoaXMuZXZlbnQucmVjdXJyaW5nUGF0dGVybj8uZXhjZXB0aW9ucykgfHwgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLmdldFVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb24odGhpcy5ldmVudCk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUodGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LnN0YXJ0RGF0ZSB8fCB0aGlzLmV2ZW50LnJlY3VycmluZ1N0YXJ0RGF0ZSB8fCB0aGlzLmV2ZW50LnN0YXJ0RGF0ZSk7XG4gICAgdGhpcy5ldmVudFN0YXJ0ID0gc3RhcnRPZkRheShzdGFydERhdGUpO1xuICAgIHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5zZXRFdmVudFRpbWUodGhpcy5ldmVudCk7XG4gICAgY29uc3QgZXZlbnRUaW1lcyA9IHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5nZXRFdmVudFRpbWVzKHRoaXMuZXZlbnQsIHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uLCB0cnVlKTtcbiAgICBjb25zdCBldmVudE5vdGUgPSB0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8ubm90ZSB8fCB0aGlzLmV2ZW50Lm5vdGUgPyB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UucmVtb3ZlSHRtbFRhZ3ModGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/Lm5vdGUgfHwgdGhpcy5ldmVudC5ub3RlKSA6ICcnO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIubm9uTnVsbGFibGUuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIF9pZDogW3RoaXMuZXZlbnQuX2lkLCBbXV0sXG4gICAgICAgIGFjY291bnRJZDogW3RoaXMuZXZlbnQuYWNjb3VudElkLCBbXV0sXG4gICAgICAgIHR5cGU6IFt0aGlzLmV2ZW50LnR5cGUgfHwgRXZlbnRUeXBlcy5VU0VSLCBbXV0sXG4gICAgICAgIGVtYWlsOiBbdGhpcy5ldmVudC5lbWFpbCwgW11dLFxuICAgICAgICB0aXRsZTogW3RoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy50aXRsZSB8fCB0aGlzLmV2ZW50LnRpdGxlLCB0aGlzLmNhbGVuZGFyVXRpbFNlcnZpY2UuaXNQcm92aWRlckV2ZW50KHRoaXMuZXZlbnQpID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICBhbGxEYXk6IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPih0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8uYWxsRGF5IHx8IHRoaXMuZXZlbnQuYWxsRGF5IHx8IGZhbHNlLCBbXSksXG4gICAgICAgIHN0YXJ0RGF0ZTogbmV3IEZvcm1Db250cm9sPERhdGU+KHN0YXJ0RGF0ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgc3RhcnRUaW1lOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4oZXZlbnRUaW1lcy5zdGFydFRpbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgICAgIGVuZERhdGU6IG5ldyBGb3JtQ29udHJvbDxEYXRlPihuZXcgRGF0ZSghdGhpcy5ldmVudC5faWQgPyBzdGFydERhdGUgOiB0aGlzLmV2ZW50LnJlY3VycmluZ0VuZERhdGUgfHwgdGhpcy5ldmVudC5lbmREYXRlKSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgZW5kVGltZTogbmV3IEZvcm1Db250cm9sPERhdGU+KGV2ZW50VGltZXMuZW5kVGltZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgbm90ZTogW2V2ZW50Tm90ZSwgW11dLFxuICAgICAgICBsb2NhdGlvbjogW3RoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5sb2NhdGlvbiB8fCB0aGlzLmV2ZW50LmxvY2F0aW9uLCBbXV0sXG4gICAgICAgIGFkZHJlc3M6IFt0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbj8ubG9jYXRpb24/LmFkZHJlc3MgfHwgdGhpcy5ldmVudC5sb2NhdGlvbj8uYWRkcmVzcywgdGhpcy5ldmVudD8udHlwZSA/IFtdIDogW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgcmVjdXJyaW5nUGF0dGVybjogdGhpcy5mYi5ub25OdWxsYWJsZS5ncm91cCh7XG4gICAgICAgICAgdHlwZTogWyF0aGlzLmV2ZW50Ll9pZCA/IHJlY3VycmluZ09wdGlvbnNbMF0udHlwZSA6IHRoaXMuZXZlbnQucmVjdXJyaW5nUGF0dGVybj8udHlwZSwgW11dLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtEYXRlUmFuZ2VWYWxpZGF0b3IoJ3N0YXJ0RGF0ZScsICdlbmREYXRlJyksIFRpbWVSYW5nZVZhbGlkYXRvcignc3RhcnRUaW1lJywgJ2VuZFRpbWUnKV0sXG4gICAgICB9LFxuICAgICk7XG4gICAgdGhpcy5ldmVudFRpbWUgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGV2ZW50VGltZXMuZW5kVGltZSwgZXZlbnRUaW1lcy5zdGFydFRpbWUpO1xuICAgIHRoaXMuaGFuZGxlQWxsRGF5RXZlbnRzKHRoaXMuZXZlbnQuYWxsRGF5KTtcbiAgICB0aGlzLndhdGNoRm9ybUZpZWxkcygpO1xuICAgIHRoaXMuaW5pdGlhbEZvcm1WYWx1ZSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaEZvcm1GaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFsbERheS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVBbGxEYXlFdmVudHModmFsdWUsIHRydWUpKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuYWRkcmVzcy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmICF0aGlzLmZvcm0udmFsdWUubG9jYXRpb24pIHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFkZHJlc3Muc2V0RXJyb3JzKHsgaW52YWxpZEZpZWxkOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMubG9jYXRpb24uc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyAtLS0tLS0tIHdhdGNoIHN0YXJ0IGRhdGUgcmVjdXJyaW5nIC0tLS0tLS0tLS0tLS1cbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnREYXRlLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUgJiYgIXRoaXMuZm9ybS5jb250cm9scy5hbGxEYXkudmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmVuZERhdGUuc2V0VmFsdWUobmV3IERhdGUodmFsdWUpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmVuZFRpbWUuc2V0VmFsdWUoYWRkTWludXRlcyh2YWx1ZVsnc2xvdFZhbHVlJ10gfHwgbmV3IERhdGUodmFsdWUpLCB0aGlzLmV2ZW50VGltZSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBbGxEYXlFdmVudHMoYWxsRGF5OiBib29sZWFuLCBvbkNoYW5nZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBbJ2VuZERhdGUnLCAnZW5kVGltZScsICdzdGFydFRpbWUnXS5mb3JFYWNoKChjb250cm9sTmFtZSkgPT4ge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS5zZXRWYWxpZGF0b3JzKGFsbERheSA/IFtdIDogW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sc1tjb250cm9sTmFtZV0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgaWYgKGFsbERheSkge1xuICAgICAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnREYXRlLnZhbHVlO1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuZW5kRGF0ZS5zZXRWYWx1ZShzdGFydERhdGUgPyBzdGFydE9mRGF5KG5ldyBEYXRlKHN0YXJ0RGF0ZSkpIDogbnVsbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhcnRUaW1lLnZhbHVlO1xuICAgICAgICBjb25zdCB0aW1lID0gc3RhcnRUaW1lICYmIHN0YXJ0VGltZVsnc2xvdFZhbHVlJ10gPyBzdGFydE9mRGF5KG5ldyBEYXRlKHN0YXJ0VGltZVsnc2xvdFZhbHVlJ10pKSA6IG51bGw7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGFydFRpbWUuc2V0VmFsdWUodGltZSk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5lbmRUaW1lLnNldFZhbHVlKHRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWRpdE9wdGlvbnNDdHJsLnZhbHVlIHx8IHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5zYXZlRXZlbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQ0FMRU5EQVIuVVBEQVRFX0VWRU5UJywgJ1VwZGF0ZSBFdmVudCcpO1xuICAgICAgdGhpcy5zdWJtaXRCdXR0b25UaXRsZSA9IHRoaXMuZmFsbGJhY2tUcmFuc2xhdGVQaXBlLnRyYW5zZm9ybSgnQlVUVE9OUy5TQVZFJywgJ1NhdmUnKTtcbiAgICAgIHRoaXMuY2FuY2VsQnV0dG9uVGl0bGUgPSB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpO1xuICAgICAgdGhpcy5zZWNvbmRhcnlCdXR0b25UaXRsZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd1N1Ym1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtLnZhbHVlLmFkZHJlc3MgJiYgIXRoaXMuZm9ybS52YWx1ZS5sb2NhdGlvbikge1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uc2V0RXJyb3JzKHsgaW52YWxpZEZpZWxkOiB0cnVlIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcGVuUmVjdXJyaW5nT3B0aW9ucykge1xuICAgICAgdGhpcy51cGRhdGVSZWN1cnJpbmdFdmVudC5lbWl0KHtcbiAgICAgICAgZXZlbnQ6IHRoaXMudXBkYXRlZEV2ZW50LFxuICAgICAgICBzZWxlY3RlZFJlY3VycmluZ09wdGlvbjogdGhpcy5lZGl0T3B0aW9uc0N0cmwudmFsdWUsXG4gICAgICAgIHJlY3VycmluZ1R5cGVDaGFuZ2VkOiB0aGlzLnJlY3VycmluZ1R5cGVDaGFuZ2VkLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJtaXRGb3JtRXZlbnQoZXZlbnQ6IElFdmVudCwgZm9ybVZhbHVlOiBJRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdCh7XG4gICAgICBldmVudCxcbiAgICAgIGluaXRpYWxGb3JtVmFsdWU6IHRoaXMuaW5pdGlhbEZvcm1WYWx1ZSxcbiAgICAgIGZvcm1WYWx1ZSxcbiAgICAgIHNlbGVjdGVkUmVjdXJyaW5nT3B0aW9uOiB0aGlzLmVkaXRPcHRpb25zQ3RybC52YWx1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25FdmVudENoYW5nZShldmVudDogSUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5lZGl0TW9kZSA9ICEhZXZlbnQ/Ll9pZDtcbiAgICB0aGlzLl9ldmVudCA9IGV2ZW50O1xuICAgIHRoaXMuZWRpdE9wdGlvbnNDdHJsLnNldFZhbHVlKG51bGwpO1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMub3Blbk1vZGFsID0gZmFsc2U7XG4gICAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVFdmVudEZvcm0oKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcztcbiAgfVxuXG4gIHByaXZhdGUgb25EcmFnRXZlbnQoZXZlbnQ6IElFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdE1vZGUgPSAhIWV2ZW50Py5faWQ7XG4gICAgdGhpcy5vcGVuTW9kYWwgPSAhdGhpcy5fZHJhZ2dlZEV2ZW50ICYmIGV2ZW50Py5yZWN1cnJpbmc7XG4gICAgdGhpcy5vcGVuUmVjdXJyaW5nT3B0aW9ucyA9IHRoaXMub3Blbk1vZGFsO1xuICAgIHRoaXMubW9kYWxUaXRsZSA9IHRoaXMub3Blbk1vZGFsID8gdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5FRElUX1JFQ1VSUklOR19FVkVOVCcsICdFZGl0IHJlY3VycmluZyBldmVudCcpIDogbnVsbDtcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblRpdGxlID0gdGhpcy5vcGVuTW9kYWwgPyB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuQ0FOQ0VMJywgJ0NhbmNlbCcpIDogbnVsbDtcbiAgICB0aGlzLnN1Ym1pdEJ1dHRvblRpdGxlID0gdGhpcy5vcGVuTW9kYWwgPyB0aGlzLmZhbGxiYWNrVHJhbnNsYXRlUGlwZS50cmFuc2Zvcm0oJ0JVVFRPTlMuRURJVCcsICdFZGl0JykgOiBudWxsO1xuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVGl0bGUgPSBudWxsO1xuICAgIHRoaXMuX2RyYWdnZWRFdmVudCA9IGV2ZW50O1xuICAgIGlmICh0aGlzLl9kcmFnZ2VkRXZlbnQgJiYgIXRoaXMub3Blbk1vZGFsKSB7XG4gICAgICB0aGlzLnN1Ym1pdEZvcm1FdmVudCh0aGlzLl9kcmFnZ2VkRXZlbnQsIHRoaXMuZHJhZ2dlZEV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsaWItYm90dG9tLW1vZGFsXG4gIFt0aXRsZV09XCJtb2RhbFRpdGxlXCJcbiAgWyhpc09wZW4pXT1cIm9wZW5Nb2RhbFwiXG4gIFsoc2hvd0NvbmZpcm0pXT1cInNob3dDb25maXJtXCJcbiAgW2NvbmZpcm1CdXR0b25dPVwiJ0NPTkZJUk0uWUVTJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnWWVzJ1wiXG4gIFtjb25maXJtQ2FuY2VsQnV0dG9uXT1cIidDT05GSVJNLk5vJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnTm8nXCJcbiAgW2NvbmZpcm1hdGlvblRpdGxlXT1cIidDT05GSVJNLkFSRV9ZT1VfU1VSRScgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ0NvbmZpcm0gRGVsZXRpb24nXCJcbiAgW2NvbmZpcm1hdGlvbk1zZ109XCInQ09ORklSTS5BUkVfWU9VX1NVUkVfTUVTU0FHRScgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ1N1cmUgeW91IHdhbnQgdG8gZGVsZXRlPydcIlxuICBbc2hvd0Nsb3NlQnRuXT1cIiFjYW5jZWxCdXR0b25UaXRsZSAmJiBlZGl0TW9kZVwiXG4gIFtjdXN0b21DbGFzc109XCInY2FsZW5kYXItZXZlbnQtbW9kYWwnXCJcbiAgW2xvYWRpbmddPVwibG9hZGluZyQgfCBhc3luY1wiXG4gIFt2YWxpZE1vZGFsXT1cIighZm9ybSB8fCBmb3JtLnZhbGlkKSAmJiAobG9hZGluZyQgfCBhc3luYykgIT09IHRydWVcIlxuICBbc3VibWl0QnV0dG9uVGl0bGVdPVwic3VibWl0QnV0dG9uVGl0bGVcIlxuICBbc2Vjb25kYXJ5QnV0dG9uVGl0bGVdPVwic2Vjb25kYXJ5QnV0dG9uVGl0bGVcIlxuICBbY2FuY2VsQnV0dG9uVGl0bGVdPVwiY2FuY2VsQnV0dG9uVGl0bGVcIlxuICAoc2Vjb25kYXJ5QnV0dG9uQ2xpY2spPVwib25Nb2RhbFNlY29uZGFyeUJ1dHRvbkNsaWNrKClcIlxuICAoY2xvc2VNb2RhbCk9XCJyZXNldE1vZGFsKClcIlxuICAoc3VibWl0TW9kYWwpPVwib25TdWJtaXRNb2RhbCgpXCJcbiAgKGNvbmZpcm1FdmVudCk9XCJvbkRlbGV0ZUNvbmZpcm0oKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJldmVudC1tb2RhbFwiPlxuICAgIDxsaWItZXZlbnQtaW5mbyBbZXZlbnRdPVwiZXZlbnRcIiBbY2FsZW5kYXJzXT1cImNhbGVuZGFyc1wiICpuZ0lmPVwiIWZvcm0gJiYgZWRpdE1vZGUgJiYgIW9wZW5SZWN1cnJpbmdPcHRpb25zXCI+PC9saWItZXZlbnQtaW5mbz5cbiAgICA8bGliLWVkaXQtcmVjdXJyaW5nLWV2ZW50IFtlZGl0T3B0aW9uc0N0cmxdPVwiZWRpdE9wdGlvbnNDdHJsXCIgW2V4Y2x1ZGVDdXJyZW50SW5zdGFuY2VdPVwicmVjdXJyaW5nVHlwZUNoYW5nZWRcIiAqbmdJZj1cIm9wZW5SZWN1cnJpbmdPcHRpb25zXCI+PC9saWItZWRpdC1yZWN1cnJpbmctZXZlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybSAmJiAhb3BlblJlY3VycmluZ09wdGlvbnNcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBhcHBGb2N1c0ludmFsaWRJbnB1dCAobmdTdWJtaXQpPVwic2F2ZUV2ZW50KClcIiAoa2V5dXAuZW50ZXIpPVwic2F2ZUV2ZW50KClcIiBpZD1cImV2ZW50LWZvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWJvZHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IGNlbnRlci1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXRpdGxlLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGliLWlucHV0LWZpZWxkXG4gICAgICAgICAgICAgIG1heExlbmd0aD1cIjIwMDBcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImxvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLlRJVExFX0ZJRUxEJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnVGl0bGUnXCJcbiAgICAgICAgICAgICAgW3RyaW1XaGl0ZVNwYWNlXT1cImZhbHNlXCJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cbiAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yIGV2ZW50LWlucHV0LWZpZWxkLWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ3RpdGxlJ10gfVwiPjwvbGliLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3cgZXZlbnQtZGF0ZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGQtY29udGFpbmVyIGlucHV0LWZpZWxkLWNvbnRhaW5lci1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRhdGUtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaW5wdXQtZmllbGQtY29udGFpbmVyLWZ1bGwtcm93JzogIWZvcm0uY29udHJvbHNbJ2FsbERheSddLnZhbHVlIH1cIj5cbiAgICAgICAgICAgICAgPGxpYi1pbnB1dC1kYXRlLWZpZWxkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldmVudC1kYXRlXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbaGllQWN0aW9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDQUxFTkRBUi5TVEFSVF9EQVRFJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnU3RhcnQgRGF0ZSdcIlxuICAgICAgICAgICAgICA+PC9saWItaW5wdXQtZGF0ZS1maWVsZD5cbiAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snc3RhcnREYXRlJ10gfVwiPjwvbGliLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoZm9ybS5jb250cm9sc1snYWxsRGF5J10udmFsdWUpIHtcbiAgICAgICAgICAgICAgPGxpYi1pbnB1dC1kYXRlLWZpZWxkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldmVudC1kYXRlIGV2ZW50LWVuZC1kYXRlXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmREYXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW2hpZUFjdGlvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuRU5EX0RBVEUnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmQgRGF0ZSdcIlxuICAgICAgICAgICAgICA+PC9saWItaW5wdXQtZGF0ZS1maWVsZD5cbiAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snZW5kRGF0ZSddIH1cIj48L2xpYi1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKCFmb3JtLmNvbnRyb2xzWydhbGxEYXknXS52YWx1ZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWZpZWxkLWNvbnRhaW5lciBpbnB1dC1maWVsZC1jb250YWluZXItZ3JvdXAgdGltZS1maWVsZHMtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGliLWlucHV0LXRpbWUtZmllbGRcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZVwiXG4gICAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbc3RhcnREYXRlXT1cImV2ZW50U3RhcnRcIlxuICAgICAgICAgICAgICAgICAgW2ludGVydmFsXT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ0FMRU5EQVIuU1RBUlRTJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnU3RhcnRzJ1wiXG4gICAgICAgICAgICAgICAgPjwvbGliLWlucHV0LXRpbWUtZmllbGQ+XG4gICAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snc3RhcnRUaW1lJ10gfVwiPjwvbGliLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsaWItaW5wdXQtdGltZS1maWVsZFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlbmQtdGltZVwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmRUaW1lXCJcbiAgICAgICAgICAgICAgICAgIFtpbnRlcnZhbF09XCIxNVwiXG4gICAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbZGlzcGxheVNsb3RUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW2Zyb21UaW1lXT1cIlxuICAgICAgICAgICAgICAgICAgICBmb3JtLmNvbnRyb2xzLnN0YXJ0VGltZS52YWx1ZSAmJiBmb3JtLmNvbnRyb2xzLnN0YXJ0VGltZS52YWx1ZVsnc2xvdFZhbHVlJ10gPyBmb3JtLmNvbnRyb2xzLnN0YXJ0VGltZS52YWx1ZVsnc2xvdFZhbHVlJ10gOiBmb3JtLmNvbnRyb2xzLnN0YXJ0VGltZS52YWx1ZVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZXZlbnRTdGFydFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NBTEVOREFSLkVORFMnIHwgZmFsbGJhY2tUcmFuc2xhdGU6ICdFbmRzJ1wiXG4gICAgICAgICAgICAgICAgPjwvbGliLWlucHV0LXRpbWUtZmllbGQ+XG4gICAgICAgICAgICAgICAgPGxpYi1lcnJvci1tZXNzYWdlIGNsYXNzPVwiaW5wdXQtZXJyb3IgZXZlbnQtaW5wdXQtZmllbGQtZXJyb3JcIiBbY29uZmlnXT1cInsgY29udHJvbDogZm9ybS5jb250cm9sc1snZW5kVGltZSddIH1cIj48L2xpYi1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IHJlY3VycmluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWN1cnJpbmctc2VsZWN0XCIgZm9ybUdyb3VwTmFtZT1cInJlY3VycmluZ1BhdHRlcm5cIj5cbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGQtc2VsZWN0XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxuICAgICAgICAgICAgICBbb3B0aW9uTGFiZWxdPVwiKHJlY3VycmluZ09wdGlvbnNbMF0udGl0bGUgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ25vVHJuc2xhdGlvbnMnKSA9PT0gJ25vVHJuc2xhdGlvbnMnID8gJ25hbWUnIDogJ3RpdGxlJ1wiXG4gICAgICAgICAgICAgIFtvcHRpb25WYWx1ZV09XCIndHlwZSdcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJyZWN1cnJpbmdPcHRpb25zXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9saWItaW5wdXQtZmllbGQtc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGxEYXktY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWl0ZW0gY2xhc3M9XCJuby1zaGFkb3cgYWxsRGF5XCI+XG4gICAgICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgICAgICA8bGliLWRhc2hlZC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJhbGxEYXlcIiBbZGlzYWJsZWRdPVwibG9hZGluZyQgfCBhc3luY1wiPjwvbGliLWRhc2hlZC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQ0FMRU5EQVIuQUxMX0RBWScgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ0FsbCBkYXknIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IGFkZHJlc3NcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZmllbGQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bGliLWlucHV0LWZpZWxkXG4gICAgICAgICAgICAgIG1heExlbmd0aD1cIjIwMDBcIlxuICAgICAgICAgICAgICBbdHJpbVdoaXRlU3BhY2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzXCJcbiAgICAgICAgICAgICAgW2VuYWJsZUdvb2dsZUFkZHJlc3NdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFthZGRyZXNzXT1cImZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXS52YWx1ZVwiXG4gICAgICAgICAgICAgIChsb2NhdGlvbkNoYW5nZSk9XCJvbkxvY2F0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwibG9hZGluZyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInRklFTERTLkFERF9MT0NBVElPTicgfCBmYWxsYmFja1RyYW5zbGF0ZTogJ0xvY2F0aW9uJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2xpYi1pbnB1dC1maWVsZD5cbiAgICAgICAgICAgIDxsaWItZXJyb3ItbWVzc2FnZSBjbGFzcz1cImlucHV0LWVycm9yXCIgW2NvbmZpZ109XCJ7IGNvbnRyb2w6IGZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXSB9XCI+PC9saWItZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LW5vdGUtZmllbGRcIj5cbiAgICAgICAgICAgIDxsaWItaW5wdXQtZmllbGRcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVwiXG4gICAgICAgICAgICAgIFt0ZXh0YXJlYV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidGSUVMRFMuQUREX0RFU0NSSVBUSU9OJyB8IGZhbGxiYWNrVHJhbnNsYXRlOiAnRGVzY3JpcHRpb24nXCJcbiAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMjAwMFwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L2xpYi1pbnB1dC1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9saWItYm90dG9tLW1vZGFsPlxuIl19
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
86
86
|
providers: [CalendarUtilsService],
|
|
87
87
|
}]
|
|
88
88
|
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtZm9ybS9ldmVudC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUEyQi9ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUF3RDtRQUNyRSxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNuQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7U0FDL0MsQ0FBQztJQUNKLENBQUM7K0dBVlUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBeEJkLHFCQUFxQixhQUdsQyxZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsOEJBQThCO1lBQzlCLGFBQWEsYUFuQkwscUJBQXFCO2dIQXVCcEIsa0JBQWtCLGFBRmxCLENBQUMsb0JBQW9CLENBQUMsWUFuQi9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCx3QkFBd0I7WUFFeEIscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5QixhQUFhOzs0RkFJSixrQkFBa0I7a0JBekI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QixhQUFhO3FCQUNkO29CQUNELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEJhc2VDb21wb25lbnQsXG4gIERhc2hlZENoZWNrYm94TW9kdWxlLFxuICBEaXJlY3RpdmVNb2R1bGUsXG4gIEZvcm1GaWVsZE1vZHVsZSxcbiAgSW5wdXREYXRlRmllbGRNb2R1bGUsXG4gIElucHV0RmllbGRNb2R1bGUsXG4gIElucHV0RmllbGRTZWxlY3RNb2R1bGUsXG4gIElucHV0VGltZUZpZWxkTW9kdWxlLFxuICBMaWJFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gIExpYk1hcE1vZHVsZSxcbiAgTGliTW9kYWxNb2R1bGUsXG59IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xuaW1wb3J0IHsgRmFsbGJhY2tUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvZmFsbGJhY2stdHJhbnNsYXRlL2ZhbGxiYWNrLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IENhbGVuZGFyVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBMaWJFZGl0UmVjdXJyaW5nRXZlbnRDb21wb25lbnQgfSBmcm9tICcuLi9lZGl0LXJlY3VycmluZy1ldmVudC9lZGl0LXJlY3VycmluZy1ldmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGliRXZlbnRJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vZXZlbnQtaW5mby9ldmVudC1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaWJFdmVudEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2V2ZW50LWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTGliRXZlbnRGb3JtQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0xpYkV2ZW50Rm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGFzaGVkQ2hlY2tib3hNb2R1bGUsXG4gICAgRGlyZWN0aXZlTW9kdWxlLFxuICAgIEZvcm1GaWVsZE1vZHVsZSxcbiAgICBJbnB1dERhdGVGaWVsZE1vZHVsZSxcbiAgICBJbnB1dEZpZWxkTW9kdWxlLFxuICAgIElucHV0RmllbGRTZWxlY3RNb2R1bGUsXG4gICAgSW5wdXRUaW1lRmllbGRNb2R1bGUsXG4gICAgTGliTW9kYWxNb2R1bGUsXG4gICAgTGliRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZhbGxiYWNrVHJhbnNsYXRlUGlwZSxcbiAgICBMaWJFdmVudEluZm9Db21wb25lbnQsXG4gICAgTGliRWRpdFJlY3VycmluZ0V2ZW50Q29tcG9uZW50LFxuICAgIEJhc2VDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyVXRpbHNTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTGliRXZlbnRGb3JtTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiB7IGdvb2dsZU1hcHNLZXk6IHN0cmluZzsgZ29vZ2xlTWFwc1VSTDogc3RyaW5nIH0pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPExpYkV2ZW50Rm9ybU1vZHVsZT4ge1xuICAgIGNvbnN0IGxpYk1hcE1vZHVsZSA9IExpYk1hcE1vZHVsZS5mb3JSb290KHtcbiAgICAgIGdvb2dsZU1hcHNLZXk6IGNvbmZpZy5nb29nbGVNYXBzS2V5LFxuICAgICAgZ29vZ2xlTWFwc1VSTDogY29uZmlnLmdvb2dsZU1hcHNVUkwsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBMaWJFdmVudEZvcm1Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFsuLi4obGliTWFwTW9kdWxlLnByb3ZpZGVycyB8fCBbXSldLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -27,14 +27,14 @@ export class LibEventInfoComponent {
|
|
|
27
27
|
this.note = this.recurringException?.note || this.updatedRecurringException?.note || this.event.note;
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventInfoComponent, deps: [{ token: i1.FallbackTranslatePipe }, { token: i2.CalendarUtilsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventInfoComponent, isStandalone: true, selector: "lib-event-info", inputs: { event: "event", calendars: "calendars" }, ngImport: i0, template: "<div class=\"event-info-body\">\
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LibEventInfoComponent, isStandalone: true, selector: "lib-event-info", inputs: { event: "event", calendars: "calendars" }, ngImport: i0, template: "<div class=\"event-info-body\">\n <div class=\"data-item\" *ngIf=\"event.allDay\">\n <span><mat-icon class=\"all-day\">done_all</mat-icon> {{ 'CALENDAR.ALL_DAY' | translate }}</span>\n </div>\n <div class=\"data-item\">\n <span> <mat-icon>event</mat-icon> {{ 'CALENDAR.STARTS' | translate }}</span>\n <span class=\"event-time\">\n {{ recurringException?.startDate || event.recurringStartDate || event.startDate | date: 'yyyy-MM-dd' }}\n <span *ngIf=\"!event.allDay\"> - {{ event.startTime | date: 'h:mm a' }}</span>\n </span>\n </div>\n <div class=\"data-item\">\n <span><mat-icon>event_available</mat-icon> {{ 'CALENDAR.ENDS' | translate }}</span>\n <span class=\"event-time\">\n {{ recurringException?.endDate || event.recurringEndDate || event.endDate | date: 'yyyy-MM-dd' }}\n <span *ngIf=\"!event.allDay\"> - {{ event.endTime | date: 'h:mm a' }}</span>\n </span>\n </div>\n\n <div class=\"data-item\">\n @if (event.recurringPattern?.type) {\n <span><mat-icon>event_repeat</mat-icon> {{ 'CALENDAR.RECURRING' | translate }}</span>\n <span class=\"recurring-type\">{{ 'CALENDAR.' + event.recurringPattern.type | translate }}</span>\n } @else if (address) {\n <span><mat-icon>location_on</mat-icon> {{ 'LOCATION.TITLE' | translate }}</span>\n <span [innerHTML]=\"address\"></span>\n } @else if (calendarAccount) {\n <span><mat-icon>email</mat-icon> {{ 'CALENDAR.ACCOUNT' | translate }}</span>\n <span [style.color]=\"calendarAccount.theme?.backgroundColor || ''\">{{ calendarAccount.email }}</span>\n } @else if (note) {\n <span><mat-icon>event_note</mat-icon> {{ 'FIELDS.NOTE' | translate }}</span>\n <span class=\"event-note\" [innerHTML]=\"note\"></span>\n }\n </div>\n</div>\n", styles: [".text-style,.event-info-body .data-item{font-family:Gilroy-Regular,serif;font-style:normal;font-weight:500;font-size:16px}.event-info-body{padding:0 15px 20px;max-height:calc(var(--viewport-height) * 60);position:relative;display:block;overflow:auto}.event-info-body .data-item{margin-top:20px;display:flex}.event-info-body .data-item.centred{flex-direction:column;align-items:center;margin-bottom:10px}.event-info-body .data-item span{font-size:14px}.event-info-body .data-item span:first-child{min-width:85px}.event-info-body .data-item span:first-child .mat-icon{position:relative;top:-4px}.event-info-body .data-item span.event-time{display:flex;gap:5px}.event-info-body .data-item span .mat-icon{margin:0 5px 0 0}.event-info-body .data-item span:nth-child(1){display:flex;font-weight:500}.event-info-body .data-item span:nth-child(2){margin-left:20px;opacity:.7}.event-info-body .data-item span.recurring-type{background:var(--cyrano-pink-shade-2);color:#fff;padding:5px 10px;border-radius:30px;height:25px;margin-top:-5px}.event-info-body .data-item .mat-icon.all-day{color:var(--cyrano-pink-shade-1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibEventInfoComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
|
-
args: [{ selector: 'lib-event-info', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule, FallbackTranslatePipe, TranslateModule], template: "<div class=\"event-info-body\">\
|
|
34
|
+
args: [{ selector: 'lib-event-info', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatIconModule, FallbackTranslatePipe, TranslateModule], template: "<div class=\"event-info-body\">\n <div class=\"data-item\" *ngIf=\"event.allDay\">\n <span><mat-icon class=\"all-day\">done_all</mat-icon> {{ 'CALENDAR.ALL_DAY' | translate }}</span>\n </div>\n <div class=\"data-item\">\n <span> <mat-icon>event</mat-icon> {{ 'CALENDAR.STARTS' | translate }}</span>\n <span class=\"event-time\">\n {{ recurringException?.startDate || event.recurringStartDate || event.startDate | date: 'yyyy-MM-dd' }}\n <span *ngIf=\"!event.allDay\"> - {{ event.startTime | date: 'h:mm a' }}</span>\n </span>\n </div>\n <div class=\"data-item\">\n <span><mat-icon>event_available</mat-icon> {{ 'CALENDAR.ENDS' | translate }}</span>\n <span class=\"event-time\">\n {{ recurringException?.endDate || event.recurringEndDate || event.endDate | date: 'yyyy-MM-dd' }}\n <span *ngIf=\"!event.allDay\"> - {{ event.endTime | date: 'h:mm a' }}</span>\n </span>\n </div>\n\n <div class=\"data-item\">\n @if (event.recurringPattern?.type) {\n <span><mat-icon>event_repeat</mat-icon> {{ 'CALENDAR.RECURRING' | translate }}</span>\n <span class=\"recurring-type\">{{ 'CALENDAR.' + event.recurringPattern.type | translate }}</span>\n } @else if (address) {\n <span><mat-icon>location_on</mat-icon> {{ 'LOCATION.TITLE' | translate }}</span>\n <span [innerHTML]=\"address\"></span>\n } @else if (calendarAccount) {\n <span><mat-icon>email</mat-icon> {{ 'CALENDAR.ACCOUNT' | translate }}</span>\n <span [style.color]=\"calendarAccount.theme?.backgroundColor || ''\">{{ calendarAccount.email }}</span>\n } @else if (note) {\n <span><mat-icon>event_note</mat-icon> {{ 'FIELDS.NOTE' | translate }}</span>\n <span class=\"event-note\" [innerHTML]=\"note\"></span>\n }\n </div>\n</div>\n", styles: [".text-style,.event-info-body .data-item{font-family:Gilroy-Regular,serif;font-style:normal;font-weight:500;font-size:16px}.event-info-body{padding:0 15px 20px;max-height:calc(var(--viewport-height) * 60);position:relative;display:block;overflow:auto}.event-info-body .data-item{margin-top:20px;display:flex}.event-info-body .data-item.centred{flex-direction:column;align-items:center;margin-bottom:10px}.event-info-body .data-item span{font-size:14px}.event-info-body .data-item span:first-child{min-width:85px}.event-info-body .data-item span:first-child .mat-icon{position:relative;top:-4px}.event-info-body .data-item span.event-time{display:flex;gap:5px}.event-info-body .data-item span .mat-icon{margin:0 5px 0 0}.event-info-body .data-item span:nth-child(1){display:flex;font-weight:500}.event-info-body .data-item span:nth-child(2){margin-left:20px;opacity:.7}.event-info-body .data-item span.recurring-type{background:var(--cyrano-pink-shade-2);color:#fff;padding:5px 10px;border-radius:30px;height:25px;margin-top:-5px}.event-info-body .data-item .mat-icon.all-day{color:var(--cyrano-pink-shade-1)}\n"] }]
|
|
35
35
|
}], ctorParameters: () => [{ type: i1.FallbackTranslatePipe }, { type: i2.CalendarUtilsService }], propDecorators: { event: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}], calendars: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyL2NvbXBvbmVudHMvZXZlbnQtaW5mby9ldmVudC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIvY29tcG9uZW50cy9ldmVudC1pbmZvL2V2ZW50LWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFFckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFjdEQsTUFBTSxPQUFPLHFCQUFxQjtJQVdoQyxZQUNVLHFCQUE0QyxFQUM1QyxtQkFBeUM7UUFEekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXNCO0lBQ2hELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1FBQy9JLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3ZHLENBQUM7K0dBNUJVLHFCQUFxQjttR0FBckIscUJBQXFCLDhIQ25CbEMsMnZEQW1DQSw4b0NEbEJZLFlBQVkscUxBQUUsYUFBYSxtTEFBeUIsZUFBZTs7NEZBRWxFLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQzs2SEFHckUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYWxsYmFja1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9mYWxsYmFjay10cmFuc2xhdGUvZmFsbGJhY2stdHJhbnNsYXRlLnBpcGUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQ2FsZW5kYXJBY2NvdW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jYWxlbmRhci5hY2NvdW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUmVjdXJyaW5nRXZlbnRFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY3VycmluZy5leGNlcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENhbGVuZGFyVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItdXRpbHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1ldmVudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ldmVudC1pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBGYWxsYmFja1RyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIExpYkV2ZW50SW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGV2ZW50OiBJRXZlbnQ7XG4gIEBJbnB1dCgpIGNhbGVuZGFyczogSUNhbGVuZGFyQWNjb3VudFtdO1xuXG4gIHB1YmxpYyBjYWxlbmRhckFjY291bnQ6IElDYWxlbmRhckFjY291bnQ7XG4gIHB1YmxpYyByZWN1cnJpbmdFeGNlcHRpb246IElSZWN1cnJpbmdFdmVudEV4Y2VwdGlvbjtcbiAgcHVibGljIHVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb246IElSZWN1cnJpbmdFdmVudEV4Y2VwdGlvbjtcbiAgcHVibGljIGFkZHJlc3M6IHN0cmluZztcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBub3RlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYWxsYmFja1RyYW5zbGF0ZVBpcGU6IEZhbGxiYWNrVHJhbnNsYXRlUGlwZSxcbiAgICBwcml2YXRlIGNhbGVuZGFyVXRpbFNlcnZpY2U6IENhbGVuZGFyVXRpbHNTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0RXZlbnRJbmZvKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRFdmVudEluZm8oKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclV0aWxTZXJ2aWNlLnNldEV2ZW50VGltZSh0aGlzLmV2ZW50KTtcbiAgICB0aGlzLnJlY3VycmluZ0V4Y2VwdGlvbiA9IHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5nZXRFeGNlcHRpb25FdmVudCh0aGlzLmV2ZW50LCB0aGlzLmV2ZW50LnJlY3VycmluZ1BhdHRlcm4/LmV4Y2VwdGlvbnMpO1xuICAgIHRoaXMudXBkYXRlZFJlY3VycmluZ0V4Y2VwdGlvbiA9IHRoaXMuY2FsZW5kYXJVdGlsU2VydmljZS5nZXRVcGRhdGVkUmVjdXJyaW5nRXhjZXB0aW9uKHRoaXMuZXZlbnQpO1xuICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMucmVjdXJyaW5nRXhjZXB0aW9uPy5sb2NhdGlvbj8uYWRkcmVzcyB8fCB0aGlzLnVwZGF0ZWRSZWN1cnJpbmdFeGNlcHRpb24/LmxvY2F0aW9uPy5hZGRyZXNzIHx8IHRoaXMuZXZlbnQubG9jYXRpb24/LmFkZHJlc3M7XG4gICAgdGhpcy5jYWxlbmRhckFjY291bnQgPSB0aGlzLmNhbGVuZGFycz8uZmluZCgodmFsdWUpID0+IHZhbHVlLl9pZCAmJiB0aGlzLmV2ZW50LmFjY291bnRJZCAmJiB2YWx1ZS5faWQgPT09IHRoaXMuZXZlbnQuYWNjb3VudElkKTtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/LnRpdGxlIHx8IHRoaXMuZXZlbnQudGl0bGUgfHwgdGhpcy5mYWxsYmFja1RyYW5zbGF0ZVBpcGUudHJhbnNmb3JtKCdDQUxFTkRBUi5OT19USVRMRScsICcoTm8gdGl0bGUpJyk7XG4gICAgdGhpcy5ub3RlID0gdGhpcy5yZWN1cnJpbmdFeGNlcHRpb24/Lm5vdGUgfHwgdGhpcy51cGRhdGVkUmVjdXJyaW5nRXhjZXB0aW9uPy5ub3RlIHx8IHRoaXMuZXZlbnQubm90ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV2ZW50LWluZm8tYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiZGF0YS1pdGVtXCIgKm5nSWY9XCJldmVudC5hbGxEYXlcIj5cbiAgICA8c3Bhbj48bWF0LWljb24gY2xhc3M9XCJhbGwtZGF5XCI+ZG9uZV9hbGw8L21hdC1pY29uPiB7eyAnQ0FMRU5EQVIuQUxMX0RBWScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGF0YS1pdGVtXCI+XG4gICAgPHNwYW4+IDxtYXQtaWNvbj5ldmVudDwvbWF0LWljb24+IHt7ICdDQUxFTkRBUi5TVEFSVFMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZXZlbnQtdGltZVwiPlxuICAgICAge3sgcmVjdXJyaW5nRXhjZXB0aW9uPy5zdGFydERhdGUgfHwgZXZlbnQucmVjdXJyaW5nU3RhcnREYXRlIHx8IGV2ZW50LnN0YXJ0RGF0ZSB8IGRhdGU6ICd5eXl5LU1NLWRkJyB9fVxuICAgICAgPHNwYW4gKm5nSWY9XCIhZXZlbnQuYWxsRGF5XCI+IC0ge3sgZXZlbnQuc3RhcnRUaW1lIHwgZGF0ZTogJ2g6bW0gYScgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRhdGEtaXRlbVwiPlxuICAgIDxzcGFuPjxtYXQtaWNvbj5ldmVudF9hdmFpbGFibGU8L21hdC1pY29uPiB7eyAnQ0FMRU5EQVIuRU5EUycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJldmVudC10aW1lXCI+XG4gICAgICB7eyByZWN1cnJpbmdFeGNlcHRpb24/LmVuZERhdGUgfHwgZXZlbnQucmVjdXJyaW5nRW5kRGF0ZSB8fCBldmVudC5lbmREYXRlIHwgZGF0ZTogJ3l5eXktTU0tZGQnIH19XG4gICAgICA8c3BhbiAqbmdJZj1cIiFldmVudC5hbGxEYXlcIj4gLSB7eyBldmVudC5lbmRUaW1lIHwgZGF0ZTogJ2g6bW0gYScgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZGF0YS1pdGVtXCI+XG4gICAgQGlmIChldmVudC5yZWN1cnJpbmdQYXR0ZXJuPy50eXBlKSB7XG4gICAgICA8c3Bhbj48bWF0LWljb24+ZXZlbnRfcmVwZWF0PC9tYXQtaWNvbj4ge3sgJ0NBTEVOREFSLlJFQ1VSUklORycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInJlY3VycmluZy10eXBlXCI+e3sgJ0NBTEVOREFSLicgKyBldmVudC5yZWN1cnJpbmdQYXR0ZXJuLnR5cGUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgfSBAZWxzZSBpZiAoYWRkcmVzcykge1xuICAgICAgPHNwYW4+PG1hdC1pY29uPmxvY2F0aW9uX29uPC9tYXQtaWNvbj4ge3sgJ0xPQ0FUSU9OLlRJVExFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiYWRkcmVzc1wiPjwvc3Bhbj5cbiAgICB9IEBlbHNlIGlmIChjYWxlbmRhckFjY291bnQpIHtcbiAgICAgIDxzcGFuPjxtYXQtaWNvbj5lbWFpbDwvbWF0LWljb24+IHt7ICdDQUxFTkRBUi5BQ0NPVU5UJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJjYWxlbmRhckFjY291bnQudGhlbWU/LmJhY2tncm91bmRDb2xvciB8fCAnJ1wiPnt7IGNhbGVuZGFyQWNjb3VudC5lbWFpbCB9fTwvc3Bhbj5cbiAgICB9IEBlbHNlIGlmIChub3RlKSB7XG4gICAgICA8c3Bhbj48bWF0LWljb24+ZXZlbnRfbm90ZTwvbWF0LWljb24+IHt7ICdGSUVMRFMuTk9URScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImV2ZW50LW5vdGVcIiBbaW5uZXJIVE1MXT1cIm5vdGVcIj48L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -3,4 +3,4 @@ export var CalendarAccountEnum;
|
|
|
3
3
|
CalendarAccountEnum["GOOGLE"] = "Google";
|
|
4
4
|
CalendarAccountEnum["MICROSOFT"] = "Microsoft";
|
|
5
5
|
})(CalendarAccountEnum || (CalendarAccountEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuYWNjb3VudC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci9lbnVtcy9jYWxlbmRhci5hY2NvdW50LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQiw4Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENhbGVuZGFyQWNjb3VudEVudW0ge1xuICBHT09HTEUgPSAnR29vZ2xlJyxcbiAgTUlDUk9TT0ZUID0gJ01pY3Jvc29mdCcsXG59XG4iXX0=
|