mis-crystal-design-system 18.0.22 → 18.0.23
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/datepicker_v2/datepicker-constants.d.ts +6 -0
- package/datepicker_v2/datepicker.module.d.ts +6 -5
- package/datepicker_v2/models/dp-config.model.d.ts +3 -0
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +12 -1
- package/daterangepicker_v2/daterangepicker.module.d.ts +6 -5
- package/daterangepicker_v2/models/drp-config.model.d.ts +2 -0
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +20 -0
- package/esm2022/action-list/action-list.component.mjs +2 -2
- package/esm2022/action-list/action-list.module.mjs +2 -2
- package/esm2022/analytics/analytics.module.mjs +2 -2
- package/esm2022/analytics/analytics.service.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.module.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button/button.directive.mjs +2 -2
- package/esm2022/button/button.module.mjs +2 -2
- package/esm2022/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.module.mjs +2 -2
- package/esm2022/chip/chip.component.mjs +2 -2
- package/esm2022/chip/chip.module.mjs +2 -2
- package/esm2022/datepicker_v2/datepicker-constants.mjs +7 -1
- package/esm2022/datepicker_v2/datepicker.module.mjs +6 -5
- package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +2 -2
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +500 -95
- package/esm2022/datepicker_v2/utils/index.mjs +1 -1
- package/esm2022/daterangepicker_v2/daterangepicker.module.mjs +6 -5
- package/esm2022/daterangepicker_v2/models/drp-config.model.mjs +1 -1
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +2 -2
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +481 -54
- package/esm2022/daterangepicker_v2/utils/index.mjs +1 -1
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +2 -2
- package/esm2022/drawer/drawer.module.mjs +2 -2
- package/esm2022/drawer/drawer.service.mjs +2 -2
- package/esm2022/dropdown/calculate-container-height.directive.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.module.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.module.mjs +2 -2
- package/esm2022/fab/fab.component.mjs +2 -2
- package/esm2022/fab/fab.module.mjs +2 -2
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +2 -2
- package/esm2022/filter/filters.module.mjs +2 -2
- package/esm2022/filter/has-value.pipe.mjs +2 -2
- package/esm2022/input/directives/input/input.directive.mjs +2 -2
- package/esm2022/input/mis-input.component.mjs +2 -2
- package/esm2022/input/mis-input.module.mjs +2 -2
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +2 -2
- package/esm2022/input-stepper/input-stepper.module.mjs +2 -2
- package/esm2022/loader/loader.component.mjs +2 -2
- package/esm2022/loader/loader.module.mjs +2 -2
- package/esm2022/menu/menu-close.directive.mjs +3 -3
- package/esm2022/menu/menu.directive.mjs +3 -3
- package/esm2022/menu/menu.module.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.component.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.module.mjs +2 -2
- package/esm2022/modal/modal.module.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +2 -2
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.module.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +2 -2
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/esm2022/phone-input/phone-input.module.mjs +2 -2
- package/esm2022/radio-button/radio-button.component.mjs +2 -2
- package/esm2022/radio-button/radio-button.module.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.component.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.module.mjs +2 -2
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/slider/slider.module.mjs +2 -2
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +2 -2
- package/esm2022/snackbar/snackbar.module.mjs +2 -2
- package/esm2022/snackbar/snackbar.service.mjs +2 -2
- package/esm2022/specificdatepicker/specificdatepicker.module.mjs +2 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +2 -2
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +2 -2
- package/esm2022/specificdatepicker/utils/index.mjs +1 -1
- package/esm2022/star-rating/star-rating.component.mjs +2 -2
- package/esm2022/star-rating/star-rating.module.mjs +2 -2
- package/esm2022/switch/switch.component.mjs +2 -2
- package/esm2022/switch/switch.module.mjs +2 -2
- package/esm2022/table/actions-cell/actions-cell.component.mjs +4 -4
- package/esm2022/table/custom-table-cell.directive.mjs +2 -2
- package/esm2022/table/filter/filter.component.mjs +2 -2
- package/esm2022/table/sort-icons.directive.mjs +3 -3
- package/esm2022/table/sub-table/sub-table.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +98 -81
- package/esm2022/table/table.module.mjs +2 -2
- package/esm2022/timepicker/timepicker.component.mjs +2 -2
- package/esm2022/timepicker/timepicker.directive.mjs +3 -3
- package/esm2022/timepicker/timepicker.module.mjs +2 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +2 -2
- package/esm2022/timerangepicker/timerangepicker.module.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +2 -2
- package/esm2022/toast/toast.data.service.mjs +2 -2
- package/esm2022/toast/toast.module.mjs +2 -2
- package/esm2022/toast/toast.service.mjs +2 -2
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +2 -2
- package/esm2022/tooltip/tooltip.directive.mjs +2 -2
- package/esm2022/tooltip/tooltip.module.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +2 -2
- package/esm2022/virtual-scroll/virtual-scroll.module.mjs +2 -2
- package/esm2022/widgets/classes/async-widget.mjs +1 -1
- package/esm2022/widgets/classes/base-widget.mjs +1 -1
- package/esm2022/widgets/classes/sync-widget.mjs +1 -1
- package/esm2022/widgets/services/widget.service.mjs +2 -2
- package/esm2022/widgets/widgets.module.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-action-list.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-analytics.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +513 -102
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +488 -61
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-menu.mjs +6 -6
- package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +107 -90
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +5 -5
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +4 -4
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-utils.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +3 -3
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/package.json +7 -7
- package/table/table.component.d.ts +1 -1
|
@@ -955,7 +955,7 @@ export class DynamicFormComponent {
|
|
|
955
955
|
else
|
|
956
956
|
return formValue;
|
|
957
957
|
}
|
|
958
|
-
static { this.ɵfac = function DynamicFormComponent_Factory(
|
|
958
|
+
static { this.ɵfac = function DynamicFormComponent_Factory(t) { return new (t || DynamicFormComponent)(); }; }
|
|
959
959
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormComponent, selectors: [["mis-dynamic-form"]], contentQueries: function DynamicFormComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
960
960
|
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
961
961
|
i0.ɵɵcontentQuery(dirIndex, _c1, 5);
|
|
@@ -1090,4 +1090,4 @@ export const dynamicFieldValidator = (validators) => {
|
|
|
1090
1090
|
return errors;
|
|
1091
1091
|
};
|
|
1092
1092
|
};
|
|
1093
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBKLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ010RCw2QkFBc0c7SUFDcEcsNEJBTWU7Ozs7Ozs7Ozs7SUFMYixjQUFpQztJQUNqQyxBQURBLGtEQUFpQyw0T0FJL0I7OztJQVBSLCtCQUE4TjtJQUM1Tiw2R0FBc0c7SUFTeEcsaUJBQU07OztJQVRzQyxjQUE2QztJQUE3QyxxRUFBNkM7OztJQVgzRixpQ0FBa0g7SUFDOUcsNEJBUWE7SUFDZixxRkFBOE47Ozs7Ozs7SUFWbE4sb0NBQW1CO0lBRTdCLGNBQWlDO0lBQ2pDLEFBREEsa0RBQWlDLGlJQUsvQjtJQUcyQixjQUE2TDtJQUE3TCxzbkJBQTZMOzs7O0lBb0I5Tiw2QkFBeUU7SUFDdkUsa0lBR0M7Ozs7Ozs7O0lBRkMsY0FBMEM7SUFDMUMsQUFEQSwrREFBMEMsOEZB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QyxJQUFHLEtBQUs7d0JBQUUsS0FBSyxHQUFHLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFBO29CQUNsQyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUN6RCxJQUFHLEtBQUs7d0JBQUUsS0FBSyxHQUFHLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxDQUFBO29CQUNuQyxNQUFNO2dCQUNSO29CQUNFLE1BQU07WUFDVixDQUFDO1lBQ0QsSUFBSSxLQUFLO2dCQUFFLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUE7UUFDN0MsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5zRHluYW1pY0Zvcm0gfSBmcm9tIFwiLi9keW5hbWljLWZvcm0ubmFtZXNwYWNlXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnXG5cbmRheWpzLmV4dGVuZCh1dGMpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKTtcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWR5bmFtaWMtZm9ybVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogZm9ybUZpZWxkczogIER5bmFtaWMgZmllbGRzIHJlY2lldmVkIGZyb20gdGhlIEFQSSBtZXRhZGF0YSB0byBidWlsZCBhIGR5bmFtaWMgZm9ybVxuICAgKiBmb3JtVmFsdWVzOiAgSG9sZHMgdGhlIHZhbHVlIG9mIHRoZSBkeW5hbWljIGZvcm0gd2l0aCBcImtleVwiIGJlaW5nIGR5bmFtaWMgZmllbGQgXCJ0aXRsZVwiXG4gICAqICAgICAgICAgICAgICBhbmQgdmFsdWUgYmVpbmcgdGhlIHVzZXIgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtRmllbGRzOiBBcnJheTxOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQ+ID0gW107XG4gIEBJbnB1dCgpIGZvcm1WYWx1ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgLy8gTmVlZCB0byBkZXByZWNhdGUgdGhlc2UgaW5wdXRzIGFuZCB1c2UgY29uc3RhbnRzLlxuICBASW5wdXQoKSBhY3RpdmVCdG5JY29uVXJsID0gXCJcIjtcbiAgQElucHV0KCkgY2FsZW5kYXJJY29uVXJsID0gXCJcIjtcbiAgQElucHV0KCkgcmVtb3ZlSWNvblVybCA9IFwiXCI7XG4gIEBJbnB1dCgpIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzID0gZmFsc2U7XG4gIC8qKlxuICAgKiBkeW5hbWljRm9ybTogQ29uc3RydWN0ZWQgdXNpbmcgZm9ybUZpZWxkcyBhbmQgZm9ybVZhbHVlcyhpbiBjYXNlIG9mIGVkaXQpXG4gICAqL1xuICBkeW5hbWljRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogZm9ybVVwZGF0ZWQ6IEVtaXRzIGZvcm1WYWx1ZXMgT2JqZWN0IHdoZW5ldmVyIHRoZXJlIGlzIGEgY2hhbmdlIGluIHRoZSBkeW5hbWljIGZvcm0uXG4gICAqL1xuICBAT3V0cHV0KCkgZm9ybVVwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgW2tleTogc3RyaW5nXTogYW55IH0+KCk7XG4gIC8qKlxuICAgKiBmb3JtVmFsaWQ6IEVtaXRzIGJvb2xlYW4gZGVwZW5kaW5nIG9uIHZhbGlkaXR5IG9mIHRoZSBmb3JtXG4gICAqL1xuICBAT3V0cHV0KCkgZm9ybVZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAvKipcbiAgICogZm9ybUluaXRpYWxpemVkOiBFbWl0cyBkeW5hbWljIGZvcm0gQVBJIG9uIGZvcm0gaW5pdGlsaXphdGlvblxuICAgKi9cbiAgQE91dHB1dCgpIGZvcm1Jbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmllbGRSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUlucHV0VGV4dE51bWJlclwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tSW5wdXRUZXh0TnVtYmVyOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21JbnB1dFRleHRhcmVhXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JbnB1dFRleHRhcmVhOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tSW5wdXREYXRlXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JbnB1dERhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21Cb29sZWFuVG9nZ2xlXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21Cb29sZWFuVG9nZ2xlOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbVNpbmdsZVNlbGVjdERyb3Bkb3duOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tU2luZ2xlU2VsZWN0UmFkaW9cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveDogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd246IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIGR5bmFtaWNGb3JtQVBJOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRm9ybUFQSTtcbiAgdmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBCdWlsZGluZyB0aGUgZm9ybVxuICAgIHRoaXMuZHluYW1pY0Zvcm0gPSB0aGlzLmdlbmVyYXRlRHluYW1pY0Zvcm0odGhpcy5mb3JtRmllbGRzLCB0aGlzLmZvcm1WYWx1ZXMpO1xuXG4gICAgLy8gU3Vic2NyaWJpbmcgdG8gZm9ybSBjaGFuZ2VzIGFuZCBlbWl0aW5nIHZhbHVlcy5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiQgPSB0aGlzLmR5bmFtaWNGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoZm9ybVZhbHVlID0+IHtcbiAgICAgIHRoaXMub25Gb3JtVmFsdWVDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICAvL2FwaSB0byBleHBvc2UgZnVuY3Rpb25zXG4gICAgdGhpcy5keW5hbWljRm9ybUFQSSA9IHtcbiAgICAgIGRlZmF1bHRGb3JtVmFsdWVzOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRHluYW1pY0ZpZWxkc1ZhbHVlT2JqZWN0KHRoaXMuZHluYW1pY0Zvcm0udmFsdWUuZHluYW1pY0ZpZWxkcyk7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmZvcm1Jbml0aWFsaXplZC5lbWl0KHRoaXMuZHluYW1pY0Zvcm1BUEkpO1xuICAgIHRoaXMuZm9ybVZhbGlkLmVtaXQodGhpcy5keW5hbWljRm9ybS52YWxpZCk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24kPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIG9uRm9ybVZhbHVlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBsZXQgZm9ybVZhbHVlcyA9IHRoaXMuZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QodGhpcy5keW5hbWljRm9ybS52YWx1ZS5keW5hbWljRmllbGRzKTtcbiAgICB0aGlzLmZvcm1WYWxpZC5lbWl0KHRoaXMuZHluYW1pY0Zvcm0udmFsaWQpO1xuICAgIHRoaXMuZm9ybVVwZGF0ZWQuZW1pdChmb3JtVmFsdWVzKTtcbiAgICBjb25zb2xlLmxvZyhmb3JtVmFsdWVzKVxuICB9XG4gIGdlbmVyYXRlRHluYW1pY0ZpZWxkc1ZhbHVlT2JqZWN0KGZvcm1WYWx1ZXM6IEFycmF5PGFueT4pOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBsZXQgZHluYW1pY0ZpZWxkc1ZhbHVlID0ge307XG4gICAgZm9ybVZhbHVlcy5mb3JFYWNoKChmaWVsZFZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgaWYodHlwZW9mIGZpZWxkVmFsdWU/LnZhbHVlID09PSAnc3RyaW5nJykgZmllbGRWYWx1ZS52YWx1ZSA9IGZpZWxkVmFsdWU/LnZhbHVlPy50cmltKClcbiAgICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMubWFwRm9ybUZpZWxkVG9Gb3JtVmFsdWUodGhpcy5mb3JtRmllbGRzW2luZGV4XSwgZmllbGRWYWx1ZS52YWx1ZSk7XG4gICAgICBpZiAoZmllbGRWYWx1ZS5zdWJGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IGZvcm1hdHRlZFN1YkZpZWxkc1ZhbHVlcyA9IHt9XG4gICAgICAgIGxldCBzdWJGaWVsZCA9IHRoaXMuZm9ybUZpZWxkc1tpbmRleF0uc3ViRmllbGRzXG4gICAgICAgIGlmKHRoaXMuZm9ybUZpZWxkc1tpbmRleF0uZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyB8fCB0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmZpZWxkVHlwZSA9PT0gJ211bHRpU2VsZWN0Jykge1xuICAgICAgICAgIHN1YkZpZWxkID0gc3ViRmllbGQuZmlsdGVyKChzdWJGaWVsZCkgPT4gc3ViRmllbGQucGFyZW50Q29uZmlnVmFsdWUgPT09IGZpZWxkVmFsdWUudmFsdWUudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGZpZWxkVmFsdWUuc3ViRmllbGRzLmZvckVhY2goKHN1YkZpZWxkVmFsdWUsIHN1YkluZGV4KSA9PiB7XG4gICAgICAgICAgbGV0IHN1YkZvcm1GaWVsZCA9IHN1YkZpZWxkW3N1YkluZGV4XVxuICAgICAgICAgIGlmKHR5cGVvZiBzdWJGaWVsZFZhbHVlPy52YWx1ZSA9PT0gJ3N0cmluZycpIHN1YkZpZWxkVmFsdWUudmFsdWUgPSBzdWJGaWVsZFZhbHVlPy52YWx1ZT8udHJpbSgpXG4gICAgICAgICAgZm9ybWF0dGVkU3ViRmllbGRzVmFsdWVzW3N1YkZvcm1GaWVsZC5jb25maWdOYW1lXSA9IHRoaXMubWFwRm9ybUZpZWxkVG9Gb3JtVmFsdWUoc3ViRm9ybUZpZWxkLCBzdWJGaWVsZFZhbHVlKVxuICAgICAgICB9KVxuICAgICAgICBkeW5hbWljRmllbGRzVmFsdWVbdGhpcy5mb3JtRmllbGRzW2luZGV4XS5jb25maWdOYW1lXSA9IHtcbiAgICAgICAgICB2YWx1ZTogZm9ybWF0dGVkVmFsdWUsXG4gICAgICAgICAgc3ViRmllbGRzOiBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXNcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGR5bmFtaWNGaWVsZHNWYWx1ZVt0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmNvbmZpZ05hbWVdID0gZm9ybWF0dGVkVmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGR5bmFtaWNGaWVsZHNWYWx1ZTtcbiAgfVxuICBnZW5lcmF0ZUR5bmFtaWNGb3JtKFxuICAgIGZvcm1GaWVsZHM6IEFycmF5PE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZD4sXG4gICAgZm9ybVZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuICApOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBsZXQgZm9ybUFycmF5ID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pXG5cbiAgICBmb3IgKGxldCBmaWVsZCBvZiBmb3JtRmllbGRzKSB7XG4gICAgICBsZXQgZmllbGRWYWx1ZSA9IGZvcm1WYWx1ZXNbZmllbGQuY29uZmlnTmFtZV0/LnZhbHVlID8gZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXS52YWx1ZSA6IGZvcm1WYWx1ZXNbZmllbGQuY29uZmlnTmFtZV1cbiAgICAgIGxldCBmaWVsZENvbnRyb2wgPSB0aGlzLm1hcEZvcm1WYWx1ZVRvRm9ybUZpZWxkKGZpZWxkLCBmaWVsZFZhbHVlKTtcbiAgICAgIGxldCBzdWJGaWVsZHNDb250cm9scyA9IHRoaXMuZ2VuZXJhdGVTdWJEeW5hbWljRmllbGRzKGZvcm1WYWx1ZXMsIGZpZWxkLCBmaWVsZENvbnRyb2wudmFsdWUpO1xuICAgICAgZm9ybUFycmF5LnB1c2gobmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICB2YWx1ZTogZmllbGRDb250cm9sLFxuICAgICAgICBzdWJGaWVsZHM6IHN1YkZpZWxkc0NvbnRyb2xzXG4gICAgICB9KSlcbiAgICB9ICBcbiAgICByZXR1cm4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgZHluYW1pY0ZpZWxkczogZm9ybUFycmF5XG4gICAgfSlcbiAgfVxuICBcbiAgZ2V0RHluYW1pY0ZpZWxkc0NvbnRyb2xzKCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtLmdldChcImR5bmFtaWNGaWVsZHNcIikgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuICB1cGRhdGVTdWJEeW5hbWljRmllbGRzKFxuICAgIGZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsXG4gICAgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIHZhbHVlOiBhbnlcbiAgKTogdm9pZCB7XG4gICAgaWYgKGZpZWxkLnN1YkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IHN1YkZpZWxkc0NvbnRyb2xzID0gdGhpcy5nZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHModGhpcy5mb3JtVmFsdWVzLCBmaWVsZCwgdmFsdWUpO1xuICAgICAgZm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3N1YkZpZWxkcycpXG4gICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbCgnc3ViRmllbGRzJywgc3ViRmllbGRzQ29udHJvbHMpXG4gICAgfVxuICB9XG4gIHVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JTaW5nbGVTZWxlY3QoXG4gICAgZmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gICAgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIHZhbHVlOiBhbnlcbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWU/LnZhbHVlICE9PSB2YWx1ZS52YWx1ZSkge1xuICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgY29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgdGhpcy51cGRhdGVTdWJEeW5hbWljRmllbGRzKGZpZWxkLCBmb3JtR3JvdXAsIHZhbHVlKTtcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuICB1cGRhdGVTZWxlY3RlZFZhbHVlRm9yTXVsdGlTZWxlY3QoXG4gICAgZmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gICAgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIHZhbHVlczogQXJyYXk8YW55PlxuICApOiB2b2lkIHtcbiAgICBsZXQgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9PiA9IGNvbnRyb2wudmFsdWU7XG4gICAgZm9yIChsZXQgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgICBsZXQgaXRlbUluZGV4ID0gc2VsZWN0ZWRWYWx1ZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5sYWJlbCA9PT0gdmFsdWUubGFiZWwpO1xuICAgICAgaWYgKGl0ZW1JbmRleCA+IC0xKSB7XG4gICAgICAgIHNlbGVjdGVkVmFsdWVzLnNwbGljZShpdGVtSW5kZXgsIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMucHVzaCh7IC4uLnZhbHVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBjb250cm9sLnNldFZhbHVlKHNlbGVjdGVkVmFsdWVzKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1Hcm91cCwgdmFsdWVzKTtcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuICBpc0NoZWNrQm94U2VsZWN0ZWQodmFsdWU6IHN0cmluZywgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3RlZFZhbHVlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmxhYmVsID09PSB2YWx1ZSkgPiAtMTtcbiAgfVxuXG4gIGZpbmRTZWxlY3RlZFN1YkZpZWxkQ29uZmlnKHN1YmZpZWxkcywgdmFsdWUsIHN1YkZpZWxkSW5kZXgpIHtcbiAgICB0cnl7XG4gICAgICBjb25zdCBzZWxlY3RlZFN1YkZpZWxkQ29uZmlnID0gc3ViZmllbGRzLmZpbHRlcihpdGVtID0+IGl0ZW0ucGFyZW50Q29uZmlnVmFsdWUgPT09IHZhbHVlKVtzdWJGaWVsZEluZGV4XTtcbiAgICAgIHJldHVybiBzZWxlY3RlZFN1YkZpZWxkQ29uZmlnO1xuICAgIH1cbiAgICBjYXRjaChlKXtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3ViZmllbGQgaW5kZXggbm90IGZvdW5kJyk7XG4gICAgfVxuICB9XG5cbiAgbWF0Y2hQYXJlbnRDb25maWcoc3ViZmllbGRzLCB2YWx1ZSkge1xuICAgIGlmICghc3ViZmllbGRzIHx8IHN1YmZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YmZpZWxkcy5zb21lKGl0ZW0gPT4gaXRlbS5wYXJlbnRDb25maWdWYWx1ZSA9PT0gdmFsdWUpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdWJEeW5hbWljRmllbGRzKFxuICAgIGZvcm1WYWx1ZXM6IGFueSxcbiAgICBwYXJlbnRGaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIHBhcmVudFZhbHVlOiBBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfT4gfCB7bGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhblxuICApOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICBsZXQgY29udHJvbHMgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSlcbiAgICBsZXQgc3ViRmllbGRzID0gcGFyZW50RmllbGQuc3ViRmllbGRzXG4gICAgbGV0IHN1YkZpZWxkc1ZhbHVlcyA9IGZvcm1WYWx1ZXNbcGFyZW50RmllbGQuY29uZmlnTmFtZV0/LnN1YkZpZWxkcyA/IGZvcm1WYWx1ZXNbcGFyZW50RmllbGQuY29uZmlnTmFtZV0uc3ViRmllbGRzIDoge31cbiAgICBpZighc3ViRmllbGRzKSByZXR1cm4gY29udHJvbHM7XG4gICAgaWYgKHBhcmVudEZpZWxkLmZpZWxkVHlwZSA9PT0gJ3NpbmdsZVNlbGVjdCcpIHtcbiAgICAgIHN1YkZpZWxkcyA9IHN1YkZpZWxkcy5maWx0ZXIoKHN1YkZpZWxkKSA9PiBzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSA9PT0gKDx7bGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB9PnBhcmVudFZhbHVlKT8udmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChwYXJlbnRGaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcpIHtcbiAgICAgIGxldCBwYXJlbnRWYWx1ZXMgPSBuZXcgU2V0KCg8QXJyYXk8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH0+PnBhcmVudFZhbHVlKS5tYXAoKHZhbHVlKSA9PiB2YWx1ZS52YWx1ZSkpO1xuICAgICAgc3ViRmllbGRzID0gc3ViRmllbGRzLmZpbHRlcigoc3ViRmllbGQpID0+IHBhcmVudFZhbHVlcy5oYXMoc3ViRmllbGQucGFyZW50Q29uZmlnVmFsdWUpKTtcbiAgICB9XG5cbiAgICBpZiAoc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAobGV0IHN1YkZpZWxkIG9mIHN1YkZpZWxkcykge1xuICAgICAgICAgIGNvbnRyb2xzLnB1c2godGhpcy5tYXBGb3JtVmFsdWVUb0Zvcm1GaWVsZChzdWJGaWVsZCwgc3ViRmllbGRzVmFsdWVzW3N1YkZpZWxkLmNvbmZpZ05hbWVdKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIHJldHVybiBjb250cm9scztcbiAgfVxuICBtYXBGb3JtVmFsdWVUb0Zvcm1GaWVsZChmb3JtRmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCwgZm9ybVZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGxldCB2YWxpZGF0b3JzID0gZm9ybUZpZWxkLnZhbGlkYXRvcnMgPyBbZHluYW1pY0ZpZWxkVmFsaWRhdG9yKGZvcm1GaWVsZC52YWxpZGF0b3JzKV06IFtdXG4gICAgbGV0IGNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIHZhbGlkYXRvcnMpO1xuXG4gICAgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiaW5wdXRcIikge1xuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRhcmVhXCIpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybVZhbHVlID8gZm9ybVZhbHVlIDogXCJcIik7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwibnVtYmVyXCIpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybVZhbHVlID8gZm9ybVZhbHVlIDogMCk7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwiZGF0ZVwiKSB7XG4gICAgICAgIGlmIChmb3JtVmFsdWUgJiYgdHlwZW9mIGZvcm1WYWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZGF5anMoZm9ybVZhbHVlKS50eihmb3JtRmllbGQuZmllbGRDb25maWcudGltZXpvbmUpLmZvcm1hdChmb3JtRmllbGQuZmllbGRDb25maWcuZm9ybWF0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShkYXlqcygpLnR6KGZvcm1GaWVsZC5maWVsZENvbmZpZy50aW1lem9uZSkuZm9ybWF0KGZvcm1GaWVsZC5maWVsZENvbmZpZy5mb3JtYXQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJzaW5nbGVTZWxlY3RcIikge1xuICAgICAgY29uc3QgZmluZFNlbGVjdGVkVmFsdWUgPSAoKSA9PiB7XG4gICAgICAgIGxldCBpbmRleCA9IGZvcm1GaWVsZC5pdGVtc0xpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gZm9ybVZhbHVlKVxuICAgICAgICByZXR1cm4gaW5kZXggPj0gMCA/IGZvcm1GaWVsZC5pdGVtc0xpc3RbaW5kZXhdOiBcIlwiO1xuICAgICAgfVxuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJkcm9wZG93blwiKSB7XG4gICAgICAgIGlmICghZm9ybVZhbHVlKSBjb250cm9sLnNldFZhbHVlKGZvcm1GaWVsZC5pdGVtc0xpc3RbMF0pO1xuICAgICAgICBlbHNlIGNvbnRyb2wuc2V0VmFsdWUoZmluZFNlbGVjdGVkVmFsdWUoKSlcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJyYWRpb1wiKSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZmluZFNlbGVjdGVkVmFsdWUoKSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwibXVsdGlTZWxlY3RcIikge1xuICAgICAgaWYgKGZvcm1WYWx1ZSAmJiBBcnJheS5pc0FycmF5KGZvcm1WYWx1ZSkpIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkVmFsdWVzID0gW107XG4gICAgICAgIGZvciAobGV0IHZhbHVlIG9mIGZvcm1WYWx1ZSkge1xuICAgICAgICAgIGxldCBpbmRleCA9IGZvcm1GaWVsZC5pdGVtc0xpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgICAgIGlmIChpbmRleCA+IC0xKSBzZWxlY3RlZFZhbHVlcy5wdXNoKHsgLi4uZm9ybUZpZWxkLml0ZW1zTGlzdFtpbmRleF0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZFZhbHVlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLnNldFZhbHVlKFtdKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKCEhZm9ybVZhbHVlKTtcbiAgICB9IGVsc2UgY29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxuICBtYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZShmb3JtRmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCwgZm9ybVZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcImlucHV0XCIpIHtcbiAgICAgIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwidGV4dFwiIHx8IGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0YXJlYVwiKSByZXR1cm4gZm9ybVZhbHVlO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcIm51bWJlclwiKSByZXR1cm4gK2Zvcm1WYWx1ZTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIGRheWpzLnR6KGZvcm1WYWx1ZSwgZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCwgZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcInNpbmdsZVNlbGVjdFwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlPy52YWx1ZSA/PyAnJztcbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwibXVsdGlTZWxlY3RcIikge1xuICAgICAgcmV0dXJuIGZvcm1WYWx1ZT8ubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgICB9IGVsc2UgcmV0dXJuIGZvcm1WYWx1ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZHluYW1pY0ZpZWxkVmFsaWRhdG9yID0gKHZhbGlkYXRvcnM6IEFycmF5PE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZFZhbGlkYXRvcj4pOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGxldCB2YWx1ZSA9IGNvbnRyb2wudmFsdWVcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlPy52YWx1ZSA/IHZhbHVlLnZhbHVlIDogJydcbiAgICB9XG4gICAgbGV0IGVycm9ycyA9IG51bGxcblxuICAgIHZhbGlkYXRvcnMuZm9yRWFjaCgodmFsaWRhdG9yKSA9PiB7XG4gICAgICBsZXQgZXJyb3IgPSBudWxsXG4gICAgICBsZXQgbWVzc2FnZSA9IHZhbGlkYXRvci5tZXNzYWdlXG4gICAgICBzd2l0Y2ggKHZhbGlkYXRvci50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJSZXF1aXJlZFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5yZXF1aXJlZChjb250cm9sKTtcbiAgICAgICAgICBpZiAoIWVycm9yICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgZXJyb3IgPSB7IFJlcXVpcmVkOiBtZXNzYWdlIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtSZXF1aXJlZDogbWVzc2FnZX1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIk1pbkxlbmd0aFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5taW5MZW5ndGgoK3ZhbGlkYXRvci52YWx1ZSkoY29udHJvbClcbiAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCckezB9JywgZXJyb3I/Lm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7IE1pbkxlbmd0aDogbWVzc2FnZSB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJNYXhMZW5ndGhcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMubWF4TGVuZ3RoKCt2YWxpZGF0b3IudmFsdWUpKGNvbnRyb2wpXG4gICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgnJHswfScsIGVycm9yPy5hY3R1YWxMZW5ndGgpXG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0geyBNYXhMZW5ndGg6IG1lc3NhZ2UgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiRW1haWxcIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMuZW1haWwoY29udHJvbClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7RW1haWw6IG1lc3NhZ2V9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDdXN0b21cIjpcbiAgICAgICAgICBlcnJvciA9IFZhbGlkYXRvcnMucGF0dGVybihgJHt2YWxpZGF0b3IudmFsdWV9YCkoY29udHJvbClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7Q3VzdG9tOiBtZXNzYWdlfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSBlcnJvcnMgPSB7IC4uLmVycm9ycywgLi4uZXJyb3IgfVxuICAgIH0pXG4gICAgcmV0dXJuIGVycm9yc1xuICB9XG59IiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJkeW5hbWljRm9ybVwiPlxuICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJkeW5hbWljRmllbGRzXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwTmFtZV09XCJpXCIgKm5nRm9yPVwibGV0IGZpZWxkQ29udHJvbCBvZiBnZXREeW5hbWljRmllbGRzQ29udHJvbHMoKS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgJGltcGxpY2l0OiBmb3JtRmllbGRzW2ldLFxuICAgICAgICAgIGZvcm1Hcm91cDogZmllbGRDb250cm9sLFxuICAgICAgICAgIGNvbnRyb2w6IGZpZWxkQ29udHJvbC5jb250cm9scy52YWx1ZVxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cInN1Yi1keW5hbWljLWZvcm1cIiAqbmdJZj1cImZpZWxkQ29udHJvbD8udmFsdWUgJiYgKCEhZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzICYmIGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcz8ubGVuZ3RoID4gMCAmJiBtYXRjaFBhcmVudENvbmZpZyhmb3JtRmllbGRzW2ldPy5zdWJGaWVsZHMsIGZpZWxkQ29udHJvbD8uY29udHJvbHM/LnZhbHVlPy52YWx1ZT8udmFsdWUpKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJGaWVsZENvbnRyb2wgb2YgZmllbGRDb250cm9sLmNvbnRyb2xzLnN1YkZpZWxkcy5jb250cm9sczsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAkaW1wbGljaXQ6IGZpbmRTZWxlY3RlZFN1YkZpZWxkQ29uZmlnKGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcywgZmllbGRDb250cm9sLmNvbnRyb2xzLnZhbHVlLnZhbHVlLnZhbHVlLGopLFxuICAgICAgICAgICAgICBjb250cm9sOiBzdWJGaWVsZENvbnRyb2xcbiAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Zvcm0+XG5cblxuPG5nLXRlbXBsYXRlICNkeW5hbWljRmllbGQgbGV0LWZpZWxkIGxldC1jb250cm9sPVwiY29udHJvbFwiIGxldC1mb3JtZ3JvdXA9XCJmb3JtR3JvdXBcIj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ3RleHQnIHwgJ251bWJlcicgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdpbnB1dCcgJiYgKGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dCcgfHwgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdudW1iZXInKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JbnB1dFRleHROdW1iZXI7IGVsc2UgZGVmYXVsdElucHV0VGV4dE51bWJlclwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUlucHV0VGV4dE51bWJlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbnB1dFRleHROdW1iZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBtdWx0aS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkPy50aXRsZSB9fSA8c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXQtZmllbGQgaXAtdGV4dFwiIFt0eXBlXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiIFxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyJzogY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzID8gJzFweCBzb2xpZCAjQjAwMDIwJzogJyd9XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJUZXh0ID8gZmllbGQucGxhY2Vob2xkZXJUZXh0IDogJ0lucHV0IFRleHQnXCIgXG4gICAgICAgICAgW21pbl09XCJmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ251bWJlcicgPyAwIDogJycgXCIvPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIiBcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIFxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ3RleHRhcmVhJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3RleHRhcmVhJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JbnB1dFRleHRhcmVhOyBlbHNlIGRlZmF1bHRJbnB1dFRleHRhcmVhXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUlucHV0VGV4dGFyZWFcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbnB1dFRleHRhcmVhPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiaW5wdXQtZmllbGQgaXAtdGV4dGFyZWFcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXInOiBjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnMgPyAnMXB4IHNvbGlkICNCMDAwMjAnOiAnJ31cIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclRleHQgPyBmaWVsZC5wbGFjZWhvbGRlclRleHQgOiAnSW5wdXQgVGV4dCdcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICBcbiAgPCEtLSBmaWVsZFR5cGU6ICdpbnB1dCcgZmllbGRJbnB1dFR5cGU6ICdkYXRlJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2RhdGUnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0RGF0ZTsgZWxzZSBkZWZhdWx0SW5wdXREYXRlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXREYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0RGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdpbnB1dCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkYXRlJ1wiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX0gPHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJkYXRlLXBpY2tlclwiIHJlYWRvbmx5IG1pc1R6RHAgW2RwQ29uZmlnXT1cImZpZWxkLmZpZWxkQ29uZmlnXCJcbiAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cImNvbnRyb2wuc2V0VmFsdWUoJGV2ZW50KVwiIFtzZWxlY3RlZERhdGVdPVwiY29udHJvbC52YWx1ZVwiIFtvZmZzZXRZXT1cIjBcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiAjZHAgLz5cbiAgICAgICAgICA8aW1nIGFsdD1cImRhdGEtcGlja2VyXCIgKm5nSWY9XCJjYWxlbmRhckljb25VcmxcIiBjbGFzcz1cImRhdGUtcGlja2VyLWljb25cIiBbc3JjXT1cImNhbGVuZGFySWNvblVybFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZHAuY2xpY2soKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIGZpZWxkVHlwZTogJ2Jvb2xlYW4nIGZpZWxkSW5wdXRUeXBlOiAndG9nZ2xlJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2Jvb2xlYW4nICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndG9nZ2xlJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21Cb29sZWFuVG9nZ2xlOyBlbHNlIGRlZmF1bHRCb29sZWFuVG9nZ2xlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQm9vbGVhblRvZ2dsZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCb29sZWFuVG9nZ2xlPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgc2luZ2xlLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNlwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxtaXMtc3dpdGNoIFtjb250cm9sXT1cImNvbnRyb2xcIiAodmFsdWVDaGFuZ2VkKT1cInVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1ncm91cCwgJGV2ZW50KVwiPjwvbWlzLXN3aXRjaD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+ICAgIFxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnc2luZ2xlU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ2Ryb3Bkb3duJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ3NpbmdsZVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd247IGVsc2UgZGVmYXVsdFNpbmdsZVNlbGVjdERyb3Bkb3duXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd25cIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2luZ2xlU2VsZWN0RHJvcGRvd24+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsncmVtb3ZlYWJsZS1jb250YWluZXInIDogZmllbGQ/LmlzUmVtb3ZlYWJsZX1cIj5cbiAgICAgICAgICA8bWlzLWRyb3Bkb3duIFtzZWFyY2hFbmFibGVkXT1cImZhbHNlXCIgW3dpZHRoXT1cIicxNDBweCdcIiBbZGF0YV09XCJmaWVsZC5pdGVtc0xpc3RcIiBbc2VsZWN0ZWRJdGVtXT1cImNvbnRyb2wudmFsdWVcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsICRldmVudCk7XCI+XG4gICAgICAgICAgPC9taXMtZHJvcGRvd24+XG4gICAgICAgICAgPGltZyAqbmdJZj1cImZpZWxkLmlzUmVtb3ZlYWJsZSAmJiByZW1vdmVJY29uVXJsXCIgY2xhc3M9XCJyZW1vdmUtaWNvblwiIFtzcmNdPVwicmVtb3ZlSWNvblVybFwiIChjbGljayk9XCJmaWVsZFJlbW92ZWQuZW1pdChmaWVsZClcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyID5cbiAgXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdzaW5nbGVTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAncmFkaW8nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ3JhZGlvJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpbzsgZWxzZSBkZWZhdWx0U2luZ2xlU2VsZWN0UmFkaW9cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpb1wiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTaW5nbGVTZWxlY3RSYWRpbz5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGVja2JveGVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jaGVja2JveC1jb21tb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2hlY2tib3gtYWN0aXZlJzogaXRlbS5sYWJlbCA9PT0gY29udHJvbC52YWx1ZT8ubGFiZWwgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCBpdGVtKTtcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIoaXRlbS5sYWJlbCA9PT0gY29udHJvbC52YWx1ZT8ubGFiZWwpICYmIGFjdGl2ZUJ0bkljb25VcmxcIiBbc3JjXT1cImFjdGl2ZUJ0bkljb25VcmxcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJoNlwiPnt7IGl0ZW0ubGFiZWwgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdtdWx0aVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdjaGVja2JveCcgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdjaGVja2JveCdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveDsgZWxzZSBkZWZhdWx0TXVsdGlTZWxlY3RDaGVja2JveFwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU11bHRpU2VsZWN0Q2hlY2tib3hcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TXVsdGlTZWxlY3RDaGVja2JveD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNyBmaWVsZC10aXRsZS1zbVwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWJhc2lzOiAxMDAlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGVja2JveGVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jaGVja2JveC1jb21tb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWVsZC5pdGVtc0xpc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2hlY2tib3gtYWN0aXZlJzogaXNDaGVja0JveFNlbGVjdGVkKGl0ZW0ubGFiZWwsIGNvbnRyb2wudmFsdWUpIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCBbaXRlbV0pXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiaXNDaGVja0JveFNlbGVjdGVkKGl0ZW0ubGFiZWwsIGNvbnRyb2wudmFsdWUpICYmIGFjdGl2ZUJ0bkljb25VcmxcIiBbc3JjXT1cImFjdGl2ZUJ0bkljb25VcmxcIlxuICAgICAgICAgICAgICBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJoNlwiPnt7IGl0ZW0ubGFiZWwgfX08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuXG4gIDwhLS0gZmllbGRUeXBlOiAnbXVsdGlTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAnZHJvcGRvd24nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnZHJvcGRvd24nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd247IGVsc2UgZGVmYXVsdE11bHRpU2VsZWN0RHJvcGRvd25cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21NdWx0aVNlbGVjdERyb3Bkb3duXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE11bHRpU2VsZWN0RHJvcGRvd24+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPG1pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24gW3dpZHRoXT1cIicxNDBweCdcIiBbc2hvd1NlbGVjdGVkQ291bnRdPVwidHJ1ZVwiIFtkcm9wZG93bkxpc3RXaWR0aF09XCInMjU2cHgnXCJcbiAgICAgICAgICBbc2VhcmNoRW5hYmxlZF09XCJmYWxzZVwiIFtoaWRlQXBwbHlCdXR0b25dPVwidHJ1ZVwiIFtkYXRhXT1cImZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgW3NlbGVjdGVkSXRlbXNdPVwiY29udHJvbC52YWx1ZVwiIChvbkNoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yTXVsdGlTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgJGV2ZW50KTtcIj48L21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNGaWVsZEVycm9ycyBsZXQtZXJyb3JzPlxuICA8ZGl2IGlkPVwiZXJyb3ItbWVzc2FnZXMtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzIHwga2V5dmFsdWVcIj5cbiAgICAgIDxwIGNsYXNzPVwiaDhcIj5cbiAgICAgICAge3tcIiDigKIgJm5ic3A7XCIgKyBlcnJvci52YWx1ZX19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsgJ2ZsZXgtYmFzaXMnOiAnMTAwJScsICdoZWlnaHQnOiAnMCcgfVwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
1093
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRW5JLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBKLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ010RCw2QkFBc0c7SUFDcEcsNEJBTWU7Ozs7Ozs7Ozs7SUFMYixjQUFpQztJQUNqQyxBQURBLGtEQUFpQyw0T0FJL0I7OztJQVBSLCtCQUE4TjtJQUM1Tiw2R0FBc0c7SUFTeEcsaUJBQU07OztJQVRzQyxjQUE2QztJQUE3QyxxRUFBNkM7OztJQVgzRixpQ0FBa0g7SUFDOUcsNEJBUWE7SUFDZixxRkFBOE47Ozs7Ozs7SUFWbE4sb0NBQW1CO0lBRTdCLGNBQWlDO0lBQ2pDLEFBREEsa0RBQWlDLGlJQUsvQjtJQUcyQixjQUE2TDtJQUE3TCxzbkJBQTZMOzs7O0lBb0I5Tiw2QkFBeUU7SUFDdkUsa0lBR0M7Ozs7Ozs7O0lBRkMsY0FBMEM7SUFDMUMsQUFEQSwrREFBMEMsOEZB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LE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTnNEeW5hbWljRm9ybSB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5uYW1lc3BhY2VcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCdcblxuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpO1xuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHluYW1pYy1mb3JtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBmb3JtRmllbGRzOiAgRHluYW1pYyBmaWVsZHMgcmVjaWV2ZWQgZnJvbSB0aGUgQVBJIG1ldGFkYXRhIHRvIGJ1aWxkIGEgZHluYW1pYyBmb3JtXG4gICAqIGZvcm1WYWx1ZXM6ICBIb2xkcyB0aGUgdmFsdWUgb2YgdGhlIGR5bmFtaWMgZm9ybSB3aXRoIFwia2V5XCIgYmVpbmcgZHluYW1pYyBmaWVsZCBcInRpdGxlXCJcbiAgICogICAgICAgICAgICAgIGFuZCB2YWx1ZSBiZWluZyB0aGUgdXNlciBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpIGZvcm1GaWVsZHM6IEFycmF5PE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZD4gPSBbXTtcbiAgQElucHV0KCkgZm9ybVZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAvLyBOZWVkIHRvIGRlcHJlY2F0ZSB0aGVzZSBpbnB1dHMgYW5kIHVzZSBjb25zdGFudHMuXG4gIEBJbnB1dCgpIGFjdGl2ZUJ0bkljb25VcmwgPSBcIlwiO1xuICBASW5wdXQoKSBjYWxlbmRhckljb25VcmwgPSBcIlwiO1xuICBASW5wdXQoKSByZW1vdmVJY29uVXJsID0gXCJcIjtcbiAgQElucHV0KCkgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMgPSBmYWxzZTtcbiAgLyoqXG4gICAqIGR5bmFtaWNGb3JtOiBDb25zdHJ1Y3RlZCB1c2luZyBmb3JtRmllbGRzIGFuZCBmb3JtVmFsdWVzKGluIGNhc2Ugb2YgZWRpdClcbiAgICovXG4gIGR5bmFtaWNGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBmb3JtVXBkYXRlZDogRW1pdHMgZm9ybVZhbHVlcyBPYmplY3Qgd2hlbmV2ZXIgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIGR5bmFtaWMgZm9ybS5cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4oKTtcbiAgLyoqXG4gICAqIGZvcm1WYWxpZDogRW1pdHMgYm9vbGVhbiBkZXBlbmRpbmcgb24gdmFsaWRpdHkgb2YgdGhlIGZvcm1cbiAgICovXG4gIEBPdXRwdXQoKSBmb3JtVmFsaWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8qKlxuICAgKiBmb3JtSW5pdGlhbGl6ZWQ6IEVtaXRzIGR5bmFtaWMgZm9ybSBBUEkgb24gZm9ybSBpbml0aWxpemF0aW9uXG4gICAqL1xuICBAT3V0cHV0KCkgZm9ybUluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWVsZFJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZD4oKTtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tSW5wdXRUZXh0TnVtYmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JbnB1dFRleHROdW1iZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBcbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUlucHV0VGV4dGFyZWFcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUlucHV0VGV4dGFyZWE6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21JbnB1dERhdGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUlucHV0RGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZChcImN1c3RvbUJvb2xlYW5Ub2dnbGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGN1c3RvbUJvb2xlYW5Ub2dnbGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93blwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tU2luZ2xlU2VsZWN0RHJvcGRvd246IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21TaW5nbGVTZWxlY3RSYWRpb1wiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tU2luZ2xlU2VsZWN0UmFkaW86IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoXCJjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94OiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKFwiY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93blwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93bjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG5cbiAgZHluYW1pY0Zvcm1BUEk6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGb3JtQVBJO1xuICB2YWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEJ1aWxkaW5nIHRoZSBmb3JtXG4gICAgdGhpcy5keW5hbWljRm9ybSA9IHRoaXMuZ2VuZXJhdGVEeW5hbWljRm9ybSh0aGlzLmZvcm1GaWVsZHMsIHRoaXMuZm9ybVZhbHVlcyk7XG5cbiAgICAvLyBTdWJzY3JpYmluZyB0byBmb3JtIGNoYW5nZXMgYW5kIGVtaXRpbmcgdmFsdWVzLlxuICAgIHRoaXMudmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uJCA9IHRoaXMuZHluYW1pY0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgdGhpcy5vbkZvcm1WYWx1ZUNoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIC8vYXBpIHRvIGV4cG9zZSBmdW5jdGlvbnNcbiAgICB0aGlzLmR5bmFtaWNGb3JtQVBJID0ge1xuICAgICAgZGVmYXVsdEZvcm1WYWx1ZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QodGhpcy5keW5hbWljRm9ybS52YWx1ZS5keW5hbWljRmllbGRzKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuZm9ybUluaXRpYWxpemVkLmVtaXQodGhpcy5keW5hbWljRm9ybUFQSSk7XG4gICAgdGhpcy5mb3JtVmFsaWQuZW1pdCh0aGlzLmR5bmFtaWNGb3JtLnZhbGlkKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlc1N1YnNjcmlwdGlvbiQ/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgb25Gb3JtVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGxldCBmb3JtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUR5bmFtaWNGaWVsZHNWYWx1ZU9iamVjdCh0aGlzLmR5bmFtaWNGb3JtLnZhbHVlLmR5bmFtaWNGaWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbGlkLmVtaXQodGhpcy5keW5hbWljRm9ybS52YWxpZCk7XG4gICAgdGhpcy5mb3JtVXBkYXRlZC5lbWl0KGZvcm1WYWx1ZXMpO1xuICAgIGNvbnNvbGUubG9nKGZvcm1WYWx1ZXMpXG4gIH1cbiAgZ2VuZXJhdGVEeW5hbWljRmllbGRzVmFsdWVPYmplY3QoZm9ybVZhbHVlczogQXJyYXk8YW55Pik6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGxldCBkeW5hbWljRmllbGRzVmFsdWUgPSB7fTtcbiAgICBmb3JtVmFsdWVzLmZvckVhY2goKGZpZWxkVmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICBpZih0eXBlb2YgZmllbGRWYWx1ZT8udmFsdWUgPT09ICdzdHJpbmcnKSBmaWVsZFZhbHVlLnZhbHVlID0gZmllbGRWYWx1ZT8udmFsdWU/LnRyaW0oKVxuICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5tYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZSh0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLCBmaWVsZFZhbHVlLnZhbHVlKTtcbiAgICAgIGlmIChmaWVsZFZhbHVlLnN1YkZpZWxkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICBsZXQgZm9ybWF0dGVkU3ViRmllbGRzVmFsdWVzID0ge31cbiAgICAgICAgbGV0IHN1YkZpZWxkID0gdGhpcy5mb3JtRmllbGRzW2luZGV4XS5zdWJGaWVsZHNcbiAgICAgICAgaWYodGhpcy5mb3JtRmllbGRzW2luZGV4XS5maWVsZFR5cGUgPT09ICdzaW5nbGVTZWxlY3QnIHx8IHRoaXMuZm9ybUZpZWxkc1tpbmRleF0uZmllbGRUeXBlID09PSAnbXVsdGlTZWxlY3QnKSB7XG4gICAgICAgICAgc3ViRmllbGQgPSBzdWJGaWVsZC5maWx0ZXIoKHN1YkZpZWxkKSA9PiBzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSA9PT0gZmllbGRWYWx1ZS52YWx1ZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRWYWx1ZS5zdWJGaWVsZHMuZm9yRWFjaCgoc3ViRmllbGRWYWx1ZSwgc3ViSW5kZXgpID0+IHtcbiAgICAgICAgICBsZXQgc3ViRm9ybUZpZWxkID0gc3ViRmllbGRbc3ViSW5kZXhdXG4gICAgICAgICAgaWYodHlwZW9mIHN1YkZpZWxkVmFsdWU/LnZhbHVlID09PSAnc3RyaW5nJykgc3ViRmllbGRWYWx1ZS52YWx1ZSA9IHN1YkZpZWxkVmFsdWU/LnZhbHVlPy50cmltKClcbiAgICAgICAgICBmb3JtYXR0ZWRTdWJGaWVsZHNWYWx1ZXNbc3ViRm9ybUZpZWxkLmNvbmZpZ05hbWVdID0gdGhpcy5tYXBGb3JtRmllbGRUb0Zvcm1WYWx1ZShzdWJGb3JtRmllbGQsIHN1YkZpZWxkVmFsdWUpXG4gICAgICAgIH0pXG4gICAgICAgIGR5bmFtaWNGaWVsZHNWYWx1ZVt0aGlzLmZvcm1GaWVsZHNbaW5kZXhdLmNvbmZpZ05hbWVdID0ge1xuICAgICAgICAgIHZhbHVlOiBmb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICBzdWJGaWVsZHM6IGZvcm1hdHRlZFN1YkZpZWxkc1ZhbHVlc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZHluYW1pY0ZpZWxkc1ZhbHVlW3RoaXMuZm9ybUZpZWxkc1tpbmRleF0uY29uZmlnTmFtZV0gPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZHluYW1pY0ZpZWxkc1ZhbHVlO1xuICB9XG4gIGdlbmVyYXRlRHluYW1pY0Zvcm0oXG4gICAgZm9ybUZpZWxkczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkPixcbiAgICBmb3JtVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gICk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIGxldCBmb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSlcblxuICAgIGZvciAobGV0IGZpZWxkIG9mIGZvcm1GaWVsZHMpIHtcbiAgICAgIGxldCBmaWVsZFZhbHVlID0gZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXT8udmFsdWUgPyBmb3JtVmFsdWVzW2ZpZWxkLmNvbmZpZ05hbWVdLnZhbHVlIDogZm9ybVZhbHVlc1tmaWVsZC5jb25maWdOYW1lXVxuICAgICAgbGV0IGZpZWxkQ29udHJvbCA9IHRoaXMubWFwRm9ybVZhbHVlVG9Gb3JtRmllbGQoZmllbGQsIGZpZWxkVmFsdWUpO1xuICAgICAgbGV0IHN1YkZpZWxkc0NvbnRyb2xzID0gdGhpcy5nZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHMoZm9ybVZhbHVlcywgZmllbGQsIGZpZWxkQ29udHJvbC52YWx1ZSk7XG4gICAgICBmb3JtQXJyYXkucHVzaChuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIHZhbHVlOiBmaWVsZENvbnRyb2wsXG4gICAgICAgIHN1YkZpZWxkczogc3ViRmllbGRzQ29udHJvbHNcbiAgICAgIH0pKVxuICAgIH0gIFxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICBkeW5hbWljRmllbGRzOiBmb3JtQXJyYXlcbiAgICB9KVxuICB9XG4gIFxuICBnZXREeW5hbWljRmllbGRzQ29udHJvbHMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm0uZ2V0KFwiZHluYW1pY0ZpZWxkc1wiKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG4gIHVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoXG4gICAgZmllbGQ6IE5zRHluYW1pY0Zvcm0uSUR5bmFtaWNGaWVsZCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoZmllbGQuc3ViRmllbGRzPy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgc3ViRmllbGRzQ29udHJvbHMgPSB0aGlzLmdlbmVyYXRlU3ViRHluYW1pY0ZpZWxkcyh0aGlzLmZvcm1WYWx1ZXMsIGZpZWxkLCB2YWx1ZSk7XG4gICAgICBmb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnc3ViRmllbGRzJylcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKCdzdWJGaWVsZHMnLCBzdWJGaWVsZHNDb250cm9scylcbiAgICB9XG4gIH1cbiAgdXBkYXRlU2VsZWN0ZWRWYWx1ZUZvclNpbmdsZVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWU6IGFueVxuICApOiB2b2lkIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZT8udmFsdWUgIT09IHZhbHVlLnZhbHVlKSB7XG4gICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBjb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnVwZGF0ZVN1YkR5bmFtaWNGaWVsZHMoZmllbGQsIGZvcm1Hcm91cCwgdmFsdWUpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIHVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChcbiAgICBmaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLFxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcbiAgICBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsXG4gICAgdmFsdWVzOiBBcnJheTxhbnk+XG4gICk6IHZvaWQge1xuICAgIGxldCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH0+ID0gY29udHJvbC52YWx1ZTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGxldCBpdGVtSW5kZXggPSBzZWxlY3RlZFZhbHVlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmxhYmVsID09PSB2YWx1ZS5sYWJlbCk7XG4gICAgICBpZiAoaXRlbUluZGV4ID4gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMuc3BsaWNlKGl0ZW1JbmRleCwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZFZhbHVlcy5wdXNoKHsgLi4udmFsdWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZXMpO1xuICAgIHRoaXMudXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybUdyb3VwLCB2YWx1ZXMpO1xuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG4gIGlzQ2hlY2tCb3hTZWxlY3RlZCh2YWx1ZTogc3RyaW5nLCBzZWxlY3RlZFZhbHVlczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNlbGVjdGVkVmFsdWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubGFiZWwgPT09IHZhbHVlKSA+IC0xO1xuICB9XG5cbiAgZmluZFNlbGVjdGVkU3ViRmllbGRDb25maWcoc3ViZmllbGRzLCB2YWx1ZSwgc3ViRmllbGRJbmRleCkge1xuICAgIHRyeXtcbiAgICAgIGNvbnN0IHNlbGVjdGVkU3ViRmllbGRDb25maWcgPSBzdWJmaWVsZHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5wYXJlbnRDb25maWdWYWx1ZSA9PT0gdmFsdWUpW3N1YkZpZWxkSW5kZXhdO1xuICAgICAgcmV0dXJuIHNlbGVjdGVkU3ViRmllbGRDb25maWc7XG4gICAgfVxuICAgIGNhdGNoKGUpe1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdWJmaWVsZCBpbmRleCBub3QgZm91bmQnKTtcbiAgICB9XG4gIH1cblxuICBtYXRjaFBhcmVudENvbmZpZyhzdWJmaWVsZHMsIHZhbHVlKSB7XG4gICAgaWYgKCFzdWJmaWVsZHMgfHwgc3ViZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gc3ViZmllbGRzLnNvbWUoaXRlbSA9PiBpdGVtLnBhcmVudENvbmZpZ1ZhbHVlID09PSB2YWx1ZSk7XG4gIH1cblxuICBnZW5lcmF0ZVN1YkR5bmFtaWNGaWVsZHMoXG4gICAgZm9ybVZhbHVlczogYW55LFxuICAgIHBhcmVudEZpZWxkOiBOc0R5bmFtaWNGb3JtLklEeW5hbWljRmllbGQsXG4gICAgcGFyZW50VmFsdWU6IEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9PiB8IHtsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0gfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXG4gICk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIGxldCBjb250cm9scyA9IG5ldyBVbnR5cGVkRm9ybUFycmF5KFtdKVxuICAgIGxldCBzdWJGaWVsZHMgPSBwYXJlbnRGaWVsZC5zdWJGaWVsZHNcbiAgICBsZXQgc3ViRmllbGRzVmFsdWVzID0gZm9ybVZhbHVlc1twYXJlbnRGaWVsZC5jb25maWdOYW1lXT8uc3ViRmllbGRzID8gZm9ybVZhbHVlc1twYXJlbnRGaWVsZC5jb25maWdOYW1lXS5zdWJGaWVsZHMgOiB7fVxuICAgIGlmKCFzdWJGaWVsZHMpIHJldHVybiBjb250cm9scztcbiAgICBpZiAocGFyZW50RmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0Jykge1xuICAgICAgc3ViRmllbGRzID0gc3ViRmllbGRzLmZpbHRlcigoc3ViRmllbGQpID0+IHN1YkZpZWxkLnBhcmVudENvbmZpZ1ZhbHVlID09PSAoPHtsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0+cGFyZW50VmFsdWUpPy52YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHBhcmVudEZpZWxkLmZpZWxkVHlwZSA9PT0gJ211bHRpU2VsZWN0Jykge1xuICAgICAgbGV0IHBhcmVudFZhbHVlcyA9IG5ldyBTZXQoKDxBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfT4+cGFyZW50VmFsdWUpLm1hcCgodmFsdWUpID0+IHZhbHVlLnZhbHVlKSk7XG4gICAgICBzdWJGaWVsZHMgPSBzdWJGaWVsZHMuZmlsdGVyKChzdWJGaWVsZCkgPT4gcGFyZW50VmFsdWVzLmhhcyhzdWJGaWVsZC5wYXJlbnRDb25maWdWYWx1ZSkpO1xuICAgIH1cblxuICAgIGlmIChzdWJGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChsZXQgc3ViRmllbGQgb2Ygc3ViRmllbGRzKSB7XG4gICAgICAgICAgY29udHJvbHMucHVzaCh0aGlzLm1hcEZvcm1WYWx1ZVRvRm9ybUZpZWxkKHN1YkZpZWxkLCBzdWJGaWVsZHNWYWx1ZXNbc3ViRmllbGQuY29uZmlnTmFtZV0pKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgcmV0dXJuIGNvbnRyb2xzO1xuICB9XG4gIG1hcEZvcm1WYWx1ZVRvRm9ybUZpZWxkKGZvcm1GaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLCBmb3JtVmFsdWU6IGFueSk6IGFueSB7XG4gICAgbGV0IHZhbGlkYXRvcnMgPSBmb3JtRmllbGQudmFsaWRhdG9ycyA/IFtkeW5hbWljRmllbGRWYWxpZGF0b3IoZm9ybUZpZWxkLnZhbGlkYXRvcnMpXTogW11cbiAgICBsZXQgY29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgdmFsaWRhdG9ycyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJpbnB1dFwiKSB7XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRcIiB8fCBmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwidGV4dGFyZWFcIikgY29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUgPyBmb3JtVmFsdWUgOiBcIlwiKTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJudW1iZXJcIikgY29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUgPyBmb3JtVmFsdWUgOiAwKTtcbiAgICAgIGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJkYXRlXCIpIHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZSAmJiB0eXBlb2YgZm9ybVZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShkYXlqcyhmb3JtVmFsdWUpLnR6KGZvcm1GaWVsZC5maWVsZENvbmZpZy50aW1lem9uZSkuZm9ybWF0KGZvcm1GaWVsZC5maWVsZENvbmZpZy5mb3JtYXQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKGRheWpzKCkudHooZm9ybUZpZWxkLmZpZWxkQ29uZmlnLnRpbWV6b25lKS5mb3JtYXQoZm9ybUZpZWxkLmZpZWxkQ29uZmlnLmZvcm1hdCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRUeXBlID09PSBcInNpbmdsZVNlbGVjdFwiKSB7XG4gICAgICBjb25zdCBmaW5kU2VsZWN0ZWRWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSBmb3JtVmFsdWUpXG4gICAgICAgIHJldHVybiBpbmRleCA+PSAwID8gZm9ybUZpZWxkLml0ZW1zTGlzdFtpbmRleF06IFwiXCI7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRyb3Bkb3duXCIpIHtcbiAgICAgICAgaWYgKCFmb3JtVmFsdWUpIGNvbnRyb2wuc2V0VmFsdWUoZm9ybUZpZWxkLml0ZW1zTGlzdFswXSk7XG4gICAgICAgIGVsc2UgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInJhZGlvXCIpIHtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShmaW5kU2VsZWN0ZWRWYWx1ZSgpKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJtdWx0aVNlbGVjdFwiKSB7XG4gICAgICBpZiAoZm9ybVZhbHVlICYmIEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSkge1xuICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgZm9ybVZhbHVlKSB7XG4gICAgICAgICAgbGV0IGluZGV4ID0gZm9ybUZpZWxkLml0ZW1zTGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHNlbGVjdGVkVmFsdWVzLnB1c2goeyAuLi5mb3JtRmllbGQuaXRlbXNMaXN0W2luZGV4XSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb250cm9sLnNldFZhbHVlKHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoISFmb3JtVmFsdWUpO1xuICAgIH0gZWxzZSBjb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgIHJldHVybiBjb250cm9sO1xuICB9XG4gIG1hcEZvcm1GaWVsZFRvRm9ybVZhbHVlKGZvcm1GaWVsZDogTnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkLCBmb3JtVmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiaW5wdXRcIikge1xuICAgICAgaWYgKGZvcm1GaWVsZC5maWVsZElucHV0VHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcInRleHRhcmVhXCIpIHJldHVybiBmb3JtVmFsdWU7XG4gICAgICBlbHNlIGlmIChmb3JtRmllbGQuZmllbGRJbnB1dFR5cGUgPT09IFwibnVtYmVyXCIpIHJldHVybiArZm9ybVZhbHVlO1xuICAgICAgZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gZGF5anMudHooZm9ybVZhbHVlLCBmb3JtRmllbGQuZmllbGRDb25maWcuZm9ybWF0LCBmb3JtRmllbGQuZmllbGRDb25maWcudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwic2luZ2xlU2VsZWN0XCIpIHtcbiAgICAgIHJldHVybiBmb3JtVmFsdWU/LnZhbHVlID8/ICcnO1xuICAgIH0gZWxzZSBpZiAoZm9ybUZpZWxkLmZpZWxkVHlwZSA9PT0gXCJtdWx0aVNlbGVjdFwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlPy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1GaWVsZC5maWVsZFR5cGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICByZXR1cm4gZm9ybVZhbHVlO1xuICAgIH0gZWxzZSByZXR1cm4gZm9ybVZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkeW5hbWljRmllbGRWYWxpZGF0b3IgPSAodmFsaWRhdG9yczogQXJyYXk8TnNEeW5hbWljRm9ybS5JRHluYW1pY0ZpZWxkVmFsaWRhdG9yPik6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhbHVlID0gdmFsdWU/LnZhbHVlID8gdmFsdWUudmFsdWUgOiAnJ1xuICAgIH1cbiAgICBsZXQgZXJyb3JzID0gbnVsbFxuXG4gICAgdmFsaWRhdG9ycy5mb3JFYWNoKCh2YWxpZGF0b3IpID0+IHtcbiAgICAgIGxldCBlcnJvciA9IG51bGxcbiAgICAgIGxldCBtZXNzYWdlID0gdmFsaWRhdG9yLm1lc3NhZ2VcbiAgICAgIHN3aXRjaCAodmFsaWRhdG9yLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcIlJlcXVpcmVkXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpO1xuICAgICAgICAgIGlmICghZXJyb3IgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgICBlcnJvciA9IHsgUmVxdWlyZWQ6IG1lc3NhZ2UgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYoZXJyb3IpIGVycm9yID0ge1JlcXVpcmVkOiBtZXNzYWdlfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiTWluTGVuZ3RoXCI6XG4gICAgICAgICAgZXJyb3IgPSBWYWxpZGF0b3JzLm1pbkxlbmd0aCgrdmFsaWRhdG9yLnZhbHVlKShjb250cm9sKVxuICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoJyR7MH0nLCBlcnJvcj8ubWlubGVuZ3RoLnJlcXVpcmVkTGVuZ3RoKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHsgTWluTGVuZ3RoOiBtZXNzYWdlIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIk1heExlbmd0aFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5tYXhMZW5ndGgoK3ZhbGlkYXRvci52YWx1ZSkoY29udHJvbClcbiAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCckezB9JywgZXJyb3I/LmFjdHVhbExlbmd0aClcbiAgICAgICAgICBpZihlcnJvcikgZXJyb3IgPSB7IE1heExlbmd0aDogbWVzc2FnZSB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJFbWFpbFwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5lbWFpbChjb250cm9sKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtFbWFpbDogbWVzc2FnZX1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkN1c3RvbVwiOlxuICAgICAgICAgIGVycm9yID0gVmFsaWRhdG9ycy5wYXR0ZXJuKGAke3ZhbGlkYXRvci52YWx1ZX1gKShjb250cm9sKVxuICAgICAgICAgIGlmKGVycm9yKSBlcnJvciA9IHtDdXN0b206IG1lc3NhZ2V9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoZXJyb3IpIGVycm9ycyA9IHsgLi4uZXJyb3JzLCAuLi5lcnJvciB9XG4gICAgfSlcbiAgICByZXR1cm4gZXJyb3JzXG4gIH1cbn0iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImR5bmFtaWNGb3JtXCI+XG4gIDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImR5bmFtaWNGaWVsZHNcIj5cbiAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBOYW1lXT1cImlcIiAqbmdGb3I9XCJsZXQgZmllbGRDb250cm9sIG9mIGdldER5bmFtaWNGaWVsZHNDb250cm9scygpLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IGZvcm1GaWVsZHNbaV0sXG4gICAgICAgICAgZm9ybUdyb3VwOiBmaWVsZENvbnRyb2wsXG4gICAgICAgICAgY29udHJvbDogZmllbGRDb250cm9sLmNvbnRyb2xzLnZhbHVlXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3ViLWR5bmFtaWMtZm9ybVwiICpuZ0lmPVwiZmllbGRDb250cm9sPy52YWx1ZSAmJiAoISFmb3JtRmllbGRzW2ldPy5zdWJGaWVsZHMgJiYgZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzPy5sZW5ndGggPiAwICYmIG1hdGNoUGFyZW50Q29uZmlnKGZvcm1GaWVsZHNbaV0/LnN1YkZpZWxkcywgZmllbGRDb250cm9sPy5jb250cm9scz8udmFsdWU/LnZhbHVlPy52YWx1ZSkpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YkZpZWxkQ29udHJvbCBvZiBmaWVsZENvbnRyb2wuY29udHJvbHMuc3ViRmllbGRzLmNvbnRyb2xzOyBsZXQgaiA9IGluZGV4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZmluZFNlbGVjdGVkU3ViRmllbGRDb25maWcoZm9ybUZpZWxkc1tpXT8uc3ViRmllbGRzLCBmaWVsZENvbnRyb2wuY29udHJvbHMudmFsdWUudmFsdWUudmFsdWUsaiksXG4gICAgICAgICAgICAgIGNvbnRyb2w6IHN1YkZpZWxkQ29udHJvbFxuICAgICAgICAgICAgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cblxuXG48bmctdGVtcGxhdGUgI2R5bmFtaWNGaWVsZCBsZXQtZmllbGQgbGV0LWNvbnRyb2w9XCJjb250cm9sXCIgbGV0LWZvcm1ncm91cD1cImZvcm1Hcm91cFwiPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnaW5wdXQnIGZpZWxkSW5wdXRUeXBlOiAndGV4dCcgfCAnbnVtYmVyJyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiAoZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICd0ZXh0JyB8fCBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ251bWJlcicpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0VGV4dE51bWJlcjsgZWxzZSBkZWZhdWx0SW5wdXRUZXh0TnVtYmVyXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRUZXh0TnVtYmVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0VGV4dE51bWJlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIG11bHRpLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQ/LnRpdGxlIH19IDxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1iYXNpczogMTAwJVwiPjwvZGl2PlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dC1maWVsZCBpcC10ZXh0XCIgW3R5cGVdPVwiZmllbGQuZmllbGRJbnB1dFR5cGVcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCIgXG4gICAgICAgICAgW25nU3R5bGVdPVwieydib3JkZXInOiBjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnMgPyAnMXB4IHNvbGlkICNCMDAwMjAnOiAnJ31cIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclRleHQgPyBmaWVsZC5wbGFjZWhvbGRlclRleHQgOiAnSW5wdXQgVGV4dCdcIiBcbiAgICAgICAgICBbbWluXT1cImZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnbnVtYmVyJyA/IDAgOiAnJyBcIi8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiIFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gIDwhLS0gZmllbGRUeXBlOiAnaW5wdXQnIGZpZWxkSW5wdXRUeXBlOiAndGV4dGFyZWEnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnaW5wdXQnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAndGV4dGFyZWEnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUlucHV0VGV4dGFyZWE7IGVsc2UgZGVmYXVsdElucHV0VGV4dGFyZWFcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSW5wdXRUZXh0YXJlYVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdElucHV0VGV4dGFyZWE+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBtdWx0aS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDcgZmllbGQtdGl0bGUtc21cIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleC1iYXNpczogMTAwJVwiPjwvZGl2PlxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJpbnB1dC1maWVsZCBpcC10ZXh0YXJlYVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IGNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9ycyA/ICcxcHggc29saWQgI0IwMDAyMCc6ICcnfVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyVGV4dCA/IGZpZWxkLnBsYWNlaG9sZGVyVGV4dCA6ICdJbnB1dCBUZXh0J1wiIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIFxuICA8IS0tIGZpZWxkVHlwZTogJ2lucHV0JyBmaWVsZElucHV0VHlwZTogJ2RhdGUnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnaW5wdXQnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAnZGF0ZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tSW5wdXREYXRlOyBlbHNlIGRlZmF1bHRJbnB1dERhdGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21JbnB1dERhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SW5wdXREYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgc2luZ2xlLWxpbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIlxuICAgICAgICAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ2lucHV0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2RhdGUnXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fSA8c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImRhdGUtcGlja2VyXCIgcmVhZG9ubHkgbWlzVHpEcCBbZHBDb25maWddPVwiZmllbGQuZmllbGRDb25maWdcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwiY29udHJvbC5zZXRWYWx1ZSgkZXZlbnQpXCIgW3NlbGVjdGVkRGF0ZV09XCJjb250cm9sLnZhbHVlXCIgW29mZnNldFldPVwiMFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiICNkcCAvPlxuICAgICAgICAgIDxpbWcgYWx0PVwiZGF0YS1waWNrZXJcIiAqbmdJZj1cImNhbGVuZGFySWNvblVybFwiIGNsYXNzPVwiZGF0ZS1waWNrZXItaWNvblwiIFtzcmNdPVwiY2FsZW5kYXJJY29uVXJsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJkcC5jbGljaygpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gZmllbGRUeXBlOiAnYm9vbGVhbicgZmllbGRJbnB1dFR5cGU6ICd0b2dnbGUnIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnYm9vbGVhbicgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICd0b2dnbGUnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUJvb2xlYW5Ub2dnbGU7IGVsc2UgZGVmYXVsdEJvb2xlYW5Ub2dnbGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21Cb29sZWFuVG9nZ2xlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJvb2xlYW5Ub2dnbGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1maWVsZCBzaW5nbGUtbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg2XCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPG1pcy1zd2l0Y2ggW2NvbnRyb2xdPVwiY29udHJvbFwiICh2YWx1ZUNoYW5nZWQpPVwidXBkYXRlU3ViRHluYW1pY0ZpZWxkcyhmaWVsZCwgZm9ybWdyb3VwLCAkZXZlbnQpXCI+PC9taXMtc3dpdGNoPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuZXJyb3JzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHluYW1pY0ZpZWxkRXJyb3JzXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbnRyb2wuZXJyb3JzIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj4gICAgXG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdzaW5nbGVTZWxlY3QnIGZpZWxkSW5wdXRUeXBlOiAnZHJvcGRvd24nIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZmllbGRUeXBlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2Ryb3Bkb3duJ1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93bjsgZWxzZSBkZWZhdWx0U2luZ2xlU2VsZWN0RHJvcGRvd25cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21TaW5nbGVTZWxlY3REcm9wZG93blwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTaW5nbGVTZWxlY3REcm9wZG93bj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsnYm9yZGVyLWJvdHRvbSc6IChmb3JtZ3JvdXA/LmNvbnRyb2xzPy5zdWJGaWVsZHM/LmNvbnRyb2xzPy5sZW5ndGggJiYgcmVtb3ZlU2VwcmF0b3JGb3JTdWJGaWVsZHMpID8gICdub25lJzonJ31cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJoNlwiPlxuICAgICAgICAgIHt7IGZpZWxkLnRpdGxlIH19PHNwYW4gKm5nSWY9XCJmaWVsZC52YWxpZGF0b3JzICYmIGZpZWxkLnZhbGlkYXRvcnMubGVuZ3RoID4gMFwiPiAqPC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydyZW1vdmVhYmxlLWNvbnRhaW5lcicgOiBmaWVsZD8uaXNSZW1vdmVhYmxlfVwiPlxuICAgICAgICAgIDxtaXMtZHJvcGRvd24gW3NlYXJjaEVuYWJsZWRdPVwiZmFsc2VcIiBbd2lkdGhdPVwiJzE0MHB4J1wiIFtkYXRhXT1cImZpZWxkLml0ZW1zTGlzdFwiIFtzZWxlY3RlZEl0ZW1dPVwiY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JTaW5nbGVTZWxlY3QoZmllbGQsIGNvbnRyb2wsIGZvcm1ncm91cCwgJGV2ZW50KTtcIj5cbiAgICAgICAgICA8L21pcy1kcm9wZG93bj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiZmllbGQuaXNSZW1vdmVhYmxlICYmIHJlbW92ZUljb25VcmxcIiBjbGFzcz1cInJlbW92ZS1pY29uXCIgW3NyY109XCJyZW1vdmVJY29uVXJsXCIgKGNsaWNrKT1cImZpZWxkUmVtb3ZlZC5lbWl0KGZpZWxkKVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXIgPlxuICBcblxuICA8IS0tIGZpZWxkVHlwZTogJ3NpbmdsZVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdyYWRpbycgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdzaW5nbGVTZWxlY3QnICYmIGZpZWxkLmZpZWxkSW5wdXRUeXBlID09PSAncmFkaW8nXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvOyBlbHNlIGRlZmF1bHRTaW5nbGVTZWxlY3RSYWRpb1wiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNpbmdsZVNlbGVjdFJhZGlvXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgZmllbGQ6IGZpZWxkLCBjb250cm9sOiBjb250cm9sLCBmb3JtZ3JvdXA6IGZvcm1ncm91cCB9XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNpbmdsZVNlbGVjdFJhZGlvPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImNoZWNrYm94ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLWNoZWNrYm94LWNvbW1vblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjaGVja2JveC1hY3RpdmUnOiBpdGVtLmxhYmVsID09PSBjb250cm9sLnZhbHVlPy5sYWJlbCB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJ1cGRhdGVTZWxlY3RlZFZhbHVlRm9yU2luZ2xlU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsIGl0ZW0pO1wiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cIihpdGVtLmxhYmVsID09PSBjb250cm9sLnZhbHVlPy5sYWJlbCkgJiYgYWN0aXZlQnRuSWNvblVybFwiIFtzcmNdPVwiYWN0aXZlQnRuSWNvblVybFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImg2XCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICBcblxuICA8IS0tIGZpZWxkVHlwZTogJ211bHRpU2VsZWN0JyBmaWVsZElucHV0VHlwZTogJ2NoZWNrYm94JyAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmZpZWxkVHlwZSA9PT0gJ211bHRpU2VsZWN0JyAmJiBmaWVsZC5maWVsZElucHV0VHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21NdWx0aVNlbGVjdENoZWNrYm94OyBlbHNlIGRlZmF1bHRNdWx0aVNlbGVjdENoZWNrYm94XCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tTXVsdGlTZWxlY3RDaGVja2JveFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGZpZWxkOiBmaWVsZCwgY29udHJvbDogY29udHJvbCwgZm9ybWdyb3VwOiBmb3JtZ3JvdXAgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNdWx0aVNlbGVjdENoZWNrYm94PlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZmllbGQgbXVsdGktbGluZS1maWVsZC1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydib3JkZXItYm90dG9tJzogKGZvcm1ncm91cD8uY29udHJvbHM/LnN1YkZpZWxkcz8uY29udHJvbHM/Lmxlbmd0aCAmJiByZW1vdmVTZXByYXRvckZvclN1YkZpZWxkcykgPyAgJ25vbmUnOicnfVwiPlxuICAgICAgICA8cCBjbGFzcz1cImg3IGZpZWxkLXRpdGxlLXNtXCI+XG4gICAgICAgICAge3sgZmllbGQudGl0bGUgfX08c3BhbiAqbmdJZj1cImZpZWxkLnZhbGlkYXRvcnMgJiYgZmllbGQudmFsaWRhdG9ycy5sZW5ndGggPiAwXCI+ICo8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXgtYmFzaXM6IDEwMCVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImNoZWNrYm94ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJhZGlvLWNoZWNrYm94LWNvbW1vblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpZWxkLml0ZW1zTGlzdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjaGVja2JveC1hY3RpdmUnOiBpc0NoZWNrQm94U2VsZWN0ZWQoaXRlbS5sYWJlbCwgY29udHJvbC52YWx1ZSkgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlU2VsZWN0ZWRWYWx1ZUZvck11bHRpU2VsZWN0KGZpZWxkLCBjb250cm9sLCBmb3JtZ3JvdXAsIFtpdGVtXSlcIj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpc0NoZWNrQm94U2VsZWN0ZWQoaXRlbS5sYWJlbCwgY29udHJvbC52YWx1ZSkgJiYgYWN0aXZlQnRuSWNvblVybFwiIFtzcmNdPVwiYWN0aXZlQnRuSWNvblVybFwiXG4gICAgICAgICAgICAgIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImg2XCI+e3sgaXRlbS5sYWJlbCB9fTwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5lcnJvcnNcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJkeW5hbWljRmllbGRFcnJvcnNcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udHJvbC5lcnJvcnMgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG5cbiAgPCEtLSBmaWVsZFR5cGU6ICdtdWx0aVNlbGVjdCcgZmllbGRJbnB1dFR5cGU6ICdkcm9wZG93bicgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5maWVsZFR5cGUgPT09ICdtdWx0aVNlbGVjdCcgJiYgZmllbGQuZmllbGRJbnB1dFR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTXVsdGlTZWxlY3REcm9wZG93bjsgZWxzZSBkZWZhdWx0TXVsdGlTZWxlY3REcm9wZG93blwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU11bHRpU2VsZWN0RHJvcGRvd25cIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBmaWVsZDogZmllbGQsIGNvbnRyb2w6IGNvbnRyb2wsIGZvcm1ncm91cDogZm9ybWdyb3VwIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TXVsdGlTZWxlY3REcm9wZG93bj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWZpZWxkIHNpbmdsZS1saW5lLWZpZWxkLWNvbnRhaW5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7J2JvcmRlci1ib3R0b20nOiAoZm9ybWdyb3VwPy5jb250cm9scz8uc3ViRmllbGRzPy5jb250cm9scz8ubGVuZ3RoICYmIHJlbW92ZVNlcHJhdG9yRm9yU3ViRmllbGRzKSA/ICAnbm9uZSc6Jyd9XCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaDZcIj5cbiAgICAgICAgICB7eyBmaWVsZC50aXRsZSB9fTxzcGFuICpuZ0lmPVwiZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCA+IDBcIj4gKjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8bWlzLW11bHRpLXNlbGVjdC1kcm9wZG93biBbd2lkdGhdPVwiJzE0MHB4J1wiIFtzaG93U2VsZWN0ZWRDb3VudF09XCJ0cnVlXCIgW2Ryb3Bkb3duTGlzdFdpZHRoXT1cIicyNTZweCdcIlxuICAgICAgICAgIFtzZWFyY2hFbmFibGVkXT1cImZhbHNlXCIgW2hpZGVBcHBseUJ1dHRvbl09XCJ0cnVlXCIgW2RhdGFdPVwiZmllbGQuaXRlbXNMaXN0XCJcbiAgICAgICAgICBbc2VsZWN0ZWRJdGVtc109XCJjb250cm9sLnZhbHVlXCIgKG9uQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdGVkVmFsdWVGb3JNdWx0aVNlbGVjdChmaWVsZCwgY29udHJvbCwgZm9ybWdyb3VwLCAkZXZlbnQpO1wiPjwvbWlzLW11bHRpLXNlbGVjdC1kcm9wZG93bj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmVycm9yc1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImR5bmFtaWNGaWVsZEVycm9yc1wiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb250cm9sLmVycm9ycyB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0ZpZWxkRXJyb3JzIGxldC1lcnJvcnM+XG4gIDxkaXYgaWQ9XCJlcnJvci1tZXNzYWdlcy1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnMgfCBrZXl2YWx1ZVwiPlxuICAgICAgPHAgY2xhc3M9XCJoOFwiPlxuICAgICAgICB7e1wiIOKAoiAmbmJzcDtcIiArIGVycm9yLnZhbHVlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwieyAnZmxleC1iYXNpcyc6ICcxMDAlJywgJ2hlaWdodCc6ICcwJyB9XCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -14,7 +14,7 @@ export class DynamicFormModule {
|
|
|
14
14
|
static forRoot() {
|
|
15
15
|
return { ngModule: DynamicFormModule, providers: [] };
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = function DynamicFormModule_Factory(
|
|
17
|
+
static { this.ɵfac = function DynamicFormModule_Factory(t) { return new (t || DynamicFormModule)(); }; }
|
|
18
18
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: DynamicFormModule }); }
|
|
19
19
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
20
|
ReactiveFormsModule,
|
|
@@ -53,4 +53,4 @@ export class DynamicFormModule {
|
|
|
53
53
|
SwitchModule,
|
|
54
54
|
MultiSelectDropdownModule,
|
|
55
55
|
DatepickerModuleV2], exports: [DynamicFormComponent] }); })();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQWlCN0UsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3hELENBQUM7a0ZBSFUsaUJBQWlCO21FQUFqQixpQkFBaUI7dUVBWjFCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGFBQWE7WUFDYixlQUFlO1lBQ2YsY0FBYztZQUNkLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsa0JBQWtCOztpRkFJVCxpQkFBaUI7Y0FmN0IsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNwQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWix5QkFBeUI7b0JBQ3pCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEM7O3dGQUNZLGlCQUFpQixtQkFkYixvQkFBb0IsYUFFakMsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsWUFBWTtRQUNaLHlCQUF5QjtRQUN6QixrQkFBa0IsYUFFVixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay1leHBlcmltZW50YWwvc2Nyb2xsaW5nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN3aXRjaE1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3N3aXRjaFwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3REcm9wZG93bk1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL211bHRpLXNlbGVjdC1kcm9wZG93blwiO1xuaW1wb3J0IHsgRGF0ZXBpY2tlck1vZHVsZVYyIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vZGF0ZXBpY2tlcl92MlwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljRm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBTd2l0Y2hNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3REcm9wZG93bk1vZHVsZSxcbiAgICBEYXRlcGlja2VyTW9kdWxlVjJcbiAgXSxcbiAgZXhwb3J0czogW0R5bmFtaWNGb3JtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RHluYW1pY0Zvcm1Nb2R1bGU+IHtcbiAgICByZXR1cm4geyBuZ01vZHVsZTogRHluYW1pY0Zvcm1Nb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
|
|
@@ -91,7 +91,7 @@ export class FabComponent {
|
|
|
91
91
|
toogleFab() {
|
|
92
92
|
this.isOpen = !this.isOpen;
|
|
93
93
|
}
|
|
94
|
-
static { this.ɵfac = function FabComponent_Factory(
|
|
94
|
+
static { this.ɵfac = function FabComponent_Factory(t) { return new (t || FabComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
|
|
95
95
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FabComponent, selectors: [["mis-fab"]], hostBindings: function FabComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
96
96
|
i0.ɵɵlistener("click", function FabComponent_click_HostBindingHandler($event) { return ctx.clickout($event); }, false, i0.ɵɵresolveDocument);
|
|
97
97
|
} }, inputs: { show: "show", options: "options", items: "items" }, decls: 1, vars: 1, consts: [["class", "fab-wrapper", 4, "ngIf"], [1, "fab-wrapper"], ["class", "fab-items", 4, "ngIf"], [1, "fab-container", 3, "click", "ngStyle"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "add-img"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z", "fill", "white"], [1, "fab-items"], ["class", "fab-item", 3, "click", 4, "ngFor", "ngForOf"], [1, "fab-item", 3, "click"], ["class", "fab-tooltip", 4, "ngIf"], [1, "fab-button", 3, "ngStyle"], [1, "add-img", 3, "src"], [1, "fab-tooltip"]], template: function FabComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -142,4 +142,4 @@ export class FabComponent {
|
|
|
142
142
|
args: ["document:click", ["$event"]]
|
|
143
143
|
}] }); })();
|
|
144
144
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FabComponent, { className: "FabComponent" }); })();
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZhYi9mYWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZmFiL2ZhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBRWQsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztJQ0EzRSwrQkFBNEM7SUFDMUMsWUFDRjtJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsOENBQ0Y7Ozs7SUFIRiw4QkFBb0c7SUFBMUIsNE1BQVMseUJBQWUsS0FBQztJQUNqRywrRUFBNEM7SUFHNUMsK0JBS0M7SUFDQywwQkFBeUM7SUFFN0MsQUFERSxpQkFBTSxFQUNGOzs7SUFYRSxjQUFnQjtJQUFoQixvQ0FBZ0I7SUFLcEIsY0FFRTtJQUZGLDBGQUVFO0lBRUcsY0FBaUI7SUFBakIsb0RBQWlCOzs7SUFYNUIsOEJBQWtEO0lBQ2hELHlFQUFvRztJQWF0RyxpQkFBTTs7O0lBZGdDLHVDQUFXO0lBQ1IsY0FBb0I7SUFBcEIsZ0RBQW9COzs7O0lBRi9ELDhCQUFzQztJQUNwQyxtRUFBa0Q7SUFlbEQsOEJBTUM7SUFEQyxxS0FBUyxrQkFBVyxLQUFDOztJQUVyQiw4QkFRQztJQUNDLDBCQUtFO0lBR1IsQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7O0lBdkNvQixjQUFZO0lBQVosb0NBQVk7SUFpQmxDLGNBRUU7SUFGRixpSkFFRTtJQUlBLGNBQWdEO0lBQWhELHFFQUFnRDs7QURpQnRELE1BQU0sT0FBTyxZQUFZO0lBT3ZCLFlBQW9CLElB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN4RyxDQUFDO29CQUNGLE9BQU8sQ0FBQyxjQUFjLEVBQUU7d0JBQ3RCLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7d0JBQ25ELEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7d0JBQ3ZELFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDM0QsVUFBVSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDM0QsQ0FBQztpQkFDSDsyQ0FHUSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFPTixRQUFRO2tCQURQLFlBQVk7bUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQVQvQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmb3JtYXQgKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0cmlnZ2VyLCB0cmFuc2l0aW9uLCBzdHlsZSwgYW5pbWF0ZSwgc3RhdGUgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuXG5leHBvcnQgdHlwZSBGYWJPcHRpb25zID0ge1xuICBiYWNrZ3JvdW5kQ29sb3JDbG9zZWQ/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvck9wZW5lZD86IHN0cmluZztcbiAgc2l6ZT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhYkl0ZW0gPSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGNsaWNrPzogKCkgPT4gYW55O1xufTtcblxuZXhwb3J0IHR5cGUgRmFiSXRlbXMgPSBGYWJJdGVtW107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZmFiXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZmFiLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9mYWIuY29tcG9uZW50LnNjc3NcIl0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwic2xpZGVVcEZhYlwiLCBbXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSg1MHB4KVwiLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKFwiMzAwbXMgZWFzZS1vdXRcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgwcHgpXCIsIG9wYWNpdHk6IDEgfSkpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oXCI6bGVhdmVcIiwgW2FuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDcwcHgpXCIsIG9wYWNpdHk6IDAgfSkpXSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwicm90YXRlQnV0dG9uXCIsIFtcbiAgICAgIHN0YXRlKFwiZGVmYXVsdFwiLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJyb3RhdGUoMClcIiB9KSksXG4gICAgICBzdGF0ZShcInJvdGF0ZWRcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwicm90YXRlKDQ1ZGVnKVwiIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJyb3RhdGVkID0+IGRlZmF1bHRcIiwgYW5pbWF0ZShcIjMwMG1zIGVhc2Utb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCJkZWZhdWx0ID0+IHJvdGF0ZWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW5cIikpXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgb3B0aW9uczogRmFiT3B0aW9ucyA9IHt9O1xuICBASW5wdXQoKSBpdGVtczogRmFiSXRlbXMgPSBbXTtcblxuICBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgY2xpY2tvdXQoZXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xvc2VGYWIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBzaXplOiA1NixcbiAgICAgIGJhY2tncm91bmRDb2xvckNsb3NlZDogXCIjMDkzN0IyXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3JPcGVuZWQ6IFwiIzNhNWZjMVwiLFxuICAgICAgLi4udGhpcy5vcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cblxuICBjbGlja0l0ZW0oaXRlbTogRmFiSXRlbSkge1xuICAgIHRoaXMuY2xvc2VGYWIoKTtcbiAgICBpdGVtLmNsaWNrKCk7XG4gIH1cblxuICBjbG9zZUZhYigpIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgdG9vZ2xlRmFiKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmFiLXdyYXBwZXJcIiAqbmdJZj1cInNob3dcIj5cbiAgPGRpdiBjbGFzcz1cImZhYi1pdGVtc1wiICpuZ0lmPVwiaXNPcGVuXCIgQHNsaWRlVXBGYWI+XG4gICAgPGRpdiBjbGFzcz1cImZhYi1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMucmV2ZXJzZSgpOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cImNsaWNrSXRlbShpdGVtKVwiPlxuICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cImZhYi10b29sdGlwXCI+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZhYi1idXR0b25cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvciB8fCAnIzA5MzdCMidcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJpdGVtLmljb25cIiBjbGFzcz1cImFkZC1pbWdcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmYWItY29udGFpbmVyXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IGlzT3BlbiA/IG9wdGlvbnMuYmFja2dyb3VuZENvbG9yT3BlbmVkIDogb3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3JDbG9zZWRcbiAgICB9XCJcbiAgICAoY2xpY2spPVwidG9vZ2xlRmFiKClcIlxuICA+XG4gICAgPHN2Z1xuICAgICAgW0Byb3RhdGVCdXR0b25dPVwiaXNPcGVuID8gJ3JvdGF0ZWQnIDogJ2RlZmF1bHQnXCJcbiAgICAgIGNsYXNzPVwiYWRkLWltZ1wiXG4gICAgICB3aWR0aD1cIjI0XCJcbiAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBkPVwiTTEzLjE0MjQgNS4xNTYwN0MxMy4xNDI0IDQuNTE3NTkgMTIuNjMxMyA0IDEyLjAwMDkgNEMxMS4zNzA0IDQgMTAuODU5NCA0LjUxNzU5IDEwLjg1OTQgNS4xNTYwN1YxMC44NDIxSDUuMTQxNDlDNC41MTEwNiAxMC44NDIxIDQgMTEuMzU5NyA0IDExLjk5ODJDNCAxMi42MzY3IDQuNTExMDYgMTMuMTU0MyA1LjE0MTQ5IDEzLjE1NDNIMTAuODU5NFYxOC44NDM5QzEwLjg1OTQgMTkuNDgyNCAxMS4zNzA0IDIwIDEyLjAwMDkgMjBDMTIuNjMxMyAyMCAxMy4xNDI0IDE5LjQ4MjQgMTMuMTQyNCAxOC44NDM5VjEzLjE1NDNIMTguODU4NUMxOS40ODg5IDEzLjE1NDMgMjAgMTIuNjM2NyAyMCAxMS45OTgyQzIwIDExLjM1OTcgMTkuNDg4OSAxMC44NDIxIDE4Ljg1ODUgMTAuODQyMUgxMy4xNDI0VjUuMTU2MDdaXCJcbiAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -6,7 +6,7 @@ export class FabModule {
|
|
|
6
6
|
static forRoot() {
|
|
7
7
|
return { ngModule: FabModule, providers: [] };
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = function FabModule_Factory(
|
|
9
|
+
static { this.ɵfac = function FabModule_Factory(t) { return new (t || FabModule)(); }; }
|
|
10
10
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: FabModule }); }
|
|
11
11
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] }); }
|
|
12
12
|
}
|
|
@@ -19,4 +19,4 @@ export class FabModule {
|
|
|
19
19
|
}]
|
|
20
20
|
}], null, null); })();
|
|
21
21
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FabModule, { declarations: [FabComponent], imports: [CommonModule], exports: [FabComponent] }); })();
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZhYi9mYWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hELENBQUM7MEVBSFUsU0FBUzttRUFBVCxTQUFTO3VFQUhWLFlBQVk7O2lGQUdYLFNBQVM7Y0FMckIsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEI7O3dGQUNZLFNBQVMsbUJBSkwsWUFBWSxhQUNqQixZQUFZLGFBQ1osWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZhYkNvbXBvbmVudCB9IGZyb20gXCIuL2ZhYi5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmFiQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtGYWJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEZhYk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RmFiTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEZhYk1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -371,7 +371,7 @@ export class FilterPanelComponent {
|
|
|
371
371
|
this.applyFilters();
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
|
-
static { this.ɵfac = function FilterPanelComponent_Factory(
|
|
374
|
+
static { this.ɵfac = function FilterPanelComponent_Factory(t) { return new (t || FilterPanelComponent)(i0.ɵɵdirectiveInject(i1.HasValuePipe)); }; }
|
|
375
375
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FilterPanelComponent, selectors: [["mis-filter-panel"]], inputs: { show: "show", config: "config", emitFiltersAfterSettingNewValues: "emitFiltersAfterSettingNewValues" }, outputs: { onClose: "onClose", onApply: "onApply" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "filter-panel-container", 4, "ngIf"], [1, "filter-panel-container"], [1, "panel-header"], ["width", "25", "height", "25", "viewBox", "0 0 25 25", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "close-icon", 3, "click"], ["id", "ic-navigation-cancel-24"], ["id", "Union", "fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.60468 6.64355C8.09036 6.12923 7.25649 6.12923 6.74218 6.64355C6.22787 7.15786 6.22787 7.99173 6.74218 8.50604L10.4938 12.2576L6.7431 16.0083C6.22879 16.5226 6.22879 17.3564 6.7431 17.8708C7.25742 18.3851 8.09129 18.3851 8.6056 17.8708L12.3562 14.1201L16.1068 17.8707C16.6211 18.385 17.455 18.385 17.9693 17.8707C18.4836 17.3564 18.4836 16.5225 17.9693 16.0082L14.2187 12.2576L17.9702 8.50613C18.4845 7.99181 18.4845 7.15794 17.9702 6.64363C17.4559 6.12932 16.622 6.12932 16.1077 6.64363L12.3562 10.3951L8.60468 6.64355Z", "fill", "#181F33"], [1, "horizontal-divider", "first"], [1, "filters", 3, "formGroup"], [4, "ngFor", "ngForOf"], [1, "actions"], [3, "click", "name", "size", "type"], [3, "click", "name", "size", "type", "disabled"], ["class", "filter", 4, "ngIf"], [1, "filter"], [1, "filter-title"], [4, "ngIf"], ["class", "horizontal-divider", 4, "ngIf"], [1, "multiselect-filter"], ["width", "100%", "height", "44px", 1, "no-padding", 3, "onChange", "label", "selectedItems", "data", "searchEnabled", "showSelectedCount", "enableSelectAll", "hideApplyButton"], ["width", "100%", "height", "44px", 3, "onChange", "data", "searchEnabled", "selectedItem"], [1, "checkbox-row"], ["class", "checkbox-container", 4, "ngFor", "ngForOf"], [1, "checkbox-container"], [3, "valueChange", "type", "checked"], [1, "checkbox-label"], ["type", "rounded"], ["misTzDp", "", "misInput", "", "type", "text", "readonly", "", 1, "mis-input", 3, "dateChange", "dpConfig", "placeholder", "value", "selectedDate", "positionX", "offsetX"], ["misTzDrp", "", "misInput", "", "type", "text", "readonly", "", 1, "mis-input", 3, "dateChange", "placeholder", "value", "positionX", "positionY", "selectedDates", "dpConfig"], ["misInput", "", "type", "text", 1, "input", 3, "placeholder", "formControlName"], ["misInput", "", "type", "number", 1, "input", 3, "placeholder", "formControlName"], [1, "range-container", 3, "formGroup"], [1, "range-inner-container"], ["misInput", "", "type", "number", "formControlName", "min", 1, "input", 3, "placeholder"], ["misInput", "", "type", "number", "formControlName", "max", 1, "input", 3, "placeholder", "min"], [1, "horizontal-divider"]], template: function FilterPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
376
376
|
i0.ɵɵtemplate(0, FilterPanelComponent_div_0_Template, 13, 10, "div", 0);
|
|
377
377
|
} if (rf & 2) {
|
|
@@ -393,4 +393,4 @@ export class FilterPanelComponent {
|
|
|
393
393
|
type: Input
|
|
394
394
|
}] }); })();
|
|
395
395
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FilterPanelComponent, { className: "FilterPanelComponent" }); })();
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNleEMsNkJBQW9EO0lBRTVDLEFBREosK0JBQWdDLG9DQUc2QjtJQUZpRixxU0FBWSxxREFBd0MsS0FBQztJQUduTSxBQUQ2RCxpQkFBNEIsRUFDbkY7Ozs7O0lBSDRDLGVBQXdDO0lBRWxGLEFBRDJCLEFBQTNCLEFBRG9OLEFBQXhCLEFBQXpHLEFBQXpDLHlEQUF3Qyw2REFBbUQsMkJBQThFLHVCQUF1QiwyQkFDaE4seUJBQXlCLDBCQUMxQjs7OztJQUlyQyw2QkFBK0M7SUFFdkMsQUFESiwrQkFBZ0MsdUJBRW9GO0lBQXhHLHdSQUFZLHFEQUF3QyxLQUFDO0lBRWpFLEFBREksaUJBQWUsRUFDYjs7Ozs7SUFIWSxlQUF1QjtJQUN5QixBQUR4QixBQUF4Qix3Q0FBdUIsdUJBQXVCLDREQUNtRDs7OztJQVEzRyxBQURKLCtCQUFzRSx1QkFDNkc7SUFBekUsZ1VBQWUsd0VBQXdELEtBQUM7SUFBQyxpQkFBZTtJQUM5TCxnQ0FBNkI7SUFBQSxZQUFnQjtJQUNqRCxBQURpRCxpQkFBTyxFQUNs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aUU7O1lBQTVCLCtCQUFVO2dnSUQrQmpDLENBQUMsY0FBYyxDQUFDOztpRkFLakIsb0JBQW9CO2NBVGhDLFNBQVM7MkJBQ0Usa0JBQWtCLGNBR2hCLENBQUMsY0FBYyxDQUFDOzZDQU9uQixJQUFJO2tCQUFaLEtBQUs7WUFDSSxPQUFPO2tCQUFoQixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNFLE1BQU07a0JBQWQsS0FBSztZQUNHLGdDQUFnQztrQkFBeEMsS0FBSzs7a0ZBTkssb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzbGlkZUZyb21SaWdodCB9IGZyb20gJy4uL2FuaW1hdGlvbnMvc2xpZGVGcm9tUmlnaHQnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElEYXRlUGlja2VyQ29uZmlnIH0gZnJvbSAnbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9kYXRlcGlja2VyX3YyJztcbmltcG9ydCB7IElSU2VsZWN0ZWREYXRlc0NvbmZpZyB9IGZyb20gJ21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vc3BlY2lmaWNkYXRlcGlja2VyJztcbmltcG9ydCB7IElEYXRlUGlja2VyQ29uZmlnIGFzIElEYXRlUmFuZ2VQaWNrZXJDb25maWcgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS9kYXRlcmFuZ2VwaWNrZXJfdjJcIjtcbmltcG9ydCB7IEhhc1ZhbHVlUGlwZSB9IGZyb20gJy4uL2hhcy12YWx1ZS5waXBlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclBhbmVsQ29uZmlnIHtcbiAga2V5OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU6ICdtdWx0aVNlbGVjdCcgfCAnc2VsZWN0JyB8ICdkYXRlUGlja2VyJyB8ICdkYXRlUmFuZ2VQaWNrZXInIHwgJ2NoZWNrYm94JyB8ICdyYWRpbycgfCAndGV4dCcgfCAnbnVtYmVyJyB8ICdyYW5nZSc7XG4gIG9wdGlvbnM/OiBBcnJheTx7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRhdGE/OiBhbnlbXTtcbiAgfT47XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBkYXRlUGlja2VyQ29uZmlnPzogSURhdGVQaWNrZXJDb25maWc7XG4gIGRhdGVSYW5nZVBpY2tlckNvbmZpZz86IElEYXRlUmFuZ2VQaWNrZXJDb25maWc7XG4gIG9uQ2hhbmdlPzogKGV2ZW50OiBhbnksIGNvbmZpZz86IEZpbHRlclBhbmVsQ29uZmlnW10sIGZvcm1WYWx1ZT86IGFueSkgPT4gdm9pZDtcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xuICBzZWxlY3RlZFZhbHVlPzogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaXMtZmlsdGVyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbc2xpZGVGcm9tUmlnaHRdXG59KVxuXG5cblxuZXhwb3J0IGNsYXNzIEZpbHRlclBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhhc1ZhbHVlOiBIYXNWYWx1ZVBpcGUpe31cbiAgQElucHV0KCkgc2hvdzogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBjb25maWc6IEZpbHRlclBhbmVsQ29uZmlnW10gPSBbXTtcbiAgQElucHV0KCkgZW1pdEZpbHRlcnNBZnRlclNldHRpbmdOZXdWYWx1ZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cChbXSk7XG4gIGxhc3RBcHBsaWVkRGF0YTogYW55O1xuXG4gIHJhbmdlTWluOiBudW1iZXI7XG4gIHJhbmdlTWF4OiBudW1iZXI7XG5cbiAgZGF0ZVJhbmdlU2VsZWN0ZWREYXRlczogSVJTZWxlY3RlZERhdGVzQ29uZmlnID0ge1xuICAgIHN0YXJ0RGF0ZTogJycsXG4gICAgZW5kRGF0ZTogJycsXG4gIH07XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRm9ybUNvbnRyb2xzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlcy5jb25maWcgJiYgIWNoYW5nZXMuY29uZmlnLmZpcnN0Q2hhbmdlKXtcbiAgICAgIHRoaXMuc2V0RmlsdGVyVmFsdWUodGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpemVGb3JtQ29udHJvbHMoKSB7XG4gICAgdGhpcy5jb25maWcuZm9yRWFjaCgoZmlsdGVyOiBGaWx0ZXJQYW5lbENvbmZpZykgPT4ge1xuICAgICAgbGV0IGNvbnRyb2w6IGFueTtcbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICBjb250cm9sID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgbWluOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICAgICAgbWF4OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICAgIH0sIHtcbiAgICAgICAgICB2YWxpZGF0b3JzOiAoZ3JvdXA6IEZvcm1Hcm91cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWluID0gZ3JvdXAuZ2V0KCdtaW4nKS52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IG1heCA9IGdyb3VwLmdldCgnbWF4JykudmFsdWU7XG4gICAgICAgICAgICBpZiAobWluICE9PSBudWxsICYmIG1heCAhPT0gbnVsbCAmJiBtaW4gPiBtYXgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgcmFuZ2VFcnJvcjogJ01pbiB2YWx1ZSBzaG91bGQgYmUgbGVzcyB0aGFuIG1heCB2YWx1ZScgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGZpbHRlci50eXBlID09PSAnbXVsdGlTZWxlY3QnIHx8IGZpbHRlci50eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woW10pO1xuICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xuICAgICAgfVxuICAgICAgaWYodGhpcy5oYXNWYWx1ZS50cmFuc2Zvcm0oZmlsdGVyLmRlZmF1bHRWYWx1ZSkpe1xuICAgICAgICBjb250cm9sLnNldFZhbHVlKGZpbHRlci5kZWZhdWx0VmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woZmlsdGVyLmtleSwgY29udHJvbCk7XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCl7XG4gICAgaWYodGhpcy5sYXN0QXBwbGllZERhdGEpe1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnNldFZhbHVlKHRoaXMubGFzdEFwcGxpZWREYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhckZvcm1WYWx1ZXMoKTtcbiAgICB9XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIGZpbHRlckNvdW50KCl7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICB0aGlzLmNvbmZpZy5mb3JFYWNoKChmaWx0ZXI6IEZpbHRlclBhbmVsQ29uZmlnKSA9PiB7XG4gICAgICBpZih0aGlzLmhhc1ZhbHVlLnRyYW5zZm9ybSh0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlKSl7XG4gICAgICAgIGlmKGZpbHRlci50eXBlID09PSAncmFuZ2UnICYmIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWUubWluID09IG51bGwgJiYgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZS5tYXggPT0gbnVsbCl7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXJzKCl7XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgXG4gICAgdGhpcy5sYXN0QXBwbGllZERhdGEgPSB7Li4udGhpcy5maWx0ZXJGb3JtLnZhbHVlfTtcbiAgICB0aGlzLm9uQXBwbHkuZW1pdCh7XG4gICAgICBmaWx0ZXJEYXRhOiB0aGlzLmZpbHRlckZvcm0udmFsdWUsXG4gICAgICBmaWx0ZXJDb3VudDogdGhpcy5maWx0ZXJDb3VudCgpXG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZVBhbmVsKCk7XG4gIH1cblxuICBoYW5kbGVTZWxlY3QoZXZlbnQ6IGFueSwgZmlsdGVyS2V5OiBzdHJpbmcsIGZpbHRlcjogRmlsdGVyUGFuZWxDb25maWcpe1xuICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyS2V5KS5zZXRWYWx1ZShldmVudCk7XG4gICAgaWYoZmlsdGVyLm9uQ2hhbmdlKXtcbiAgICAgIGZpbHRlci5vbkNoYW5nZShldmVudCwgdGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55LCBmaWx0ZXJLZXk6IHN0cmluZywgZmlsdGVyOiBGaWx0ZXJQYW5lbENvbmZpZyl7XG4gICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXJLZXkpLnNldFZhbHVlKGV2ZW50KTtcbiAgICBpZih0eXBlb2YgZXZlbnQgPT09ICdvYmplY3QnKXtcbiAgICAgIHRoaXMuZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcyA9IHtcbiAgICAgICAgc3RhcnREYXRlOiBldmVudC5zdGFydERhdGUsXG4gICAgICAgIGVuZERhdGU6IGV2ZW50LmVuZERhdGUsXG4gICAgICB9O1xuICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyS2V5KS52YWx1ZSk7IFxuICAgfVxuICB9XG5cbiAgaGFuZGxlQ2hlY2tib3goZXZlbnQ6IGFueSwgZmlsdGVyS2V5OiBzdHJpbmcsIGNoZWNrYm94VmFsdWU6IHN0cmluZywgZmlsdGVyOiBGaWx0ZXJQYW5lbENvbmZpZyl7XG4gICAgaWYoZXZlbnQudmFsdWUpe1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXJLZXkpLnNldFZhbHVlKFsuLi50aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlcktleSkudmFsdWUsIGNoZWNrYm94VmFsdWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlcktleSkudmFsdWU7XG4gICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlcktleSkuc2V0VmFsdWUoZmlsdGVyVmFsdWUuZmlsdGVyKCh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZSAhPT0gY2hlY2tib3hWYWx1ZSkpO1xuICAgIH1cbiAgICBpZihmaWx0ZXIub25DaGFuZ2Upe1xuICAgICAgZmlsdGVyLm9uQ2hhbmdlKGV2ZW50LCB0aGlzLmNvbmZpZywgdGhpcy5maWx0ZXJGb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckZvcm1WYWx1ZXMoKXtcbiAgICBjb25zdCByZXNldFZhbHVlczogYW55ID0ge307XG4gICAgdGhpcy5jb25maWcuZm9yRWFjaCgoZmlsdGVyOiBGaWx0ZXJQYW5lbENvbmZpZykgPT4ge1xuICAgICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55ID0gZmlsdGVyLmRlZmF1bHRWYWx1ZSB8fCBudWxsO1xuICAgICAgaWYgKGZpbHRlci50eXBlID09PSAnbXVsdGlTZWxlY3QnIHx8IGZpbHRlci50eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGZpbHRlci5kZWZhdWx0VmFsdWUgfHwgW107XG4gICAgICB9XG4gICAgICBpZihmaWx0ZXIudHlwZSA9PT0gJ3JhbmdlJyl7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGZpbHRlci5kZWZhdWx0VmFsdWUgfHwgeyBtaW46IG51bGwsIG1heDogbnVsbCB9O1xuICAgICAgfVxuICAgICAgcmVzZXRWYWx1ZXNbZmlsdGVyLmtleV0gPSBkZWZhdWx0VmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnBhdGNoVmFsdWUocmVzZXRWYWx1ZXMpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuY2xlYXJGb3JtVmFsdWVzKCk7XG4gICAgdGhpcy5hcHBseUZpbHRlcnMoKTtcbiAgfVxuXG4gIHNldEZpbHRlclZhbHVlKGNvbmZpZzogRmlsdGVyUGFuZWxDb25maWdbXSl7XG4gICBsZXQgYW55VmFsdWVTZXQgPSBmYWxzZTtcbiAgIGZvcihjb25zdCBmaWx0ZXIgb2YgY29uZmlnKXtcbiAgICBpZihmaWx0ZXI/LnNlbGVjdGVkVmFsdWUpe1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS5zZXRWYWx1ZShmaWx0ZXIuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICBhbnlWYWx1ZVNldCA9IHRydWU7XG4gICAgfVxuICAgfVxuICAgaWYoYW55VmFsdWVTZXQgJiYgdGhpcy5lbWl0RmlsdGVyc0FmdGVyU2V0dGluZ05ld1ZhbHVlcyl7XG4gICAgdGhpcy5hcHBseUZpbHRlcnMoKTtcbiAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyLXBhbmVsLWNvbnRhaW5lclwiICpuZ0lmPVwic2hvd1wiIEBzbGlkZUZyb21SaWdodD4gXG4gICAgPGRpdiBjbGFzcz1cInBhbmVsLWhlYWRlclwiPlxuICAgICAgICA8c3Bhbj5GaWx0ZXJzPC9zcGFuPlxuICAgICAgICA8c3ZnIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8ZyBpZD1cImljLW5hdmlnYXRpb24tY2FuY2VsLTI0XCI+XG4gICAgICAgICAgICA8cGF0aCBpZD1cIlVuaW9uXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTguNjA0NjggNi42NDM1NUM4LjA5MDM2IDYuMTI5MjMgNy4yNTY0OSA2LjEyOTIzIDYuNzQyMTggNi42NDM1NUM2LjIyNzg3IDcuMTU3ODYgNi4yMjc4NyA3Ljk5MTczIDYuNzQyMTggOC41MDYwNEwxMC40OTM4IDEyLjI1NzZMNi43NDMxIDE2LjAwODNDNi4yMjg3OSAxNi41MjI2IDYuMjI4NzkgMTcuMzU2NCA2Ljc0MzEgMTcuODcwOEM3LjI1NzQyIDE4LjM4NTEgOC4wOTEyOSAxOC4zODUxIDguNjA1NiAxNy44NzA4TDEyLjM1NjIgMTQuMTIwMUwxNi4xMDY4IDE3Ljg3MDdDMTYuNjIxMSAxOC4zODUgMTcuNDU1IDE4LjM4NSAxNy45NjkzIDE3Ljg3MDdDMTguNDgzNiAxNy4zNTY0IDE4LjQ4MzYgMTYuNTIyNSAxNy45NjkzIDE2LjAwODJMMTQuMjE4NyAxMi4yNTc2TDE3Ljk3MDIgOC41MDYxM0MxOC40ODQ1IDcuOTkxODEgMTguNDg0NSA3LjE1Nzk0IDE3Ljk3MDIgNi42NDM2M0MxNy40NTU5IDYuMTI5MzIgMTYuNjIyIDYuMTI5MzIgMTYuMTA3NyA2LjY0MzYzTDEyLjM1NjIgMTAuMzk1MUw4LjYwNDY4IDYuNjQzNTVaXCIgZmlsbD1cIiMxODFGMzNcIi8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgIDwvc3ZnPiAgICAgICAgICAgIFxuICAgIDwvZGl2PlxuICAgIFxuICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWRpdmlkZXIgZmlyc3RcIj48L2Rpdj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyc1wiIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgY29uZmlnOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXJcIiAqbmdJZj1cIiFmaWx0ZXIuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItdGl0bGVcIj57e2ZpbHRlci50aXRsZX19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnbXVsdGlTZWxlY3QnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXNlbGVjdC1maWx0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtaXMtbXVsdGktc2VsZWN0LWRyb3Bkb3duIGNsYXNzPVwibm8tcGFkZGluZ1wiIFtsYWJlbF09XCJmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1NlbGVjdCdcIiBbc2VsZWN0ZWRJdGVtc109XCJmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZVwiIChvbkNoYW5nZSk9XCJoYW5kbGVTZWxlY3QoJGV2ZW50LCBmaWx0ZXIua2V5LCBmaWx0ZXIpXCIgW2RhdGFdPVwiZmlsdGVyLm9wdGlvbnNcIiBbc2VhcmNoRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NlbGVjdGVkQ291bnRdPVwidHJ1ZVwiIFtlbmFibGVTZWxlY3RBbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVBcHBseUJ1dHRvbl09XCJmYWxzZVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjQ0cHhcIj48L21pcy1tdWx0aS1zZWxlY3QtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnc2VsZWN0J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtZmlsdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWlzLWRyb3Bkb3duIFtkYXRhXT1cImZpbHRlci5vcHRpb25zXCIgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjQ0cHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlU2VsZWN0KCRldmVudCwgZmlsdGVyLmtleSwgZmlsdGVyKVwiIFtzZWxlY3RlZEl0ZW1dPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWlzLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnY2hlY2tib3gnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXIub3B0aW9uc1wiIGNsYXNzPVwiY2hlY2tib3gtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1pcy1jaGVja2JveCBbdHlwZV09XCInRGVmYXVsdCdcIiBbY2hlY2tlZF09XCJmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZT8uaW5jbHVkZXMob3B0aW9uLnZhbHVlKVwiICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVDaGVja2JveCgkZXZlbnQsIGZpbHRlci5rZXksIG9wdGlvbi52YWx1ZSwgZmlsdGVyKVwiPjwvbWlzLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tib3gtbGFiZWxcIj57e29wdGlvbi5sYWJlbH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnZGF0ZVBpY2tlcidcIj5cbiAgICAgICAgICAgICAgICAgICAge3tmaWx0ZXIucGxhY2Vob2xkZXJ9fVxuICAgICAgICAgICAgICAgICAgICA8bWlzLWlucHV0IHR5cGU9XCJyb3VuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWlzVHpEcCBtaXNJbnB1dCB0eXBlPVwidGV4dFwiIHJlYWRvbmx5IGNsYXNzPVwibWlzLWlucHV0XCIgW2RwQ29uZmlnXT1cImZpbHRlci5kYXRlcGlja2VyQ29uZmlnXCIgW3BsYWNlaG9sZGVyXT1cImZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlID8gZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWUgOiAoZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdTZWxlY3QnKVwiIFt2YWx1ZV09XCJmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZSA/IGZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlIDogKGZpbHRlci5wbGFjZWhvbGRlciB8fCAnU2VsZWN0JylcIiAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50LCBmaWx0ZXIua2V5LCBmaWx0ZXIpXCIgW3NlbGVjdGVkRGF0ZV09XCJmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZVwiIFtwb3NpdGlvblhdPVwiJ2VuZCdcIiBbb2Zmc2V0WF09XCItMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9taXMtaW5wdXQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyLnR5cGUgPT09ICdkYXRlUmFuZ2VQaWNrZXInXCI+XG4gICAgICAgICAgICAgICAgPG1pcy1pbnB1dCB0eXBlPVwicm91bmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWlzVHpEcnAgbWlzSW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cIm1pcy1pbnB1dFwiIHJlYWRvbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCFkYXRlUmFuZ2VTZWxlY3RlZERhdGVzLnN0YXJ0RGF0ZSAmJiAhZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5lbmREYXRlKSA/IChmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1NlbGVjdCcpIDogZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5zdGFydERhdGUgKyAnIC0gJyArIGRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuZW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiKCFkYXRlUmFuZ2VTZWxlY3RlZERhdGVzLnN0YXJ0RGF0ZSAmJiAhZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5lbmREYXRlKSA/IChmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1NlbGVjdCcpIDogZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5zdGFydERhdGUgKyAnIC0gJyArIGRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuZW5kRGF0ZVwiIFtwb3NpdGlvblhdPVwiJ3N0YXJ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcG9zaXRpb25ZXT1cIid0b3AnXCIgW3NlbGVjdGVkRGF0ZXNdPVwiZGF0ZVJhbmdlU2VsZWN0ZWREYXRlc1wiIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQsIGZpbHRlci5rZXksIGZpbHRlcilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RwQ29uZmlnXT1cImZpbHRlci5kYXRlUmFuZ2VQaWNrZXJDb25maWdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9taXMtaW5wdXQ+ICAgIFxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAndGV4dCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1pcy1pbnB1dCB0eXBlPVwicm91bmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1pc0lucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJpbnB1dFwiIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1R5cGUgaGVyZSdcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpbHRlci5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9taXMtaW5wdXQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyLnR5cGUgPT09ICdudW1iZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtaXMtaW5wdXQgdHlwZT1cInJvdW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtaXNJbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJpbnB1dFwiIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1R5cGUgaGVyZSdcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpbHRlci5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9taXMtaW5wdXQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyLnR5cGUgPT09ICdyYW5nZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLWNvbnRhaW5lclwiIFtmb3JtR3JvdXBdPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtaW5uZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWx0ZXI/Lm9wdGlvbnM/LlswXT8ubGFiZWwgfHwgJ01pbicgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pc0lucHV0IFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpbHRlci5wbGFjZWhvbGRlciB8fCAnVHlwZSBoZXJlJ1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZ2UtaW5uZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWx0ZXI/Lm9wdGlvbnM/LlsxXT8ubGFiZWwgfHwgJ01heCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pc0lucHV0IFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpbHRlci5wbGFjZWhvbGRlciB8fCAnVHlwZSBoZXJlJ1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZmlsdGVyRm9ybS5nZXQ/LihmaWx0ZXIua2V5KT8uZ2V0KCdtaW4nKT8udmFsdWUgfHwgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtZGl2aWRlclwiICpuZ0lmPVwiIWxhc3RcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ0NsZWFyIEFsbCdcIiBbc2l6ZV09XCInU21hbGwnXCIgW3R5cGVdPVwiJ1RleHQnXCIgKGNsaWNrKT1cInJlc2V0RmlsdGVycygpXCI+PC9taXMtYnV0dG9uPlxuICAgICAgICA8bWlzLWJ1dHRvbiBbbmFtZV09XCInQXBwbHknXCIgW3NpemVdPVwiJ1NtYWxsJ1wiIFt0eXBlXT1cIidTb2xpZCdcIiAoY2xpY2spPVwiYXBwbHlGaWx0ZXJzKClcIiBbZGlzYWJsZWRdPVwiZmlsdGVyRm9ybS5pbnZhbGlkXCI+PC9taXMtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+IFxuIl19
|
|
396
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNleEMsNkJBQW9EO0lBRTVDLEFBREosK0JBQWdDLG9DQUc2QjtJQUZpRixxU0FBWSxxREFBd0MsS0FBQztJQUduTSxBQUQ2RCxpQkFBNEIsRUFDbkY7Ozs7O0lBSDRDLGVBQXdDO0lBRWxGLEFBRDJCLEFBQTNCLEFBRG9OLEFBQXhCLEFBQXpHLEFBQXpDLHlEQUF3Qyw2REFBbUQsMkJBQThFLHVCQUF1QiwyQkFDaE4seUJBQXlCLDBCQUMxQjs7OztJQUlyQyw2QkFBK0M7SUFFdkMsQUFESiwrQkFBZ0MsdUJBRW9GO0lBQXhHLHdSQUFZLHFEQUF3QyxLQUFDO0lBRWpFLEFBREksaUJBQWUsRUFDYjs7Ozs7SUFIWSxlQUF1QjtJQUN5QixBQUR4QixBQUF4Qix3Q0FBdUIsdUJBQXVCLDREQUNtRDs7OztJQVEzRyxBQURKLCtCQUFzRSx1QkFDNkc7SUFBekUsZ1VBQWUsd0VBQXdELEtBQUM7SUFBQyxpQkFBZTtJQUM5TCxnQ0FBNkI7SUFBQSxZQUFnQjtJQUNqRCxBQURpRCxpQkFBTyxFQUNs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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2xpZGVGcm9tUmlnaHQgfSBmcm9tICcuLi9hbmltYXRpb25zL3NsaWRlRnJvbVJpZ2h0JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJ21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vZGF0ZXBpY2tlcl92Mic7XG5pbXBvcnQgeyBJUlNlbGVjdGVkRGF0ZXNDb25maWcgfSBmcm9tICdtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3NwZWNpZmljZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBJRGF0ZVBpY2tlckNvbmZpZyBhcyBJRGF0ZVJhbmdlUGlja2VyQ29uZmlnIH0gZnJvbSBcIm1pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0vZGF0ZXJhbmdlcGlja2VyX3YyXCI7XG5pbXBvcnQgeyBIYXNWYWx1ZVBpcGUgfSBmcm9tICcuLi9oYXMtdmFsdWUucGlwZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQYW5lbENvbmZpZyB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB0eXBlOiAnbXVsdGlTZWxlY3QnIHwgJ3NlbGVjdCcgfCAnZGF0ZVBpY2tlcicgfCAnZGF0ZVJhbmdlUGlja2VyJyB8ICdjaGVja2JveCcgfCAncmFkaW8nIHwgJ3RleHQnIHwgJ251bWJlcicgfCAncmFuZ2UnO1xuICBvcHRpb25zPzogQXJyYXk8e1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkYXRhPzogYW55W107XG4gIH0+O1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZGF0ZVBpY2tlckNvbmZpZz86IElEYXRlUGlja2VyQ29uZmlnO1xuICBkYXRlUmFuZ2VQaWNrZXJDb25maWc/OiBJRGF0ZVJhbmdlUGlja2VyQ29uZmlnO1xuICBvbkNoYW5nZT86IChldmVudDogYW55LCBjb25maWc/OiBGaWx0ZXJQYW5lbENvbmZpZ1tdLCBmb3JtVmFsdWU/OiBhbnkpID0+IHZvaWQ7XG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcbiAgc2VsZWN0ZWRWYWx1ZT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWlzLWZpbHRlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW3NsaWRlRnJvbVJpZ2h0XVxufSlcblxuXG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBoYXNWYWx1ZTogSGFzVmFsdWVQaXBlKXt9XG4gIEBJbnB1dCgpIHNob3c6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25BcHBseSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgY29uZmlnOiBGaWx0ZXJQYW5lbENvbmZpZ1tdID0gW107XG4gIEBJbnB1dCgpIGVtaXRGaWx0ZXJzQWZ0ZXJTZXR0aW5nTmV3VmFsdWVzOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlckZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoW10pO1xuICBsYXN0QXBwbGllZERhdGE6IGFueTtcblxuICByYW5nZU1pbjogbnVtYmVyO1xuICByYW5nZU1heDogbnVtYmVyO1xuXG4gIGRhdGVSYW5nZVNlbGVjdGVkRGF0ZXM6IElSU2VsZWN0ZWREYXRlc0NvbmZpZyA9IHtcbiAgICBzdGFydERhdGU6ICcnLFxuICAgIGVuZERhdGU6ICcnLFxuICB9O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1Db250cm9scygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXMuY29uZmlnICYmICFjaGFuZ2VzLmNvbmZpZy5maXJzdENoYW5nZSl7XG4gICAgICB0aGlzLnNldEZpbHRlclZhbHVlKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplRm9ybUNvbnRyb2xzKCkge1xuICAgIHRoaXMuY29uZmlnLmZvckVhY2goKGZpbHRlcjogRmlsdGVyUGFuZWxDb25maWcpID0+IHtcbiAgICAgIGxldCBjb250cm9sOiBhbnk7XG4gICAgICBpZiAoZmlsdGVyLnR5cGUgPT09ICdyYW5nZScpIHtcbiAgICAgICAgY29udHJvbCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgIG1pbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgICAgIG1heDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdmFsaWRhdG9yczogKGdyb3VwOiBGb3JtR3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1pbiA9IGdyb3VwLmdldCgnbWluJykudmFsdWU7XG4gICAgICAgICAgICBjb25zdCBtYXggPSBncm91cC5nZXQoJ21heCcpLnZhbHVlO1xuICAgICAgICAgICAgaWYgKG1pbiAhPT0gbnVsbCAmJiBtYXggIT09IG51bGwgJiYgbWluID4gbWF4KSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IHJhbmdlRXJyb3I6ICdNaW4gdmFsdWUgc2hvdWxkIGJlIGxlc3MgdGhhbiBtYXggdmFsdWUnIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudHlwZSA9PT0gJ211bHRpU2VsZWN0JyB8fCBmaWx0ZXIudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKFtdKTtcbiAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLnR5cGUgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChudWxsKTtcbiAgICAgIH1cbiAgICAgIGlmKHRoaXMuaGFzVmFsdWUudHJhbnNmb3JtKGZpbHRlci5kZWZhdWx0VmFsdWUpKXtcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShmaWx0ZXIuZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5hZGRDb250cm9sKGZpbHRlci5rZXksIGNvbnRyb2wpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VQYW5lbCgpe1xuICAgIGlmKHRoaXMubGFzdEFwcGxpZWREYXRhKXtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5zZXRWYWx1ZSh0aGlzLmxhc3RBcHBsaWVkRGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJGb3JtVmFsdWVzKCk7XG4gICAgfVxuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICBmaWx0ZXJDb3VudCgpe1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgdGhpcy5jb25maWcuZm9yRWFjaCgoZmlsdGVyOiBGaWx0ZXJQYW5lbENvbmZpZykgPT4ge1xuICAgICAgaWYodGhpcy5oYXNWYWx1ZS50cmFuc2Zvcm0odGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZSkpe1xuICAgICAgICBpZihmaWx0ZXIudHlwZSA9PT0gJ3JhbmdlJyAmJiB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlLm1pbiA9PSBudWxsICYmIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWUubWF4ID09IG51bGwpe1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIGFwcGx5RmlsdGVycygpe1xuICAgIGlmICh0aGlzLmZpbHRlckZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIFxuICAgIHRoaXMubGFzdEFwcGxpZWREYXRhID0gey4uLnRoaXMuZmlsdGVyRm9ybS52YWx1ZX07XG4gICAgdGhpcy5vbkFwcGx5LmVtaXQoe1xuICAgICAgZmlsdGVyRGF0YTogdGhpcy5maWx0ZXJGb3JtLnZhbHVlLFxuICAgICAgZmlsdGVyQ291bnQ6IHRoaXMuZmlsdGVyQ291bnQoKVxuICAgIH0pO1xuICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VQYW5lbCgpO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0KGV2ZW50OiBhbnksIGZpbHRlcktleTogc3RyaW5nLCBmaWx0ZXI6IEZpbHRlclBhbmVsQ29uZmlnKXtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlcktleSkuc2V0VmFsdWUoZXZlbnQpO1xuICAgIGlmKGZpbHRlci5vbkNoYW5nZSl7XG4gICAgICBmaWx0ZXIub25DaGFuZ2UoZXZlbnQsIHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBvbkRhdGVDaGFuZ2UoZXZlbnQ6IGFueSwgZmlsdGVyS2V5OiBzdHJpbmcsIGZpbHRlcjogRmlsdGVyUGFuZWxDb25maWcpe1xuICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyS2V5KS5zZXRWYWx1ZShldmVudCk7XG4gICAgaWYodHlwZW9mIGV2ZW50ID09PSAnb2JqZWN0Jyl7XG4gICAgICB0aGlzLmRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMgPSB7XG4gICAgICAgIHN0YXJ0RGF0ZTogZXZlbnQuc3RhcnREYXRlLFxuICAgICAgICBlbmREYXRlOiBldmVudC5lbmREYXRlLFxuICAgICAgfTtcbiAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRlcktleSkudmFsdWUpOyBcbiAgIH1cbiAgfVxuXG4gIGhhbmRsZUNoZWNrYm94KGV2ZW50OiBhbnksIGZpbHRlcktleTogc3RyaW5nLCBjaGVja2JveFZhbHVlOiBzdHJpbmcsIGZpbHRlcjogRmlsdGVyUGFuZWxDb25maWcpe1xuICAgIGlmKGV2ZW50LnZhbHVlKXtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyS2V5KS5zZXRWYWx1ZShbLi4udGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXJLZXkpLnZhbHVlLCBjaGVja2JveFZhbHVlXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXJLZXkpLnZhbHVlO1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0ZXJLZXkpLnNldFZhbHVlKGZpbHRlclZhbHVlLmZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUgIT09IGNoZWNrYm94VmFsdWUpKTtcbiAgICB9XG4gICAgaWYoZmlsdGVyLm9uQ2hhbmdlKXtcbiAgICAgIGZpbHRlci5vbkNoYW5nZShldmVudCwgdGhpcy5jb25maWcsIHRoaXMuZmlsdGVyRm9ybS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJGb3JtVmFsdWVzKCl7XG4gICAgY29uc3QgcmVzZXRWYWx1ZXM6IGFueSA9IHt9O1xuICAgIHRoaXMuY29uZmlnLmZvckVhY2goKGZpbHRlcjogRmlsdGVyUGFuZWxDb25maWcpID0+IHtcbiAgICAgIGxldCBkZWZhdWx0VmFsdWU6IGFueSA9IGZpbHRlci5kZWZhdWx0VmFsdWUgfHwgbnVsbDtcbiAgICAgIGlmIChmaWx0ZXIudHlwZSA9PT0gJ211bHRpU2VsZWN0JyB8fCBmaWx0ZXIudHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBmaWx0ZXIuZGVmYXVsdFZhbHVlIHx8IFtdO1xuICAgICAgfVxuICAgICAgaWYoZmlsdGVyLnR5cGUgPT09ICdyYW5nZScpe1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBmaWx0ZXIuZGVmYXVsdFZhbHVlIHx8IHsgbWluOiBudWxsLCBtYXg6IG51bGwgfTtcbiAgICAgIH1cbiAgICAgIHJlc2V0VmFsdWVzW2ZpbHRlci5rZXldID0gZGVmYXVsdFZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5wYXRjaFZhbHVlKHJlc2V0VmFsdWVzKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLmNsZWFyRm9ybVZhbHVlcygpO1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gIH1cblxuICBzZXRGaWx0ZXJWYWx1ZShjb25maWc6IEZpbHRlclBhbmVsQ29uZmlnW10pe1xuICAgbGV0IGFueVZhbHVlU2V0ID0gZmFsc2U7XG4gICBmb3IoY29uc3QgZmlsdGVyIG9mIGNvbmZpZyl7XG4gICAgaWYoZmlsdGVyPy5zZWxlY3RlZFZhbHVlKXtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkuc2V0VmFsdWUoZmlsdGVyLnNlbGVjdGVkVmFsdWUpO1xuICAgICAgYW55VmFsdWVTZXQgPSB0cnVlO1xuICAgIH1cbiAgIH1cbiAgIGlmKGFueVZhbHVlU2V0ICYmIHRoaXMuZW1pdEZpbHRlcnNBZnRlclNldHRpbmdOZXdWYWx1ZXMpe1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzKCk7XG4gICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1wYW5lbC1jb250YWluZXJcIiAqbmdJZj1cInNob3dcIiBAc2xpZGVGcm9tUmlnaHQ+IFxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkZXJcIj5cbiAgICAgICAgPHNwYW4+RmlsdGVyczwvc3Bhbj5cbiAgICAgICAgPHN2ZyBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VQYW5lbCgpXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPGcgaWQ9XCJpYy1uYXZpZ2F0aW9uLWNhbmNlbC0yNFwiPlxuICAgICAgICAgICAgPHBhdGggaWQ9XCJVbmlvblwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk04LjYwNDY4IDYuNjQzNTVDOC4wOTAzNiA2LjEyOTIzIDcuMjU2NDkgNi4xMjkyMyA2Ljc0MjE4IDYuNjQzNTVDNi4yMjc4NyA3LjE1Nzg2IDYuMjI3ODcgNy45OTE3MyA2Ljc0MjE4IDguNTA2MDRMMTAuNDkzOCAxMi4yNTc2TDYuNzQzMSAxNi4wMDgzQzYuMjI4NzkgMTYuNTIyNiA2LjIyODc5IDE3LjM1NjQgNi43NDMxIDE3Ljg3MDhDNy4yNTc0MiAxOC4zODUxIDguMDkxMjkgMTguMzg1MSA4LjYwNTYgMTcuODcwOEwxMi4zNTYyIDE0LjEyMDFMMTYuMTA2OCAxNy44NzA3QzE2LjYyMTEgMTguMzg1IDE3LjQ1NSAxOC4zODUgMTcuOTY5MyAxNy44NzA3QzE4LjQ4MzYgMTcuMzU2NCAxOC40ODM2IDE2LjUyMjUgMTcuOTY5MyAxNi4wMDgyTDE0LjIxODcgMTIuMjU3NkwxNy45NzAyIDguNTA2MTNDMTguNDg0NSA3Ljk5MTgxIDE4LjQ4NDUgNy4xNTc5NCAxNy45NzAyIDYuNjQzNjNDMTcuNDU1OSA2LjEyOTMyIDE2LjYyMiA2LjEyOTMyIDE2LjEwNzcgNi42NDM2M0wxMi4zNTYyIDEwLjM5NTFMOC42MDQ2OCA2LjY0MzU1WlwiIGZpbGw9XCIjMTgxRjMzXCIvPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz4gICAgICAgICAgICBcbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1kaXZpZGVyIGZpcnN0XCI+PC9kaXY+XG4gICAgXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlcnNcIiBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGNvbmZpZzsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyXCIgKm5nSWY9XCIhZmlsdGVyLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsdGVyLXRpdGxlXCI+e3tmaWx0ZXIudGl0bGV9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudHlwZSA9PT0gJ211bHRpU2VsZWN0J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtZmlsdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWlzLW11bHRpLXNlbGVjdC1kcm9wZG93biBjbGFzcz1cIm5vLXBhZGRpbmdcIiBbbGFiZWxdPVwiZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdTZWxlY3QnXCIgW3NlbGVjdGVkSXRlbXNdPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWVcIiAob25DaGFuZ2UpPVwiaGFuZGxlU2VsZWN0KCRldmVudCwgZmlsdGVyLmtleSwgZmlsdGVyKVwiIFtkYXRhXT1cImZpbHRlci5vcHRpb25zXCIgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWxlY3RlZENvdW50XT1cInRydWVcIiBbZW5hYmxlU2VsZWN0QWxsXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlQXBwbHlCdXR0b25dPVwiZmFsc2VcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI0NHB4XCI+PC9taXMtbXVsdGktc2VsZWN0LWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudHlwZSA9PT0gJ3NlbGVjdCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpc2VsZWN0LWZpbHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1pcy1kcm9wZG93biBbZGF0YV09XCJmaWx0ZXIub3B0aW9uc1wiIFtzZWFyY2hFbmFibGVkXT1cInRydWVcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI0NHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVNlbGVjdCgkZXZlbnQsIGZpbHRlci5rZXksIGZpbHRlcilcIiBbc2VsZWN0ZWRJdGVtXT1cImZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21pcy1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnNcIiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtaXMtY2hlY2tib3ggW3R5cGVdPVwiJ0RlZmF1bHQnXCIgW2NoZWNrZWRdPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWU/LmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcIiAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlQ2hlY2tib3goJGV2ZW50LCBmaWx0ZXIua2V5LCBvcHRpb24udmFsdWUsIGZpbHRlcilcIj48L21pcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LWxhYmVsXCI+e3tvcHRpb24ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudHlwZSA9PT0gJ2RhdGVQaWNrZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZmlsdGVyLnBsYWNlaG9sZGVyfX1cbiAgICAgICAgICAgICAgICAgICAgPG1pcy1pbnB1dCB0eXBlPVwicm91bmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1pc1R6RHAgbWlzSW5wdXQgdHlwZT1cInRleHRcIiByZWFkb25seSBjbGFzcz1cIm1pcy1pbnB1dFwiIFtkcENvbmZpZ109XCJmaWx0ZXIuZGF0ZXBpY2tlckNvbmZpZ1wiIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZSA/IGZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpLnZhbHVlIDogKGZpbHRlci5wbGFjZWhvbGRlciB8fCAnU2VsZWN0JylcIiBbdmFsdWVdPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWUgPyBmaWx0ZXJGb3JtLmdldChmaWx0ZXIua2V5KS52YWx1ZSA6IChmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1NlbGVjdCcpXCIgKGRhdGVDaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudCwgZmlsdGVyLmtleSwgZmlsdGVyKVwiIFtzZWxlY3RlZERhdGVdPVwiZmlsdGVyRm9ybS5nZXQoZmlsdGVyLmtleSkudmFsdWVcIiBbcG9zaXRpb25YXT1cIidlbmQnXCIgW29mZnNldFhdPVwiLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWlzLWlucHV0PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnZGF0ZVJhbmdlUGlja2VyJ1wiPlxuICAgICAgICAgICAgICAgIDxtaXMtaW5wdXQgdHlwZT1cInJvdW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1pc1R6RHJwIG1pc0lucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJtaXMtaW5wdXRcIiByZWFkb25seVxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIighZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5zdGFydERhdGUgJiYgIWRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuZW5kRGF0ZSkgPyAoZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdTZWxlY3QnKSA6IGRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuc3RhcnREYXRlICsgJyAtICcgKyBkYXRlUmFuZ2VTZWxlY3RlZERhdGVzLmVuZERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIighZGF0ZVJhbmdlU2VsZWN0ZWREYXRlcy5zdGFydERhdGUgJiYgIWRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuZW5kRGF0ZSkgPyAoZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdTZWxlY3QnKSA6IGRhdGVSYW5nZVNlbGVjdGVkRGF0ZXMuc3RhcnREYXRlICsgJyAtICcgKyBkYXRlUmFuZ2VTZWxlY3RlZERhdGVzLmVuZERhdGVcIiBbcG9zaXRpb25YXT1cIidzdGFydCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uWV09XCIndG9wJ1wiIFtzZWxlY3RlZERhdGVzXT1cImRhdGVSYW5nZVNlbGVjdGVkRGF0ZXNcIiAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50LCBmaWx0ZXIua2V5LCBmaWx0ZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkcENvbmZpZ109XCJmaWx0ZXIuZGF0ZVJhbmdlUGlja2VyQ29uZmlnXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWlzLWlucHV0PiAgICBcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXIudHlwZSA9PT0gJ3RleHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtaXMtaW5wdXQgdHlwZT1cInJvdW5kZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtaXNJbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiaW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdUeXBlIGhlcmUnXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWx0ZXIua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWlzLWlucHV0PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAnbnVtYmVyJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWlzLWlucHV0IHR5cGU9XCJyb3VuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWlzSW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiaW5wdXRcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLnBsYWNlaG9sZGVyIHx8ICdUeXBlIGhlcmUnXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWx0ZXIua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWlzLWlucHV0PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlci50eXBlID09PSAncmFuZ2UnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm0uZ2V0KGZpbHRlci5rZXkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLWlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyPy5vcHRpb25zPy5bMF0/LmxhYmVsIHx8ICdNaW4nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNJbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1R5cGUgaGVyZSdcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWluXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLWlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZmlsdGVyPy5vcHRpb25zPy5bMV0/LmxhYmVsIHx8ICdNYXgnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNJbnB1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXIgfHwgJ1R5cGUgaGVyZSdcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWF4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cImZpbHRlckZvcm0uZ2V0Py4oZmlsdGVyLmtleSk/LmdldCgnbWluJyk/LnZhbHVlIHx8IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWRpdmlkZXJcIiAqbmdJZj1cIiFsYXN0XCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIDxtaXMtYnV0dG9uIFtuYW1lXT1cIidDbGVhciBBbGwnXCIgW3NpemVdPVwiJ1NtYWxsJ1wiIFt0eXBlXT1cIidUZXh0J1wiIChjbGljayk9XCJyZXNldEZpbHRlcnMoKVwiPjwvbWlzLWJ1dHRvbj5cbiAgICAgICAgPG1pcy1idXR0b24gW25hbWVdPVwiJ0FwcGx5J1wiIFtzaXplXT1cIidTbWFsbCdcIiBbdHlwZV09XCInU29saWQnXCIgKGNsaWNrKT1cImFwcGx5RmlsdGVycygpXCIgW2Rpc2FibGVkXT1cImZpbHRlckZvcm0uaW52YWxpZFwiPjwvbWlzLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiBcbiJdfQ==
|