@taiga-ui/kit 2.47.0 → 2.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +8 -15
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +6 -4
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +3 -3
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -3
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js +0 -11
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +12 -0
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +3 -3
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +3 -0
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/carousel/carousel.component.d.ts +1 -1
- package/components/combo-box/combo-box.directive.d.ts +1 -1
- package/components/combo-box/combo-box.providers.d.ts +1 -1
- package/components/input-count/input-count.component.d.ts +2 -2
- package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
- package/components/input-date/input-date.component.d.ts +1 -1
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +1 -1
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/input-number.component.d.ts +2 -2
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-time/input-time-options.d.ts +1 -1
- package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
- package/components/multi-select/hide-selected.pipe.d.ts +2 -1
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/pdf-viewer/pdf-viewer.service.d.ts +3 -3
- package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
- package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
- package/components/tree/misc/tree.tokens.d.ts +2 -2
- package/constants/taiga-ui-kit-constants.metadata.json +1 -1
- package/esm2015/abstract/slider/slider.js +2 -2
- package/esm2015/components/calendar-month/calendar-month.component.js +9 -16
- package/esm2015/components/carousel/carousel.component.js +1 -1
- package/esm2015/components/combo-box/combo-box.directive.js +1 -1
- package/esm2015/components/combo-box/combo-box.providers.js +1 -1
- package/esm2015/components/field-error/field-error.component.js +4 -3
- package/esm2015/components/input-count/input-count.component.js +2 -2
- package/esm2015/components/input-date/input-date.component.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
- package/esm2015/components/input-month-range/input-month-range.component.js +6 -4
- package/esm2015/components/input-month-range/input-month-range.directive.js +3 -3
- package/esm2015/components/input-number/input-number.component.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +4 -4
- package/esm2015/components/input-tag/input-tag.component.js +3 -3
- package/esm2015/components/input-time/input-time-options.js +2 -2
- package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -2
- package/esm2015/components/pagination/pagination.component.js +3 -3
- package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
- package/esm2015/components/stepper/stepper.component.js +9 -9
- package/esm2015/components/tree/misc/tree.tokens.js +1 -1
- package/esm2015/constants/masks.js +5 -5
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +2 -4
- package/esm2015/pipes/field-error/field-error-pipe.js +3 -10
- package/esm2015/pipes/filter-by-input/filter-by-input.base.js +8 -1
- package/esm2015/tokens/mobile-calendar.js +1 -1
- package/esm2015/utils/files/format-size.js +2 -2
- package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
- package/esm2015/utils/mask/create-date-mask.js +3 -3
- package/esm2015/utils/mask/create-time-mask.js +2 -2
- package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +3 -1
- package/esm5/abstract/slider/slider.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +9 -16
- package/esm5/components/carousel/carousel.component.js +1 -1
- package/esm5/components/combo-box/combo-box.directive.js +1 -1
- package/esm5/components/combo-box/combo-box.providers.js +1 -1
- package/esm5/components/field-error/field-error.component.js +4 -3
- package/esm5/components/input-count/input-count.component.js +2 -2
- package/esm5/components/input-date/input-date.component.js +1 -1
- package/esm5/components/input-date-range/input-date-range.component.js +1 -1
- package/esm5/components/input-month-range/input-month-range.component.js +6 -4
- package/esm5/components/input-month-range/input-month-range.directive.js +3 -3
- package/esm5/components/input-number/input-number.component.js +1 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +4 -4
- package/esm5/components/input-tag/input-tag.component.js +3 -3
- package/esm5/components/input-time/input-time-options.js +1 -1
- package/esm5/components/multi-select/hide-selected.pipe.js +1 -1
- package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +3 -2
- package/esm5/components/pagination/pagination.component.js +3 -3
- package/esm5/components/pdf-viewer/pdf-viewer.service.js +1 -1
- package/esm5/components/stepper/stepper.component.js +9 -9
- package/esm5/components/tree/misc/tree.tokens.js +1 -1
- package/esm5/constants/masks.js +5 -5
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +2 -4
- package/esm5/pipes/field-error/field-error-pipe.js +3 -14
- package/esm5/pipes/filter-by-input/filter-by-input.base.js +15 -2
- package/esm5/tokens/mobile-calendar.js +1 -1
- package/esm5/utils/files/format-size.js +2 -2
- package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
- package/esm5/utils/mask/create-date-mask.js +3 -3
- package/esm5/utils/mask/create-time-mask.js +2 -2
- package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +3 -1
- package/fesm2015/taiga-ui-kit-abstract.js +1 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +8 -15
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-field-error.js +3 -2
- package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +7 -5
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +2 -2
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +8 -8
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +4 -4
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +1 -3
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-field-error.js +1 -8
- package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +7 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +3 -3
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +3 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +8 -15
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-field-error.js +3 -2
- package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +7 -5
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js +2 -2
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js +8 -8
- package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-constants.js +4 -4
- package/fesm5/taiga-ui-kit-constants.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +1 -3
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-field-error.js +1 -12
- package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +12 -1
- package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +3 -3
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +3 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +4 -4
- package/pipes/field-error/field-error-pipe.d.ts +2 -3
- package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
- package/pipes/filter-by-input/filter-by-input.base.d.ts +6 -0
- package/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.metadata.json +1 -1
- package/tokens/mobile-calendar.d.ts +1 -1
- package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +2 -0
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -43,9 +43,7 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
|
|
|
43
43
|
nativeElement.contains(active)) {
|
|
44
44
|
return this.veryVerySadInputFix(active);
|
|
45
45
|
}
|
|
46
|
-
return selection
|
|
47
|
-
? selection.getRangeAt(0)
|
|
48
|
-
: this.range;
|
|
46
|
+
return (selection === null || selection === void 0 ? void 0 : selection.rangeCount) ? selection.getRangeAt(0) : this.range;
|
|
49
47
|
}), takeUntil(destroy$))
|
|
50
48
|
.subscribe(range => {
|
|
51
49
|
const contained = !!range && nativeElement.contains(range.commonAncestorContainer);
|
|
@@ -234,4 +232,4 @@ TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = __decorate([
|
|
|
234
232
|
__param(13, Inject(ViewContainerRef))
|
|
235
233
|
], TuiDropdownSelectionDirective);
|
|
236
234
|
export { TuiDropdownSelectionDirective };
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsZUFBZSxHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sVUFBVSxHQUFlO0lBQzNCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtB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QUMsVUFBVSxDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUM5QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUVWLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUMvQixZQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFlBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsWUFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsWUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQWhEcEIsNkJBQTZCLENBaVF6QztTQWpRWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBnZXROYXRpdmVGb2N1c2VkLFxuICAgIHB4LFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgVHVpUG9ydGFsU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpRHJvcGRvd24sXG4gICAgVFVJX0RPQ1VNRU5UX09SX1NIQURPV19ST09ULFxuICAgIFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUsXG4gICAgVFVJX0VMRU1FTlRfUkVGLFxuICAgIFR1aURyb3Bkb3duLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2dldFdvcmRSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9kb20nO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwVG8sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFTVBUWV9SRUNUOiBDbGllbnRSZWN0ID0ge1xuICAgIGJvdHRvbTogMCxcbiAgICBoZWlnaHQ6IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG59O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aURyb3Bkb3duXG4gICAgaW1wbGVtZW50cyBUdWlEcm9wZG93biwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSB2aXNpYmlsaXR5SGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+ID0gQUxXQVlTX1RSVUVfSEFORExFUjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudDtcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByYW5nZT86IFJhbmdlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHVpRHJvcGRvd25TZWxlY3Rpb24oaGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+IHwgJycpIHtcbiAgICAgICAgaWYgKCFoYW5kbGVyIHx8ICF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbkhvc3RBbmRWYWxpZCA9XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLnJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSAmJlxuICAgICAgICAgICAgaGFuZGxlcih0aGlzLnJhbmdlKTtcblxuICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bkJveChpbkhvc3RBbmRWYWxpZCk7XG4gICAgfVxuXG4gICAgQElucHV0KCd0dWlEcm9wZG93blNlbGVjdGlvblBvc2l0aW9uJylcbiAgICBwb3NpdGlvbjogJ3NlbGVjdGlvbicgfCAnd29yZCcgfCAndGFnJyA9ICdzZWxlY3Rpb24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVHVpUG9ydGFsU2VydmljZSkgcG9ydGFsU2VydmljZTogVHVpUG9ydGFsU2VydmljZSxcbiAgICAgICAgQEhvc3QoKSBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NVTUVOVF9PUl9TSEFET1dfUk9PVClcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgc2hhZG93Um9vdFJlZjogRG9jdW1lbnQgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9FTEVNRU5UX1JFRilcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgY3VzdG9tRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UpIHJlYWRvbmx5IHJlZnJlc2gkOiBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UsXG4gICAgICAgICAgICBjdXN0b21FbGVtZW50UmVmIHx8IGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBhY3RpdmVab25lLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVmID0gc2hhZG93Um9vdFJlZiB8fCBkb2N1bWVudFJlZjtcblxuICAgICAgICAvLyBTU1IgcHJvdGVjdGlvblxuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmFuZ2UgPSB0aGlzLmRvY3VtZW50UmVmLmNyZWF0ZVJhbmdlKCk7XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNldXAnKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBnZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jdW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmRvY3VtZW50UmVmLmdldFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnlWZXJ5U2FkSW5wdXRGaXgoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnJhbmdlQ291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5yYW5nZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVkID1cbiAgICAgICAgICAgICAgICAgICAgISFyYW5nZSAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBjb250YWluZWQgPyByYW5nZSA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAoIXRoaXMudmlzaWJpbGl0eUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnJhbmdlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyKHRoaXMucmFuZ2UpKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd25Cb3goISFyYW5nZSAmJiAodmFsaWQgfHwgdGhpcy5pbkRyb3Bkb3duKHJhbmdlKSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIGNvbnN0IHtkZWZhdWx0Vmlld30gPSB0aGlzLmRvY3VtZW50UmVmO1xuICAgICAgICBjb25zdCB7cmFuZ2VSZWN0fSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyYW1lRWxlbWVudCA9IGRlZmF1bHRWaWV3ID8gZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50IDogbnVsbDtcblxuICAgICAgICBpZiAoIWZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHJhbmdlUmVjdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvY3VtZW50UmVjdCA9IGZyYW1lRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wOiByYW5nZVJlY3QudG9wICsgZG9jdW1lbnRSZWN0LnRvcCxcbiAgICAgICAgICAgIGxlZnQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQsXG4gICAgICAgICAgICByaWdodDogcmFuZ2VSZWN0LmxlZnQgKyBkb2N1bWVudFJlY3QubGVmdCArIHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGJvdHRvbTogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AgKyByYW5nZVJlY3QuaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duQm94KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdob3N0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCBDbGllbnRSZWN0IG9mIGN1cnJlbnQgUmFuZ2UgYWNjb3JkaW5nIHRvIHByb3ZpZGVkIHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmFuZ2VSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWV9SRUNUO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2NvbW1vbkFuY2VzdG9yQ29udGFpbmVyfSA9IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjb21tb25BbmNlc3RvckNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZHJvcGRvd24gdmlzaWJpbGl0eSAoaGFzIHRvIGJlIGluIG5nWm9uZS5ydW4gYmVjYXVzZSBpdCBjb3VsZCBiZSBpbml0aWF0ZWQgaW5zaWRlIGlmcmFtZSBpbiBFZGl0b3IpXG4gICAgICovXG4gICAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bkJveCh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duQm94KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBOb2RlIGlzIGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgYm94Q29udGFpbnMobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRyb3Bkb3duQm94UmVmICYmXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobm9kZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25Ub0hvc3QgPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhzdGFydENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVuZENvbnRhaW5lcik7XG5cbiAgICAgICAgcmV0dXJuIGluRHJvcGRvd24gfHwgaG9zdFRvRHJvcGRvd24gfHwgZHJvcGRvd25Ub0hvc3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gaW52aXNpYmxlIERJViBhbmQgY3JlYXRlIFJhbmdlIHNpbWlsYXIgdG8gc2VsZWN0ZWQgcmFuZ2UgaW5zaWRlIGlucHV0L3RleHRhcmVhXG4gICAgICovXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdChlbGVtZW50KX0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2N1bWVudFJlZi5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnRvcCA9IHB4KHRvcCAtIGhvc3RSZWN0LnRvcCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmxlZnQgPSBweChsZWZ0IC0gaG9zdFJlY3QubGVmdCk7XG4gICAgICAgIGdob3N0LnN0eWxlLndpZHRoID0gcHgod2lkdGgpO1xuICAgICAgICBnaG9zdC5zdHlsZS5oZWlnaHQgPSBweChoZWlnaHQpO1xuICAgICAgICBnaG9zdC50ZXh0Q29udGVudCA9IENIQVJfWkVST19XSURUSF9TUEFDRSArIGVsZW1lbnQudmFsdWUgKyBDSEFSX05PX0JSRUFLX1NQQUNFO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25FbmQgfHwgMCk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhbiBpbnZpc2libGUgRElWIHN0eWxlZCBleGFjdGx5IGxpa2UgaW5wdXQvdGV4dGFyZWEgZWxlbWVudCBpbnNpZGUgZGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0R2hvc3QoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGdob3N0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtmb250LCBsZXR0ZXJTcGFjaW5nLCB0ZXh0VHJhbnNmb3JtLCBwYWRkaW5nfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cbiAgICAgICAgZ2hvc3Quc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICBnaG9zdC5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZS13cmFwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChuYXRpdmVFbGVtZW50LCBnaG9zdCk7XG4gICAgICAgIHRoaXMuZ2hvc3QgPSBnaG9zdDtcblxuICAgICAgICByZXR1cm4gZ2hvc3Q7XG4gICAgfVxufVxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsRUFBRSxFQUNGLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsZUFBZSxHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE1BQU0sVUFBVSxHQUFlO0lBQzNCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLENBQUM7SUFDVCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtB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V0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDMUIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUM5QixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBRVYsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUVWLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUMvQixZQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFlBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsWUFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsWUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQWhEcEIsNkJBQTZCLENBK1B6QztTQS9QWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIENIQVJfWkVST19XSURUSF9TUEFDRSxcbiAgICBnZXROYXRpdmVGb2N1c2VkLFxuICAgIHB4LFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgVHVpUG9ydGFsU2VydmljZSxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpRHJvcGRvd24sXG4gICAgVFVJX0RPQ1VNRU5UX09SX1NIQURPV19ST09ULFxuICAgIFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUsXG4gICAgVFVJX0VMRU1FTlRfUkVGLFxuICAgIFR1aURyb3Bkb3duLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2dldFdvcmRSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9kb20nO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwVG8sIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFTVBUWV9SRUNUOiBDbGllbnRSZWN0ID0ge1xuICAgIGJvdHRvbTogMCxcbiAgICBoZWlnaHQ6IDAsXG4gICAgbGVmdDogMCxcbiAgICByaWdodDogMCxcbiAgICB0b3A6IDAsXG4gICAgd2lkdGg6IDAsXG59O1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duU2VsZWN0aW9uRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aURyb3Bkb3duXG4gICAgaW1wbGVtZW50cyBUdWlEcm9wZG93biwgT25EZXN0cm95XG57XG4gICAgcHJpdmF0ZSB2aXNpYmlsaXR5SGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+ID0gQUxXQVlTX1RSVUVfSEFORExFUjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudDtcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByYW5nZT86IFJhbmdlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHVpRHJvcGRvd25TZWxlY3Rpb24oaGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+IHwgJycpIHtcbiAgICAgICAgaWYgKCFoYW5kbGVyIHx8ICF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbkhvc3RBbmRWYWxpZCA9XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLnJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSAmJlxuICAgICAgICAgICAgaGFuZGxlcih0aGlzLnJhbmdlKTtcblxuICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bkJveChpbkhvc3RBbmRWYWxpZCk7XG4gICAgfVxuXG4gICAgQElucHV0KCd0dWlEcm9wZG93blNlbGVjdGlvblBvc2l0aW9uJylcbiAgICBwb3NpdGlvbjogJ3NlbGVjdGlvbicgfCAnd29yZCcgfCAndGFnJyA9ICdzZWxlY3Rpb24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVHVpUG9ydGFsU2VydmljZSkgcG9ydGFsU2VydmljZTogVHVpUG9ydGFsU2VydmljZSxcbiAgICAgICAgQEhvc3QoKSBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NVTUVOVF9PUl9TSEFET1dfUk9PVClcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgc2hhZG93Um9vdFJlZjogRG9jdW1lbnQgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9FTEVNRU5UX1JFRilcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgY3VzdG9tRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UpIHJlYWRvbmx5IHJlZnJlc2gkOiBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UsXG4gICAgICAgICAgICBjdXN0b21FbGVtZW50UmVmIHx8IGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBhY3RpdmVab25lLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVmID0gc2hhZG93Um9vdFJlZiB8fCBkb2N1bWVudFJlZjtcblxuICAgICAgICAvLyBTU1IgcHJvdGVjdGlvblxuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmFuZ2UgPSB0aGlzLmRvY3VtZW50UmVmLmNyZWF0ZVJhbmdlKCk7XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNldXAnKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBnZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jdW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmRvY3VtZW50UmVmLmdldFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnlWZXJ5U2FkSW5wdXRGaXgoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb24/LnJhbmdlQ291bnQgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmFuZ2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9XG4gICAgICAgICAgICAgICAgICAgICEhcmFuZ2UgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gY29udGFpbmVkID8gcmFuZ2UgOiB0aGlzLnJhbmdlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgKCF0aGlzLnZpc2liaWxpdHlIYW5kbGVyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5yYW5nZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5SGFuZGxlcih0aGlzLnJhbmdlKSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duQm94KCEhcmFuZ2UgJiYgKHZhbGlkIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBjb25zdCB7ZGVmYXVsdFZpZXd9ID0gdGhpcy5kb2N1bWVudFJlZjtcbiAgICAgICAgY29uc3Qge3JhbmdlUmVjdH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFtZUVsZW1lbnQgPSBkZWZhdWx0VmlldyA/IGRlZmF1bHRWaWV3LmZyYW1lRWxlbWVudCA6IG51bGw7XG5cbiAgICAgICAgaWYgKCFmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiByYW5nZVJlY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkb2N1bWVudFJlY3QgPSBmcmFtZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvcDogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AsXG4gICAgICAgICAgICBsZWZ0OiByYW5nZVJlY3QubGVmdCArIGRvY3VtZW50UmVjdC5sZWZ0LFxuICAgICAgICAgICAgcmlnaHQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQgKyByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBib3R0b206IHJhbmdlUmVjdC50b3AgKyBkb2N1bWVudFJlY3QudG9wICsgcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHJhbmdlUmVjdC5oZWlnaHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5naG9zdCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgQ2xpZW50UmVjdCBvZiBjdXJyZW50IFJhbmdlIGFjY29yZGluZyB0byBwcm92aWRlZCBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IHJhbmdlUmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlfUkVDVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgICAgICAgICBjb21tb25BbmNlc3RvckNvbnRhaW5lci5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29tbW9uQW5jZXN0b3JDb250YWluZXIucGFyZW50Tm9kZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3dvcmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBnZXRXb3JkUmFuZ2UodGhpcy5yYW5nZSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIGRyb3Bkb3duIHZpc2liaWxpdHkgKGhhcyB0byBiZSBpbiBuZ1pvbmUucnVuIGJlY2F1c2UgaXQgY291bGQgYmUgaW5pdGlhdGVkIGluc2lkZSBpZnJhbWUgaW4gRWRpdG9yKVxuICAgICAqL1xuICAgIHByaXZhdGUgdG9nZ2xlRHJvcGRvd25Cb3godmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bkJveCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd25Cb3goKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgTm9kZSBpcyBpbnNpZGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwcml2YXRlIGJveENvbnRhaW5zKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5kcm9wZG93bkJveFJlZiAmJlxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkJveFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKG5vZGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgZ2l2ZW4gcmFuZ2UgaXMgYXQgbGVhc3QgcGFydGlhbGx5IGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgaW5Ecm9wZG93bihyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3N0YXJ0Q29udGFpbmVyLCBlbmRDb250YWluZXJ9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IGluRHJvcGRvd24gPSB0aGlzLmJveENvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaG9zdFRvRHJvcGRvd24gPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhlbmRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlbmRDb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiBpbkRyb3Bkb3duIHx8IGhvc3RUb0Ryb3Bkb3duIHx8IGRyb3Bkb3duVG9Ib3N0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIGludmlzaWJsZSBESVYgYW5kIGNyZWF0ZSBSYW5nZSBzaW1pbGFyIHRvIHNlbGVjdGVkIHJhbmdlIGluc2lkZSBpbnB1dC90ZXh0YXJlYVxuICAgICAqL1xuICAgIHByaXZhdGUgdmVyeVZlcnlTYWRJbnB1dEZpeChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IFJhbmdlIHtcbiAgICAgICAgY29uc3Qge2dob3N0ID0gdGhpcy5pbml0R2hvc3QoZWxlbWVudCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZH0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSBweCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gcHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gcHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyBlbGVtZW50LnZhbHVlICsgQ0hBUl9OT19CUkVBS19TUEFDRTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uU3RhcnQgfHwgMCk7XG4gICAgICAgIHJhbmdlLnNldEVuZChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBnaG9zdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50O1xuICAgICAgICBjb25zdCB7Zm9udCwgbGV0dGVyU3BhY2luZywgdGV4dFRyYW5zZm9ybSwgcGFkZGluZ30gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZ2hvc3Quc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgZ2hvc3Quc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUtd3JhcCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmZvbnQgPSBmb250O1xuICAgICAgICBnaG9zdC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gbGV0dGVyU3BhY2luZztcbiAgICAgICAgZ2hvc3Quc3R5bGUudGV4dFRyYW5zZm9ybSA9IHRleHRUcmFuc2Zvcm07XG4gICAgICAgIGdob3N0LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0aXZlRWxlbWVudCwgZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate, __param } from "tslib";
|
|
2
2
|
import { Inject, Optional, Pipe, Self } from '@angular/core';
|
|
3
|
-
import { AbstractControl, FormArrayName, FormGroupDirective, FormGroupName, NgControl, } from '@angular/forms';
|
|
3
|
+
import { AbstractControl, ControlValueAccessor, FormArrayName, FormGroupDirective, FormGroupName, NgControl, } from '@angular/forms';
|
|
4
4
|
import { tuiPure, TuiValidationError } from '@taiga-ui/cdk';
|
|
5
5
|
import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
|
|
6
|
-
import {
|
|
6
|
+
import { isObservable, of } from 'rxjs';
|
|
7
7
|
import { map } from 'rxjs/operators';
|
|
8
8
|
const EMPTY_RECORD = {};
|
|
9
9
|
// @dynamic
|
|
@@ -23,10 +23,6 @@ let TuiFieldErrorPipe = class TuiFieldErrorPipe {
|
|
|
23
23
|
this.order = order;
|
|
24
24
|
return this.computedError;
|
|
25
25
|
}
|
|
26
|
-
get change$() {
|
|
27
|
-
var _a, _b;
|
|
28
|
-
return merge(((_a = this.control) === null || _a === void 0 ? void 0 : _a.valueChanges) || EMPTY, ((_b = this.control) === null || _b === void 0 ? void 0 : _b.statusChanges) || EMPTY);
|
|
29
|
-
}
|
|
30
26
|
get computedError() {
|
|
31
27
|
return (this.invalid && this.touched && this.error) || of(null);
|
|
32
28
|
}
|
|
@@ -88,9 +84,6 @@ TuiFieldErrorPipe.ctorParameters = () => [
|
|
|
88
84
|
{ type: FormGroupDirective, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [FormGroupDirective,] }] },
|
|
89
85
|
{ type: undefined, decorators: [{ type: Inject, args: [TUI_VALIDATION_ERRORS,] }] }
|
|
90
86
|
];
|
|
91
|
-
__decorate([
|
|
92
|
-
tuiPure
|
|
93
|
-
], TuiFieldErrorPipe.prototype, "change$", null);
|
|
94
87
|
__decorate([
|
|
95
88
|
tuiPure
|
|
96
89
|
], TuiFieldErrorPipe.prototype, "getErrorId", null);
|
|
@@ -117,4 +110,4 @@ TuiFieldErrorPipe = __decorate([
|
|
|
117
110
|
__param(4, Inject(TUI_VALIDATION_ERRORS))
|
|
118
111
|
], TuiFieldErrorPipe);
|
|
119
112
|
export { TuiFieldErrorPipe };
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvcGlwZXMvZmllbGQtZXJyb3IvIiwic291cmNlcyI6WyJmaWVsZC1lcnJvci1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRXhCLFdBQVc7QUFLWCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQUcxQixZQUlxQixTQUEyQixFQUkzQixhQUFtQyxFQUluQyxhQUFtQyxFQUluQyxTQUFvQyxFQUVwQyxnQkFHaEI7UUFqQmdCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBSTNCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUluQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFJbkMsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFFcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUdoQztRQXZCRyxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQXlCbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVB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LEVBQUUsQ0FBQTtJQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7SUFDTixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUVyQixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFFMUIsV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtHQXBCekIsaUJBQWlCLENBZ0k3QjtTQWhJWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUFycmF5TmFtZSxcbiAgICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgRm9ybUdyb3VwTmFtZSxcbiAgICBOZ0NvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpUHVyZSwgVHVpVmFsaWRhdGlvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX1ZBTElEQVRJT05fRVJST1JTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0VNUFRZLCBpc09ic2VydmFibGUsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBFTVBUWV9SRUNPUkQgPSB7fTtcblxuLy8gQGR5bmFtaWNcbkBQaXBlKHtcbiAgICBuYW1lOiAndHVpRmllbGRFcnJvcicsXG4gICAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpZWxkRXJyb3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSBvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KEZvcm1BcnJheU5hbWUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUFycmF5TmFtZTogRm9ybUFycmF5TmFtZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChGb3JtR3JvdXBOYW1lKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWUgfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoRm9ybUdyb3VwRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVkFMSURBVElPTl9FUlJPUlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdGlvbkVycm9yczogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgUG9seW1vcnBoZXVzQ29udGVudCB8IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD5cbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICYmICF0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zZm9ybShvcmRlcjogcmVhZG9ubHkgc3RyaW5nW10pOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGw+IHtcbiAgICAgICAgdGhpcy5vcmRlciA9IG9yZGVyO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRXJyb3I7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgY2hhbmdlJCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMgfHwgRU1QVFksXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/LnN0YXR1c0NoYW5nZXMgfHwgRU1QVFksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkRXJyb3IoKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3IgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiAodGhpcy5pbnZhbGlkICYmIHRoaXMudG91Y2hlZCAmJiB0aGlzLmVycm9yKSB8fCBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKCk6IHZvaWQge31cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7fVxuXG4gICAgd3JpdGVWYWx1ZSgpOiB2b2lkIHt9XG5cbiAgICBwcml2YXRlIGdldCBlcnJvcigpOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvcj4gfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Vycm9ySWR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWVycm9ySWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RFcnJvciA9IHRoaXMuY29udHJvbEVycm9yc1tlcnJvcklkXTtcbiAgICAgICAgY29uc3QgZXJyb3JDb250ZW50ID0gdGhpcy52YWxpZGF0aW9uRXJyb3JzW2Vycm9ySWRdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldEVycm9yKGZpcnN0RXJyb3IsIGVycm9yQ29udGVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sPy5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbD8udG91Y2hlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wgfHxcbiAgICAgICAgICAgIHRoaXMuZm9ybUFycmF5TmFtZT8uY29udHJvbCB8fFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXBOYW1lPy5jb250cm9sIHx8XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cD8uY29udHJvbCB8fFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVycm9ySWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3JJZCh0aGlzLm9yZGVyLCB0aGlzLmNvbnRyb2xFcnJvcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRyb2xFcnJvcnMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVycm9ycyB8fCBFTVBUWV9SRUNPUkQ7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEVycm9ySWQoXG4gICAgICAgIG9yZGVyOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgY29udHJvbEVycm9yczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpZCA9IG9yZGVyPy5maW5kKGVycm9ySWQgPT4gY29udHJvbEVycm9yc1tlcnJvcklkXSk7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrID0gT2JqZWN0LmtleXMoY29udHJvbEVycm9ycylbMF07XG5cbiAgICAgICAgcmV0dXJuIGlkIHx8IGZhbGxiYWNrIHx8ICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRFcnJvcihcbiAgICAgICAgZmlyc3RFcnJvcjogYW55LFxuICAgICAgICBlcnJvckNvbnRlbnQ/OiBQb2x5bW9ycGhldXNDb250ZW50IHwgT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PixcbiAgICApOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvcj4ge1xuICAgICAgICBpZiAoZmlyc3RFcnJvciBpbnN0YW5jZW9mIFR1aVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZpcnN0RXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yQ29udGVudCA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBmaXJzdEVycm9yID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZmlyc3RFcnJvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShlcnJvckNvbnRlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JDb250ZW50LnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGVycm9yID0+IG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3IgfHwgJycsIGZpcnN0RXJyb3IpKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YobmV3IFR1aVZhbGlkYXRpb25FcnJvcihlcnJvckNvbnRlbnQgfHwgJycsIGZpcnN0RXJyb3IpKTtcbiAgICB9XG59XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvcGlwZXMvZmllbGQtZXJyb3IvIiwic291cmNlcyI6WyJmaWVsZC1lcnJvci1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixTQUFTLEdBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBQyxZQUFZLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFFeEIsV0FBVztBQUtYLElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWlCO0lBRzFCLFlBSXFCLFNBQTJCLEVBSTNCLGFBQW1DLEVBSW5DLGFBQW1DLEVBSW5DLFNBQW9DLEVBRXBDLGdCQUdoQjtRQWpCZ0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFJM0Isa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBSW5DLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUluQyxjQUFTLEdBQVQsU0FBUyxDQUEyQjtRQUVwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBR2hDO1FBdkJHLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBeUJsQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUNq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LENBQUMscUJBQXFCLENBQUMsQ0FBQTtHQXBCekIsaUJBQWlCLENBd0g3QjtTQXhIWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgRm9ybUFycmF5TmFtZSxcbiAgICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgRm9ybUdyb3VwTmFtZSxcbiAgICBOZ0NvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpUHVyZSwgVHVpVmFsaWRhdGlvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX1ZBTElEQVRJT05fRVJST1JTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge2lzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgRU1QVFlfUkVDT1JEID0ge307XG5cbi8vIEBkeW5hbWljXG5AUGlwZSh7XG4gICAgbmFtZTogJ3R1aUZpZWxkRXJyb3InLFxuICAgIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWVsZEVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIG9yZGVyOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoRm9ybUFycmF5TmFtZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQXJyYXlOYW1lOiBGb3JtQXJyYXlOYW1lIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KEZvcm1Hcm91cE5hbWUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUdyb3VwTmFtZTogRm9ybUdyb3VwTmFtZSB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChGb3JtR3JvdXBEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9WQUxJREFUSU9OX0VSUk9SUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0aW9uRXJyb3JzOiBSZWNvcmQ8XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICBQb2x5bW9ycGhldXNDb250ZW50IHwgT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PlxuICAgICAgICA+LFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgIXRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKG9yZGVyOiByZWFkb25seSBzdHJpbmdbXSk6IE9ic2VydmFibGU8VHVpVmFsaWRhdGlvbkVycm9yIHwgbnVsbD4ge1xuICAgICAgICB0aGlzLm9yZGVyID0gb3JkZXI7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRFcnJvcjtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRFcnJvcigpOiBPYnNlcnZhYmxlPFR1aVZhbGlkYXRpb25FcnJvciB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmludmFsaWQgJiYgdGhpcy50b3VjaGVkICYmIHRoaXMuZXJyb3IpIHx8IG9mKG51bGwpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoKTogdm9pZCB7fVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7fVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHt9XG5cbiAgICB3cml0ZVZhbHVlKCk6IHZvaWQge31cblxuICAgIHByaXZhdGUgZ2V0IGVycm9yKCk6IE9ic2VydmFibGU8VHVpVmFsaWRhdGlvbkVycm9yPiB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZXJyb3JJZH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghZXJyb3JJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaXJzdEVycm9yID0gdGhpcy5jb250cm9sRXJyb3JzW2Vycm9ySWRdO1xuICAgICAgICBjb25zdCBlcnJvckNvbnRlbnQgPSB0aGlzLnZhbGlkYXRpb25FcnJvcnNbZXJyb3JJZF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RXJyb3IoZmlyc3RFcnJvciwgZXJyb3JDb250ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRyb2w/LmludmFsaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sPy50b3VjaGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbCB8fFxuICAgICAgICAgICAgdGhpcy5mb3JtQXJyYXlOYW1lPy5jb250cm9sIHx8XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cE5hbWU/LmNvbnRyb2wgfHxcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwPy5jb250cm9sIHx8XG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZXJyb3JJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRFcnJvcklkKHRoaXMub3JkZXIsIHRoaXMuY29udHJvbEVycm9ycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29udHJvbEVycm9ycygpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVycm9ycyB8fCBFTVBUWV9SRUNPUkQ7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEVycm9ySWQoXG4gICAgICAgIG9yZGVyOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgY29udHJvbEVycm9yczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWQgPSBvcmRlcj8uZmluZChlcnJvcklkID0+IGNvbnRyb2xFcnJvcnNbZXJyb3JJZF0pO1xuICAgICAgICBjb25zdCBmYWxsYmFjayA9IE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpWzBdO1xuXG4gICAgICAgIHJldHVybiBpZCB8fCBmYWxsYmFjayB8fCAnJztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0RXJyb3IoXG4gICAgICAgIGZpcnN0RXJyb3I6IGFueSxcbiAgICAgICAgZXJyb3JDb250ZW50PzogUG9seW1vcnBoZXVzQ29udGVudCB8IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4sXG4gICAgKTogT2JzZXJ2YWJsZTxUdWlWYWxpZGF0aW9uRXJyb3I+IHtcbiAgICAgICAgaWYgKGZpcnN0RXJyb3IgaW5zdGFuY2VvZiBUdWlWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihmaXJzdEVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvckNvbnRlbnQgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZmlyc3RFcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGZpcnN0RXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZXJyb3JDb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yQ29udGVudC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChlcnJvciA9PiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKGVycm9yIHx8ICcnLCBmaXJzdEVycm9yKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG9mKG5ldyBUdWlWYWxpZGF0aW9uRXJyb3IoZXJyb3JDb250ZW50IHx8ICcnLCBmaXJzdEVycm9yKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
3
|
import { isPresent, tuiPure, } from '@taiga-ui/cdk';
|
|
3
4
|
import { isFlat } from '@taiga-ui/kit/utils';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated
|
|
7
|
+
* TODO: 3.0 replace with {@link AbstractTuiFilterByInputBase}
|
|
8
|
+
*/
|
|
4
9
|
export class TuiFilterByInputBase {
|
|
5
10
|
get query() {
|
|
6
11
|
return this.accessor.nativeFocusableElement
|
|
@@ -34,4 +39,6 @@ export class TuiFilterByInputBase {
|
|
|
34
39
|
__decorate([
|
|
35
40
|
tuiPure
|
|
36
41
|
], TuiFilterByInputBase.prototype, "filter", null);
|
|
37
|
-
|
|
42
|
+
export class AbstractTuiFilterByInputBase extends TuiFilterByInputBase {
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ5LWlucHV0LmJhc2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3BpcGVzL2ZpbHRlci1ieS1pbnB1dC8iLCJzb3VyY2VzIjpbImZpbHRlci1ieS1pbnB1dC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5REFBeUQ7QUFDekQsT0FBTyxFQUNILFNBQVMsRUFFVCxPQUFPLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBUTNDOzs7R0FHRztBQUNILE1BQU0sT0FBZ0Isb0JBQW9CO0lBR3RDLElBQWMsS0FBSztRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0I7WUFDdkMsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQTJDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFHUyxNQUFNLENBQ1osS0FBd0QsRUFDeEQsT0FBNEIsRUFDNUIsU0FBOEIsRUFDOUIsS0FBYTtRQUViLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQztZQUNuRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sVUFBVSxDQUNkLEtBQW1CLEVBQ25CLE9BQTRCLEVBQzVCLFNBQThCLEVBQzlCLEtBQWE7UUFFYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFckQsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxRQUFRLENBQ1osS0FBa0MsRUFDbEMsT0FBNEIsRUFDNUIsU0FBOEIsRUFDOUIsS0FBYTtRQUViLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUNuRCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVPLFFBQVEsQ0FDWixLQUFtQixFQUNuQixTQUE4QixFQUM5QixLQUFhO1FBRWIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEtBQUssS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQzVFLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFwREc7SUFEQyxPQUFPO2tEQWNQO0FBeUNMLE1BQU0sT0FBZ0IsNEJBQTZCLFNBQVEsb0JBQW9CO0NBQUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7XG4gICAgaXNQcmVzZW50LFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgVHVpU3RyaW5nTWF0Y2hlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2lzRmxhdH0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmV4cG9ydCB0eXBlIEFycmF5RWxlbWVudDxBPiA9IEEgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFQ+XG4gICAgPyBBIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxSZWFkb25seUFycmF5PGluZmVyIEc+PlxuICAgICAgICA/IEdcbiAgICAgICAgOiBUXG4gICAgOiBuZXZlcjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICogVE9ETzogMy4wIHJlcGxhY2Ugd2l0aCB7QGxpbmsgQWJzdHJhY3RUdWlGaWx0ZXJCeUlucHV0QmFzZX1cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aUZpbHRlckJ5SW5wdXRCYXNlIHtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcjtcblxuICAgIHByb3RlY3RlZCBnZXQgcXVlcnkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzb3IubmF0aXZlRm9jdXNhYmxlRWxlbWVudFxuICAgICAgICAgICAgPyAodGhpcy5hY2Nlc3Nvci5uYXRpdmVGb2N1c2FibGVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlIHx8ICcnXG4gICAgICAgICAgICA6ICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJvdGVjdGVkIGZpbHRlcjxUPihcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFRbXSB8IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPiB8IG51bGwsXG4gICAgICAgIG1hdGNoZXI6IFR1aVN0cmluZ01hdGNoZXI8VD4sXG4gICAgICAgIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPixcbiAgICAgICAgcXVlcnk6IHN0cmluZyxcbiAgICApOiByZWFkb25seSBUW10gfCBSZWFkb25seUFycmF5PHJlYWRvbmx5IFRbXT4gfCBudWxsIHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNGbGF0KGl0ZW1zKVxuICAgICAgICAgICAgPyB0aGlzLmZpbHRlckZsYXQoaXRlbXMsIG1hdGNoZXIsIHN0cmluZ2lmeSwgcXVlcnkpXG4gICAgICAgICAgICA6IHRoaXMuZmlsdGVyMmQoaXRlbXMsIG1hdGNoZXIsIHN0cmluZ2lmeSwgcXVlcnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyRmxhdDxUPihcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFRbXSxcbiAgICAgICAgbWF0Y2hlcjogVHVpU3RyaW5nTWF0Y2hlcjxUPixcbiAgICAgICAgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+LFxuICAgICAgICBxdWVyeTogc3RyaW5nLFxuICAgICk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5nZXRNYXRjaChpdGVtcywgc3RyaW5naWZ5LCBxdWVyeSk7XG5cbiAgICAgICAgcmV0dXJuIGlzUHJlc2VudChtYXRjaClcbiAgICAgICAgICAgID8gaXRlbXNcbiAgICAgICAgICAgIDogaXRlbXMuZmlsdGVyKGl0ZW0gPT4gbWF0Y2hlcihpdGVtLCBxdWVyeSwgc3RyaW5naWZ5KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXIyZDxUPihcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPixcbiAgICAgICAgbWF0Y2hlcjogVHVpU3RyaW5nTWF0Y2hlcjxUPixcbiAgICAgICAgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+LFxuICAgICAgICBxdWVyeTogc3RyaW5nLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPiB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gaXRlbXMuZmluZChpdGVtID0+XG4gICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5nZXRNYXRjaChpdGVtLCBzdHJpbmdpZnksIHF1ZXJ5KSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGlzUHJlc2VudChtYXRjaClcbiAgICAgICAgICAgID8gaXRlbXNcbiAgICAgICAgICAgIDogaXRlbXMubWFwKGlubmVyID0+IHRoaXMuZmlsdGVyRmxhdChpbm5lciwgbWF0Y2hlciwgc3RyaW5naWZ5LCBxdWVyeSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF0Y2g8VD4oXG4gICAgICAgIGl0ZW1zOiByZWFkb25seSBUW10sXG4gICAgICAgIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPixcbiAgICAgICAgcXVlcnk6IHN0cmluZyxcbiAgICApOiBUIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoXG4gICAgICAgICAgICBpdGVtID0+IHN0cmluZ2lmeShpdGVtKS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBxdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpRmlsdGVyQnlJbnB1dEJhc2UgZXh0ZW5kcyBUdWlGaWx0ZXJCeUlucHV0QmFzZSB7fVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const TUI_MOBILE_CALENDAR = new InjectionToken('A component for mobile data picker');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC90b2tlbnMvIiwic291cmNlcyI6WyJtb2JpbGUtY2FsZW5kYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsb0NBQW9DLENBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IFRVSV9NT0JJTEVfQ0FMRU5EQVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHlwZTx1bmtub3duPj4oXG4gICAgJ0EgY29tcG9uZW50IGZvciBtb2JpbGUgZGF0YSBwaWNrZXInLFxuKTtcbiJdfQ==
|
|
@@ -9,8 +9,8 @@ export function formatSize(units, size) {
|
|
|
9
9
|
return `${size} ${units[0]}`;
|
|
10
10
|
}
|
|
11
11
|
if (size < BYTES_PER_MB) {
|
|
12
|
-
return `${(size / BYTES_PER_KB).toFixed()} ${units[1]}`;
|
|
12
|
+
return `${(size / BYTES_PER_KB).toFixed(0)} ${units[1]}`;
|
|
13
13
|
}
|
|
14
14
|
return `${round(size / BYTES_PER_MB, 2).toLocaleString('ru-RU')} ${units[2]}`;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXNpemUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzLyIsInNvdXJjZXMiOlsiZm9ybWF0LXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7QUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLFlBQVksQ0FBQztBQUV6QyxNQUFNLFVBQVUsVUFBVSxDQUN0QixLQUErQixFQUMvQixJQUFhO0lBRWIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLElBQUksR0FBRyxZQUFZLEVBQUU7UUFDckIsT0FBTyxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNoQztJQUVELElBQUksSUFBSSxHQUFHLFlBQVksRUFBRTtRQUNyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQzVEO0lBRUQsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtyb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmNvbnN0IEJZVEVTX1BFUl9LQiA9IDEwMDA7XG5jb25zdCBCWVRFU19QRVJfTUIgPSAxMDAwICogQllURVNfUEVSX0tCO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0U2l6ZShcbiAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgIHNpemU/OiBudW1iZXIsXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoc2l6ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChzaXplIDwgQllURVNfUEVSX0tCKSB7XG4gICAgICAgIHJldHVybiBgJHtzaXplfSAke3VuaXRzWzBdfWA7XG4gICAgfVxuXG4gICAgaWYgKHNpemUgPCBCWVRFU19QRVJfTUIpIHtcbiAgICAgICAgcmV0dXJuIGAkeyhzaXplIC8gQllURVNfUEVSX0tCKS50b0ZpeGVkKDApfSAke3VuaXRzWzFdfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3JvdW5kKHNpemUgLyBCWVRFU19QRVJfTUIsIDIpLnRvTG9jYWxlU3RyaW5nKCdydS1SVScpfSAke3VuaXRzWzJdfWA7XG59XG4iXX0=
|
|
@@ -25,4 +25,4 @@ export function tuiCreateAutoCorrectedDateTimePipe(configs) {
|
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWRhdGUtdGltZS1waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrLyIsInNvdXJjZXMiOlsiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWRhdGUtdGltZS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQU05RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQ0gsa0JBQWtCLEdBRXJCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFNakYsTUFBTSxVQUFVLGtDQUFrQyxDQUM5QyxPQUE0QztJQUU1QyxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEUsT0FBTyxLQUFLLENBQUMsRUFBRTtRQUNYLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsRUFBRTtZQUNuQyxPQUFPLEVBQUMsS0FBSyxFQUFDLENBQUM7U0FDbEI7UUFFRCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUV0RCxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7U0FDakM7UUFFRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQ3RCLElBQUksRUFDSixFQUF1RCxDQUMxRCxDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDN0MsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLEdBQUcsYUFBYSxHQUFHLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDakUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLG1CQUFtQjtnQkFDOUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzdELENBQUMsQ0FBQyxTQUFTO1NBQ2xCLENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEQVRFX0ZJTExFUl9MRU5HVEgsIFR1aVRpbWVNb2RlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dE1hc2tDb25maWcsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVRleHRNYXNrUGlwZUhhbmRsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7REFURV9USU1FX1NFUEFSQVRPUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuXG5pbXBvcnQge1xuICAgIG5vcm1hbGl6ZURhdGVWYWx1ZSxcbiAgICBUdWlBdXRvQ29ycmVjdGVkRGF0ZVBpcGVDb25maWdzLFxufSBmcm9tICcuL2NyZWF0ZS1hdXRvLWNvcnJlY3RlZC1kYXRlLXBpcGUnO1xuaW1wb3J0IHt0dWlDcmVhdGVBdXRvQ29ycmVjdGVkVGltZVBpcGV9IGZyb20gJy4vY3JlYXRlLWF1dG8tY29ycmVjdGVkLXRpbWUtcGlwZSc7XG5cbmludGVyZmFjZSBUdWlBdXRvQ29ycmVjdGVkRGF0ZVRpbWVQaXBlQ29uZmlncyBleHRlbmRzIFR1aUF1dG9Db3JyZWN0ZWREYXRlUGlwZUNvbmZpZ3Mge1xuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlVGltZVBpcGUoXG4gICAgY29uZmlnczogVHVpQXV0b0NvcnJlY3RlZERhdGVUaW1lUGlwZUNvbmZpZ3MsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICBjb25zdCB0aW1lUGlwZSA9IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRUaW1lUGlwZShjb25maWdzLnRpbWVNb2RlKTtcblxuICAgIHJldHVybiB2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCBEQVRFX0ZJTExFUl9MRU5HVEgpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IG5vcm1hbGl6ZURhdGVWYWx1ZShkYXRlLCBjb25maWdzKTtcblxuICAgICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6IGZvcm1hdHRlZERhdGV9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGlwZWRUaW1lID0gdGltZVBpcGUoXG4gICAgICAgICAgICB0aW1lLFxuICAgICAgICAgICAge30gYXMgdW5rbm93biBhcyBUdWlUZXh0TWFza09wdGlvbnMgJiBUdWlUZXh0TWFza0NvbmZpZyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXBpcGVkVGltZSB8fCB0eXBlb2YgcGlwZWRUaW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBgJHtmb3JtYXR0ZWREYXRlfSR7REFURV9USU1FX1NFUEFSQVRPUn0ke3BpcGVkVGltZS52YWx1ZX1gLFxuICAgICAgICAgICAgaW5kZXhlc09mUGlwZWRDaGFyczogcGlwZWRUaW1lLmluZGV4ZXNPZlBpcGVkQ2hhcnNcbiAgICAgICAgICAgICAgICA/IHBpcGVkVGltZS5pbmRleGVzT2ZQaXBlZENoYXJzLm1hcChpID0+IGkgKyBkYXRlLmxlbmd0aCArIDIpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tuiAssert } from '@taiga-ui/cdk';
|
|
2
2
|
import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
|
|
3
|
-
const TWO_DIGITS = Array(2).fill(TUI_DIGIT_REGEXP);
|
|
4
|
-
const FOUR_DIGITS = Array(4).fill(TUI_DIGIT_REGEXP);
|
|
3
|
+
const TWO_DIGITS = new Array(2).fill(TUI_DIGIT_REGEXP);
|
|
4
|
+
const FOUR_DIGITS = new Array(4).fill(TUI_DIGIT_REGEXP);
|
|
5
5
|
export function tuiCreateDateMask(mode, separator) {
|
|
6
6
|
tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');
|
|
7
7
|
switch (mode) {
|
|
@@ -13,4 +13,4 @@ export function tuiCreateDateMask(mode, separator) {
|
|
|
13
13
|
return [...TWO_DIGITS, separator, ...TWO_DIGITS, separator, ...FOUR_DIGITS];
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhdGUtbWFzay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1kYXRlLW1hc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDdkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFeEQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQWlCLEVBQUUsU0FBaUI7SUFDbEUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSwyQ0FBMkMsQ0FBQyxDQUFDO0lBRXRGLFFBQVEsSUFBSSxFQUFFO1FBQ1YsS0FBSyxLQUFLO1lBQ04sT0FBTyxDQUFDLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNoRixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1g7WUFDSSxPQUFPLENBQUMsR0FBRyxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO0tBQ25GO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0LCBUdWlEYXRlTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ESUdJVF9SRUdFWFAsIFR1aVRleHRNYXNrTGlzdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5jb25zdCBUV09fRElHSVRTID0gbmV3IEFycmF5KDIpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCk7XG5jb25zdCBGT1VSX0RJR0lUUyA9IG5ldyBBcnJheSg0KS5maWxsKFRVSV9ESUdJVF9SRUdFWFApO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlRGF0ZU1hc2sobW9kZTogVHVpRGF0ZU1vZGUsIHNlcGFyYXRvcjogc3RyaW5nKTogVHVpVGV4dE1hc2tMaXN0IHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KHNlcGFyYXRvci5sZW5ndGggPT09IDEsICdTZXBhcmF0b3Igc2hvdWxkIGNvbnNpc3Qgb2Ygb25seSAxIHN5bWJvbCcpO1xuXG4gICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgIGNhc2UgJ1lNRCc6XG4gICAgICAgICAgICByZXR1cm4gWy4uLkZPVVJfRElHSVRTLCBzZXBhcmF0b3IsIC4uLlRXT19ESUdJVFMsIHNlcGFyYXRvciwgLi4uVFdPX0RJR0lUU107XG4gICAgICAgIGNhc2UgJ01EWSc6XG4gICAgICAgIGNhc2UgJ0RNWSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gWy4uLlRXT19ESUdJVFMsIHNlcGFyYXRvciwgLi4uVFdPX0RJR0lUUywgc2VwYXJhdG9yLCAuLi5GT1VSX0RJR0lUU107XG4gICAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
|
|
|
2
2
|
import { MAX_TIME_VALUES } from '@taiga-ui/kit/constants';
|
|
3
3
|
function tuiCreateTimePartMask(maxPartValue, prefix) {
|
|
4
4
|
const { length } = String(maxPartValue);
|
|
5
|
-
const regExp = Array(length).fill(TUI_DIGIT_REGEXP);
|
|
5
|
+
const regExp = new Array(length).fill(TUI_DIGIT_REGEXP);
|
|
6
6
|
if (prefix) {
|
|
7
7
|
regExp.unshift(prefix);
|
|
8
8
|
}
|
|
@@ -17,4 +17,4 @@ export function tuiCreateTimeMask(mode, maxValues = {}) {
|
|
|
17
17
|
...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRpbWUtbWFzay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS10aW1lLW1hc2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RCxTQUFTLHFCQUFxQixDQUMxQixZQUFvQixFQUNwQixNQUFlO0lBRWYsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RCxJQUFJLE1BQU0sRUFBRTtRQUNSLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixJQUFpQixFQUNqQixZQUF5RCxFQUFFO0lBRTNELE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsbUNBQ2YsZUFBZSxHQUNmLFNBQVMsQ0FDZixDQUFDO0lBRUYsT0FBTztRQUNILEdBQUcscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQzVCLEdBQUcscUJBQXFCLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQztRQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEUsR0FBRyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3JFLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlUaW1lTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ESUdJVF9SRUdFWFAsIFR1aVRleHRNYXNrTGlzdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtNQVhfVElNRV9WQUxVRVN9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpVGltZUZvcm1hdFBhcnRzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcblxuZnVuY3Rpb24gdHVpQ3JlYXRlVGltZVBhcnRNYXNrKFxuICAgIG1heFBhcnRWYWx1ZTogbnVtYmVyLFxuICAgIHByZWZpeD86IHN0cmluZyxcbik6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIGNvbnN0IHtsZW5ndGh9ID0gU3RyaW5nKG1heFBhcnRWYWx1ZSk7XG4gICAgY29uc3QgcmVnRXhwID0gbmV3IEFycmF5KGxlbmd0aCkuZmlsbChUVUlfRElHSVRfUkVHRVhQKTtcblxuICAgIGlmIChwcmVmaXgpIHtcbiAgICAgICAgcmVnRXhwLnVuc2hpZnQocHJlZml4KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVnRXhwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ3JlYXRlVGltZU1hc2soXG4gICAgbW9kZTogVHVpVGltZU1vZGUsXG4gICAgbWF4VmFsdWVzOiBQYXJ0aWFsPFJlY29yZDxUdWlUaW1lRm9ybWF0UGFydHMsIG51bWJlcj4+ID0ge30sXG4pOiBUdWlUZXh0TWFza0xpc3Qge1xuICAgIGNvbnN0IHtISCwgTU0sIFNTLCBNU30gPSB7XG4gICAgICAgIC4uLk1BWF9USU1FX1ZBTFVFUyxcbiAgICAgICAgLi4ubWF4VmFsdWVzLFxuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgICAuLi50dWlDcmVhdGVUaW1lUGFydE1hc2soSEgpLFxuICAgICAgICAuLi50dWlDcmVhdGVUaW1lUGFydE1hc2soTU0sICc6JyksXG4gICAgICAgIC4uLihtb2RlLmluY2x1ZGVzKCdISDpNTTpTUycpID8gdHVpQ3JlYXRlVGltZVBhcnRNYXNrKFNTLCAnOicpIDogW10pLFxuICAgICAgICAuLi4obW9kZSA9PT0gJ0hIOk1NOlNTLk1TUycgPyB0dWlDcmVhdGVUaW1lUGFydE1hc2soTVMsICcuJykgOiBbXSksXG4gICAgXTtcbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { of } from 'rxjs';
|
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
|
+
* @deprecated use {@link tuiReplayControlValueChangesFactory}
|
|
6
7
|
* TODO: 3.0 name should be shorter and start with lowercase letter.
|
|
7
8
|
*/
|
|
8
9
|
export function TuiReplayControlValueChangesFactory(control, valueTransformer) {
|
|
@@ -12,4 +13,5 @@ export function TuiReplayControlValueChangesFactory(control, valueTransformer) {
|
|
|
12
13
|
: value))
|
|
13
14
|
: of(null);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
export const tuiReplayControlValueChangesFactory = TuiReplayControlValueChangesFactory;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWNvbnRyb2wtdmFsdWUtY2hhbmdlcy1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9taXNjZWxsYW5lb3VzLyIsInNvdXJjZXMiOlsicmVwbGF5LWNvbnRyb2wtdmFsdWUtY2hhbmdlcy1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFJSCwyQkFBMkIsR0FFOUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FHL0MsT0FBeUIsRUFDekIsZ0JBQXVEO0lBRXZELE9BQU8sT0FBTztRQUNWLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNSLGdCQUFnQjtZQUNaLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDMUMsQ0FBQyxDQUFFLEtBQVcsQ0FDckIsQ0FDSjtRQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcixcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tLFxuICAgIFR1aVRpbWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayB0dWlSZXBsYXlDb250cm9sVmFsdWVDaGFuZ2VzRmFjdG9yeX1cbiAqIFRPRE86IDMuMCBuYW1lIHNob3VsZCBiZSBzaG9ydGVyIGFuZCBzdGFydCB3aXRoIGxvd2VyY2FzZSBsZXR0ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUdWlSZXBsYXlDb250cm9sVmFsdWVDaGFuZ2VzRmFjdG9yeTxcbiAgICBUIGV4dGVuZHMgVHVpRGF5UmFuZ2UgfCBUdWlEYXkgfCBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdLFxuPihcbiAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgIHZhbHVlVHJhbnNmb3JtZXI/OiBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxUPiB8IG51bGwsXG4pOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB8IG51bGwge1xuICAgIHJldHVybiBjb250cm9sXG4gICAgICAgID8gdHVpUmVwbGF5ZWRWYWx1ZUNoYW5nZXNGcm9tKGNvbnRyb2wpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCh2YWx1ZSA9PlxuICAgICAgICAgICAgICAgICAgdmFsdWVUcmFuc2Zvcm1lclxuICAgICAgICAgICAgICAgICAgICAgID8gdmFsdWVUcmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogKHZhbHVlIGFzIFQpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgIClcbiAgICAgICAgOiBvZihudWxsKTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aVJlcGxheUNvbnRyb2xWYWx1ZUNoYW5nZXNGYWN0b3J5ID0gVHVpUmVwbGF5Q29udHJvbFZhbHVlQ2hhbmdlc0ZhY3Rvcnk7XG4iXX0=
|
|
@@ -295,4 +295,4 @@ var AbstractTuiSlider = /** @class */ (function (_super) {
|
|
|
295
295
|
return AbstractTuiSlider;
|
|
296
296
|
}(AbstractTuiControl));
|
|
297
297
|
export { AbstractTuiSlider };
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbInNsaWRlci9zbGlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLDBCQUEwQixFQUMxQixRQUFRLEVBQ1IsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsY0FBYyxFQUdkLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILGlCQUFpQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDekMsTUFBTSxDQUFDLElBQU0sU0FBUyxHQUE0QjtJQUM5QyxDQUFDLEVBQUUsQ0FBQztJQUNKLENBQUMsRUFBRSxFQUFFO0NBQ1IsQ0FBQztBQUVGOzs7O0dBSUc7QUFFSDtJQUNZLHFDQUFxQjtJQTBEN0IsMkJBQ0ksU0FBMkIsRUFDM0IsaUJBQW9DLEVBQ25CLFdBQXFCLEVBRTdCLFlBQTBDO1FBTHZELFlBT0ksa0JBQU0s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QWlCLENBOFV0QztJQUFELHdCQUFDO0NBQUEsQUE5VUQsQ0FDWSxrQkFBa0IsR0E2VTdCO1NBOVVxQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIGNsYW1wLFxuICAgIG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLFxuICAgIHF1YW50aXplLFxuICAgIHJvdW5kLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlFdmVudFdpdGgsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aVBsdXJhbGl6ZSxcbiAgICB0dWlQbHVyYWxpemVUb0lDVSxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGUsIHJhY2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBTTElERVJfS0VZQk9BUkRfU1RFUCA9IDAuMDU7XG5leHBvcnQgY29uc3QgRE9UX1dJRFRIOiB7W2tleTogc3RyaW5nXTogbnVtYmVyfSA9IHtcbiAgICBzOiA4LFxuICAgIG06IDE2LFxufTtcblxuLyoqXG4gKiBAYXdmdWwgVE9ETzogMy4wIHJlbW92ZVxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aVNsaWRlcjxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFQ+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPlxue1xuICAgIC8vIEBiYWQgVE9ETzogaGFuZGxlIHBvaW50ZXIgZXZlbnRzIGluc3RlYWQgb2YgbW91c2UgYW5kIHRvdWNoIGV2ZW50c1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9pbnRlckRvd24kID0gbmV3IFN1YmplY3Q8XG4gICAgICAgIFR1aUV2ZW50V2l0aDxNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgSFRNTEVsZW1lbnQ+XG4gICAgPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnZG90TGVmdCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgZG90TGVmdD86IEVsZW1lbnRSZWY8VHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdkb3RSaWdodCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgZG90UmlnaHQ/OiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0ZXBzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG4gICAgcXVhbnR1bSA9IDA7XG5cbiAgICAvLyBUT0RPOiByZW1vdmUgc2V0dGVyIGluIHYzLjA6XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBwbHVyYWxpemUocGx1cmFsaXplOiBUdWlQbHVyYWxpemUgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLnBsdXJhbGl6ZU1hcCA9IEFycmF5LmlzQXJyYXkocGx1cmFsaXplKVxuICAgICAgICAgICAgPyB0dWlQbHVyYWxpemVUb0lDVShwbHVyYWxpemUpXG4gICAgICAgICAgICA6IHBsdXJhbGl6ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBmb2N1c1Zpc2libGVMZWZ0ID0gZmFsc2U7XG5cbiAgICBmb2N1c1Zpc2libGVSaWdodCA9IGZhbHNlO1xuXG4gICAgcGx1cmFsaXplTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfRlJPTV9UT19URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZnJvbVRvVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcihuZ0NvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zZWdtZW50ZWQnKVxuICAgIGdldCBzZWdtZW50ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlZ21lbnRzID4gMDtcbiAgICB9XG5cbiAgICBnZXQgZGlzY3JldGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzID4gMDtcbiAgICB9XG5cbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heCAtIHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcHMpIHtcbiAgICAgICAgICAgIHJldHVybiAxIC8gdGhpcy5zdGVwcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1YW50dW0gPyB0aGlzLnF1YW50dW0gLyB0aGlzLmxlbmd0aCA6IFNMSURFUl9LRVlCT0FSRF9TVEVQO1xuICAgIH1cblxuICAgIGdldCBpc0xlZnRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvY3VzYWJsZSAmJiB0aGlzLnJpZ2h0ICE9PSAxMDA7XG4gICAgfVxuXG4gICAgZ2V0IGlzUmlnaHRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvY3VzYWJsZSAmJiB0aGlzLmxlZnQgIT09IDEwMDtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBnZXQgbGVmdCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0IHJpZ2h0KCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBwcm9jZXNzVmFsdWUodmFsdWU6IG51bWJlciwgcmlnaHQ/OiBib29sZWFuKTogdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZXMkID0gdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNlbW92ZScpO1xuICAgICAgICBjb25zdCBtb3VzZVVwcyQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCB0b3VjaE1vdmVzJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICd0b3VjaG1vdmUnKTtcbiAgICAgICAgY29uc3QgdG91Y2hFbmRzJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICd0b3VjaGVuZCcpO1xuICAgICAgICBsZXQgaXNQb2ludGVyRG93blJpZ2h0OiBib29sZWFuO1xuXG4gICAgICAgIHRoaXMucG9pbnRlckRvd24kXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBldmVudC5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGllbnRYID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXZlbnQuY2xpZW50WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGcmFjdGlvbkZyb21FdmVudHMocmVjdCwgY2xpZW50WCksXG4gICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFMZWZ0ID0gZnJhY3Rpb24gKiAxMDAgLSB0aGlzLmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhUmlnaHQgPSBmcmFjdGlvbiAqIDEwMCAtIDEwMCArIHRoaXMucmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaXNQb2ludGVyRG93blJpZ2h0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKGRlbHRhTGVmdCkgPiBNYXRoLmFicyhkZWx0YVJpZ2h0KSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFSaWdodCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmxlZnQgPT09IDAgJiYgdGhpcy5yaWdodCA9PT0gMTAwKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYWxpYnJhdGVkRnJhY3Rpb24gPSBjbGFtcChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FsaWJyYXRlZEZyYWN0aW9uRnJvbUV2ZW50cyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQb2ludGVyRG93blJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tRnJhY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZyYWN0aW9uR3VhcmQoY2FsaWJyYXRlZEZyYWN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZSh2YWx1ZSwgaXNQb2ludGVyRG93blJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRm9jdXMoaXNQb2ludGVyRG93blJpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVjdCA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlKFt0b3VjaE1vdmVzJCwgbW91c2VNb3ZlcyRdKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChldmVudDogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FsaWJyYXRlZEZyYWN0aW9uRnJvbUV2ZW50cyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGV2ZW50LmNsaWVudFhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZXZlbnQudG91Y2hlc1swXS5jbGllbnRYLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BvaW50ZXJEb3duUmlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwocmFjZShbbW91c2VVcHMkLCB0b3VjaEVuZHMkXSkpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKGZyYWN0aW9uID0+IHRoaXMuZnJhY3Rpb25HdWFyZChmcmFjdGlvbikpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShmcmFjdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzVmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVGcm9tRnJhY3Rpb24oZnJhY3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICBpc1BvaW50ZXJEb3duUmlnaHQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLnBvaW50ZXJEb3duJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnBvaW50ZXJEb3duJC5uZXh0KGV2ZW50IGFzIFR1aUV2ZW50V2l0aDxNb3VzZUV2ZW50LCBIVE1MRWxlbWVudD4pO1xuICAgIH1cblxuICAgIG9uVG91Y2hTdGFydChldmVudDogVG91Y2hFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wb2ludGVyRG93biQubmV4dChldmVudCBhcyBUdWlFdmVudFdpdGg8VG91Y2hFdmVudCwgSFRNTEVsZW1lbnQ+KTtcbiAgICB9XG5cbiAgICBnZXRTZWdtZW50TGFiZWwoc2VnbWVudDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHJvdW5kKHRoaXMuZ2V0VmFsdWVGcm9tRnJhY3Rpb24oc2VnbWVudCAvIHRoaXMuc2VnbWVudHMpLCAyKTtcbiAgICB9XG5cbiAgICBnZXRTZWdtZW50UHJlZml4KHNlZ21lbnQ6IG51bWJlciwgdGV4dHM6IFtzdHJpbmcsIHN0cmluZ10pOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zZWdtZW50cyAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlZ21lbnQgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0ZXh0c1swXX0gYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0ZXh0c1sxXX0gYDtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIG9uTGVmdEZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c1Zpc2libGVMZWZ0ID0gZm9jdXNWaXNpYmxlO1xuICAgIH1cblxuICAgIG9uUmlnaHRGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNWaXNpYmxlUmlnaHQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVGcm9tRnJhY3Rpb24oZnJhY3Rpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVN0ZXBzICE9PSBudWxsXG4gICAgICAgICAgICA/IHRoaXMuZnJhY3Rpb25WYWx1ZUtleVN0ZXBDb252ZXJ0ZXIoZnJhY3Rpb24sIHRydWUpXG4gICAgICAgICAgICA6IHJvdW5kKFxuICAgICAgICAgICAgICAgICAgdGhpcy5mcmFjdGlvbkd1YXJkKGZyYWN0aW9uKSAqIHRoaXMubGVuZ3RoICsgdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGZyYWN0aW9uR3VhcmQoZnJhY3Rpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2NyZXRlXG4gICAgICAgICAgICA/IGNsYW1wKHF1YW50aXplKGZyYWN0aW9uLCAxIC8gdGhpcy5zdGVwcyksIDAsIDEpXG4gICAgICAgICAgICA6IGNsYW1wKGZyYWN0aW9uLCAwLCAxKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RnJhY3Rpb25Gcm9tVmFsdWUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gKHZhbHVlIC0gdGhpcy5taW4pIC8gdGhpcy5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMua2V5U3RlcHMgIT09IG51bGxcbiAgICAgICAgICAgID8gdGhpcy5mcmFjdGlvblZhbHVlS2V5U3RlcENvbnZlcnRlcih2YWx1ZSwgZmFsc2UpXG4gICAgICAgICAgICA6IGNsYW1wKE51bWJlci5pc0Zpbml0ZShmcmFjdGlvbikgPyBmcmFjdGlvbiA6IDEsIDAsIDEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDYWxpYnJhdGVkRnJhY3Rpb25Gcm9tRXZlbnRzKFxuICAgICAgICByZWN0OiBDbGllbnRSZWN0LFxuICAgICAgICBjbGllbnRYOiBudW1iZXIsXG4gICAgICAgIF86IGJvb2xlYW4sXG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RnJhY3Rpb25Gcm9tRXZlbnRzKHJlY3QsIGNsaWVudFgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWx1ZUd1YXJkKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWFudHVtXG4gICAgICAgICAgICA/IGNsYW1wKFxuICAgICAgICAgICAgICAgICAgcm91bmQoXG4gICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICAgICAgICAgICAgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTixcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGNsYW1wKHZhbHVlLCB0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0ZvY3VzKHJpZ2h0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2FibGUgfHwgIXRoaXMuZG90UmlnaHQgfHwgIXRoaXMuZG90TGVmdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJpZ2h0KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZG90UmlnaHQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZG90TGVmdC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIGZvciBjb252ZXJ0aW5nIHRoZSBmdWxsbmVzcyBvZiB0aGUgc2xpZGVyIHRvIGEgdmFsdWUgYW5kIHZpY2UgdmVyc2FcbiAgICAgKiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdGVwcyBvZiBsaW5lYXIgZGVwZW5kZW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBwYXNzZWQgdmFsdWVcbiAgICAgKiBAcGFyYW0gaXNGcmFjdGlvbiB0cmFuc2xhdGlvbiBpcyBjYXJyaWVkIG91dCBmcm9tIGZ1bGxuZXNzIHRvIHZhbHVlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmcmFjdGlvblZhbHVlS2V5U3RlcENvbnZlcnRlcih2YWx1ZTogbnVtYmVyLCBpc0ZyYWN0aW9uOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgc3RlcHMgPSBbWzAsIHRoaXMubWluXV0uY29uY2F0KHRoaXMua2V5U3RlcHMgYXMgVHVpS2V5U3RlcHMsIFtcbiAgICAgICAgICAgIFsxMDAsIHRoaXMubWF4XSxcbiAgICAgICAgXSk7XG5cbiAgICAgICAgbGV0IHByZXZGcmFjdGlvbiA9IDA7XG4gICAgICAgIGxldCBuZXh0RnJhY3Rpb24gPSAxMDA7XG4gICAgICAgIGxldCBwcmV2VmFsdWUgPSB0aGlzLm1pbjtcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IHRoaXMubWF4O1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoaXNGcmFjdGlvbiAmJiBzdGVwc1tpXVswXSAvIDEwMCA+IHZhbHVlKSB8fFxuICAgICAgICAgICAgICAgICghaXNGcmFjdGlvbiAmJiBzdGVwc1tpXVsxXSA+IHZhbHVlKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcHJldkZyYWN0aW9uID0gc3RlcHNbaSAtIDFdWzBdIHx8IDA7XG4gICAgICAgICAgICAgICAgbmV4dEZyYWN0aW9uID0gc3RlcHNbaV1bMF07XG4gICAgICAgICAgICAgICAgcHJldlZhbHVlID0gc3RlcHNbaSAtIDFdWzFdO1xuICAgICAgICAgICAgICAgIG5leHRWYWx1ZSA9IHN0ZXBzW2ldWzFdO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVsdGFGcmFjdGlvbiA9IG5leHRGcmFjdGlvbiAtIHByZXZGcmFjdGlvbjtcbiAgICAgICAgY29uc3QgZGVsdGFWYWx1ZSA9IG5leHRWYWx1ZSAtIHByZXZWYWx1ZTtcblxuICAgICAgICByZXR1cm4gaXNGcmFjdGlvblxuICAgICAgICAgICAgPyByb3VuZChcbiAgICAgICAgICAgICAgICAgICgodmFsdWUgKiAxMDAgLSBwcmV2RnJhY3Rpb24pIC8gZGVsdGFGcmFjdGlvbikgKiBkZWx0YVZhbHVlICsgcHJldlZhbHVlLFxuICAgICAgICAgICAgICAgICAgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTixcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBjbGFtcChcbiAgICAgICAgICAgICAgICAgICgodmFsdWUgLSBwcmV2VmFsdWUpIC8gZGVsdGFWYWx1ZSkgKiBkZWx0YUZyYWN0aW9uICsgcHJldkZyYWN0aW9uLFxuICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgICAgKSAvIDEwMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZyYWN0aW9uRnJvbUV2ZW50cyhyZWN0OiBDbGllbnRSZWN0LCBjbGllbnRYOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNsaWVudFggLSByZWN0LmxlZnQgLSBET1RfV0lEVEhbdGhpcy5zaXplXSAvIDI7XG4gICAgICAgIGNvbnN0IHRvdGFsID0gcmVjdC53aWR0aCAtIERPVF9XSURUSFt0aGlzLnNpemVdO1xuXG4gICAgICAgIHJldHVybiByb3VuZCh2YWx1ZSAvIHRvdGFsLCBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OKTtcbiAgICB9XG59XG4iXX0=
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9hYnN0cmFjdC8iLCJzb3VyY2VzIjpbInNsaWRlci9zbGlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLDBCQUEwQixFQUMxQixRQUFRLEVBQ1IsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsY0FBYyxFQUdkLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILGlCQUFpQixHQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDekMsTUFBTSxDQUFDLElBQU0sU0FBUyxHQUE0QjtJQUM5QyxDQUFDLEVBQUUsQ0FBQztJQUNKLENBQUMsRUFBRSxFQUFFO0NBQ1IsQ0FBQztBQUVGOzs7O0dBSUc7QUFFSDtJQUNZLHFDQUFxQjtJQTBEN0IsMkJBQ0ksU0FBMkIsRUFDM0IsaUJBQW9DLEVBQ25CLFdBQXFCLEVBRTdCLFlBQTBDO1FBTHZELFlBT0ksa0JBQU0s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QWlCLENBOFV0QztJQUFELHdCQUFDO0NBQUEsQUE5VUQsQ0FDWSxrQkFBa0IsR0E2VTdCO1NBOVVxQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIGNsYW1wLFxuICAgIG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLFxuICAgIHF1YW50aXplLFxuICAgIHJvdW5kLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlFdmVudFdpdGgsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aVBsdXJhbGl6ZSxcbiAgICB0dWlQbHVyYWxpemVUb0lDVSxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGUsIHJhY2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBTTElERVJfS0VZQk9BUkRfU1RFUCA9IDAuMDU7XG5leHBvcnQgY29uc3QgRE9UX1dJRFRIOiB7W2tleTogc3RyaW5nXTogbnVtYmVyfSA9IHtcbiAgICBzOiA4LFxuICAgIG06IDE2LFxufTtcblxuLyoqXG4gKiBAYXdmdWwgVE9ETzogMy4wIHJlbW92ZVxuICogQGludGVybmFsXG4gKiBAZHluYW1pY1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFR1aVNsaWRlcjxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFQ+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPlxue1xuICAgIC8vIEBiYWQgVE9ETzogaGFuZGxlIHBvaW50ZXIgZXZlbnRzIGluc3RlYWQgb2YgbW91c2UgYW5kIHRvdWNoIGV2ZW50c1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9pbnRlckRvd24kID0gbmV3IFN1YmplY3Q8XG4gICAgICAgIFR1aUV2ZW50V2l0aDxNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgSFRNTEVsZW1lbnQ+XG4gICAgPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnZG90TGVmdCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgZG90TGVmdD86IEVsZW1lbnRSZWY8VHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdkb3RSaWdodCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgZG90UmlnaHQ/OiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0ZXBzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG4gICAgcXVhbnR1bSA9IDA7XG5cbiAgICAvLyBUT0RPOiByZW1vdmUgc2V0dGVyIGluIHYzLjA6XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBwbHVyYWxpemUocGx1cmFsaXplOiBUdWlQbHVyYWxpemUgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLnBsdXJhbGl6ZU1hcCA9IEFycmF5LmlzQXJyYXkocGx1cmFsaXplKVxuICAgICAgICAgICAgPyB0dWlQbHVyYWxpemVUb0lDVShwbHVyYWxpemUpXG4gICAgICAgICAgICA6IHBsdXJhbGl6ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBmb2N1c1Zpc2libGVMZWZ0ID0gZmFsc2U7XG5cbiAgICBmb2N1c1Zpc2libGVSaWdodCA9IGZhbHNlO1xuXG4gICAgcGx1cmFsaXplTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfRlJPTV9UT19URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZnJvbVRvVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcihuZ0NvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zZWdtZW50ZWQnKVxuICAgIGdldCBzZWdtZW50ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlZ21lbnRzID4gMDtcbiAgICB9XG5cbiAgICBnZXQgZGlzY3JldGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzID4gMDtcbiAgICB9XG5cbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heCAtIHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcHMpIHtcbiAgICAgICAgICAgIHJldHVybiAxIC8gdGhpcy5zdGVwcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1YW50dW0gPyB0aGlzLnF1YW50dW0gLyB0aGlzLmxlbmd0aCA6IFNMSURFUl9LRVlCT0FSRF9TVEVQO1xuICAgIH1cblxuICAgIGdldCBpc0xlZnRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvY3VzYWJsZSAmJiB0aGlzLnJpZ2h0ICE9PSAxMDA7XG4gICAgfVxuXG4gICAgZ2V0IGlzUmlnaHRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvY3VzYWJsZSAmJiB0aGlzLmxlZnQgIT09IDEwMDtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBnZXQgbGVmdCgpOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgZ2V0IHJpZ2h0KCk6IG51bWJlcjtcbiAgICBhYnN0cmFjdCBwcm9jZXNzVmFsdWUodmFsdWU6IG51bWJlciwgcmlnaHQ/OiBib29sZWFuKTogdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZXMkID0gdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNlbW92ZScpO1xuICAgICAgICBjb25zdCBtb3VzZVVwcyQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCB0b3VjaE1vdmVzJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICd0b3VjaG1vdmUnKTtcbiAgICAgICAgY29uc3QgdG91Y2hFbmRzJCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICd0b3VjaGVuZCcpO1xuICAgICAgICBsZXQgaXNQb2ludGVyRG93blJpZ2h0OiBib29sZWFuO1xuXG4gICAgICAgIHRoaXMucG9pbnRlckRvd24kXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBldmVudC5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGllbnRYID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXZlbnQuY2xpZW50WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGNsYW1wKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGcmFjdGlvbkZyb21FdmVudHMocmVjdCwgY2xpZW50WCksXG4gICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgMSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFMZWZ0ID0gZnJhY3Rpb24gKiAxMDAgLSB0aGlzLmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhUmlnaHQgPSBmcmFjdGlvbiAqIDEwMCAtIDEwMCArIHRoaXMucmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaXNQb2ludGVyRG93blJpZ2h0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKGRlbHRhTGVmdCkgPiBNYXRoLmFicyhkZWx0YVJpZ2h0KSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFSaWdodCA+IDAgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmxlZnQgPT09IDAgJiYgdGhpcy5yaWdodCA9PT0gMTAwKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYWxpYnJhdGVkRnJhY3Rpb24gPSBjbGFtcChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FsaWJyYXRlZEZyYWN0aW9uRnJvbUV2ZW50cyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQb2ludGVyRG93blJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAxLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tRnJhY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZyYWN0aW9uR3VhcmQoY2FsaWJyYXRlZEZyYWN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZSh2YWx1ZSwgaXNQb2ludGVyRG93blJpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRm9jdXMoaXNQb2ludGVyRG93blJpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVjdDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVjdCA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlKFt0b3VjaE1vdmVzJCwgbW91c2VNb3ZlcyRdKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDYWxpYnJhdGVkRnJhY3Rpb25Gcm9tRXZlbnRzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZXZlbnQuY2xpZW50WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBldmVudC50b3VjaGVzWzBdLmNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUG9pbnRlckRvd25SaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChyYWNlKFttb3VzZVVwcyQsIHRvdWNoRW5kcyRdKSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtYXAoZnJhY3Rpb24gPT4gdGhpcy5mcmFjdGlvbkd1YXJkKGZyYWN0aW9uKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZyYWN0aW9uID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRWYWx1ZUZyb21GcmFjdGlvbihmcmFjdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIGlzUG9pbnRlckRvd25SaWdodCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMucG9pbnRlckRvd24kLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucG9pbnRlckRvd24kLm5leHQoZXZlbnQgYXMgVHVpRXZlbnRXaXRoPE1vdXNlRXZlbnQsIEhUTUxFbGVtZW50Pik7XG4gICAgfVxuXG4gICAgb25Ub3VjaFN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnBvaW50ZXJEb3duJC5uZXh0KGV2ZW50IGFzIFR1aUV2ZW50V2l0aDxUb3VjaEV2ZW50LCBIVE1MRWxlbWVudD4pO1xuICAgIH1cblxuICAgIGdldFNlZ21lbnRMYWJlbChzZWdtZW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcm91bmQodGhpcy5nZXRWYWx1ZUZyb21GcmFjdGlvbihzZWdtZW50IC8gdGhpcy5zZWdtZW50cyksIDIpO1xuICAgIH1cblxuICAgIGdldFNlZ21lbnRQcmVmaXgoc2VnbWVudDogbnVtYmVyLCB0ZXh0czogW3N0cmluZywgc3RyaW5nXSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnNlZ21lbnRzICE9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VnbWVudCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke3RleHRzWzBdfSBgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke3RleHRzWzFdfSBgO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgb25MZWZ0Rm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzVmlzaWJsZUxlZnQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgb25SaWdodEZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c1Zpc2libGVSaWdodCA9IGZvY3VzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXRWYWx1ZUZyb21GcmFjdGlvbihmcmFjdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5U3RlcHMgIT09IG51bGxcbiAgICAgICAgICAgID8gdGhpcy5mcmFjdGlvblZhbHVlS2V5U3RlcENvbnZlcnRlcihmcmFjdGlvbiwgdHJ1ZSlcbiAgICAgICAgICAgIDogcm91bmQoXG4gICAgICAgICAgICAgICAgICB0aGlzLmZyYWN0aW9uR3VhcmQoZnJhY3Rpb24pICogdGhpcy5sZW5ndGggKyB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZnJhY3Rpb25HdWFyZChmcmFjdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzY3JldGVcbiAgICAgICAgICAgID8gY2xhbXAocXVhbnRpemUoZnJhY3Rpb24sIDEgLyB0aGlzLnN0ZXBzKSwgMCwgMSlcbiAgICAgICAgICAgIDogY2xhbXAoZnJhY3Rpb24sIDAsIDEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGcmFjdGlvbkZyb21WYWx1ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSAodmFsdWUgLSB0aGlzLm1pbikgLyB0aGlzLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gdGhpcy5rZXlTdGVwcyAhPT0gbnVsbFxuICAgICAgICAgICAgPyB0aGlzLmZyYWN0aW9uVmFsdWVLZXlTdGVwQ29udmVydGVyKHZhbHVlLCBmYWxzZSlcbiAgICAgICAgICAgIDogY2xhbXAoTnVtYmVyLmlzRmluaXRlKGZyYWN0aW9uKSA/IGZyYWN0aW9uIDogMSwgMCwgMSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldENhbGlicmF0ZWRGcmFjdGlvbkZyb21FdmVudHMoXG4gICAgICAgIHJlY3Q6IENsaWVudFJlY3QsXG4gICAgICAgIGNsaWVudFg6IG51bWJlcixcbiAgICAgICAgXzogYm9vbGVhbixcbiAgICApOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGcmFjdGlvbkZyb21FdmVudHMocmVjdCwgY2xpZW50WCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlR3VhcmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1YW50dW1cbiAgICAgICAgICAgID8gY2xhbXAoXG4gICAgICAgICAgICAgICAgICByb3VuZChcbiAgICAgICAgICAgICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIHRoaXMubWluLFxuICAgICAgICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogY2xhbXAodmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRm9jdXMocmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzYWJsZSB8fCAhdGhpcy5kb3RSaWdodCB8fCAhdGhpcy5kb3RMZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmlnaHQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5kb3RSaWdodC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5kb3RMZWZ0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgdGhlIGZ1bGxuZXNzIG9mIHRoZSBzbGlkZXIgdG8gYSB2YWx1ZSBhbmQgdmljZSB2ZXJzYVxuICAgICAqIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN0ZXBzIG9mIGxpbmVhciBkZXBlbmRlbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlIHBhc3NlZCB2YWx1ZVxuICAgICAqIEBwYXJhbSBpc0ZyYWN0aW9uIHRyYW5zbGF0aW9uIGlzIGNhcnJpZWQgb3V0IGZyb20gZnVsbG5lc3MgdG8gdmFsdWVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZyYWN0aW9uVmFsdWVLZXlTdGVwQ29udmVydGVyKHZhbHVlOiBudW1iZXIsIGlzRnJhY3Rpb246IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICBjb25zdCBzdGVwcyA9IFtbMCwgdGhpcy5taW5dXS5jb25jYXQodGhpcy5rZXlTdGVwcyBhcyBUdWlLZXlTdGVwcywgW1xuICAgICAgICAgICAgWzEwMCwgdGhpcy5tYXhdLFxuICAgICAgICBdKTtcblxuICAgICAgICBsZXQgcHJldkZyYWN0aW9uID0gMDtcbiAgICAgICAgbGV0IG5leHRGcmFjdGlvbiA9IDEwMDtcbiAgICAgICAgbGV0IHByZXZWYWx1ZSA9IHRoaXMubWluO1xuICAgICAgICBsZXQgbmV4dFZhbHVlID0gdGhpcy5tYXg7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzdGVwcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIChpc0ZyYWN0aW9uICYmIHN0ZXBzW2ldWzBdIC8gMTAwID4gdmFsdWUpIHx8XG4gICAgICAgICAgICAgICAgKCFpc0ZyYWN0aW9uICYmIHN0ZXBzW2ldWzFdID4gdmFsdWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBwcmV2RnJhY3Rpb24gPSBzdGVwc1tpIC0gMV1bMF0gfHwgMDtcbiAgICAgICAgICAgICAgICBuZXh0RnJhY3Rpb24gPSBzdGVwc1tpXVswXTtcbiAgICAgICAgICAgICAgICBwcmV2VmFsdWUgPSBzdGVwc1tpIC0gMV1bMV07XG4gICAgICAgICAgICAgICAgbmV4dFZhbHVlID0gc3RlcHNbaV1bMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWx0YUZyYWN0aW9uID0gbmV4dEZyYWN0aW9uIC0gcHJldkZyYWN0aW9uO1xuICAgICAgICBjb25zdCBkZWx0YVZhbHVlID0gbmV4dFZhbHVlIC0gcHJldlZhbHVlO1xuXG4gICAgICAgIHJldHVybiBpc0ZyYWN0aW9uXG4gICAgICAgICAgICA/IHJvdW5kKFxuICAgICAgICAgICAgICAgICAgKCh2YWx1ZSAqIDEwMCAtIHByZXZGcmFjdGlvbikgLyBkZWx0YUZyYWN0aW9uKSAqIGRlbHRhVmFsdWUgKyBwcmV2VmFsdWUsXG4gICAgICAgICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGNsYW1wKFxuICAgICAgICAgICAgICAgICAgKCh2YWx1ZSAtIHByZXZWYWx1ZSkgLyBkZWx0YVZhbHVlKSAqIGRlbHRhRnJhY3Rpb24gKyBwcmV2RnJhY3Rpb24sXG4gICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgICApIC8gMTAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RnJhY3Rpb25Gcm9tRXZlbnRzKHJlY3Q6IENsaWVudFJlY3QsIGNsaWVudFg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY2xpZW50WCAtIHJlY3QubGVmdCAtIERPVF9XSURUSFt0aGlzLnNpemVdIC8gMjtcbiAgICAgICAgY29uc3QgdG90YWwgPSByZWN0LndpZHRoIC0gRE9UX1dJRFRIW3RoaXMuc2l6ZV07XG5cbiAgICAgICAgcmV0dXJuIHJvdW5kKHZhbHVlIC8gdG90YWwsIFRVSV9GTE9BVElOR19QUkVDSVNJT04pO1xuICAgIH1cbn1cbiJdfQ==
|