cmat 0.0.13 → 0.0.14
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/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -1
- package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
- package/components/chip-input/chip-input.component.d.ts +0 -1
- package/components/custom-formly/public-api.d.ts +1 -0
- package/components/custom-formly/types/quill/quill.component.d.ts +42 -0
- package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -1
- package/components/custom-formly/types/select/select.component.d.ts +0 -1
- package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -1
- package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -1
- package/components/custom-formly/types/table/table.component.d.ts +0 -1
- package/components/custom-formly/types/tabs/tab.component.d.ts +0 -1
- package/components/custom-formly/types/tags/tags.component.d.ts +0 -1
- package/components/material-color-picker/material-color-picker.component.d.ts +0 -1
- package/components/material-datetimepicker/calendar-body.d.ts +0 -1
- package/components/material-datetimepicker/calendar.d.ts +3 -4
- package/components/material-datetimepicker/clock.d.ts +0 -1
- package/components/material-datetimepicker/datetimepicker.d.ts +3 -4
- package/components/material-datetimepicker/month-view.d.ts +0 -1
- package/components/pagination/pagination.component.d.ts +0 -1
- package/components/popover/popover.component.d.ts +3 -4
- package/components/popover/popover.interfaces.d.ts +1 -2
- package/components/select-tree/select-tree.component.d.ts +0 -1
- package/components/timeline/timeline.component.d.ts +3 -5
- package/components/transfer-picker/filter/filter.component.d.ts +0 -1
- package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +0 -1
- package/esm2022/components/adapter/datetime-adapter.mjs +1 -1
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +4 -4
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
- package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/components/card/card.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -8
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +4 -4
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -8
- package/esm2022/components/chip-input/chip-input.component.mjs +6 -9
- package/esm2022/components/custom-formly/extension/addons.extension.mjs +1 -1
- package/esm2022/components/custom-formly/public-api.mjs +2 -1
- package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/chips/chips.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/number/number.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/quill/quill.component.mjs +171 -0
- package/esm2022/components/custom-formly/types/radio/radio.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/rating/rating.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/select/select.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
- package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/table/table.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/tags/tags.component.mjs +5 -8
- package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +3 -3
- package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
- package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +3 -3
- package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +3 -3
- package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +3 -3
- package/esm2022/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.service.mjs +3 -3
- package/esm2022/components/fullscreen/fullscreen.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.component.mjs +4 -4
- package/esm2022/components/highlight/highlight.service.mjs +4 -4
- package/esm2022/components/json-editor/json-editor.component.mjs +4 -4
- package/esm2022/components/masonry/masonry.component.mjs +4 -4
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +5 -8
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -8
- package/esm2022/components/material-datetimepicker/calendar.mjs +7 -13
- package/esm2022/components/material-datetimepicker/clock.mjs +5 -8
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -4
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +7 -7
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +10 -11
- package/esm2022/components/material-datetimepicker/month-view.mjs +5 -8
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +4 -4
- package/esm2022/components/material-datetimepicker/time.mjs +7 -7
- package/esm2022/components/material-datetimepicker/year-view.mjs +4 -4
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +5 -5
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -5
- package/esm2022/components/navigation/navigation.service.mjs +4 -4
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +5 -5
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +3 -3
- package/esm2022/components/navigation/vertical/vertical.component.mjs +5 -5
- package/esm2022/components/pagination/pagination.component.mjs +5 -8
- package/esm2022/components/pagination/pagination.directive.mjs +4 -4
- package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
- package/esm2022/components/pagination/pagination.service.mjs +4 -4
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +4 -4
- package/esm2022/components/password-strength/mat-password-strength-validator.mjs +1 -1
- package/esm2022/components/popover/popover-trigger.mjs +6 -8
- package/esm2022/components/popover/popover.component.mjs +6 -7
- package/esm2022/components/popover/popover.interfaces.mjs +1 -1
- package/esm2022/components/popover/popover.target.mjs +3 -3
- package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2022/components/rating/rating.component.mjs +5 -5
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search.component.mjs +4 -4
- package/esm2022/components/select-tree/select-tree.component.mjs +5 -8
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
- package/esm2022/components/timeline/timeline.component.mjs +7 -11
- package/esm2022/components/toast/toast-modal.component.mjs +4 -4
- package/esm2022/components/toast/toast.component.mjs +5 -5
- package/esm2022/components/toast/toast.service.mjs +4 -4
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +5 -8
- package/esm2022/components/transfer-picker/search/search.component.mjs +3 -3
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -8
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
- package/esm2022/components/upload/files.util.service.mjs +4 -4
- package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +4 -4
- package/esm2022/components/upload/upload.component.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
- package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
- package/esm2022/directives/digit-only/digit-only.directive.mjs +4 -4
- package/esm2022/directives/digit-only/mask.directive.mjs +4 -4
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.request-handler.mjs +1 -1
- package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
- package/esm2022/lib/mock-api/mock-api.utils.mjs +1 -1
- package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
- package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
- package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
- package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
- package/esm2022/pipes/secure/secure-pipe.mjs +3 -3
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
- package/esm2022/services/alert/alert.service.mjs +4 -4
- package/esm2022/services/config/config.service.mjs +3 -3
- package/esm2022/services/config/urlStateConfig.service.mjs +3 -3
- package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +3 -3
- package/esm2022/services/data/data.service.mjs +4 -4
- package/esm2022/services/loading/loading.interceptor.mjs +4 -4
- package/esm2022/services/loading/loading.service.mjs +4 -4
- package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
- package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
- package/esm2022/services/platform/platform.service.mjs +4 -4
- package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
- package/esm2022/services/title/title.service.mjs +4 -4
- package/esm2022/services/translation/translation.service.mjs +4 -4
- package/esm2022/services/utils/utils.service.mjs +4 -4
- package/esm2022/validators/validators.mjs +1 -1
- package/fesm2022/cmat-animations.mjs +1 -1
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +3 -3
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +11 -17
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +5 -8
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +248 -104
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +4 -4
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +7 -7
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +3 -3
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +6 -6
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +3 -3
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +3 -3
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +4 -7
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -68
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +46 -46
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +13 -16
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +10 -10
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +13 -16
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +3 -3
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +4 -4
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +10 -10
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +4 -7
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +15 -19
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +10 -10
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +20 -26
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-upload.mjs +9 -9
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-digit-only.mjs +6 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +7 -7
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
- package/fesm2022/cmat-pipes-secure.mjs +3 -3
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +6 -6
- package/fesm2022/cmat-services-confirmation.mjs +6 -6
- package/fesm2022/cmat-services-data.mjs +3 -3
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs.map +1 -1
- package/fesm2022/cmat-services-utils.mjs +3 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-validators.mjs.map +1 -1
- package/package.json +111 -102
- package/styles/overrides/angular-material.scss +0 -1
- package/styles/overrides/quill.scss +102 -0
- package/styles/themes.scss +19 -19
|
@@ -86,10 +86,10 @@ export class DayjsDatetimeAdapter extends DatetimeAdapter {
|
|
|
86
86
|
_getDateInNextMonth(date) {
|
|
87
87
|
return super.clone(date).date(1).add(1, 'month');
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
90
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
90
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDatetimeAdapter }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
|
|
93
93
|
type: Injectable
|
|
94
94
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
95
95
|
type: Optional
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
97
97
|
type: Inject,
|
|
98
98
|
args: [MAT_DATE_LOCALE]
|
|
99
99
|
}] }, { type: i1.DateAdapter }] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3QixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQztBQUdELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFzQjtJQWM1RCxZQUFpRCxhQUFxQixFQUNsRSxTQUE2QjtRQUM3QixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVEsU0FBUyxDQUFDLE1BQWM7UUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENB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IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XHJcbmltcG9ydCB7IERhdGV0aW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZXRpbWUtYWRhcHRlcic7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXIgZXh0ZW5kcyBEYXRldGltZUFkYXB0ZXI8RGF5anM+IHtcclxuXHJcbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiB7XHJcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcclxuICAgICAgICBsb25nTW9udGhzOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydE1vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgZGF0ZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGhvdXJzOiBzdHJpbmdbXTtcclxuICAgICAgICBtaW51dGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERheWpzPikge1xyXG4gICAgICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSB8fCBkYXlqcy5sb2NhbGUoKSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlqc0xvY2FsZURhdGEgPSBkYXlqcy5sb2NhbGVEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxlRGF0YSA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IGRheWpzTG9jYWxlRGF0YS5maXJzdERheU9mV2VlaygpLFxyXG4gICAgICAgICAgICBsb25nTW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzKCksXHJcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzU2hvcnQoKSxcclxuICAgICAgICAgICAgZGF0ZXM6IHJhbmdlKDMxLCBpID0+IHN1cGVyLmNyZWF0ZURhdGUoMjAxNywgMCwgaSArIDEpLmZvcm1hdCgnRCcpKSxcclxuICAgICAgICAgICAgaG91cnM6IHJhbmdlKDI0LCBpID0+IHRoaXMuY3JlYXRlRGF0ZXRpbWUoMjAxNywgMCwgMSwgaSwgMCkuZm9ybWF0KCdIJykpLFxyXG4gICAgICAgICAgICBtaW51dGVzOiByYW5nZSg2MCwgaSA9PiB0aGlzLmNyZWF0ZURhdGV0aW1lKDIwMTcsIDAsIDEsIDEsIGkpLmZvcm1hdCgnbScpKSxcclxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxyXG4gICAgICAgICAgICBzaG9ydERheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c1Nob3J0KCksXHJcbiAgICAgICAgICAgIG5hcnJvd0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c01pbigpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIb3VyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuY2xvbmUoZGF0ZSkuaG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1pbnV0ZShkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLm1pbnV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXlqcywgZW5kRGF0ZTogRGF5anMpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBuZXh0TW9udGggPSB0aGlzLl9nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcclxuICAgICAgICByZXR1cm4gc3VwZXIuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAgICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxyXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUgPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG1pbnV0ZSA8IDAgfHwgbWludXRlID4gNTkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbWludXRlIFwiJHttaW51dGV9XCIuIE1pbnV0ZSBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCA1OS5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRheWpzKG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VyLCBtaW51dGUpKTtcclxuXHJcbiAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBpc24ndCB2YWxpZCwgdGhlIGRhdGUgbXVzdCBoYXZlIGJlZW4gb3V0IG9mIGJvdW5kcyBmb3IgdGhpcyBtb250aC5cclxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5ob3VycztcclxuICAgIH1cclxuXHJcbiAgICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubWludXRlcztcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhckhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5jbG9uZShkYXRlKS5hZGQoaG91cnMsICdob3VyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmFkZChtaW51dGVzLCAnbWludXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmRhdGUoMSkuYWRkKDEsICdtb250aCcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFHRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBc0I7SUFjNUQsWUFBaUQsYUFBcUIsRUFDbEUsU0FBNkI7UUFDN0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVRLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLEtBQUssQ0FBQyxTQUFTLENB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OzswQkFBSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XHJcbmltcG9ydCB7IERhdGV0aW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZXRpbWUtYWRhcHRlcic7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXIgZXh0ZW5kcyBEYXRldGltZUFkYXB0ZXI8RGF5anM+IHtcclxuXHJcbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiB7XHJcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcclxuICAgICAgICBsb25nTW9udGhzOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydE1vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgZGF0ZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGhvdXJzOiBzdHJpbmdbXTtcclxuICAgICAgICBtaW51dGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERheWpzPikge1xyXG4gICAgICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSB8fCBkYXlqcy5sb2NhbGUoKSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlqc0xvY2FsZURhdGEgPSBkYXlqcy5sb2NhbGVEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxlRGF0YSA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IGRheWpzTG9jYWxlRGF0YS5maXJzdERheU9mV2VlaygpLFxyXG4gICAgICAgICAgICBsb25nTW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzKCksXHJcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBkYXlqc0xvY2FsZURhdGEubW9udGhzU2hvcnQoKSxcclxuICAgICAgICAgICAgZGF0ZXM6IHJhbmdlKDMxLCBpID0+IHN1cGVyLmNyZWF0ZURhdGUoMjAxNywgMCwgaSArIDEpLmZvcm1hdCgnRCcpKSxcclxuICAgICAgICAgICAgaG91cnM6IHJhbmdlKDI0LCBpID0+IHRoaXMuY3JlYXRlRGF0ZXRpbWUoMjAxNywgMCwgMSwgaSwgMCkuZm9ybWF0KCdIJykpLFxyXG4gICAgICAgICAgICBtaW51dGVzOiByYW5nZSg2MCwgaSA9PiB0aGlzLmNyZWF0ZURhdGV0aW1lKDIwMTcsIDAsIDEsIDEsIGkpLmZvcm1hdCgnbScpKSxcclxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxyXG4gICAgICAgICAgICBzaG9ydERheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c1Nob3J0KCksXHJcbiAgICAgICAgICAgIG5hcnJvd0RheXNPZldlZWs6IGRheWpzTG9jYWxlRGF0YS53ZWVrZGF5c01pbigpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIb3VyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuY2xvbmUoZGF0ZSkuaG91cigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1pbnV0ZShkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLm1pbnV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXlqcywgZW5kRGF0ZTogRGF5anMpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBuZXh0TW9udGggPSB0aGlzLl9nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcclxuICAgICAgICByZXR1cm4gc3VwZXIuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAgICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxyXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRhdGUgPCAxKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG1pbnV0ZSA8IDAgfHwgbWludXRlID4gNTkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbWludXRlIFwiJHttaW51dGV9XCIuIE1pbnV0ZSBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCA1OS5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRheWpzKG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VyLCBtaW51dGUpKTtcclxuXHJcbiAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBpc24ndCB2YWxpZCwgdGhlIGRhdGUgbXVzdCBoYXZlIGJlZW4gb3V0IG9mIGJvdW5kcyBmb3IgdGhpcyBtb250aC5cclxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5ob3VycztcclxuICAgIH1cclxuXHJcbiAgICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubWludXRlcztcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhckhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5jbG9uZShkYXRlKS5hZGQoaG91cnMsICdob3VyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmFkZChtaW51dGVzLCAnbWludXRlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmNsb25lKGRhdGUpLmRhdGUoMSkuYWRkKDEsICdtb250aCcpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -116,10 +116,10 @@ export class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
116
116
|
}
|
|
117
117
|
return result;
|
|
118
118
|
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
120
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CNativeDatetimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
120
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CNativeDatetimeAdapter }); }
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
|
|
123
123
|
type: Injectable
|
|
124
124
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
125
125
|
type: Optional
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
127
127
|
type: Inject,
|
|
128
128
|
args: [MAT_DATE_LOCALE]
|
|
129
129
|
}] }, { type: i1.DateAdapter }] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYWRhcHRlci9uYXRpdmUtZGF0ZXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELGtFQUFrRTtBQUNsRSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVyRCxvRUFBb0U7QUFDcEUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdkQsU0FBUyxLQUFLLENBQUksTUFBYyxFQUFFLGFBQW1DO0lBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBR0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQXFCO0lBRS9ELFlBQWlELGFBQXFCLEVBQUUsU0FBNEI7UUFDbEcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENB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O0lBQ0ssT0FBTyxDQUFDLENBQVM7UUFDdkIsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsK0RBQStEO0lBQ3ZELHVCQUF1QixDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsSUFBWSxFQUN2RSxLQUFhLEVBQUUsT0FBZTtRQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0QsdUZBQXVGO1FBQ3ZGLDBCQUEwQjtRQUMxQixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsRUFBRTtZQUMzQixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQXpJVSxzQkFBc0Isa0JBRUQsZUFBZTtrSEFGcEMsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFHSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZXRpbWVBZGFwdGVyIH0gZnJvbSAnLi9kYXRldGltZS1hZGFwdGVyJztcclxuXHJcbi8qKiBUaGUgZGVmYXVsdCBob3VyIG5hbWVzIHRvIHVzZSBpZiBJbnRsIEFQSSBpcyBub3QgYXZhaWxhYmxlLiAqL1xyXG5jb25zdCBERUZBVUxUX0hPVVJfTkFNRVMgPSByYW5nZSgyNCwgaSA9PiBTdHJpbmcoaSkpO1xyXG5cclxuLyoqIFRoZSBkZWZhdWx0IG1pbnV0ZSBuYW1lcyB0byB1c2UgaWYgSW50bCBBUEkgaXMgbm90IGF2YWlsYWJsZS4gKi9cclxuY29uc3QgREVGQVVMVF9NSU5VVEVfTkFNRVMgPSByYW5nZSg2MCwgaSA9PiBTdHJpbmcoaSkpO1xyXG5cclxuZnVuY3Rpb24gcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcclxuICBjb25zdCB2YWx1ZXNBcnJheSA9IEFycmF5KGxlbmd0aCk7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgdmFsdWVzQXJyYXlbaV0gPSB2YWx1ZUZ1bmN0aW9uKGkpO1xyXG4gIH1cclxuICByZXR1cm4gdmFsdWVzQXJyYXk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENOYXRpdmVEYXRldGltZUFkYXB0ZXIgZXh0ZW5kcyBEYXRldGltZUFkYXB0ZXI8RGF0ZT4ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVRFX0xPQ0FMRSkgbWF0RGF0ZUxvY2FsZTogc3RyaW5nLCBfZGVsZWdhdGU6IERhdGVBZGFwdGVyPERhdGU+KSB7XHJcbiAgICBzdXBlcihfZGVsZWdhdGUpO1xyXG4gICAgdGhpcy5zZXRMb2NhbGUobWF0RGF0ZUxvY2FsZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBjbG9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEYXRldGltZSh0aGlzLmdldFllYXIoZGF0ZSksIHRoaXMuZ2V0TW9udGgoZGF0ZSksIHRoaXMuZ2V0RGF0ZShkYXRlKSwgdGhpcy5nZXRIb3VyKGRhdGUpLCB0aGlzLmdldE1pbnV0ZShkYXRlKSk7XHJcbiAgfVxyXG5cclxuICBnZXRIb3VyKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKTtcclxuICB9XHJcblxyXG4gIGdldE1pbnV0ZShkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBkYXRlLmdldE1pbnV0ZXMoKTtcclxuICB9XHJcblxyXG4gIGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBuZXh0TW9udGggPSB0aGlzLl9nZXREYXRlSW5OZXh0TW9udGgoc3RhcnREYXRlKTtcclxuICAgIHJldHVybiB0aGlzLnNhbWVNb250aEFuZFllYXIobmV4dE1vbnRoLCBlbmREYXRlKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICAvLyBDaGVjayBmb3IgaW52YWxpZCBtb250aCBhbmQgZGF0ZSAoZXhjZXB0IHVwcGVyIGJvdW5kIG9uIGRhdGUgd2hpY2ggd2UgaGF2ZSB0byBjaGVjayBhZnRlclxyXG4gICAgLy8gY3JlYXRpbmcgdGhlIERhdGUpLlxyXG4gICAgaWYgKG1vbnRoIDwgMCB8fCBtb250aCA+IDExKSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgMTEuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhdGUgPCAxKSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChob3VyIDwgMCB8fCBob3VyID4gMjMpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgaG91ciBcIiR7aG91cn1cIi4gSG91ciBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAyMy5gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWludXRlIDwgMCB8fCBtaW51dGUgPiA1OSkge1xyXG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtaW51dGUgXCIke21pbnV0ZX1cIi4gTWludXRlIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDU5LmApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coeWVhciwgbW9udGgsIGRhdGUsIGhvdXIsIG1pbnV0ZSk7XHJcblxyXG4gICAgLy8gQ2hlY2sgdGhhdCB0aGUgZGF0ZSB3YXNuJ3QgYWJvdmUgdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgbW9udGgsIGNhdXNpbmcgdGhlIG1vbnRoIHRvIG92ZXJmbG93XHJcbiAgICBpZiAocmVzdWx0LmdldE1vbnRoKCkgIT09IG1vbnRoKSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiLmApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdERhdGVPZk1vbnRoKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldEhvdXJOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gREVGQVVMVF9IT1VSX05BTUVTO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWludXRlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIERFRkFVTFRfTUlOVVRFX05BTUVTO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRDYWxlbmRhck1vbnRocyhkYXRlLCB5ZWFycyAqIDEyKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBsZXQgbmV3RGF0ZSA9IHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coXHJcbiAgICAgIHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSArIG1vbnRocywgdGhpcy5nZXREYXRlKGRhdGUpLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuXHJcbiAgICAvLyBJdCdzIHBvc3NpYmxlIHRvIHdpbmQgdXAgaW4gdGhlIHdyb25nIG1vbnRoIGlmIHRoZSBvcmlnaW5hbCBtb250aCBoYXMgbW9yZSBkYXlzIHRoYW4gdGhlIG5ld1xyXG4gICAgLy8gbW9udGguIEluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGdvIHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgZGVzaXJlZCBtb250aC5cclxuICAgIC8vIE5vdGU6IHRoZSBhZGRpdGlvbmFsICsgMTIgJSAxMiBlbnN1cmVzIHdlIGVuZCB1cCB3aXRoIGEgcG9zaXRpdmUgbnVtYmVyLCBzaW5jZSBKUyAlIGRvZXNuJ3RcclxuICAgIC8vIGd1YXJhbnRlZSB0aGlzLlxyXG4gICAgaWYgKHRoaXMuZ2V0TW9udGgobmV3RGF0ZSkgIT09ICgodGhpcy5nZXRNb250aChkYXRlKSArIG1vbnRocykgJSAxMiArIDEyKSAlIDEyKSB7XHJcbiAgICAgIG5ld0RhdGUgPSB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHRoaXMuZ2V0WWVhcihuZXdEYXRlKSwgdGhpcy5nZXRNb250aChuZXdEYXRlKSwgMCwgdGhpcy5nZXRIb3VyKGRhdGUpLCB0aGlzLmdldE1pbnV0ZShkYXRlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ld0RhdGU7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhZGRDYWxlbmRhckRheXMoZGF0ZTogRGF0ZSwgZGF5czogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSkgKyBkYXlzLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICB9XHJcblxyXG4gIGFkZENhbGVuZGFySG91cnMoZGF0ZTogRGF0ZSwgaG91cnM6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coXHJcbiAgICAgIHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgdGhpcy5nZXREYXRlKGRhdGUpLFxyXG4gICAgICB0aGlzLmdldEhvdXIoZGF0ZSkgKyBob3VycywgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJNaW51dGVzKGRhdGU6IERhdGUsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coXHJcbiAgICAgIHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgdGhpcy5nZXREYXRlKGRhdGUpLFxyXG4gICAgICB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpICsgbWludXRlcyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB0b0lzbzg2MDEoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3VwZXIudG9Jc284NjAxKGRhdGUpICsgJ1QnICsgW1xyXG4gICAgICB0aGlzLl8yZGlnaXQoZGF0ZS5nZXRVVENIb3VycygpKSxcclxuICAgICAgdGhpcy5fMmRpZ2l0KGRhdGUuZ2V0VVRDTWludXRlcygpKVxyXG4gICAgXS5qb2luKCc6Jyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREYXRlSW5OZXh0TW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgMSxcclxuICAgICAgZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogUGFkcyBhIG51bWJlciB0byBtYWtlIGl0IHR3byBkaWdpdHMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbiBUaGUgbnVtYmVyIHRvIHBhZC5cclxuICAgKiBAcmV0dXJucyBUaGUgcGFkZGVkIG51bWJlci5cclxuICAgKi9cclxuICBwcml2YXRlIF8yZGlnaXQobjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAoJzAwJyArIG4pLnNsaWNlKC0yKTtcclxuICB9XHJcblxyXG4gIC8qIENyZWF0ZXMgYSBkYXRlIGJ1dCBhbGxvd3MgdGhlIG1vbnRoIGFuZCBkYXRlIHRvIG92ZXJmbG93LiAqL1xyXG4gIHByaXZhdGUgX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3coeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIsXHJcbiAgICBob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcyk7XHJcblxyXG4gICAgLy8gV2UgbmVlZCB0byBjb3JyZWN0IGZvciB0aGUgZmFjdCB0aGF0IEpTIG5hdGl2ZSBEYXRlIHRyZWF0cyB5ZWFycyBpbiByYW5nZSBbMCwgOTldIGFzXHJcbiAgICAvLyBhYmJyZXZpYXRpb25zIGZvciAxOXh4LlxyXG4gICAgaWYgKHllYXIgPj0gMCAmJiB5ZWFyIDwgMTAwKSB7XHJcbiAgICAgIHJlc3VsdC5zZXRGdWxsWWVhcih0aGlzLmdldFllYXIocmVzdWx0KSAtIDE5MDApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGV0aW1lLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYWRhcHRlci9uYXRpdmUtZGF0ZXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXJELGtFQUFrRTtBQUNsRSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVyRCxvRUFBb0U7QUFDcEUsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdkQsU0FBUyxLQUFLLENBQUksTUFBYyxFQUFFLGFBQW1DO0lBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUdELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFxQjtJQUUvRCxZQUFpRCxhQUFxQixFQUFFLFNBQTRCO1FBQ2xHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQixJQUFJLENB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LFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNLLE9BQU8sQ0FBQyxDQUFTO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELCtEQUErRDtJQUN2RCx1QkFBdUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVksRUFDdkUsS0FBYSxFQUFFLE9BQWU7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTNELHVGQUF1RjtRQUN2RiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBeklVLHNCQUFzQixrQkFFRCxlQUFlO2tIQUZwQyxzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQUdJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIgfSBmcm9tICcuL2RhdGV0aW1lLWFkYXB0ZXInO1xyXG5cclxuLyoqIFRoZSBkZWZhdWx0IGhvdXIgbmFtZXMgdG8gdXNlIGlmIEludGwgQVBJIGlzIG5vdCBhdmFpbGFibGUuICovXHJcbmNvbnN0IERFRkFVTFRfSE9VUl9OQU1FUyA9IHJhbmdlKDI0LCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG4vKiogVGhlIGRlZmF1bHQgbWludXRlIG5hbWVzIHRvIHVzZSBpZiBJbnRsIEFQSSBpcyBub3QgYXZhaWxhYmxlLiAqL1xyXG5jb25zdCBERUZBVUxUX01JTlVURV9OQU1FUyA9IHJhbmdlKDYwLCBpID0+IFN0cmluZyhpKSk7XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ05hdGl2ZURhdGV0aW1lQWRhcHRlciBleHRlbmRzIERhdGV0aW1lQWRhcHRlcjxEYXRlPiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBtYXREYXRlTG9jYWxlOiBzdHJpbmcsIF9kZWxlZ2F0ZTogRGF0ZUFkYXB0ZXI8RGF0ZT4pIHtcclxuICAgIHN1cGVyKF9kZWxlZ2F0ZSk7XHJcbiAgICB0aGlzLnNldExvY2FsZShtYXREYXRlTG9jYWxlKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNsb25lKGRhdGU6IERhdGUpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGV0aW1lKHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgdGhpcy5nZXREYXRlKGRhdGUpLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICB9XHJcblxyXG4gIGdldEhvdXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXRIb3VycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWludXRlKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGRhdGUuZ2V0TWludXRlcygpO1xyXG4gIH1cclxuXHJcbiAgaXNJbk5leHRNb250aChzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5leHRNb250aCA9IHRoaXMuX2dldERhdGVJbk5leHRNb250aChzdGFydERhdGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2FtZU1vbnRoQW5kWWVhcihuZXh0TW9udGgsIGVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRGF0ZXRpbWUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIsIGhvdXI6IG51bWJlciwgbWludXRlOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIC8vIENoZWNrIGZvciBpbnZhbGlkIG1vbnRoIGFuZCBkYXRlIChleGNlcHQgdXBwZXIgYm91bmQgb24gZGF0ZSB3aGljaCB3ZSBoYXZlIHRvIGNoZWNrIGFmdGVyXHJcbiAgICAvLyBjcmVhdGluZyB0aGUgRGF0ZSkuXHJcbiAgICBpZiAobW9udGggPCAwIHx8IG1vbnRoID4gMTEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbW9udGggaW5kZXggXCIke21vbnRofVwiLiBNb250aCBpbmRleCBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAxMS5gKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0ZSA8IDEpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIi4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhvdXIgPCAwIHx8IGhvdXIgPiAyMykge1xyXG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBob3VyIFwiJHtob3VyfVwiLiBIb3VyIGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDIzLmApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW51dGUgPCAwIHx8IG1pbnV0ZSA+IDU5KSB7XHJcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1pbnV0ZSBcIiR7bWludXRlfVwiLiBNaW51dGUgaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgNTkuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlKTtcclxuXHJcbiAgICAvLyBDaGVjayB0aGF0IHRoZSBkYXRlIHdhc24ndCBhYm92ZSB0aGUgdXBwZXIgYm91bmQgZm9yIHRoZSBtb250aCwgY2F1c2luZyB0aGUgbW9udGggdG8gb3ZlcmZsb3dcclxuICAgIGlmIChyZXN1bHQuZ2V0TW9udGgoKSAhPT0gbW9udGgpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldEZpcnN0RGF0ZU9mTW9udGgoZGF0ZTogRGF0ZSk6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoKTtcclxuICAgIHJlc3VsdC5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBERUZBVUxUX0hPVVJfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gREVGQVVMVF9NSU5VVEVfTkFNRVM7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERhdGUsIHllYXJzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIHllYXJzICogMTIpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF0ZSwgbW9udGhzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGxldCBuZXdEYXRlID0gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzLCB0aGlzLmdldERhdGUoZGF0ZSksIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG5cclxuICAgIC8vIEl0J3MgcG9zc2libGUgdG8gd2luZCB1cCBpbiB0aGUgd3JvbmcgbW9udGggaWYgdGhlIG9yaWdpbmFsIG1vbnRoIGhhcyBtb3JlIGRheXMgdGhhbiB0aGUgbmV3XHJcbiAgICAvLyBtb250aC4gSW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gZ28gdG8gdGhlIGxhc3QgZGF5IG9mIHRoZSBkZXNpcmVkIG1vbnRoLlxyXG4gICAgLy8gTm90ZTogdGhlIGFkZGl0aW9uYWwgKyAxMiAlIDEyIGVuc3VyZXMgd2UgZW5kIHVwIHdpdGggYSBwb3NpdGl2ZSBudW1iZXIsIHNpbmNlIEpTICUgZG9lc24ndFxyXG4gICAgLy8gZ3VhcmFudGVlIHRoaXMuXHJcbiAgICBpZiAodGhpcy5nZXRNb250aChuZXdEYXRlKSAhPT0gKCh0aGlzLmdldE1vbnRoKGRhdGUpICsgbW9udGhzKSAlIDEyICsgMTIpICUgMTIpIHtcclxuICAgICAgbmV3RGF0ZSA9IHRoaXMuX2NyZWF0ZURhdGVXaXRoT3ZlcmZsb3codGhpcy5nZXRZZWFyKG5ld0RhdGUpLCB0aGlzLmdldE1vbnRoKG5ld0RhdGUpLCAwLCB0aGlzLmdldEhvdXIoZGF0ZSksIHRoaXMuZ2V0TWludXRlKGRhdGUpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3RGF0ZTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXRlLCBkYXlzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KFxyXG4gICAgICB0aGlzLmdldFllYXIoZGF0ZSksIHRoaXMuZ2V0TW9udGgoZGF0ZSksIHRoaXMuZ2V0RGF0ZShkYXRlKSArIGRheXMsIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJIb3VycyhkYXRlOiBEYXRlLCBob3VyczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSArIGhvdXJzLCB0aGlzLmdldE1pbnV0ZShkYXRlKSk7XHJcbiAgfVxyXG5cclxuICBhZGRDYWxlbmRhck1pbnV0ZXMoZGF0ZTogRGF0ZSwgbWludXRlczogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyhcclxuICAgICAgdGhpcy5nZXRZZWFyKGRhdGUpLCB0aGlzLmdldE1vbnRoKGRhdGUpLCB0aGlzLmdldERhdGUoZGF0ZSksXHJcbiAgICAgIHRoaXMuZ2V0SG91cihkYXRlKSwgdGhpcy5nZXRNaW51dGUoZGF0ZSkgKyBtaW51dGVzKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHRvSXNvODYwMShkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdXBlci50b0lzbzg2MDEoZGF0ZSkgKyAnVCcgKyBbXHJcbiAgICAgIHRoaXMuXzJkaWdpdChkYXRlLmdldFVUQ0hvdXJzKCkpLFxyXG4gICAgICB0aGlzLl8yZGlnaXQoZGF0ZS5nZXRVVENNaW51dGVzKCkpXHJcbiAgICBdLmpvaW4oJzonKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERhdGVJbk5leHRNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAxLFxyXG4gICAgICBkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBQYWRzIGEgbnVtYmVyIHRvIG1ha2UgaXQgdHdvIGRpZ2l0cy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBuIFRoZSBudW1iZXIgdG8gcGFkLlxyXG4gICAqIEByZXR1cm5zIFRoZSBwYWRkZWQgbnVtYmVyLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgXzJkaWdpdChuOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgnMDAnICsgbikuc2xpY2UoLTIpO1xyXG4gIH1cclxuXHJcbiAgLyogQ3JlYXRlcyBhIGRhdGUgYnV0IGFsbG93cyB0aGUgbW9udGggYW5kIGRhdGUgdG8gb3ZlcmZsb3cuICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcixcclxuICAgIGhvdXJzOiBudW1iZXIsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzKTtcclxuXHJcbiAgICAvLyBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoZSBmYWN0IHRoYXQgSlMgbmF0aXZlIERhdGUgdHJlYXRzIHllYXJzIGluIHJhbmdlIFswLCA5OV0gYXNcclxuICAgIC8vIGFiYnJldmlhdGlvbnMgZm9yIDE5eHguXHJcbiAgICBpZiAoeWVhciA+PSAwICYmIHllYXIgPCAxMDApIHtcclxuICAgICAgcmVzdWx0LnNldEZ1bGxZZWFyKHRoaXMuZ2V0WWVhcihyZXN1bHQpIC0gMTkwMCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* Usage: refer to the demo - app.component.html
|
|
7
7
|
*/
|
|
8
8
|
export class CmatBreadcrumbItemDirective {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: CmatBreadcrumbItemDirective, isStandalone: true, selector: "[cmatBreadcrumbItem]", ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbItemDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: '[cmatBreadcrumbItem]',
|
|
@@ -69,12 +69,12 @@ export class CmatBreadcrumbComponent {
|
|
|
69
69
|
};
|
|
70
70
|
})));
|
|
71
71
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbComponent, deps: [{ token: i1.CmatBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: CmatBreadcrumbComponent, isStandalone: true, selector: "cmat-breadcrumb", inputs: { autoGenerate: "autoGenerate", preserveQueryParams: "preserveQueryParams", preserveFragment: "preserveFragment", class: "class", anchorTarget: "anchorTarget", separator: "separator" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: CmatBreadcrumbItemDirective, descendants: true, read: TemplateRef }], exportAs: ["cmatBreadcrumb"], ngImport: i0, template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n breadcrumb; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\"\r\n [attr.aria-disabled]=\"breadcrumb.disable\" [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\"\r\n rel=\"noopener noreferrer\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
|
-
args: [{ selector: 'cmat-breadcrumb', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatBreadcrumb', standalone: true, imports: [NgClass, AsyncPipe, RouterLink, NgTemplateOutlet], template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\n @for (\n breadcrumb of breadcrumbs$ | async; track\n breadcrumb; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\n <li class=\"list-none\">\n @if (!isLast) {\n <a class=\"cmat-breadcrumb-link\"\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\"\n [attr.aria-disabled]=\"breadcrumb.disable\" [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\"\n rel=\"noopener noreferrer\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\n {{\n breadcrumb.label\n }}\n }\n </a>\n }\n @if (isLast) {\n <span class=\"flex items-center\">\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\n {{\n breadcrumb.label\n }}\n }\n </span>\n }\n </li>\n @if (!isLast) {\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\n @if (separatorTemplate===null) {\n {{ separator }}\n }\n </li>\n }\n}\n</ol>\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"] }]
|
|
77
|
+
args: [{ selector: 'cmat-breadcrumb', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatBreadcrumb', standalone: true, imports: [NgClass, AsyncPipe, RouterLink, NgTemplateOutlet], template: "<nav aria-label=\"breadcrumb\" class=\"m-0\" [ngClass]=\"class\">\r\n <ol class=\"flex items-center flex-wrap m-0 p-0\">\r\n @for (\r\n breadcrumb of breadcrumbs$ | async; track\r\n breadcrumb; let isLast = $last; let isFirst = $first; let index = $index; let count = $count) {\r\n <li class=\"list-none\">\r\n @if (!isLast) {\r\n <a class=\"cmat-breadcrumb-link\"\r\n [ngClass]=\"{ 'pointer-events-none cursor-not-allowed': breadcrumb.disable }\"\r\n [attr.aria-disabled]=\"breadcrumb.disable\" [attr.tabIndex]=\"breadcrumb.disable ? -1 : 0\"\r\n rel=\"noopener noreferrer\" [routerLink]=\"\r\n breadcrumb.routeInterceptor\r\n ? breadcrumb.routeInterceptor( breadcrumb,breadcrumb.routeLink)\r\n : breadcrumb.routeLink\" [queryParams]=\"preserveQueryParams ? breadcrumb.queryParams : undefined\"\r\n [fragment]=\"preserveFragment ? breadcrumb.fragment : undefined\"\r\n [target]=\"anchorTarget ? anchorTarget : '_self'\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </a>\r\n }\r\n @if (isLast) {\r\n <span class=\"flex items-center\">\r\n <ng-container *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: breadcrumb.label,\r\n info: breadcrumb.info,\r\n last: isLast,\r\n first: isFirst,\r\n index: index,\r\n count: count\r\n }\r\n \"></ng-container>\r\n @if (!itemTemplate) {\r\n {{\r\n breadcrumb.label\r\n }}\r\n }\r\n </span>\r\n }\r\n </li>\r\n @if (!isLast) {\r\n <li class=\"flex select-none mx-4\" aria-hidden=\"true\" role=\"separator\">\r\n <ng-container *ngTemplateOutlet=\"separatorTemplate\"></ng-container>\r\n @if (separatorTemplate===null) {\r\n {{ separator }}\r\n }\r\n </li>\r\n }\r\n}\r\n</ol>\r\n</nav>", styles: ["cmat-breadcrumb .cmat-breadcrumb-link{display:flex;align-items:center;white-space:nowrap;color:inherit;text-decoration:none;transition:text-decoration .3s;cursor:pointer}cmat-breadcrumb .cmat-breadcrumb-link:hover{text-decoration-line:underline}\n"] }]
|
|
78
78
|
}], ctorParameters: () => [{ type: i1.CmatBreadcrumbService }], propDecorators: { itemTemplate: [{
|
|
79
79
|
type: ContentChild,
|
|
80
80
|
args: [CmatBreadcrumbItemDirective, { static: false, read: TemplateRef }]
|
|
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
91
91
|
}], separator: [{
|
|
92
92
|
type: Input
|
|
93
93
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGlCQUFpQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWExRSxNQUFNLE9BQU8sdUJBQXVCO0lBMkNoQyxZQUNZLGtCQUF5QztRQUF6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBaENyRDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7V0FFRztRQUNNLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFVWixlQUFVLEdBQWtCLEdBQUcsQ0FBQztJQUdpQixDQUFDO0lBRTFELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0Q7Ozs7Ozs7O09BUUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFpQztRQUMzQyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztTQUMvQjthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxDQUFDLFdBQXVDLEVBQUUsRUFBRSxDQUFDLFdBQVc7YUFDdkQsTUFBTSxDQUFDLENBQUMsVUFBb0MsRUFBRSxFQUFFO1lBQzdDLGlHQUFpRztZQUNqRyx1RUFBdUU7WUFDdkUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QyxDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsQ0FBQyxVQUFvQyxFQUFFLEVBQUU7WUFDMUMsbURBQW1EO1lBQ25ELHNGQUFzRjtZQUN0RixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDO1lBQ25ELE9BQU87Z0JBQ0gsR0FBRyxVQUFVO2dCQUNiLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxTQUFTO2FBQ3BFLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUM7SUFDTixDQUFDOzhHQTFGUSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix1VEFTbEIsMkJBQTJCLDJCQUF5QixXQUFXLDJEQzNCakYsbzJFQWlFTSxpVERqRFEsT0FBTywrRUFBRSxTQUFTLDhDQUFFLFVBQVUsb09BQUUsZ0JBQWdCOzsyRkFFakQsdUJBQXVCO2tCQVZuQyxTQUFTOytCQUNJLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDOzBGQVkzRCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBT3RFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUtHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkF1QkYsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ21hdEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uLCBDbWF0QnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1icmVhZGNydW1iJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGV4cG9ydEFzOiAnY21hdEJyZWFkY3J1bWInLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBBc3luY1BpcGUsIFJvdXRlckxpbmssIE5nVGVtcGxhdGVPdXRsZXRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0QnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvKipcclxuICAgICAqIOmdouWMheWxkemhueebruWPr+S7peS9v+eUqOatpOaooeadv+i/m+ihjOiHquWumuS5iVxyXG4gICAgICog5qih5p2/5LiK5LiL5paH5o+Q5L6b5qCH562+44CB6ZmE5Yqg5L+h5oGv44CB56ys5LiA5Liq5ZKM5pyA5ZCO5LiA5Liq57Si5byVXHJcbiAgICAgKiDnlKjkvos6XHJcbiAgICAgKiAxKSDmt7vliqDlm77moIflkozmoIfnrb5cclxuICAgICAqIDIpIGkxOG4uIHt7YnJlYWRjcnVtYiB8IHRyYW5zbGF0ZX19XHJcbiAgICAgKiAzKSDmm7TmlLnmlofmnKzlpKflsI/lhpkge3ticmVhZGNydW1iIHwgdGl0bGVjYXNlfX1cclxuICAgICAqL1xyXG4gICAgQENvbnRlbnRDaGlsZChDbWF0QnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcclxuICAgIGl0ZW1UZW1wbGF0ZTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog5aaC5p6c5Li6dHJ1Ze+8jOWNs+S9v+ayoeacieS7u+S9leaYoOWwhOagh+etvu+8jOmdouWMheWxkeS5n+S8muiHquWKqOeUn+aIkFxyXG4gICAgICog6buY6K6k5qCH562+5LiO6Lev55Sxc2VnbWVudOebuOWQjFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBhdXRvR2VuZXJhdGUgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6buY6K6k5oOF5Ya15LiL77yM5p+l6K+i5Y+C5pWw5bCG5LiOYnJlYWRjcnVtYnPkuIDotbfkv53nlZlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHJlc2VydmVRdWVyeVBhcmFtcyA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpu5jorqTmg4XlhrXkuIvvvIxmcmFnbWVudHPlj4LmlbDlsIbkuI5icmVhZGNydW1ic+S4gOi1t+S/neeVmVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwcmVzZXJ2ZUZyYWdtZW50ID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWPr+aPkOS+m+imhuebluagt+W8j++8jOWinuWKoOeJueW8guaAp1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBjbGFzcyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogYW5jaG9yVGFyZ2V0ID0gXCJfYmxhbmtcIiDkvb9icmVhZGNydW1i6ZO+5o6l5Zyo5paw6YCJ6aG55Y2h5Lit5omT5byAXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGFuY2hvclRhcmdldDogJ19ibGFuaycgfCB2b2lkO1xyXG5cclxuICAgIGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25bXT47XHJcbiAgICBzZXBhcmF0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBfc2VwYXJhdG9yOiBzdHJpbmcgfCB2b2lkID0gJy8nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2JyZWFkY3J1bWJTZXJ2aWNlOiBDbWF0QnJlYWRjcnVtYlNlcnZpY2UpIHsgfVxyXG5cclxuICAgIGdldCBzZXBhcmF0b3IoKTogc3RyaW5nIHwgdm9pZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlcGFyYXRvcjtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog6Z2i5YyF5bGR5YiG6ZqU56ymLCDpu5jorqQnLycuXHJcbiAgICAgKiDnlKjmiLflj6/ku6XpgJrov4fkvKDpgJLlrZfnrKbkuLLmiJbmqKHmnb/mnaXoh6rlrprkuYnliIbpmpTnrKZcclxuICAgICAqXHJcbiAgICAgKiDlrZfnrKbkuLIgLS0+IEV4OiA8Y21hdC1icmVhZGNydW1iIHNlcGFyYXRvcj1cIi1cIj48L2NtYXQtYnJlYWRjcnVtYj5cclxuICAgICAqXHJcbiAgICAgKiDmqKHmnb8gLS0+IEV4OiA8Y21hdC1icmVhZGNydW1iIFtzZXBhcmF0b3JdPVwic2VwYXJhdG9yVGVtcGxhdGVcIj48L2NtYXQtYnJlYWRjcnVtYj5cclxuICAgICAqIDxuZy10ZW1wbGF0ZSAjc2VwYXJhdG9yVGVtcGxhdGU+PG1hdC1pY29uPmFycm93X3JpZ2h0PC9tYXQtaWNvbj48L25nLXRlbXBsYXRlPlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHNlcGFyYXRvcih2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4pIHtcclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xyXG4gICAgICAgICAgICB0aGlzLnNlcGFyYXRvclRlbXBsYXRlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcGFyYXRvciA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNlcGFyYXRvclRlbXBsYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5fc2VwYXJhdG9yID0gdmFsdWUgfHwgJy8nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzJCA9IHRoaXMuX2JyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKGJyZWFkY3J1bWJzOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25bXSkgPT4gYnJlYWRjcnVtYnNcclxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGJyZWFkY3J1bWI6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFVzdWFsbHksIGJyZWFkY3J1bWIgbGlzdCBjYW4gY29udGFpbiBhIGNvbWJpbmF0aW9uIG9mIGF1dG8gZ2VuZXJhdGVkIGFuZCB1c2VyIHNwZWNpZmllZCBsYWJlbHNcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGZpbHRlcnMgYXV0b2dlbmVyYXRlZCBsYWJlbHMgaW4gY2FzZSBvZiBcIlthdXRvR2VuZXJhdGVdOiBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0dlbmVyYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWJyZWFkY3J1bWIuaXNBdXRvR2VuZXJhdGVkTGFiZWw7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLm1hcCgoYnJlYWRjcnVtYjogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRG8gbm90IG11dGF0ZSBicmVhZGNydW1iIGFzIGl0cyBzb3VyY2Ugb2YgdHJ1dGguXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgY2FuIGJlIHNjZW5hcmlvcyB3aGVyZSB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBjbWF0LWJyZWFkY3J1bWIgaW5zdGFuY2VzIGluIHBhZ2VcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHJvdXRlSW50ZXJjZXB0b3IsIHJvdXRlTGluayB9ID0gYnJlYWRjcnVtYjtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5icmVhZGNydW1iLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3V0ZUxpbms6IHJvdXRlSW50ZXJjZXB0b3I/LihicmVhZGNydW1iLCByb3V0ZUxpbmspIHx8IHJvdXRlTGluayxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmF2IGFyaWEtbGFiZWw9XCJicmVhZGNydW1iXCIgY2xhc3M9XCJtLTBcIiBbbmdDbGFzc109XCJjbGFzc1wiPlxuICA8b2wgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgbS0wIHAtMFwiPlxuICAgIEBmb3IgKFxuICAgICAgYnJlYWRjcnVtYiBvZiBicmVhZGNydW1icyQgfCBhc3luYzsgdHJhY2tcbiAgICAgIGJyZWFkY3J1bWI7IGxldCBpc0xhc3QgPSAkbGFzdDsgbGV0IGlzRmlyc3QgPSAkZmlyc3Q7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGNvdW50ID0gJGNvdW50KSB7XG4gICAgICA8bGkgY2xhc3M9XCJsaXN0LW5vbmVcIj5cbiAgICAgICAgQGlmICghaXNMYXN0KSB7XG4gICAgICAgICAgPGEgY2xhc3M9XCJjbWF0LWJyZWFkY3J1bWItbGlua1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwb2ludGVyLWV2ZW50cy1ub25lIGN1cnNvci1ub3QtYWxsb3dlZCc6IGJyZWFkY3J1bWIuZGlzYWJsZSB9XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYnJlYWRjcnVtYi5kaXNhYmxlXCIgW2F0dHIudGFiSW5kZXhdPVwiYnJlYWRjcnVtYi5kaXNhYmxlID8gLTEgOiAwXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgW3JvdXRlckxpbmtdPVwiXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWIucm91dGVJbnRlcmNlcHRvclxyXG4gICAgICAgICAgICAgID8gYnJlYWRjcnVtYi5yb3V0ZUludGVyY2VwdG9yKCBicmVhZGNydW1iLGJyZWFkY3J1bWIucm91dGVMaW5rKVxyXG4gICAgICAgICAgICAgIDogYnJlYWRjcnVtYi5yb3V0ZUxpbmtcIiBbcXVlcnlQYXJhbXNdPVwicHJlc2VydmVRdWVyeVBhcmFtcyA/IGJyZWFkY3J1bWIucXVlcnlQYXJhbXMgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudCA/IGJyZWFkY3J1bWIuZnJhZ21lbnQgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW3RhcmdldF09XCJhbmNob3JUYXJnZXQgPyBhbmNob3JUYXJnZXQgOiAnX3NlbGYnXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIGl0ZW1UZW1wbGF0ZTtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGJyZWFkY3J1bWIubGFiZWwsXHJcbiAgICAgICAgICAgICAgICBpbmZvOiBicmVhZGNydW1iLmluZm8sXHJcbiAgICAgICAgICAgICAgICBsYXN0OiBpc0xhc3QsXHJcbiAgICAgICAgICAgICAgICBmaXJzdDogaXNGaXJzdCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICBAaWYgKCFpdGVtVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICBicmVhZGNydW1iLmxhYmVsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgICAgfVxuICAgICAgQGlmIChpc0xhc3QpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBicmVhZGNydW1iLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgaW5mbzogYnJlYWRjcnVtYi5pbmZvLFxyXG4gICAgICAgICAgICAgICAgbGFzdDogaXNMYXN0LFxyXG4gICAgICAgICAgICAgICAgZmlyc3Q6IGlzRmlyc3QsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogY291bnRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZiAoIWl0ZW1UZW1wbGF0ZSkge1xuICAgICAgICAgIHt7XG4gICAgICAgICAgYnJlYWRjcnVtYi5sYWJlbFxuICAgICAgICAgIH19XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvbGk+XG4gIEBpZiAoIWlzTGFzdCkge1xuICAgIDxsaSBjbGFzcz1cImZsZXggc2VsZWN0LW5vbmUgbXgtNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHJvbGU9XCJzZXBhcmF0b3JcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZXBhcmF0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgQGlmIChzZXBhcmF0b3JUZW1wbGF0ZT09PW51bGwpIHtcbiAgICAgICAge3sgc2VwYXJhdG9yIH19XG4gICAgICB9XG4gICAgPC9saT5cbiAgfVxufVxuPC9vbD5cbjwvbmF2PiJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGlCQUFpQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWExRSxNQUFNLE9BQU8sdUJBQXVCO0lBMkNoQyxZQUNZLGtCQUF5QztRQUF6Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBaENyRDs7O1dBR0c7UUFDTSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUU3Qjs7V0FFRztRQUNNLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUVqQzs7V0FFRztRQUNNLFVBQUssR0FBRyxFQUFFLENBQUM7UUFVWixlQUFVLEdBQWtCLEdBQUcsQ0FBQztJQUdpQixDQUFDO0lBRTFELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0Q7Ozs7Ozs7O09BUUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFpQztRQUMzQyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDekQsR0FBRyxDQUFDLENBQUMsV0FBdUMsRUFBRSxFQUFFLENBQUMsV0FBVzthQUN2RCxNQUFNLENBQUMsQ0FBQyxVQUFvQyxFQUFFLEVBQUU7WUFDN0MsaUdBQWlHO1lBQ2pHLHVFQUF1RTtZQUN2RSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7UUFDNUMsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsVUFBb0MsRUFBRSxFQUFFO1lBQzFDLG1EQUFtRDtZQUNuRCxzRkFBc0Y7WUFDdEYsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztZQUNuRCxPQUFPO2dCQUNILEdBQUcsVUFBVTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUzthQUNwRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO0lBQ04sQ0FBQzs4R0ExRlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdVRBU2xCLDJCQUEyQiwyQkFBeUIsV0FBVywyREMzQmpGLGs3RUFpRU0saVREakRRLE9BQU8sK0VBQUUsU0FBUyw4Q0FBRSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBRWpELHVCQUF1QjtrQkFWbkMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzswRkFZM0QsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQU90RSxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBdUJGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYnJlYWRjcnVtYi1pdGVtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiwgQ21hdEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtYnJlYWRjcnVtYicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBleHBvcnRBczogJ2NtYXRCcmVhZGNydW1iJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlLCBSb3V0ZXJMaW5rLCBOZ1RlbXBsYXRlT3V0bGV0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiDpnaLljIXlsZHpobnnm67lj6/ku6Xkvb/nlKjmraTmqKHmnb/ov5vooYzoh6rlrprkuYlcclxuICAgICAqIOaooeadv+S4iuS4i+aWh+aPkOS+m+agh+etvuOAgemZhOWKoOS/oeaBr+OAgeesrOS4gOS4quWSjOacgOWQjuS4gOS4que0ouW8lVxyXG4gICAgICog55So5L6LOlxyXG4gICAgICogMSkg5re75Yqg5Zu+5qCH5ZKM5qCH562+XHJcbiAgICAgKiAyKSBpMThuLiB7e2JyZWFkY3J1bWIgfCB0cmFuc2xhdGV9fVxyXG4gICAgICogMykg5pu05pS55paH5pys5aSn5bCP5YaZIHt7YnJlYWRjcnVtYiB8IHRpdGxlY2FzZX19XHJcbiAgICAgKi9cclxuICAgIEBDb250ZW50Q2hpbGQoQ21hdEJyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXHJcbiAgICBpdGVtVGVtcGxhdGU6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOWmguaenOS4unRydWXvvIzljbPkvb/msqHmnInku7vkvZXmmKDlsITmoIfnrb7vvIzpnaLljIXlsZHkuZ/kvJroh6rliqjnlJ/miJBcclxuICAgICAqIOm7mOiupOagh+etvuS4jui3r+eUsXNlZ21lbnTnm7jlkIxcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYXV0b0dlbmVyYXRlID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIOm7mOiupOaDheWGteS4i++8jOafpeivouWPguaVsOWwhuS4jmJyZWFkY3J1bWJz5LiA6LW35L+d55WZXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHByZXNlcnZlUXVlcnlQYXJhbXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICog6buY6K6k5oOF5Ya15LiL77yMZnJhZ21lbnRz5Y+C5pWw5bCG5LiOYnJlYWRjcnVtYnPkuIDotbfkv53nlZlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHJlc2VydmVGcmFnbWVudCA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlj6/mj5Dkvpvopobnm5bmoLflvI/vvIzlop7liqDnibnlvILmgKdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xhc3MgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFuY2hvclRhcmdldCA9IFwiX2JsYW5rXCIg5L2/YnJlYWRjcnVtYumTvuaOpeWcqOaWsOmAiemhueWNoeS4reaJk+W8gFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBhbmNob3JUYXJnZXQ6ICdfYmxhbmsnIHwgdm9pZDtcclxuXHJcbiAgICBicmVhZGNydW1icyQ6IE9ic2VydmFibGU8Q21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10+O1xyXG4gICAgc2VwYXJhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgX3NlcGFyYXRvcjogc3RyaW5nIHwgdm9pZCA9ICcvJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9icmVhZGNydW1iU2VydmljZTogQ21hdEJyZWFkY3J1bWJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBnZXQgc2VwYXJhdG9yKCk6IHN0cmluZyB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3I7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOmdouWMheWxkeWIhumalOespiwg6buY6K6kJy8nLlxyXG4gICAgICog55So5oi35Y+v5Lul6YCa6L+H5Lyg6YCS5a2X56ym5Liy5oiW5qih5p2/5p2l6Ieq5a6a5LmJ5YiG6ZqU56ymXHJcbiAgICAgKlxyXG4gICAgICog5a2X56ym5LiyIC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBzZXBhcmF0b3I9XCItXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKlxyXG4gICAgICog5qih5p2/IC0tPiBFeDogPGNtYXQtYnJlYWRjcnVtYiBbc2VwYXJhdG9yXT1cInNlcGFyYXRvclRlbXBsYXRlXCI+PC9jbWF0LWJyZWFkY3J1bWI+XHJcbiAgICAgKiA8bmctdGVtcGxhdGUgI3NlcGFyYXRvclRlbXBsYXRlPjxtYXQtaWNvbj5hcnJvd19yaWdodDwvbWF0LWljb24+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzZXBhcmF0b3IodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zZXBhcmF0b3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JUZW1wbGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlIHx8ICcvJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQgPSB0aGlzLl9icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZShcclxuICAgICAgICAgICAgbWFwKChicmVhZGNydW1iczogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10pID0+IGJyZWFkY3J1bWJzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChicmVhZGNydW1iOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc3VhbGx5LCBicmVhZGNydW1iIGxpc3QgY2FuIGNvbnRhaW4gYSBjb21iaW5hdGlvbiBvZiBhdXRvIGdlbmVyYXRlZCBhbmQgdXNlciBzcGVjaWZpZWQgbGFiZWxzXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBmaWx0ZXJzIGF1dG9nZW5lcmF0ZWQgbGFiZWxzIGluIGNhc2Ugb2YgXCJbYXV0b0dlbmVyYXRlXTogZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9HZW5lcmF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFicmVhZGNydW1iLmlzQXV0b0dlbmVyYXRlZExhYmVsO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5tYXAoKGJyZWFkY3J1bWI6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBtdXRhdGUgYnJlYWRjcnVtYiBhcyBpdHMgc291cmNlIG9mIHRydXRoLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIGNhbiBiZSBzY2VuYXJpb3Mgd2hlcmUgd2UgY2FuIGhhdmUgbXVsdGlwbGUgY21hdC1icmVhZGNydW1iIGluc3RhbmNlcyBpbiBwYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyByb3V0ZUludGVyY2VwdG9yLCByb3V0ZUxpbmsgfSA9IGJyZWFkY3J1bWI7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYnJlYWRjcnVtYixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVMaW5rOiByb3V0ZUludGVyY2VwdG9yPy4oYnJlYWRjcnVtYiwgcm91dGVMaW5rKSB8fCByb3V0ZUxpbmssXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiIGNsYXNzPVwibS0wXCIgW25nQ2xhc3NdPVwiY2xhc3NcIj5cclxuICA8b2wgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LXdyYXAgbS0wIHAtMFwiPlxyXG4gICAgQGZvciAoXHJcbiAgICAgIGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnMkIHwgYXN5bmM7IHRyYWNrXHJcbiAgICAgIGJyZWFkY3J1bWI7IGxldCBpc0xhc3QgPSAkbGFzdDsgbGV0IGlzRmlyc3QgPSAkZmlyc3Q7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGNvdW50ID0gJGNvdW50KSB7XHJcbiAgICAgIDxsaSBjbGFzcz1cImxpc3Qtbm9uZVwiPlxyXG4gICAgICAgIEBpZiAoIWlzTGFzdCkge1xyXG4gICAgICAgICAgPGEgY2xhc3M9XCJjbWF0LWJyZWFkY3J1bWItbGlua1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3BvaW50ZXItZXZlbnRzLW5vbmUgY3Vyc29yLW5vdC1hbGxvd2VkJzogYnJlYWRjcnVtYi5kaXNhYmxlIH1cIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImJyZWFkY3J1bWIuZGlzYWJsZVwiIFthdHRyLnRhYkluZGV4XT1cImJyZWFkY3J1bWIuZGlzYWJsZSA/IC0xIDogMFwiXHJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgW3JvdXRlckxpbmtdPVwiXHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWIucm91dGVJbnRlcmNlcHRvclxyXG4gICAgICAgICAgICAgID8gYnJlYWRjcnVtYi5yb3V0ZUludGVyY2VwdG9yKCBicmVhZGNydW1iLGJyZWFkY3J1bWIucm91dGVMaW5rKVxyXG4gICAgICAgICAgICAgIDogYnJlYWRjcnVtYi5yb3V0ZUxpbmtcIiBbcXVlcnlQYXJhbXNdPVwicHJlc2VydmVRdWVyeVBhcmFtcyA/IGJyZWFkY3J1bWIucXVlcnlQYXJhbXMgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudCA/IGJyZWFkY3J1bWIuZnJhZ21lbnQgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICBbdGFyZ2V0XT1cImFuY2hvclRhcmdldCA/IGFuY2hvclRhcmdldCA6ICdfc2VsZidcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBicmVhZGNydW1iLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgaW5mbzogYnJlYWRjcnVtYi5pbmZvLFxyXG4gICAgICAgICAgICAgICAgbGFzdDogaXNMYXN0LFxyXG4gICAgICAgICAgICAgICAgZmlyc3Q6IGlzRmlyc3QsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBjb3VudDogY291bnRcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgQGlmICghaXRlbVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWIubGFiZWxcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2E+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpc0xhc3QpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogYnJlYWRjcnVtYi5sYWJlbCxcclxuICAgICAgICAgICAgICAgIGluZm86IGJyZWFkY3J1bWIuaW5mbyxcclxuICAgICAgICAgICAgICAgIGxhc3Q6IGlzTGFzdCxcclxuICAgICAgICAgICAgICAgIGZpcnN0OiBpc0ZpcnN0LFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgY291bnQ6IGNvdW50XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICBAaWYgKCFpdGVtVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHt7XHJcbiAgICAgICAgICBicmVhZGNydW1iLmxhYmVsXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIH1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvbGk+XHJcbiAgQGlmICghaXNMYXN0KSB7XHJcbiAgICA8bGkgY2xhc3M9XCJmbGV4IHNlbGVjdC1ub25lIG14LTRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiByb2xlPVwic2VwYXJhdG9yXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZXBhcmF0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICBAaWYgKHNlcGFyYXRvclRlbXBsYXRlPT09bnVsbCkge1xyXG4gICAgICAgIHt7IHNlcGFyYXRvciB9fVxyXG4gICAgICB9XHJcbiAgICA8L2xpPlxyXG4gIH1cclxufVxyXG48L29sPlxyXG48L25hdj4iXX0=
|
|
@@ -324,13 +324,13 @@ export class CmatBreadcrumbService {
|
|
|
324
324
|
}
|
|
325
325
|
return config || {};
|
|
326
326
|
}
|
|
327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
328
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbService, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
328
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbService, providedIn: 'root' }); }
|
|
329
329
|
}
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatBreadcrumbService, decorators: [{
|
|
331
331
|
type: Injectable,
|
|
332
332
|
args: [{
|
|
333
333
|
providedIn: 'root',
|
|
334
334
|
}]
|
|
335
335
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }] });
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUEwQyxjQUFjLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQWUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRbkQseURBQXlEO0FBQ3pELE1BQU0sVUFBVSxHQUFHO0lBQ2YsTUFBTSxFQUFFLEdBQUc7SUFDWCxnQkFBZ0IsRUFBRSxTQUFTO0lBQzNCLGNBQWMsRUFBRSxRQUFRO0NBQzNCLENBQUM7QUFDRix5REFBeUQ7QUFFekQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDO0FBQ3pCLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBUSxFQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBSzdFLE1BQU0sT0FBTyxxQkFBcUI7SUF5QjlCLFlBQW9CLGVBQStCLEVBQVUsT0FBZTtRQUF4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBeEJwRSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBRWhCLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0Q7Ozs7V0FJRztRQUNLLDRCQUF1QixHQUErQixFQUFFLENBQUM7UUFFakU7Ozs7V0FJRztRQUNLLHdCQUFtQixHQUErQixFQUFFLENBQUM7UUFDckQseUJBQW9CLEdBQStCLEVBQUUsQ0FBQztRQUU5RDs7O1dBR0c7UUFDSyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUE2QixFQUFFLENBQUMsQ0FBQztRQUd2RSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILEdBQUcsQ0FBQyxHQUFXLEVBQUUsVUFBeUM7UUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksVUFBdUQsQ0FBQztRQUU1RCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDOUIsVUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDeEU7YUFBTSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLFVBQVUsR0FBRztnQkFDVCxZQUFZO2dCQUNaLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTthQUM3RCxDQUFDO1NBQ0w7YUFBTTtZQUNILFVBQVUsR0FBRztnQkFDVCxXQUFXO2dCQUNYLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFO2FBQ3BFLENBQUM7U0FDTDtRQUVELGdHQUFnRztRQUNoRyx1REFBdUQ7UUFDdkQsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUUzQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3ZCLDZGQUE2RjtRQUM3Rix5RUFBeUU7UUFDekUsbUdBQW1HO1FBQ25HLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTthQUNkLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQTJCLEVBQUUsQ0FBQyxLQUFLLFlBQVksY0FBYyxDQUFDLENBQUM7YUFDL0UsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsd0VBQXdFO1lBQ3hFLHVEQUF1RDtZQUN2RCwwR0FBMEc7WUFDMUcsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLHNCQUE4QztRQUNwRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3JELDZFQUE2RTtRQUM3RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEUsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELE9BQU87Z0JBQ0gsR0FBRyxTQUFTO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUM7YUFDL0MsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVPLHNCQUFzQixDQUMxQixzQkFBOEMsRUFDOUMsZUFBdUI7UUFFdkIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUM3QyxzQkFBc0IsQ0FBQyxXQUFXLENBQ3JDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDL0UsTUFBTSxTQUFTLEdBQUcsR0FBRyxlQUFlLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQzVCLFNBQVMsRUFBRSxLQUFLLElBQUksVUFBVSxFQUFFLEtBQUssRUFDckMsZUFBZSxDQUNsQixDQUFDO1FBQ0YsSUFBSSxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUM1QixrQkFBa0IsR0FBRyxlQUFlLENBQUM7U0FDeEM7UUFFRCxPQUFPO1lBQ0gsR0FBRyxTQUFTO1lBQ1osR0FBRyxVQUFVO1lBQ2IsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN4RCxTQUFTO1lBQ1Qsb0JBQW9CO1lBQ3BCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQztTQUNyRCxDQUFDO0lBQ04sQ0FBQztJQUVPLHNCQUFzQixDQUMxQixzQkFBOEMsRUFDOUMsZUFBdUI7UUFFdkIsSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLElBQUksc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtZQUMvRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQzlDLHNCQUFzQixFQUN0QixlQUFlLENBQ2xCLENBQUM7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTlDLElBQUksc0JBQXNCLENBQUMsVUFBVSxFQUFFO2dCQUNuQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FDOUIsc0JBQXNCLENBQUMsVUFBVSxFQUNqQyxjQUFjLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FDakMsQ0FBQzthQUNMO1NBQ0o7YUFBTSxJQUFJLHNCQUFzQixDQUFDLFVBQVUsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FDOUIsc0JBQXNCLENBQUMsVUFBVSxFQUNqQyxlQUFlLENBQ2xCLENBQUM7U0FDTDtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3RDLENBQUM7UUFDRixJQUFJLENBQUMsa0NBQWtDLENBQUMsU0FBUyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFFM0Usa0RBQWtEO1FBQ2xELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDbkQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDN0MsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMvQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLFNBQWtCLEVBQUUsVUFBbUI7UUFDdkQsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDO1NBQzFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssbUJBQW1CLENBQUMsT0FBZSxFQUFFLHNCQUE4QztRQUN2RixtSEFBbUg7UUFDbkgsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ25FLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELENBQUMsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSywrQkFBK0IsQ0FBQyxTQUFpQjtRQUNyRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUM7WUFDcEUsRUFBRSxDQUFDO1FBQ1AsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxrQ0FBa0MsQ0FDdEMsUUFBd0IsRUFDeEIsc0JBQThDO1FBRTlDLElBQUksUUFBUSxFQUFFO1lBQ1YsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQztZQUN6RCxRQUFRLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEUsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQzdEO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ssZUFBZSxDQUFDLFdBQXlCO1FBQzdDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQyxDQUFDO1FBRWxCLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FDM0MsV0FBVyxFQUNYLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUN2QixDQUFDO1FBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssdUJBQXVCLENBQzNCLFdBQWdCLEVBQ2hCLE1BQTRCO1FBRTVCLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEM7UUFFRCxJQUFJLFNBQVMsR0FBaUIsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQzFCLDRDQUE0QztZQUM1QyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQy9GO2FBQU0sSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQzdCLCtDQUErQztZQUMvQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzFGO1FBRUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELE9BQU8sV0FBVztZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxFQUFFO2dCQUN0QyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO2dCQUM5QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO2FBQ3RDLENBQUM7WUFDRixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWSxDQUFDLEdBQVcsRUFBRSxVQUFvQztRQUNsRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsVUFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBTSxJQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2SCxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEdBQUc7Z0JBQzNDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDL0MsR0FBRyxVQUFVO2FBQ2hCLENBQUM7U0FDTDthQUFNO1lBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHlCQUF5QixDQUM3QixHQUFXLEVBQ1gsVUFBb0M7UUFFcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxZQUFZO1lBQzdFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBRSxVQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFNLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDbEMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDO2dCQUN0QyxHQUFHLFVBQVU7YUFDaEIsQ0FBQztZQUNGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3JCLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsSUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQ3pDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsRUFDNUMsVUFBVSxDQUFDLGNBQWMsQ0FDNUIsQ0FBQztJQUNOLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxJQUFZO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxhQUFhLENBQUMsTUFBNEIsRUFBRSxhQUFzQjtRQUN0RSxNQUFNLEtBQUssR0FBRyxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBNEI7UUFDL0MsNkZBQTZGO1FBQzdGLElBQ0ksTUFBTTtZQUNOLENBQUMsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsQ0FBQyxFQUM5RDtZQUNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDNUI7UUFDRCxPQUFRLE1BQStCLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7OEdBellRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIEd1YXJkc0NoZWNrRW5kLCBSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgaXNOdWxsIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSAsIEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ21hdEJyZWFkY3J1bWIgfSBmcm9tICcuL3R5cGVzL2JyZWFkY3J1bWInO1xyXG5pbXBvcnQgeyBDbWF0QnJlYWRjcnVtYkZ1bmN0aW9uLCBDbWF0QnJlYWRjcnVtYk9iamVjdCwgfSBmcm9tICcuL3R5cGVzL2JyZWFkY3J1bWIuY29uZmlnJztcclxuXHJcbnR5cGUgQ21hdEJyZWFkY3J1bWJDb25maWcgPSBDbWF0QnJlYWRjcnVtYk9iamVjdCB8IENtYXRCcmVhZGNydW1iRnVuY3Rpb24gfCBzdHJpbmc7XHJcbnR5cGUgU3RvcmVNYXRjaGVyS2V5ID0gJ3JvdXRlTGluaycgfCAncm91dGVSZWdleCcgfCAnYWxpYXMnO1xyXG5leHBvcnQgdHlwZSBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb24gPSBDbWF0QnJlYWRjcnVtYiAmIENtYXRCcmVhZGNydW1iT2JqZWN0O1xyXG5cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXHJcbmNvbnN0IFBBVEhfUEFSQU0gPSB7ICAgIFxyXG4gICAgUFJFRklYOiAnOicsXHJcbiAgICBSRUdFWF9JREVOVElGSUVSOiAnLzpbXi9dKycsXHJcbiAgICBSRUdFWF9SRVBMQUNFUjogJy9bXi9dKycsXHJcbn07XHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xyXG5cclxuY29uc3QgQUxJQVNfUFJFRklYID0gJ0AnO1xyXG5jb25zdCBpc05vbkVtcHR5ID0gKG9iajogYW55KTogYm9vbGVhbiA9PiBvYmogJiYgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPiAwO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEJyZWFkY3J1bWJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgX2Jhc2VIcmVmID0gJy8nO1xyXG5cclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIC8qKlxyXG4gICAgICogZHluYW1pY0JyZWFkY3J1bWJTdG9yZSBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBkeW5hbWljYWxseSB1cGRhdGVkIGJyZWFkY3J1bWJzLlxyXG4gICAgICogQnJlYWRjcnVtYnMgY2FuIGJlIHNldCBmcm9tIGFueXdoZXJlIChjb21wb25lbnQsIHNlcnZpY2UpIGluIHRoZSBhcHAuXHJcbiAgICAgKiBPbiBldmVyeSBicmVhZGNydW1iIHVwZGF0ZSBjaGVjayB0aGlzIHN0b3JlIGFuZCB1c2UgdGhlIGluZm8gaWYgYXZhaWxhYmxlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9keW5hbWljQnJlYWRjcnVtYlN0b3JlOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogYnJlYWRjcnVtYkxpc3QgZm9yIHRoZSBjdXJyZW50IHJvdXRlXHJcbiAgICAgKiBXaGVuIGJyZWFkY3J1bWIgaW5mbyBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LCBjaGVjayBpZiB0aGUgY3VycmVudEJyZWFkY3J1bWJzIGlzIGVmZmVjdGVkXHJcbiAgICAgKiBJZiBlZmZlY3RlZCwgdXBkYXRlIHRoZSBjaGFuZ2UgYW5kIGVtaXQgYSBuZXcgc3RyZWFtXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2N1cnJlbnRCcmVhZGNydW1iczogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10gPSBbXTtcclxuICAgIHByaXZhdGUgX3ByZXZpb3VzQnJlYWRjcnVtYnM6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbltdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCcmVhZGNydW1icyBvYnNlcnZhYmxlIHRvIGJlIHN1YnNjcmliZWQgYnkgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAgICogRW1pdHMgb24gZXZlcnkgcm91dGUgY2hhbmdlIE9SIGR5bmFtaWMgdXBkYXRlIG9mIGJyZWFkY3J1bWJcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfYnJlYWRjcnVtYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbltdPihbXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgICAgIHRoaXMuX2RldGVjdFJvdXRlQ2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBicmVhZGNydW1icyQoKTogT2JzZXJ2YWJsZTxDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1icy5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZSBicmVhZGNydW1iIGR5bmFtaWNhbGx5XHJcbiAgICAgKlxyXG4gICAgICoga2V5IGNhbiBiZSBhIHBhdGggfCBhbGlhc1xyXG4gICAgICpcclxuICAgICAqIDEpIFVzaW5nIGNvbXBsZXRlIHJvdXRlIHBhdGguIHJvdXRlIGNhbiBiZSBwYXNzZWQgdGhlIHNhbWUgd2F5IHlvdSBkZWZpbmUgYW5ndWxhciByb3V0ZXNcclxuICAgICAqIC0gcGF0aCBjYW4gYmUgcGFzc2VkIGFzICdleGFjdCBwYXRoKHJvdXRlTGluayknIG9yICdwYXRoIHdpdGggcGFyYW1zKHJvdXRlUmVnZXgpJ1xyXG4gICAgICogLSB1cGRhdGUgbGFiZWwgRXg6IHNldCgnL21lbnRvcicsICdNZW50b3InKSwgc2V0KCcvbWVudG9yLzppZCcsICdNZW50b3IgRGV0YWlscycpXHJcbiAgICAgKiAtIGNoYW5nZSB2aXNpYmlsaXR5IEV4OiBzZXQoJy9tZW50b3IvOmlkL2VkaXQnLCB7IHNraXA6IHRydWUgfSlcclxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgICAqIDIpIFVzaW5nIHJvdXRlIGFsaWFzIChwcmVmaXhlZCB3aXRoICdAJykuIGFsaWFzIHNob3VsZCBiZSB1bmlxdWUgZm9yIGEgcm91dGVcclxuICAgICAqIC0gdXBkYXRlIGxhYmVsIEV4OiBzZXQoJ0BtZW50b3InLCAnRW5hYmxlcicpXHJcbiAgICAgKiAtIGNoYW5nZSB2aXNpYmlsaXR5IEV4OiBzZXQoJ0BtZW50b3JFZGl0JywgeyBza2lwOiB0cnVlIH0pXHJcbiAgICAgKlxyXG4gICAgICpcclxuICAgICAqIHZhbHVlIGNhbiBiZSBzdHJpbmcgfCBCcmVhZGNydW1iT2JqZWN0IHwgQnJlYWRjcnVtYkZ1bmN0aW9uXHJcbiAgICAgKi9cclxuICAgIHNldChrZXk6IHN0cmluZywgYnJlYWRjcnVtYjogc3RyaW5nIHwgQ21hdEJyZWFkY3J1bWJPYmplY3QpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBicmVhZGNydW1iT2JqZWN0ID0gdGhpcy5fZXh0cmFjdE9iamVjdChicmVhZGNydW1iKTtcclxuICAgICAgICBsZXQgdXBkYXRlQXJnczogW1N0b3JlTWF0Y2hlcktleSwgQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uXTtcclxuXHJcbiAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKEFMSUFTX1BSRUZJWCkpIHtcclxuICAgICAgICAgICAgdXBkYXRlQXJncyA9IFsnYWxpYXMnLCB7IC4uLmJyZWFkY3J1bWJPYmplY3QsIGFsaWFzOiBrZXkuc2xpY2UoMSkgfV07XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkuaW5jbHVkZXMoUEFUSF9QQVJBTS5QUkVGSVgpKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZUFyZ3MgPSBbXHJcbiAgICAgICAgICAgICAgICAncm91dGVSZWdleCcsXHJcbiAgICAgICAgICAgICAgICB7IC4uLmJyZWFkY3J1bWJPYmplY3QsIHJvdXRlUmVnZXg6IHRoaXMuX2J1aWxkUmVnZXgoa2V5KSB9LFxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZUFyZ3MgPSBbXHJcbiAgICAgICAgICAgICAgICAncm91dGVMaW5rJyxcclxuICAgICAgICAgICAgICAgIHsgLi4uYnJlYWRjcnVtYk9iamVjdCwgcm91dGVMaW5rOiB0aGlzLl9lbnN1cmVMZWFkaW5nU2xhc2goa2V5KSB9LFxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRm9yIHRoaXMgcm91dGUgaWYgcHJldmlvdXNseSBhIGJyZWFkY3J1bWIgaXMgbm90IGRlZmluZWQgdGhhdCBzZXRzIGlzQXV0b0dlbmVyYXRlZExhYmVsOiB0cnVlXHJcbiAgICAgICAgLy8gY2hhbmdlIGl0IHRvIGZhbHNlIHNpbmNlIHRoaXMgaXMgdXNlciBzdXBwbGllZCB2YWx1ZVxyXG4gICAgICAgIHVwZGF0ZUFyZ3NbMV0uaXNBdXRvR2VuZXJhdGVkTGFiZWwgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fdXBkYXRlU3RvcmUoLi4udXBkYXRlQXJncyk7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudEJyZWFkY3J1bWJzKC4uLnVwZGF0ZUFyZ3MpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuZXZlciByb3V0ZSBjaGFuZ2VzIGJ1aWxkIGJyZWFkY3J1bWIgbGlzdCBhZ2FpblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kZXRlY3RSb3V0ZUNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gU3BlY2lhbCBjYXNlIHdoZXJlIGJyZWFkY3J1bWIgc2VydmljZSAmIGNvbXBvbmVudCBpbnN0YW50aWF0ZXMgYWZ0ZXIgYSByb3V0ZSBpcyBuYXZpZ2F0ZWQuXHJcbiAgICAgICAgLy8gRXg6IHB1dCBicmVhZGNydW1icyB3aXRoaW4gKm5nSWYgYW5kIHRoaXMucm91dGVyLmV2ZW50cyB3b3VsZCBiZSBlbXB0eVxyXG4gICAgICAgIC8vIFRoaXMgY2hlY2sgaXMgYWxzbyByZXF1aXJlZCB3aGVyZSAgeyBpbml0aWFsTmF2aWdhdGlvbjogJ2VuYWJsZWRCbG9ja2luZycgfSBpcyBhcHBsaWVkIHRvIHJvdXRlc1xyXG4gICAgICAgIHRoaXMuX3NldHVwQnJlYWRjcnVtYnModGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QpO1xyXG5cclxuICAgICAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSxcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBHdWFyZHNDaGVja0VuZCA9PiBldmVudCBpbnN0YW5jZW9mIEd1YXJkc0NoZWNrRW5kKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIGFjdGl2YXRlZFJvdXRlIGRvZXNuJ3QgY2FycnkgZGF0YSB3aGVuIHNob3VsZFJldXNlUm91dGUgcmV0dXJucyBmYWxzZVxyXG4gICAgICAgICAgICAgICAgLy8gdXNlIHRoZSBldmVudCBkYXRhIHdpdGggR3VhcmRzQ2hlY2tFbmQgYXMgd29ya2Fyb3VuZFxyXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHNob3VsZEFjdGl2YXRlIGluIGNhc2Ugd2hlcmUgdGhlIGF1dGhHdWFyZCByZXR1cm5zIGZhbHNlIHRoZSBicmVhZGNydW1icyBzaG91bGRuJ3QgYmUgY2hhbmdlZFxyXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnNob3VsZEFjdGl2YXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0dXBCcmVhZGNydW1icyhldmVudC5zdGF0ZS5yb290KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0dXBCcmVhZGNydW1icyhhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcHJldmlvdXNCcmVhZGNydW1icyA9IHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icztcclxuICAgICAgICAvLyBicmVhZGNydW1iIGxhYmVsIGZvciBiYXNlIE9SIHJvb3QgcGF0aC4gVXN1YWxseSwgdGhpcyBjYW4gYmUgc2V0IGFzICdIb21lJ1xyXG4gICAgICAgIGNvbnN0IHJvb3RCcmVhZGNydW1iID0gdGhpcy5fZ2V0Um9vdEJyZWFkY3J1bWIoKTtcclxuICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnMgPSByb290QnJlYWRjcnVtYiA/IFtyb290QnJlYWRjcnVtYl0gOiBbXTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlQnJlYWRjcnVtYkxpc3QoYWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgdGhpcy5fYmFzZUhyZWYpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldFJvb3RCcmVhZGNydW1iKCk6IENtYXRCcmVhZGNydW1iIHwgdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgcm9vdENvbmZpZyA9IHRoaXMuX3JvdXRlci5jb25maWcuZmluZChjb25maWcgPT4gY29uZmlnLnBhdGggPT09ICcnKTtcclxuICAgICAgICBjb25zdCByb290QnJlYWRjcnVtYiA9IHRoaXMuX2V4dHJhY3RPYmplY3Qocm9vdENvbmZpZz8uZGF0YT8uWydicmVhZGNydW1iJ10pO1xyXG4gICAgICAgIGNvbnN0IHN0b3JlSXRlbSA9IHRoaXMuX2dldEZyb21TdG9yZSgnLycsIHJvb3RCcmVhZGNydW1iLmFsaWFzKTtcclxuXHJcbiAgICAgICAgaWYgKGlzTm9uRW1wdHkocm9vdEJyZWFkY3J1bWIpIHx8IGlzTm9uRW1wdHkoc3RvcmVJdGVtKSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uc3RvcmVJdGVtLFxyXG4gICAgICAgICAgICAgICAgLi4ucm9vdEJyZWFkY3J1bWIsXHJcbiAgICAgICAgICAgICAgICByb3V0ZUxpbms6IHRoaXMuX2Jhc2VIcmVmLFxyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZ2V0UXVlcnlQYXJhbXNGcm9tUHJldmlvdXNMaXN0KCcvJyksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmVCcmVhZGNydW1iSXRlbShcclxuICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgICAgIHJvdXRlTGlua1ByZWZpeDogc3RyaW5nXHJcbiAgICApOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb24ge1xyXG4gICAgICAgIGNvbnN0IHsgcGF0aCwgYnJlYWRjcnVtYiB9ID0gdGhpcy5fcGFyc2VSb3V0ZURhdGEoXHJcbiAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Qucm91dGVDb25maWdcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCByZXNvbHZlZFNlZ21lbnQgPSB0aGlzLl9yZXNvbHZlUGF0aFNlZ21lbnQocGF0aCwgYWN0aXZhdGVkUm91dGVTbmFwc2hvdCk7XHJcbiAgICAgICAgY29uc3Qgcm91dGVMaW5rID0gYCR7cm91dGVMaW5rUHJlZml4fSR7cmVzb2x2ZWRTZWdtZW50fWA7XHJcbiAgICAgICAgY29uc3Qgc3RvcmVJdGVtID0gdGhpcy5fZ2V0RnJvbVN0b3JlKHJvdXRlTGluaywgYnJlYWRjcnVtYi5hbGlhcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZXh0cmFjdExhYmVsKFxyXG4gICAgICAgICAgICBzdG9yZUl0ZW0/LmxhYmVsIHx8IGJyZWFkY3J1bWI/LmxhYmVsLFxyXG4gICAgICAgICAgICByZXNvbHZlZFNlZ21lbnRcclxuICAgICAgICApO1xyXG4gICAgICAgIGxldCBpc0F1dG9HZW5lcmF0ZWRMYWJlbCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBhdXRvR2VuZXJhdGVkTGFiZWwgPSAnJztcclxuICAgICAgICBpZiAoIWxhYmVsKSB7XHJcbiAgICAgICAgICAgIGlzQXV0b0dlbmVyYXRlZExhYmVsID0gdHJ1ZTtcclxuICAgICAgICAgICAgYXV0b0dlbmVyYXRlZExhYmVsID0gcmVzb2x2ZWRTZWdtZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RvcmVJdGVtLFxyXG4gICAgICAgICAgICAuLi5icmVhZGNydW1iLFxyXG4gICAgICAgICAgICBsYWJlbDogaXNBdXRvR2VuZXJhdGVkTGFiZWwgPyBhdXRvR2VuZXJhdGVkTGFiZWwgOiBsYWJlbCxcclxuICAgICAgICAgICAgcm91dGVMaW5rLFxyXG4gICAgICAgICAgICBpc0F1dG9HZW5lcmF0ZWRMYWJlbCxcclxuICAgICAgICAgICAgLi4udGhpcy5fZ2V0UXVlcnlQYXJhbXNGcm9tUHJldmlvdXNMaXN0KHJvdXRlTGluayksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlQnJlYWRjcnVtYkxpc3QoXHJcbiAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICByb3V0ZUxpbmtQcmVmaXg6IHN0cmluZ1xyXG4gICAgKTogQ21hdEJyZWFkY3J1bWJbXSB8IHZvaWQge1xyXG4gICAgICAgIGlmIChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnJvdXRlQ29uZmlnICYmIGFjdGl2YXRlZFJvdXRlU25hcHNob3Qucm91dGVDb25maWcucGF0aCkge1xyXG4gICAgICAgICAgICBjb25zdCBicmVhZGNydW1iSXRlbSA9IHRoaXMuX3ByZXBhcmVCcmVhZGNydW1iSXRlbShcclxuICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICByb3V0ZUxpbmtQcmVmaXhcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVudEJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYkl0ZW0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVCcmVhZGNydW1iTGlzdChcclxuICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LmZpcnN0Q2hpbGQsXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYkl0ZW0ucm91dGVMaW5rICsgJy8nXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LmZpcnN0Q2hpbGQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVCcmVhZGNydW1iTGlzdChcclxuICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCxcclxuICAgICAgICAgICAgICAgIHJvdXRlTGlua1ByZWZpeFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBsYXN0Q3J1bWIgPSB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnNbXHJcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icy5sZW5ndGggLSAxXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLl9zZXRRdWVyeVBhcmFtc0ZvckFjdGl2ZUJyZWFkY3J1bWIobGFzdENydW1iLCBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTtcclxuXHJcbiAgICAgICAgLy8gcmVtb3ZlIGJyZWFkY3J1bWIgaXRlbXMgdGhhdCBuZWVkcyB0byBiZSBoaWRkZW5cclxuICAgICAgICBjb25zdCBicmVhZGNydW1ic1RvU2hvdyA9IHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icy5maWx0ZXIoXHJcbiAgICAgICAgICAgIGl0ZW0gPT4gIWl0ZW0uc2tpcFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMubmV4dChicmVhZGNydW1ic1RvU2hvdyk7XHJcblxyXG4gICAgICAgIHJldHVybiB2b2lkIDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0RnJvbVN0b3JlKHJvdXRlTGluazogc3RyaW5nLCBhbGlhcz86IHN0cmluZyk6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9keW5hbWljQnJlYWRjcnVtYlN0b3JlLmZpbmQoaXRlbSA9PiAoXHJcbiAgICAgICAgICAgIChhbGlhcyAmJiBhbGlhcyA9PT0gaXRlbS5hbGlhcykgfHxcclxuICAgICAgICAgICAgKHJvdXRlTGluayAmJiByb3V0ZUxpbmsgPT09IGl0ZW0ucm91dGVMaW5rKSB8fFxyXG4gICAgICAgICAgICB0aGlzLl9tYXRjaFJlZ2V4KHJvdXRlTGluaywgaXRlbS5yb3V0ZVJlZ2V4KVxyXG4gICAgICAgICkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdXNlIGV4YWN0IG1hdGNoIGluc3RlYWQgb2YgcmVnZXhwLnRlc3RcclxuICAgICAqIGZvciAvbWVudG9yL1teL10rIHdlIHNob3VsZCBtYXRjaCAnL21lbnRvci8xMicgYnV0IG5vdCAnL21lbnRvci8xMi9hYmMnXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX21hdGNoUmVnZXgocm91dGVMaW5rPzogc3RyaW5nLCByb3V0ZVJlZ2V4Pzogc3RyaW5nKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIGlmIChyb3V0ZVJlZ2V4ICYmIHJvdXRlTGluaykge1xyXG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IHJvdXRlTGluay5tYXRjaChuZXcgUmVnRXhwKHJvdXRlUmVnZXgpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoICYmIG1hdGNoWzBdID09PSByb3V0ZUxpbms7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGlmIHRoZSBwYXRoIHNlZ21lbnQgaGFzIHJvdXRlIHBhcmFtcywgcmVhZCB0aGUgcGFyYW0gdmFsdWUgZnJvbSB1cmxcclxuICAgICAqIGZvciBlYWNoIHNlZ21lbnQgb2Ygcm91dGUgdGhpcyBnZXRzIGNhbGxlZFxyXG4gICAgICpcclxuICAgICAqIGZvciBtZW50b3IvOmlkL3ZpZXcgLSBpdCBnZXRzIGNhbGxlZCB3aXRoIG1lbnRvciwgOmlkLCB2aWV3IDMgdGltZXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfcmVzb2x2ZVBhdGhTZWdtZW50KHNlZ21lbnQ6IHN0cmluZywgYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IHN0cmluZyB7XHJcbiAgICAgICAgLy9xdWlyayAtc2VnbWVudCBjYW4gYmUgZGVmaW5lZCBhcyB2aWV3LzppZCBpbiByb3V0ZSBjb25maWcgaW4gd2hpY2ggY2FzZSB5b3UgbmVlZCB0byBtYWtlIGl0IHZpZXcvPHJlc29sdmVkLXBhcmFtPlxyXG4gICAgICAgIGlmIChzZWdtZW50LmluY2x1ZGVzKFBBVEhfUEFSQU0uUFJFRklYKSkge1xyXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZWdtZW50ID0gc2VnbWVudC5yZXBsYWNlKGA6JHtrZXl9YCwgYCR7dmFsdWV9YCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VnbWVudDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHF1ZXJ5UGFyYW1zICYgZnJhZ21lbnRzIGZvciBwcmV2aW91cyBicmVhZGNydW1iIHBhdGggYXJlIGNvcGllZCBvdmVyIHRvIG5ldyBsaXN0XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2dldFF1ZXJ5UGFyYW1zRnJvbVByZXZpb3VzTGlzdChyb3V0ZUxpbms6IHN0cmluZyk6IENtYXRCcmVhZGNydW1iIHtcclxuICAgICAgICBjb25zdCB7IHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCB9ID1cclxuICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNCcmVhZGNydW1icy5maW5kKGl0ZW0gPT4gaXRlbS5yb3V0ZUxpbmsgPT09IHJvdXRlTGluaykgfHxcclxuICAgICAgICAgICAge307XHJcbiAgICAgICAgcmV0dXJuIHsgcXVlcnlQYXJhbXMsIGZyYWdtZW50IH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXQgY3VycmVudCBhY3RpdmF0ZWQgcm91dGUgcXVlcnkgcGFyYW1zIHRvIHRoZSBsYXN0IGJyZWFkY3J1bWIgaXRlbVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zZXRRdWVyeVBhcmFtc0ZvckFjdGl2ZUJyZWFkY3J1bWIoXHJcbiAgICAgICAgbGFzdEl0ZW06IENtYXRCcmVhZGNydW1iLFxyXG4gICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGlmIChsYXN0SXRlbSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCB9ID0gYWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcclxuICAgICAgICAgICAgbGFzdEl0ZW0ucXVlcnlQYXJhbXMgPSBxdWVyeVBhcmFtcyA/IHsgLi4ucXVlcnlQYXJhbXMgfSA6IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgbGFzdEl0ZW0uZnJhZ21lbnQgPSBmcmFnbWVudCA9PT0gbnVsbCA/IHZvaWQgMCA6IGZyYWdtZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvciBhIHNwZWNpZmljIHJvdXRlLCBicmVhZGNydW1iIGNhbiBiZSBkZWZpbmVkIGVpdGhlciBvbiBwYXJlbnQgT1IgaXQncyBjaGlsZCh3aGljaCBoYXMgZW1wdHkgcGF0aClcclxuICAgICAqIFdoZW4gYm90aCBhcmUgZGVmaW5lZCwgY2hpbGQgdGFrZXMgcHJlY2VkZW5jZVxyXG4gICAgICpcclxuICAgICAqIEV4OiBCZWxvdyB3ZSBhcmUgc2V0dGluZyBicmVhZGNydW1iIG9uIGJvdGggcGFyZW50IGFuZCBjaGlsZC5cclxuICAgICAqIFNvLCBjaGlsZCB0YWtlcyBwcmVjZWRlbmNlIGFuZCBcIkRlZmluZWQgT24gQ2hpbGRcIiBpcyBkaXNwbGF5ZWQgZm9yIHRoZSByb3V0ZSAnaG9tZSdcclxuICAgICAqIHsgcGF0aDogJ2hvbWUnLCBsb2FkQ2hpbGRyZW46ICcuL2hvbWUvaG9tZS5tb2R1bGUjSG9tZU1vZHVsZScgLCBkYXRhOiB7YnJlYWRjcnVtYjogXCJEZWZpbmVkIE9uIE1vZHVsZVwifX1cclxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5EXHJcbiAgICAgKiBjaGlsZHJlbjogW1xyXG4gICAgICogICB7IHBhdGg6ICcnLCBjb21wb25lbnQ6IFNob3dVc2VyQ29tcG9uZW50LCBkYXRhOiB7YnJlYWRjcnVtYjogXCJEZWZpbmVkIE9uIENoaWxkXCIgfVxyXG4gICAgICogXVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9wYXJzZVJvdXRlRGF0YShyb3V0ZUNvbmZpZzogUm91dGUgfCBudWxsKTogYW55IHtcclxuICAgICAgICBpZiAoaXNOdWxsKHJvdXRlQ29uZmlnKSlcclxuICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcclxuXHJcbiAgICAgICAgY29uc3QgeyBwYXRoLCBkYXRhIH0gPSByb3V0ZUNvbmZpZztcclxuICAgICAgICBjb25zdCBicmVhZGNydW1iID0gdGhpcy5fbWVyZ2VXaXRoQmFzZUNoaWxkRGF0YShcclxuICAgICAgICAgICAgcm91dGVDb25maWcsXHJcbiAgICAgICAgICAgIGRhdGE/LlsnYnJlYWRjcnVtYiddXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHsgcGF0aCwgYnJlYWRjcnVtYiB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogZ2V0IGVtcHR5IGNoaWxkcmVuIG9mIGEgbW9kdWxlIG9yIENvbXBvbmVudC4gRW1wdHkgY2hpbGQgaXMgdGhlIG9uZSB3aXRoIHBhdGg6ICcnXHJcbiAgICAgKiBXaGVuIHBhcmVudCBhbmQgaXQncyBjaGlsZHJlbiAodGhhdCBoYXMgZW1wdHkgcm91dGUgcGF0aCkgZGVmaW5lIGRhdGEgbWVyZ2UgdGhlbSBib3RoIHdpdGggY2hpbGQgdGFraW5nIHByZWNlZGVuY2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbWVyZ2VXaXRoQmFzZUNoaWxkRGF0YShcclxuICAgICAgICByb3V0ZUNvbmZpZzogYW55LFxyXG4gICAgICAgIGNvbmZpZzogQ21hdEJyZWFkY3J1bWJDb25maWdcclxuICAgICk6IENtYXRCcmVhZGNydW1iT2JqZWN0IHtcclxuICAgICAgICBpZiAoIXJvdXRlQ29uZmlnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9leHRyYWN0T2JqZWN0KGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgYmFzZUNoaWxkOiBSb3V0ZSB8IHZvaWQgPSB2b2lkIDA7XHJcbiAgICAgICAgaWYgKHJvdXRlQ29uZmlnLmxvYWRDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAvLyBUbyBoYW5kbGUgYSBtb2R1bGUgd2l0aCBlbXB0eSBjaGlsZCByb3V0ZVxyXG4gICAgICAgICAgICBiYXNlQ2hpbGQgPSByb3V0ZUNvbmZpZy5fbG9hZGVkUm91dGVzLmZpbmQoKHJvdXRlOiB7IHBhdGg6IHN0cmluZzsgfSkgPT4gcm91dGUucGF0aCA9PT0gJycpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocm91dGVDb25maWcuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgLy8gVG8gaGFuZGxlIGEgY29tcG9uZW50IHdpdGggZW1wdHkgY2hpbGQgcm91dGVcclxuICAgICAgICAgICAgYmFzZUNoaWxkID0gcm91dGVDb25maWcuY2hpbGRyZW4uZmluZCgocm91dGU6IHsgcGF0aDogc3RyaW5nOyB9KSA9PiByb3V0ZS5wYXRoID09PSAnJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjaGlsZENvbmZpZyA9IGJhc2VDaGlsZD8uZGF0YT8uWydicmVhZGNydW1iJ107XHJcbiAgICAgICAgcmV0dXJuIGNoaWxkQ29uZmlnXHJcbiAgICAgICAgICAgID8gdGhpcy5fbWVyZ2VXaXRoQmFzZUNoaWxkRGF0YShiYXNlQ2hpbGQsIHtcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2V4dHJhY3RPYmplY3QoY29uZmlnKSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2V4dHJhY3RPYmplY3QoY2hpbGRDb25maWcpLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICA6IHRoaXMuX2V4dHJhY3RPYmplY3QoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZSB0aGUgc3RvcmUgdG8gcmV1c2UgZm9yIGR5bmFtaWMgZGVjbGFyYXRpb25zXHJcbiAgICAgKiBJZiB0aGUgc3RvcmUgYWxyZWFkeSBoYXMgdGhpcyByb3V0ZSBkZWZpbml0aW9uIHVwZGF0ZSBpdCwgZWxzZSBhZGRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfdXBkYXRlU3RvcmUoa2V5OiBzdHJpbmcsIGJyZWFkY3J1bWI6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN0b3JlSXRlbUluZGV4ID0gdGhpcy5fZHluYW1pY0JyZWFkY3J1bWJTdG9yZS5maW5kSW5kZXgoaXRlbSA9PiAoYnJlYWRjcnVtYiBhcyBhbnkpW2tleV0gPT09IChpdGVtIGFzIGFueSlba2V5XSk7XHJcbiAgICAgICAgaWYgKHN0b3JlSXRlbUluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgdGhpcy5fZHluYW1pY0JyZWFkY3J1bWJTdG9yZVtzdG9yZUl0ZW1JbmRleF0gPSB7XHJcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9keW5hbWljQnJlYWRjcnVtYlN0b3JlW3N0b3JlSXRlbUluZGV4XSxcclxuICAgICAgICAgICAgICAgIC4uLmJyZWFkY3J1bWIsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZHluYW1pY0JyZWFkY3J1bWJTdG9yZS5wdXNoKHsgLi4uYnJlYWRjcnVtYiB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBicmVhZGNydW1iIGlzIHByZXNlbnQgaW4gY3VycmVudCBicmVhZGNydW1icyB1cGRhdGUgaXQgYW5kIGVtaXQgbmV3IHN0cmVhbVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF91cGRhdGVDdXJyZW50QnJlYWRjcnVtYnMoXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgYnJlYWRjcnVtYjogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnMuZmluZEluZGV4KGl0ZW0gPT4ga2V5ID09PSAncm91dGVSZWdleCdcclxuICAgICAgICAgICAgPyB0aGlzLl9tYXRjaFJlZ2V4KGl0ZW0ucm91dGVMaW5rLCBicmVhZGNydW1iW2tleV0pXHJcbiAgICAgICAgICAgIDogKGJyZWFkY3J1bWIgYXMgYW55KVtrZXldID09PSAoaXRlbSBhcyBhbnkpW2tleV0pO1xyXG4gICAgICAgIGlmIChpdGVtSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnNbaXRlbUluZGV4XSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2N1cnJlbnRCcmVhZGNydW1ic1tpdGVtSW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgLi4uYnJlYWRjcnVtYixcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYnNUb1Nob3cgPSB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgaXRlbSA9PiAhaXRlbS5za2lwXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJzLm5leHQoWy4uLmJyZWFkY3J1bWJzVG9TaG93XSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9yIGEgcm91dGUgd2l0aCBwYXRoIHBhcmFtLCB3ZSBjcmVhdGUgcmVnZXggZHluYW1pY2FsbHkgZnJvbSBhbmd1bGFyIHJvdXRlIHN5bnRheFxyXG4gICAgICogJy9tZW50b3IvOmlkJyBiZWNvbWVzICcvbWVudG9yL1teL10nLFxyXG4gICAgICogYnJlYWRjcnVtYlNlcnZpY2Uuc2V0KCcvbWVudG9yLzppZCcsICdVZGF5Jykgc2hvdWxkIHVwZGF0ZSAnVWRheScgYXMgbGFiZWwgZm9yICcvbWVudG9yLzInIE9SICdtZW50b3IvYWRhJ1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9idWlsZFJlZ2V4KHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Vuc3VyZUxlYWRpbmdTbGFzaChwYXRoKS5yZXBsYWNlKFxyXG4gICAgICAgICAgICBuZXcgUmVnRXhwKFBBVEhfUEFSQU0uUkVHRVhfSURFTlRJRklFUiwgJ2cnKSxcclxuICAgICAgICAgICAgUEFUSF9QQVJBTS5SRUdFWF9SRVBMQUNFUlxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZW5zdXJlTGVhZGluZ1NsYXNoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aCA6IGAvJHtwYXRofWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbiBBcHAncyBSb3V0ZUNvbmZpZywgYnJlYWRjcnVtYiBjYW4gYmUgZGVmaW5lZCBhcyBhIHN0cmluZyBPUiBhIGZ1bmN0aW9uIE9SIGFuIG9iamVjdFxyXG4gICAgICpcclxuICAgICAqIHN0cmluZzogc2ltcGxlIHN0YXRpYyBicmVhZGNydW1iIGxhYmVsIGZvciBhIHBhdGhcclxuICAgICAqIGZ1bmN0aW9uOiBjYWxsYmFjayB0aGF0IGdldHMgaW52b2tlZCB3aXRoIHJlc29sdmVkIHBhdGggcGFyYW1cclxuICAgICAqIG9iamVjdDogYWRkaXRpb25hbCBkYXRhIGRlZmluZWQgYWxvbmcgd2l0aCBicmVhZGNydW1iIGxhYmVsIHRoYXQgZ2V0cyBwYXNzZWQgdG8gKmNtYXRCcmVhZGNydW1iSXRlbSBkaXJlY3RpdmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZXh0cmFjdExhYmVsKGNvbmZpZzogQ21hdEJyZWFkY3J1bWJDb25maWcsIHJlc29sdmVkUGFyYW0/OiBzdHJpbmcpOiBzdHJpbmcgfCB2b2lkIHtcclxuICAgICAgICBjb25zdCBsYWJlbCA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnID8gY29uZmlnLmxhYmVsIDogY29uZmlnO1xyXG4gICAgICAgIGlmICh0eXBlb2YgbGFiZWwgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsKHJlc29sdmVkUGFyYW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbGFiZWw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZXh0cmFjdE9iamVjdChjb25maWc6IENtYXRCcmVhZGNydW1iQ29uZmlnKTogQ21hdEJyZWFkY3J1bWJPYmplY3Qge1xyXG4gICAgICAgIC8vIGRvbid0IGluY2x1ZGUge2xhYmVsfSBpZiBjb25maWcgaXMgdW5kZWZpbmVkLiBUaGlzIGlzIGltcG9ydGFudCBzaW5jZSB3ZSBtZXJnZSB0aGUgY29uZmlnc1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgY29uZmlnICYmXHJcbiAgICAgICAgICAgICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgY29uZmlnID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4geyBsYWJlbDogY29uZmlnIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoY29uZmlnIGFzIENtYXRCcmVhZGNydW1iT2JqZWN0KSB8fCB7fTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUEwQyxjQUFjLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQWUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRbkQseURBQXlEO0FBQ3pELE1BQU0sVUFBVSxHQUFHO0lBQ2YsTUFBTSxFQUFFLEdBQUc7SUFDWCxnQkFBZ0IsRUFBRSxTQUFTO0lBQzNCLGNBQWMsRUFBRSxRQUFRO0NBQzNCLENBQUM7QUFDRix5REFBeUQ7QUFFekQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDO0FBQ3pCLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBUSxFQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBSzdFLE1BQU0sT0FBTyxxQkFBcUI7SUF5QjlCLFlBQW9CLGVBQStCLEVBQVUsT0FBZTtRQUF4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBeEJwRSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBRWhCLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0Q7Ozs7V0FJRztRQUNLLDRCQUF1QixHQUErQixFQUFFLENBQUM7UUFFakU7Ozs7V0FJRztRQUNLLHdCQUFt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QyxDQUFDLE1BQU0sQ0FBQztRQUNqRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQTRCO1FBQy9DLDZGQUE2RjtRQUM3RixJQUNJLE1BQU07WUFDTixDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsRUFDOUQsQ0FBQztZQUNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQVEsTUFBK0IsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs4R0F6WVEscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgR3VhcmRzQ2hlY2tFbmQsIFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBpc051bGwgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlICwgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDbWF0QnJlYWRjcnVtYiB9IGZyb20gJy4vdHlwZXMvYnJlYWRjcnVtYic7XHJcbmltcG9ydCB7IENtYXRCcmVhZGNydW1iRnVuY3Rpb24sIENtYXRCcmVhZGNydW1iT2JqZWN0LCB9IGZyb20gJy4vdHlwZXMvYnJlYWRjcnVtYi5jb25maWcnO1xyXG5cclxudHlwZSBDbWF0QnJlYWRjcnVtYkNvbmZpZyA9IENtYXRCcmVhZGNydW1iT2JqZWN0IHwgQ21hdEJyZWFkY3J1bWJGdW5jdGlvbiB8IHN0cmluZztcclxudHlwZSBTdG9yZU1hdGNoZXJLZXkgPSAncm91dGVMaW5rJyB8ICdyb3V0ZVJlZ2V4JyB8ICdhbGlhcyc7XHJcbmV4cG9ydCB0eXBlIENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiA9IENtYXRCcmVhZGNydW1iICYgQ21hdEJyZWFkY3J1bWJPYmplY3Q7XHJcblxyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cclxuY29uc3QgUEFUSF9QQVJBTSA9IHsgICAgXHJcbiAgICBQUkVGSVg6ICc6JyxcclxuICAgIFJFR0VYX0lERU5USUZJRVI6ICcvOlteL10rJyxcclxuICAgIFJFR0VYX1JFUExBQ0VSOiAnL1teL10rJyxcclxufTtcclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXHJcblxyXG5jb25zdCBBTElBU19QUkVGSVggPSAnQCc7XHJcbmNvbnN0IGlzTm9uRW1wdHkgPSAob2JqOiBhbnkpOiBib29sZWFuID0+IG9iaiAmJiBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA+IDA7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0QnJlYWRjcnVtYlNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSBfYmFzZUhyZWYgPSAnLyc7XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLyoqXHJcbiAgICAgKiBkeW5hbWljQnJlYWRjcnVtYlN0b3JlIGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IGR5bmFtaWNhbGx5IHVwZGF0ZWQgYnJlYWRjcnVtYnMuXHJcbiAgICAgKiBCcmVhZGNydW1icyBjYW4gYmUgc2V0IGZyb20gYW55d2hlcmUgKGNvbXBvbmVudCwgc2VydmljZSkgaW4gdGhlIGFwcC5cclxuICAgICAqIE9uIGV2ZXJ5IGJyZWFkY3J1bWIgdXBkYXRlIGNoZWNrIHRoaXMgc3RvcmUgYW5kIHVzZSB0aGUgaW5mbyBpZiBhdmFpbGFibGUuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2R5bmFtaWNCcmVhZGNydW1iU3RvcmU6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbltdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBicmVhZGNydW1iTGlzdCBmb3IgdGhlIGN1cnJlbnQgcm91dGVcclxuICAgICAqIFdoZW4gYnJlYWRjcnVtYiBpbmZvIGlzIGNoYW5nZWQgZHluYW1pY2FsbHksIGNoZWNrIGlmIHRoZSBjdXJyZW50QnJlYWRjcnVtYnMgaXMgZWZmZWN0ZWRcclxuICAgICAqIElmIGVmZmVjdGVkLCB1cGRhdGUgdGhlIGNoYW5nZSBhbmQgZW1pdCBhIG5ldyBzdHJlYW1cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY3VycmVudEJyZWFkY3J1bWJzOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNCcmVhZGNydW1iczogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJyZWFkY3J1bWJzIG9ic2VydmFibGUgdG8gYmUgc3Vic2NyaWJlZCBieSBCcmVhZGNydW1iQ29tcG9uZW50XHJcbiAgICAgKiBFbWl0cyBvbiBldmVyeSByb3V0ZSBjaGFuZ2UgT1IgZHluYW1pYyB1cGRhdGUgb2YgYnJlYWRjcnVtYlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9icmVhZGNydW1icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q21hdEJyZWFkY3J1bWJEZWZpbml0aW9uW10+KFtdKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgX3JvdXRlcjogUm91dGVyKSB7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0Um91dGVDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGJyZWFkY3J1bWJzJCgpOiBPYnNlcnZhYmxlPENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbltdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFkY3J1bWJzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlIGJyZWFkY3J1bWIgZHluYW1pY2FsbHlcclxuICAgICAqXHJcbiAgICAgKiBrZXkgY2FuIGJlIGEgcGF0aCB8IGFsaWFzXHJcbiAgICAgKlxyXG4gICAgICogMSkgVXNpbmcgY29tcGxldGUgcm91dGUgcGF0aC4gcm91dGUgY2FuIGJlIHBhc3NlZCB0aGUgc2FtZSB3YXkgeW91IGRlZmluZSBhbmd1bGFyIHJvdXRlc1xyXG4gICAgICogLSBwYXRoIGNhbiBiZSBwYXNzZWQgYXMgJ2V4YWN0IHBhdGgocm91dGVMaW5rKScgb3IgJ3BhdGggd2l0aCBwYXJhbXMocm91dGVSZWdleCknXHJcbiAgICAgKiAtIHVwZGF0ZSBsYWJlbCBFeDogc2V0KCcvbWVudG9yJywgJ01lbnRvcicpLCBzZXQoJy9tZW50b3IvOmlkJywgJ01lbnRvciBEZXRhaWxzJylcclxuICAgICAqIC0gY2hhbmdlIHZpc2liaWxpdHkgRXg6IHNldCgnL21lbnRvci86aWQvZWRpdCcsIHsgc2tpcDogdHJ1ZSB9KVxyXG4gICAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE9SIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgICogMikgVXNpbmcgcm91dGUgYWxpYXMgKHByZWZpeGVkIHdpdGggJ0AnKS4gYWxpYXMgc2hvdWxkIGJlIHVuaXF1ZSBmb3IgYSByb3V0ZVxyXG4gICAgICogLSB1cGRhdGUgbGFiZWwgRXg6IHNldCgnQG1lbnRvcicsICdFbmFibGVyJylcclxuICAgICAqIC0gY2hhbmdlIHZpc2liaWxpdHkgRXg6IHNldCgnQG1lbnRvckVkaXQnLCB7IHNraXA6IHRydWUgfSlcclxuICAgICAqXHJcbiAgICAgKlxyXG4gICAgICogdmFsdWUgY2FuIGJlIHN0cmluZyB8IEJyZWFkY3J1bWJPYmplY3QgfCBCcmVhZGNydW1iRnVuY3Rpb25cclxuICAgICAqL1xyXG4gICAgc2V0KGtleTogc3RyaW5nLCBicmVhZGNydW1iOiBzdHJpbmcgfCBDbWF0QnJlYWRjcnVtYk9iamVjdCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJPYmplY3QgPSB0aGlzLl9leHRyYWN0T2JqZWN0KGJyZWFkY3J1bWIpO1xyXG4gICAgICAgIGxldCB1cGRhdGVBcmdzOiBbU3RvcmVNYXRjaGVyS2V5LCBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25dO1xyXG5cclxuICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoQUxJQVNfUFJFRklYKSkge1xyXG4gICAgICAgICAgICB1cGRhdGVBcmdzID0gWydhbGlhcycsIHsgLi4uYnJlYWRjcnVtYk9iamVjdCwgYWxpYXM6IGtleS5zbGljZSgxKSB9XTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleS5pbmNsdWRlcyhQQVRIX1BBUkFNLlBSRUZJWCkpIHtcclxuICAgICAgICAgICAgdXBkYXRlQXJncyA9IFtcclxuICAgICAgICAgICAgICAgICdyb3V0ZVJlZ2V4JyxcclxuICAgICAgICAgICAgICAgIHsgLi4uYnJlYWRjcnVtYk9iamVjdCwgcm91dGVSZWdleDogdGhpcy5fYnVpbGRSZWdleChrZXkpIH0sXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdXBkYXRlQXJncyA9IFtcclxuICAgICAgICAgICAgICAgICdyb3V0ZUxpbmsnLFxyXG4gICAgICAgICAgICAgICAgeyAuLi5icmVhZGNydW1iT2JqZWN0LCByb3V0ZUxpbms6IHRoaXMuX2Vuc3VyZUxlYWRpbmdTbGFzaChrZXkpIH0sXHJcbiAgICAgICAgICAgIF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBGb3IgdGhpcyByb3V0ZSBpZiBwcmV2aW91c2x5IGEgYnJlYWRjcnVtYiBpcyBub3QgZGVmaW5lZCB0aGF0IHNldHMgaXNBdXRvR2VuZXJhdGVkTGFiZWw6IHRydWVcclxuICAgICAgICAvLyBjaGFuZ2UgaXQgdG8gZmFsc2Ugc2luY2UgdGhpcyBpcyB1c2VyIHN1cHBsaWVkIHZhbHVlXHJcbiAgICAgICAgdXBkYXRlQXJnc1sxXS5pc0F1dG9HZW5lcmF0ZWRMYWJlbCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLl91cGRhdGVTdG9yZSguLi51cGRhdGVBcmdzKTtcclxuICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50QnJlYWRjcnVtYnMoLi4udXBkYXRlQXJncyk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZW5ldmVyIHJvdXRlIGNoYW5nZXMgYnVpbGQgYnJlYWRjcnVtYiBsaXN0IGFnYWluXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RldGVjdFJvdXRlQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICAvLyBTcGVjaWFsIGNhc2Ugd2hlcmUgYnJlYWRjcnVtYiBzZXJ2aWNlICYgY29tcG9uZW50IGluc3RhbnRpYXRlcyBhZnRlciBhIHJvdXRlIGlzIG5hdmlnYXRlZC5cclxuICAgICAgICAvLyBFeDogcHV0IGJyZWFkY3J1bWJzIHdpdGhpbiAqbmdJZiBhbmQgdGhpcy5yb3V0ZXIuZXZlbnRzIHdvdWxkIGJlIGVtcHR5XHJcbiAgICAgICAgLy8gVGhpcyBjaGVjayBpcyBhbHNvIHJlcXVpcmVkIHdoZXJlICB7IGluaXRpYWxOYXZpZ2F0aW9uOiAnZW5hYmxlZEJsb2NraW5nJyB9IGlzIGFwcGxpZWQgdG8gcm91dGVzXHJcbiAgICAgICAgdGhpcy5fc2V0dXBCcmVhZGNydW1icyh0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHNcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIEd1YXJkc0NoZWNrRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgR3VhcmRzQ2hlY2tFbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gYWN0aXZhdGVkUm91dGUgZG9lc24ndCBjYXJyeSBkYXRhIHdoZW4gc2hvdWxkUmV1c2VSb3V0ZSByZXR1cm5zIGZhbHNlXHJcbiAgICAgICAgICAgICAgICAvLyB1c2UgdGhlIGV2ZW50IGRhdGEgd2l0aCBHdWFyZHNDaGVja0VuZCBhcyB3b3JrYXJvdW5kXHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBmb3Igc2hvdWxkQWN0aXZhdGUgaW4gY2FzZSB3aGVyZSB0aGUgYXV0aEd1YXJkIHJldHVybnMgZmFsc2UgdGhlIGJyZWFkY3J1bWJzIHNob3VsZG4ndCBiZSBjaGFuZ2VkXHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQWN0aXZhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXR1cEJyZWFkY3J1bWJzKGV2ZW50LnN0YXRlLnJvb3QpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXR1cEJyZWFkY3J1bWJzKGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wcmV2aW91c0JyZWFkY3J1bWJzID0gdGhpcy5fY3VycmVudEJyZWFkY3J1bWJzO1xyXG4gICAgICAgIC8vIGJyZWFkY3J1bWIgbGFiZWwgZm9yIGJhc2UgT1Igcm9vdCBwYXRoLiBVc3VhbGx5LCB0aGlzIGNhbiBiZSBzZXQgYXMgJ0hvbWUnXHJcbiAgICAgICAgY29uc3Qgcm9vdEJyZWFkY3J1bWIgPSB0aGlzLl9nZXRSb290QnJlYWRjcnVtYigpO1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icyA9IHJvb3RCcmVhZGNydW1iID8gW3Jvb3RCcmVhZGNydW1iXSA6IFtdO1xyXG4gICAgICAgIHRoaXMuX3ByZXBhcmVCcmVhZGNydW1iTGlzdChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCB0aGlzLl9iYXNlSHJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0Um9vdEJyZWFkY3J1bWIoKTogQ21hdEJyZWFkY3J1bWIgfCB2b2lkIHtcclxuICAgICAgICBjb25zdCByb290Q29uZmlnID0gdGhpcy5fcm91dGVyLmNvbmZpZy5maW5kKGNvbmZpZyA9PiBjb25maWcucGF0aCA9PT0gJycpO1xyXG4gICAgICAgIGNvbnN0IHJvb3RCcmVhZGNydW1iID0gdGhpcy5fZXh0cmFjdE9iamVjdChyb290Q29uZmlnPy5kYXRhPy5bJ2JyZWFkY3J1bWInXSk7XHJcbiAgICAgICAgY29uc3Qgc3RvcmVJdGVtID0gdGhpcy5fZ2V0RnJvbVN0b3JlKCcvJywgcm9vdEJyZWFkY3J1bWIuYWxpYXMpO1xyXG5cclxuICAgICAgICBpZiAoaXNOb25FbXB0eShyb290QnJlYWRjcnVtYikgfHwgaXNOb25FbXB0eShzdG9yZUl0ZW0pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdG9yZUl0ZW0sXHJcbiAgICAgICAgICAgICAgICAuLi5yb290QnJlYWRjcnVtYixcclxuICAgICAgICAgICAgICAgIHJvdXRlTGluazogdGhpcy5fYmFzZUhyZWYsXHJcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9nZXRRdWVyeVBhcmFtc0Zyb21QcmV2aW91c0xpc3QoJy8nKSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlcGFyZUJyZWFkY3J1bWJJdGVtKFxyXG4gICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgcm91dGVMaW5rUHJlZml4OiBzdHJpbmdcclxuICAgICk6IENtYXRCcmVhZGNydW1iRGVmaW5pdGlvbiB7XHJcbiAgICAgICAgY29uc3QgeyBwYXRoLCBicmVhZGNydW1iIH0gPSB0aGlzLl9wYXJzZVJvdXRlRGF0YShcclxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5yb3V0ZUNvbmZpZ1xyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc29sdmVkU2VnbWVudCA9IHRoaXMuX3Jlc29sdmVQYXRoU2VnbWVudChwYXRoLCBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTtcclxuICAgICAgICBjb25zdCByb3V0ZUxpbmsgPSBgJHtyb3V0ZUxpbmtQcmVmaXh9JHtyZXNvbHZlZFNlZ21lbnR9YDtcclxuICAgICAgICBjb25zdCBzdG9yZUl0ZW0gPSB0aGlzLl9nZXRGcm9tU3RvcmUocm91dGVMaW5rLCBicmVhZGNydW1iLmFsaWFzKTtcclxuXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLl9leHRyYWN0TGFiZWwoXHJcbiAgICAgICAgICAgIHN0b3JlSXRlbT8ubGFiZWwgfHwgYnJlYWRjcnVtYj8ubGFiZWwsXHJcbiAgICAgICAgICAgIHJlc29sdmVkU2VnbWVudFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbGV0IGlzQXV0b0dlbmVyYXRlZExhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IGF1dG9HZW5lcmF0ZWRMYWJlbCA9ICcnO1xyXG4gICAgICAgIGlmICghbGFiZWwpIHtcclxuICAgICAgICAgICAgaXNBdXRvR2VuZXJhdGVkTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgICAgICBhdXRvR2VuZXJhdGVkTGFiZWwgPSByZXNvbHZlZFNlZ21lbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdG9yZUl0ZW0sXHJcbiAgICAgICAgICAgIC4uLmJyZWFkY3J1bWIsXHJcbiAgICAgICAgICAgIGxhYmVsOiBpc0F1dG9HZW5lcmF0ZWRMYWJlbCA/IGF1dG9HZW5lcmF0ZWRMYWJlbCA6IGxhYmVsLFxyXG4gICAgICAgICAgICByb3V0ZUxpbmssXHJcbiAgICAgICAgICAgIGlzQXV0b0dlbmVyYXRlZExhYmVsLFxyXG4gICAgICAgICAgICAuLi50aGlzLl9nZXRRdWVyeVBhcmFtc0Zyb21QcmV2aW91c0xpc3Qocm91dGVMaW5rKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3ByZXBhcmVCcmVhZGNydW1iTGlzdChcclxuICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgICAgIHJvdXRlTGlua1ByZWZpeDogc3RyaW5nXHJcbiAgICApOiBDbWF0QnJlYWRjcnVtYltdIHwgdm9pZCB7XHJcbiAgICAgICAgaWYgKGFjdGl2YXRlZFJvdXRlU25hcHNob3Qucm91dGVDb25maWcgJiYgYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJyZWFkY3J1bWJJdGVtID0gdGhpcy5fcHJlcGFyZUJyZWFkY3J1bWJJdGVtKFxyXG4gICAgICAgICAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHJvdXRlTGlua1ByZWZpeFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50QnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iSXRlbSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5maXJzdENoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcHJlcGFyZUJyZWFkY3J1bWJMaXN0KFxyXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCxcclxuICAgICAgICAgICAgICAgICAgICBicmVhZGNydW1iSXRlbS5yb3V0ZUxpbmsgKyAnLydcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcHJlcGFyZUJyZWFkY3J1bWJMaXN0KFxyXG4gICAgICAgICAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5maXJzdENoaWxkLFxyXG4gICAgICAgICAgICAgICAgcm91dGVMaW5rUHJlZml4XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxhc3RDcnVtYiA9IHRoaXMuX2N1cnJlbnRCcmVhZGNydW1ic1tcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVudEJyZWFkY3J1bWJzLmxlbmd0aCAtIDFcclxuICAgICAgICBdO1xyXG4gICAgICAgIHRoaXMuX3NldFF1ZXJ5UGFyYW1zRm9yQWN0aXZlQnJlYWRjcnVtYihsYXN0Q3J1bWIsIGFjdGl2YXRlZFJvdXRlU25hcHNob3QpO1xyXG5cclxuICAgICAgICAvLyByZW1vdmUgYnJlYWRjcnVtYiBpdGVtcyB0aGF0IG5lZWRzIHRvIGJlIGhpZGRlblxyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzVG9TaG93ID0gdGhpcy5fY3VycmVudEJyZWFkY3J1bWJzLmZpbHRlcihcclxuICAgICAgICAgICAgaXRlbSA9PiAhaXRlbS5za2lwXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9icmVhZGNydW1icy5uZXh0KGJyZWFkY3J1bWJzVG9TaG93KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRGcm9tU3RvcmUocm91dGVMaW5rOiBzdHJpbmcsIGFsaWFzPzogc3RyaW5nKTogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uIHwgdm9pZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2R5bmFtaWNCcmVhZGNydW1iU3RvcmUuZmluZChpdGVtID0+IChcclxuICAgICAgICAgICAgKGFsaWFzICYmIGFsaWFzID09PSBpdGVtLmFsaWFzKSB8fFxyXG4gICAgICAgICAgICAocm91dGVMaW5rICYmIHJvdXRlTGluayA9PT0gaXRlbS5yb3V0ZUxpbmspIHx8XHJcbiAgICAgICAgICAgIHRoaXMuX21hdGNoUmVnZXgocm91dGVMaW5rLCBpdGVtLnJvdXRlUmVnZXgpXHJcbiAgICAgICAgKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiB1c2UgZXhhY3QgbWF0Y2ggaW5zdGVhZCBvZiByZWdleHAudGVzdFxyXG4gICAgICogZm9yIC9tZW50b3IvW14vXSsgd2Ugc2hvdWxkIG1hdGNoICcvbWVudG9yLzEyJyBidXQgbm90ICcvbWVudG9yLzEyL2FiYydcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbWF0Y2hSZWdleChyb3V0ZUxpbms/OiBzdHJpbmcsIHJvdXRlUmVnZXg/OiBzdHJpbmcpOiBib29sZWFuIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHJvdXRlUmVnZXggJiYgcm91dGVMaW5rKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gcm91dGVMaW5rLm1hdGNoKG5ldyBSZWdFeHAocm91dGVSZWdleCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gbWF0Y2ggJiYgbWF0Y2hbMF0gPT09IHJvdXRlTGluaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogaWYgdGhlIHBhdGggc2VnbWVudCBoYXMgcm91dGUgcGFyYW1zLCByZWFkIHRoZSBwYXJhbSB2YWx1ZSBmcm9tIHVybFxyXG4gICAgICogZm9yIGVhY2ggc2VnbWVudCBvZiByb3V0ZSB0aGlzIGdldHMgY2FsbGVkXHJcbiAgICAgKlxyXG4gICAgICogZm9yIG1lbnRvci86aWQvdmlldyAtIGl0IGdldHMgY2FsbGVkIHdpdGggbWVudG9yLCA6aWQsIHZpZXcgMyB0aW1lc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9yZXNvbHZlUGF0aFNlZ21lbnQoc2VnbWVudDogc3RyaW5nLCBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcclxuICAgICAgICAvL3F1aXJrIC1zZWdtZW50IGNhbiBiZSBkZWZpbmVkIGFzIHZpZXcvOmlkIGluIHJvdXRlIGNvbmZpZyBpbiB3aGljaCBjYXNlIHlvdSBuZWVkIHRvIG1ha2UgaXQgdmlldy88cmVzb2x2ZWQtcGFyYW0+XHJcbiAgICAgICAgaWYgKHNlZ21lbnQuaW5jbHVkZXMoUEFUSF9QQVJBTS5QUkVGSVgpKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgICAgICAgIHNlZ21lbnQgPSBzZWdtZW50LnJlcGxhY2UoYDoke2tleX1gLCBgJHt2YWx1ZX1gKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzZWdtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcXVlcnlQYXJhbXMgJiBmcmFnbWVudHMgZm9yIHByZXZpb3VzIGJyZWFkY3J1bWIgcGF0aCBhcmUgY29waWVkIG92ZXIgdG8gbmV3IGxpc3RcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZ2V0UXVlcnlQYXJhbXNGcm9tUHJldmlvdXNMaXN0KHJvdXRlTGluazogc3RyaW5nKTogQ21hdEJyZWFkY3J1bWIge1xyXG4gICAgICAgIGNvbnN0IHsgcXVlcnlQYXJhbXMsIGZyYWdtZW50IH0gPVxyXG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c0JyZWFkY3J1bWJzLmZpbmQoaXRlbSA9PiBpdGVtLnJvdXRlTGluayA9PT0gcm91dGVMaW5rKSB8fFxyXG4gICAgICAgICAgICB7fTtcclxuICAgICAgICByZXR1cm4geyBxdWVyeVBhcmFtcywgZnJhZ21lbnQgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHNldCBjdXJyZW50IGFjdGl2YXRlZCByb3V0ZSBxdWVyeSBwYXJhbXMgdG8gdGhlIGxhc3QgYnJlYWRjcnVtYiBpdGVtXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3NldFF1ZXJ5UGFyYW1zRm9yQWN0aXZlQnJlYWRjcnVtYihcclxuICAgICAgICBsYXN0SXRlbTogQ21hdEJyZWFkY3J1bWIsXHJcbiAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGxhc3RJdGVtKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgcXVlcnlQYXJhbXMsIGZyYWdtZW50IH0gPSBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90O1xyXG4gICAgICAgICAgICBsYXN0SXRlbS5xdWVyeVBhcmFtcyA9IHF1ZXJ5UGFyYW1zID8geyAuLi5xdWVyeVBhcmFtcyB9IDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBsYXN0SXRlbS5mcmFnbWVudCA9IGZyYWdtZW50ID09PSBudWxsID8gdm9pZCAwIDogZnJhZ21lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9yIGEgc3BlY2lmaWMgcm91dGUsIGJyZWFkY3J1bWIgY2FuIGJlIGRlZmluZWQgZWl0aGVyIG9uIHBhcmVudCBPUiBpdCdzIGNoaWxkKHdoaWNoIGhhcyBlbXB0eSBwYXRoKVxyXG4gICAgICogV2hlbiBib3RoIGFyZSBkZWZpbmVkLCBjaGlsZCB0YWtlcyBwcmVjZWRlbmNlXHJcbiAgICAgKlxyXG4gICAgICogRXg6IEJlbG93IHdlIGFyZSBzZXR0aW5nIGJyZWFkY3J1bWIgb24gYm90aCBwYXJlbnQgYW5kIGNoaWxkLlxyXG4gICAgICogU28sIGNoaWxkIHRha2VzIHByZWNlZGVuY2UgYW5kIFwiRGVmaW5lZCBPbiBDaGlsZFwiIGlzIGRpc3BsYXllZCBmb3IgdGhlIHJvdXRlICdob21lJ1xyXG4gICAgICogeyBwYXRoOiAnaG9tZScsIGxvYWRDaGlsZHJlbjogJy4vaG9tZS9ob21lLm1vZHVsZSNIb21lTW9kdWxlJyAsIGRhdGE6IHticmVhZGNydW1iOiBcIkRlZmluZWQgT24gTW9kdWxlXCJ9fVxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkRcclxuICAgICAqIGNoaWxkcmVuOiBbXHJcbiAgICAgKiAgIHsgcGF0aDogJycsIGNvbXBvbmVudDogU2hvd1VzZXJDb21wb25lbnQsIGRhdGE6IHticmVhZGNydW1iOiBcIkRlZmluZWQgT24gQ2hpbGRcIiB9XHJcbiAgICAgKiBdXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3BhcnNlUm91dGVEYXRhKHJvdXRlQ29uZmlnOiBSb3V0ZSB8IG51bGwpOiBhbnkge1xyXG4gICAgICAgIGlmIChpc051bGwocm91dGVDb25maWcpKVxyXG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xyXG5cclxuICAgICAgICBjb25zdCB7IHBhdGgsIGRhdGEgfSA9IHJvdXRlQ29uZmlnO1xyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWIgPSB0aGlzLl9tZXJnZVdpdGhCYXNlQ2hpbGREYXRhKFxyXG4gICAgICAgICAgICByb3V0ZUNvbmZpZyxcclxuICAgICAgICAgICAgZGF0YT8uWydicmVhZGNydW1iJ11cclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4geyBwYXRoLCBicmVhZGNydW1iIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBnZXQgZW1wdHkgY2hpbGRyZW4gb2YgYSBtb2R1bGUgb3IgQ29tcG9uZW50LiBFbXB0eSBjaGlsZCBpcyB0aGUgb25lIHdpdGggcGF0aDogJydcclxuICAgICAqIFdoZW4gcGFyZW50IGFuZCBpdCdzIGNoaWxkcmVuICh0aGF0IGhhcyBlbXB0eSByb3V0ZSBwYXRoKSBkZWZpbmUgZGF0YSBtZXJnZSB0aGVtIGJvdGggd2l0aCBjaGlsZCB0YWtpbmcgcHJlY2VkZW5jZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tZXJnZVdpdGhCYXNlQ2hpbGREYXRhKFxyXG4gICAgICAgIHJvdXRlQ29uZmlnOiBhbnksXHJcbiAgICAgICAgY29uZmlnOiBDbWF0QnJlYWRjcnVtYkNvbmZpZ1xyXG4gICAgKTogQ21hdEJyZWFkY3J1bWJPYmplY3Qge1xyXG4gICAgICAgIGlmICghcm91dGVDb25maWcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2V4dHJhY3RPYmplY3QoY29uZmlnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBiYXNlQ2hpbGQ6IFJvdXRlIHwgdm9pZCA9IHZvaWQgMDtcclxuICAgICAgICBpZiAocm91dGVDb25maWcubG9hZENoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgIC8vIFRvIGhhbmRsZSBhIG1vZHVsZSB3aXRoIGVtcHR5IGNoaWxkIHJvdXRlXHJcbiAgICAgICAgICAgIGJhc2VDaGlsZCA9IHJvdXRlQ29uZmlnLl9sb2FkZWRSb3V0ZXMuZmluZCgocm91dGU6IHsgcGF0aDogc3RyaW5nOyB9KSA9PiByb3V0ZS5wYXRoID09PSAnJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyb3V0ZUNvbmZpZy5jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAvLyBUbyBoYW5kbGUgYSBjb21wb25lbnQgd2l0aCBlbXB0eSBjaGlsZCByb3V0ZVxyXG4gICAgICAgICAgICBiYXNlQ2hpbGQgPSByb3V0ZUNvbmZpZy5jaGlsZHJlbi5maW5kKChyb3V0ZTogeyBwYXRoOiBzdHJpbmc7IH0pID0+IHJvdXRlLnBhdGggPT09ICcnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGNoaWxkQ29uZmlnID0gYmFzZUNoaWxkPy5kYXRhPy5bJ2JyZWFkY3J1bWInXTtcclxuICAgICAgICByZXR1cm4gY2hpbGRDb25maWdcclxuICAgICAgICAgICAgPyB0aGlzLl9tZXJnZVdpdGhCYXNlQ2hpbGREYXRhKGJhc2VDaGlsZCwge1xyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZXh0cmFjdE9iamVjdChjb25maWcpLFxyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZXh0cmFjdE9iamVjdChjaGlsZENvbmZpZyksXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIDogdGhpcy5fZXh0cmFjdE9iamVjdChjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlIHRoZSBzdG9yZSB0byByZXVzZSBmb3IgZHluYW1pYyBkZWNsYXJhdGlvbnNcclxuICAgICAqIElmIHRoZSBzdG9yZSBhbHJlYWR5IGhhcyB0aGlzIHJvdXRlIGRlZmluaXRpb24gdXBkYXRlIGl0LCBlbHNlIGFkZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF91cGRhdGVTdG9yZShrZXk6IHN0cmluZywgYnJlYWRjcnVtYjogQ21hdEJyZWFkY3J1bWJEZWZpbml0aW9uKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RvcmVJdGVtSW5kZXggPSB0aGlzLl9keW5hbWljQnJlYWRjcnVtYlN0b3JlLmZpbmRJbmRleChpdGVtID0+IChicmVhZGNydW1iIGFzIGFueSlba2V5XSA9PT0gKGl0ZW0gYXMgYW55KVtrZXldKTtcclxuICAgICAgICBpZiAoc3RvcmVJdGVtSW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICB0aGlzLl9keW5hbWljQnJlYWRjcnVtYlN0b3JlW3N0b3JlSXRlbUluZGV4XSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2R5bmFtaWNCcmVhZGNydW1iU3RvcmVbc3RvcmVJdGVtSW5kZXhdLFxyXG4gICAgICAgICAgICAgICAgLi4uYnJlYWRjcnVtYixcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9keW5hbWljQnJlYWRjcnVtYlN0b3JlLnB1c2goeyAuLi5icmVhZGNydW1iIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIElmIGJyZWFkY3J1bWIgaXMgcHJlc2VudCBpbiBjdXJyZW50IGJyZWFkY3J1bWJzIHVwZGF0ZSBpdCBhbmQgZW1pdCBuZXcgc3RyZWFtXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3VwZGF0ZUN1cnJlbnRCcmVhZGNydW1icyhcclxuICAgICAgICBrZXk6IHN0cmluZyxcclxuICAgICAgICBicmVhZGNydW1iOiBDbWF0QnJlYWRjcnVtYkRlZmluaXRpb25cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icy5maW5kSW5kZXgoaXRlbSA9PiBrZXkgPT09ICdyb3V0ZVJlZ2V4J1xyXG4gICAgICAgICAgICA/IHRoaXMuX21hdGNoUmVnZXgoaXRlbS5yb3V0ZUxpbmssIGJyZWFkY3J1bWJba2V5XSlcclxuICAgICAgICAgICAgOiAoYnJlYWRjcnVtYiBhcyBhbnkpW2tleV0gPT09IChpdGVtIGFzIGFueSlba2V5XSk7XHJcbiAgICAgICAgaWYgKGl0ZW1JbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRCcmVhZGNydW1ic1tpdGVtSW5kZXhdID0ge1xyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fY3VycmVudEJyZWFkY3J1bWJzW2l0ZW1JbmRleF0sXHJcbiAgICAgICAgICAgICAgICAuLi5icmVhZGNydW1iLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBjb25zdCBicmVhZGNydW1ic1RvU2hvdyA9IHRoaXMuX2N1cnJlbnRCcmVhZGNydW1icy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICBpdGVtID0+ICFpdGVtLnNraXBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMubmV4dChbLi4uYnJlYWRjcnVtYnNUb1Nob3ddKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3IgYSByb3V0ZSB3aXRoIHBhdGggcGFyYW0sIHdlIGNyZWF0ZSByZWdleCBkeW5hbWljYWxseSBmcm9tIGFuZ3VsYXIgcm91dGUgc3ludGF4XHJcbiAgICAgKiAnL21lbnRvci86aWQnIGJlY29tZXMgJy9tZW50b3IvW14vXScsXHJcbiAgICAgKiBicmVhZGNydW1iU2VydmljZS5zZXQoJy9tZW50b3IvOmlkJywgJ1VkYXknKSBzaG91bGQgdXBkYXRlICdVZGF5JyBhcyBsYWJlbCBmb3IgJy9tZW50b3IvMicgT1IgJ21lbnRvci9hZGEnXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2J1aWxkUmVnZXgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZW5zdXJlTGVhZGluZ1NsYXNoKHBhdGgpLnJlcGxhY2UoXHJcbiAgICAgICAgICAgIG5ldyBSZWdFeHAoUEFUSF9QQVJBTS5SRUdFWF9JREVOVElGSUVSLCAnZycpLFxyXG4gICAgICAgICAgICBQQVRIX1BBUkFNLlJFR0VYX1JFUExBQ0VSXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbnN1cmVMZWFkaW5nU2xhc2gocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJykgPyBwYXRoIDogYC8ke3BhdGh9YDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluIEFwcCdzIFJvdXRlQ29uZmlnLCBicmVhZGNydW1iIGNhbiBiZSBkZWZpbmVkIGFzIGEgc3RyaW5nIE9SIGEgZnVuY3Rpb24gT1IgYW4gb2JqZWN0XHJcbiAgICAgKlxyXG4gICAgICogc3RyaW5nOiBzaW1wbGUgc3RhdGljIGJyZWFkY3J1bWIgbGFiZWwgZm9yIGEgcGF0aFxyXG4gICAgICogZnVuY3Rpb246IGNhbGxiYWNrIHRoYXQgZ2V0cyBpbnZva2VkIHdpdGggcmVzb2x2ZWQgcGF0aCBwYXJhbVxyXG4gICAgICogb2JqZWN0OiBhZGRpdGlvbmFsIGRhdGEgZGVmaW5lZCBhbG9uZyB3aXRoIGJyZWFkY3J1bWIgbGFiZWwgdGhhdCBnZXRzIHBhc3NlZCB0byAqY21hdEJyZWFkY3J1bWJJdGVtIGRpcmVjdGl2ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9leHRyYWN0TGFiZWwoY29uZmlnOiBDbWF0QnJlYWRjcnVtYkNvbmZpZywgcmVzb2x2ZWRQYXJhbT86IHN0cmluZyk6IHN0cmluZyB8IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcubGFiZWwgOiBjb25maWc7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBsYWJlbCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICByZXR1cm4gbGFiZWwocmVzb2x2ZWRQYXJhbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYWJlbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9leHRyYWN0T2JqZWN0KGNvbmZpZzogQ21hdEJyZWFkY3J1bWJDb25maWcpOiBDbWF0QnJlYWRjcnVtYk9iamVjdCB7XHJcbiAgICAgICAgLy8gZG9uJ3QgaW5jbHVkZSB7bGFiZWx9IGlmIGNvbmZpZyBpcyB1bmRlZmluZWQuIFRoaXMgaXMgaW1wb3J0YW50IHNpbmNlIHdlIG1lcmdlIHRoZSBjb25maWdzXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBjb25maWcgJiZcclxuICAgICAgICAgICAgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjb25maWcgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGxhYmVsOiBjb25maWcgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIChjb25maWcgYXMgQ21hdEJyZWFkY3J1bWJPYmplY3QpIHx8IHt9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -30,10 +30,10 @@ export class CmatCardComponent {
|
|
|
30
30
|
this.flippable = coerceBooleanProperty(changes['flippable'].currentValue);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: CmatCardComponent, isStandalone: true, selector: "cmat-card", inputs: { expanded: "expanded", face: "face", flippable: "flippable" }, host: { properties: { "class": "this.classList" } }, exportAs: ["cmatCard"], usesOnChanges: true, ngImport: i0, template: "<!-- Flippable card -->\n@if (flippable) {\n <!-- Front -->\n <div class=\"cmat-card-front\">\n <ng-content select=\"[cmatCardFront]\"></ng-content>\n </div>\n <!-- Back -->\n <div class=\"cmat-card-back overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\n <ng-content select=\"[cmatCardBack]\"></ng-content>\n </div>\n}\n\n<!-- Normal card -->\n@if (!flippable) {\n <!-- Content -->\n <ng-content></ng-content>\n <!-- Expansion -->\n @if (expanded) {\n <div class=\"cmat-card-expansion\" [@expandCollapse]>\n <ng-content select=\"[cmatCardExpansion]\"></ng-content>\n </div>\n }\n}", styles: ["cmat-card{position:relative;display:flex;overflow:hidden;border-radius:1rem}cmat-card.cmat-card-flippable{border-width:0!important;border-radius:1rem;overflow:visible;transform-style:preserve-3d;transition:transform 1s;perspective:600px;background:transparent}cmat-card.cmat-card-flippable.cmat-card-face-back .cmat-card-front{visibility:hidden;opacity:0;transform:rotateY(180deg)}cmat-card.cmat-card-flippable.cmat-card-face-back .cmat-card-back{visibility:visible;opacity:1;transform:rotateY(360deg)}cmat-card.cmat-card-flippable .cmat-card-front,cmat-card.cmat-card-flippable .cmat-card-back{display:flex;flex-direction:column;flex:1 1 auto;z-index:10;transition:transform .5s ease-out 0s,visibility 0s ease-in .2s,opacity 0s ease-in .2s;backface-visibility:hidden;border-radius:1rem}cmat-card.cmat-card-flippable .cmat-card-front{position:relative;opacity:1;visibility:visible;transform:rotateY(0);overflow:hidden}cmat-card.cmat-card-flippable .cmat-card-back{position:absolute;inset:0;opacity:0;visibility:hidden;transform:rotateY(180deg)}\n"], animations: cmatAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CmatCardComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'cmat-card', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: cmatAnimations, exportAs: 'cmatCard', standalone: true, imports: [], template: "<!-- Flippable card -->\n@if (flippable) {\n <!-- Front -->\n <div class=\"cmat-card-front\">\n <ng-content select=\"[cmatCardFront]\"></ng-content>\n </div>\n <!-- Back -->\n <div class=\"cmat-card-back overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\n <ng-content select=\"[cmatCardBack]\"></ng-content>\n </div>\n}\n\n<!-- Normal card -->\n@if (!flippable) {\n <!-- Content -->\n <ng-content></ng-content>\n <!-- Expansion -->\n @if (expanded) {\n <div class=\"cmat-card-expansion\" [@expandCollapse]>\n <ng-content select=\"[cmatCardExpansion]\"></ng-content>\n </div>\n }\n}", styles: ["cmat-card{position:relative;display:flex;overflow:hidden;border-radius:1rem}cmat-card.cmat-card-flippable{border-width:0!important;border-radius:1rem;overflow:visible;transform-style:preserve-3d;transition:transform 1s;perspective:600px;background:transparent}cmat-card.cmat-card-flippable.cmat-card-face-back .cmat-card-front{visibility:hidden;opacity:0;transform:rotateY(180deg)}cmat-card.cmat-card-flippable.cmat-card-face-back .cmat-card-back{visibility:visible;opacity:1;transform:rotateY(360deg)}cmat-card.cmat-card-flippable .cmat-card-front,cmat-card.cmat-card-flippable .cmat-card-back{display:flex;flex-direction:column;flex:1 1 auto;z-index:10;transition:transform .5s ease-out 0s,visibility 0s ease-in .2s,opacity 0s ease-in .2s;backface-visibility:hidden;border-radius:1rem}cmat-card.cmat-card-flippable .cmat-card-front{position:relative;opacity:1;visibility:visible;transform:rotateY(0);overflow:hidden}cmat-card.cmat-card-flippable .cmat-card-back{position:absolute;inset:0;opacity:0;visibility:hidden;transform:rotateY(180deg)}\n"] }]
|
|
39
39
|
}], propDecorators: { expanded: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
46
46
|
type: HostBinding,
|
|
47
47
|
args: ['class']
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBNEIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWNqRCxNQUFNLE9BQU8saUJBQWlCO0lBWDlCO1FBaUJhLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFpQixPQUFPLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztLQTBCdkM7SUF4QkcsSUFBMEIsU0FBUztRQUMvQix5REFBeUQ7UUFDekQsT0FBTztZQUNILG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ25DLHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNO1lBQzdELHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPO1lBQy9ELHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTO1NBQ3hDLENBQUM7UUFDRix3REFBd0Q7SUFDNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixXQUFXO1FBQ1gsSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxZQUFZO1FBQ1osSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFLENBQUM7WUFDekIsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDTCxDQUFDOzhHQWpDUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrT0NoQjlCLG1vQkFzQkMsa2pDRFhlLGNBQWM7OzJGQUtqQixpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0ksV0FBVyxpQkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLGNBQWMsWUFDaEIsVUFBVSxjQUNSLElBQUksV0FDUCxFQUFFOzhCQVFGLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRW9CLFNBQVM7c0JBQWxDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNtYXRBbmltYXRpb25zIH0gZnJvbSAnY21hdC9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ21hdENhcmRGYWNlIH0gZnJvbSAnLi9jYXJkLnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LWNhcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgYW5pbWF0aW9uczogY21hdEFuaW1hdGlvbnMsXHJcbiAgICBleHBvcnRBczogJ2NtYXRDYXJkJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxyXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2V4cGFuZGVkOiBCb29sZWFuSW5wdXQ7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbiAgICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZmxpcHBhYmxlOiBCb29sZWFuSW5wdXQ7XHJcblxyXG4gICAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGZhY2U6IENtYXRDYXJkRmFjZSA9ICdmcm9udCc7XHJcbiAgICBASW5wdXQoKSBmbGlwcGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzTGlzdCgpOiBhbnkge1xyXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICdjbWF0LWNhcmQtZXhwYW5kZWQnOiB0aGlzLmV4cGFuZGVkLFxyXG4gICAgICAgICAgICAnY21hdC1jYXJkLWZhY2UtYmFjayc6IHRoaXMuZmxpcHBhYmxlICYmIHRoaXMuZmFjZSA9PT0gJ2JhY2snLFxyXG4gICAgICAgICAgICAnY21hdC1jYXJkLWZhY2UtZnJvbnQnOiB0aGlzLmZsaXBwYWJsZSAmJiB0aGlzLmZhY2UgPT09ICdmcm9udCcsXHJcbiAgICAgICAgICAgICdjbWF0LWNhcmQtZmxpcHBhYmxlJzogdGhpcy5mbGlwcGFibGVcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIC8vIEV4cGFuZGVkXHJcbiAgICAgICAgaWYgKCdleHBhbmRlZCcgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICAvLyBDb2VyY2UgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxyXG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbJ2V4cGFuZGVkJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEZsaXBwYWJsZVxyXG4gICAgICAgIGlmICgnZmxpcHBhYmxlJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIC8vIENvZXJjZSB0aGUgdmFsdWUgdG8gYSBib29sZWFuXHJcbiAgICAgICAgICAgIHRoaXMuZmxpcHBhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXNbJ2ZsaXBwYWJsZSddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gRmxpcHBhYmxlIGNhcmQgLS0+XG5AaWYgKGZsaXBwYWJsZSkge1xuICA8IS0tIEZyb250IC0tPlxuICA8ZGl2IGNsYXNzPVwiY21hdC1jYXJkLWZyb250XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NtYXRDYXJkRnJvbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPCEtLSBCYWNrIC0tPlxuICA8ZGl2IGNsYXNzPVwiY21hdC1jYXJkLWJhY2sgb3ZlcmZsb3cteS1hdXRvIGxnOm92ZXJmbG93LXktaGlkZGVuIGxnOmhvdmVyOm92ZXJmbG93LXktYXV0byBzY3JvbGxiYXItY3VzdG9tXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NtYXRDYXJkQmFja11cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxufVxuXG48IS0tIE5vcm1hbCBjYXJkIC0tPlxuQGlmICghZmxpcHBhYmxlKSB7XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8IS0tIEV4cGFuc2lvbiAtLT5cbiAgQGlmIChleHBhbmRlZCkge1xuICAgIDxkaXYgY2xhc3M9XCJjbWF0LWNhcmQtZXhwYW5zaW9uXCIgW0BleHBhbmRDb2xsYXBzZV0+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY21hdENhcmRFeHBhbnNpb25dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICB9XG59Il19
|