ets-fe-ng-sdk 17.0.138 → 17.0.140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/Shared/components/form-generator/form-generator.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/validation-message/validation-message.component.mjs +2 -2
- package/esm2022/lib/Shared/models/index.model.mjs +2 -1
- package/esm2022/lib/configs/validation-messages.config.mjs +4 -1
- package/fesm2022/ets-fe-ng-sdk.mjs +7 -3
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Shared/components/btn/btn.component.d.ts +1 -1
- package/lib/Shared/components/info-dialog/info-dialog.component.d.ts +1 -1
- package/lib/Shared/components/input/validation-message/validation-message.service.d.ts +3 -0
- package/lib/Shared/models/index.model.d.ts +2 -1
- package/package.json +1 -1
|
@@ -187,7 +187,7 @@ export class FormGeneratorComponent extends BaseFormGenerator {
|
|
|
187
187
|
this.onSubmit.emit(this.formVal());
|
|
188
188
|
}
|
|
189
189
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormGeneratorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
190
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: FormGeneratorComponent, isStandalone: true, selector: "form-generator", inputs: { keyField: { classPropertyName: "keyField", publicName: "keyField", isSignal: false, isRequired: false, transformFunction: null }, submitFunc: { classPropertyName: "submitFunc", publicName: "submitFunc", isSignal: false, isRequired: false, transformFunction: null }, submitBtnText: { classPropertyName: "submitBtnText", publicName: "submitBtnText", isSignal: true, isRequired: false, transformFunction: null }, submitBtnTemplate: { classPropertyName: "submitBtnTemplate", publicName: "submitBtnTemplate", isSignal: true, isRequired: false, transformFunction: null }, submitSuccessText: { classPropertyName: "submitSuccessText", publicName: "submitSuccessText", isSignal: true, isRequired: false, transformFunction: null }, showSubmitBtn: { classPropertyName: "showSubmitBtn", publicName: "showSubmitBtn", isSignal: true, isRequired: false, transformFunction: null }, gridStyle: { classPropertyName: "gridStyle", publicName: "gridStyle", isSignal: true, isRequired: false, transformFunction: null }, gridMDStyle: { classPropertyName: "gridMDStyle", publicName: "gridMDStyle", isSignal: true, isRequired: false, transformFunction: null }, gridLGStyle: { classPropertyName: "gridLGStyle", publicName: "gridLGStyle", isSignal: true, isRequired: false, transformFunction: null }, gridXXLStyle: { classPropertyName: "gridXXLStyle", publicName: "gridXXLStyle", isSignal: true, isRequired: false, transformFunction: null }, formGridClass: { classPropertyName: "formGridClass", publicName: "formGridClass", isSignal: true, isRequired: false, transformFunction: null }, useLoader: { classPropertyName: "useLoader", publicName: "useLoader", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, _formSchema: { classPropertyName: "_formSchema", publicName: "formSchema", isSignal: false, isRequired: true, transformFunction: null }, _isShow: { classPropertyName: "_isShow", publicName: "isShow", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSubmit: "onSubmit", mchange: "mchange", _submissionResponse: "submissionResponse" }, usesInheritance: true, ngImport: i0, template: "<loader [loading]=\"computedLoading()\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle() }} row-cols-md-{{ gridMDStyle() }} row-cols-lg-{{ gridLGStyle() }} row-cols-xxl-{{\n gridXXLStyle()\n }} align-items-center {{ formGridClass() }}\">\n @for (scheme of computedFormSchema(); track scheme.field) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [showLabel]=\"false\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'richtext') {\n <rich-text-editor-rf\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label!\"\n [clearOnDisable]=\"scheme.clearOnDisable!\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField!\"\n [noFormat]=\"scheme.noFormat!\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug!\"\n [showRequiredTag]=\"scheme.showRequiredTag!\"\n [optionFormatter]=\"scheme.optionFormatter!\"\n [valueField]=\"scheme.valueField!\"\n [optionsFunc]=\"scheme.optionsFunc!\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField!\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint!\"\n [disabled]=\"\n scheme.disabled ||\n (scheme.disabledIf! | functionCaller2: form().value : (scheme.field | toAny))\n \" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form()\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn()) {\n <app-btn [text]=\"submitBtnText()\" actionType=\"submit\" group=\"submit\" [form]=\"form()\" (mclick)=\"submit(submitBtn)\" #submitBtn />\n }\n @if (submitBtnTemplate()) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate()\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n", styles: [""], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PhoneNumberComponent, selector: "app-phone-number", inputs: ["showLabel", "countryCode3", "config"], outputs: ["onCountrySelect"] }, { kind: "component", type: AutocompleteComponent, selector: "app-autocomplete,autocomplete", inputs: ["showRequiredTag", "validate", "options"] }, { kind: "component", type: InputBasicComponent, selector: "app-input-basic,app-input", inputs: ["accept", "autocomplete", "autoPickValueField", "cls", "input", "colored", "checked", "contextData", "decimalPoints", "files", "noFormat", "hide", "hint", "labelLink", "labelField", "labelType", "lblCl", "light", "loading", "minLength", "maxLength", "multiple", "optionFormatter", "optionsFunc", "theme", "translateOptions", "valueField", "vms", "xsmall", "setCurrentDate", "options", "mvalue"], outputs: ["mchange", "mSelectOptionChange", "mSelectedOptionLabel"] }, { kind: "component", type: RichTextEditorRFComponent, selector: "rich-text-editor-rf" }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "pipe", type: FunctionCaller2, name: "functionCaller2" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }] }); }
|
|
190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: FormGeneratorComponent, isStandalone: true, selector: "form-generator", inputs: { keyField: { classPropertyName: "keyField", publicName: "keyField", isSignal: false, isRequired: false, transformFunction: null }, submitFunc: { classPropertyName: "submitFunc", publicName: "submitFunc", isSignal: false, isRequired: false, transformFunction: null }, submitBtnText: { classPropertyName: "submitBtnText", publicName: "submitBtnText", isSignal: true, isRequired: false, transformFunction: null }, submitBtnTemplate: { classPropertyName: "submitBtnTemplate", publicName: "submitBtnTemplate", isSignal: true, isRequired: false, transformFunction: null }, submitSuccessText: { classPropertyName: "submitSuccessText", publicName: "submitSuccessText", isSignal: true, isRequired: false, transformFunction: null }, showSubmitBtn: { classPropertyName: "showSubmitBtn", publicName: "showSubmitBtn", isSignal: true, isRequired: false, transformFunction: null }, gridStyle: { classPropertyName: "gridStyle", publicName: "gridStyle", isSignal: true, isRequired: false, transformFunction: null }, gridMDStyle: { classPropertyName: "gridMDStyle", publicName: "gridMDStyle", isSignal: true, isRequired: false, transformFunction: null }, gridLGStyle: { classPropertyName: "gridLGStyle", publicName: "gridLGStyle", isSignal: true, isRequired: false, transformFunction: null }, gridXXLStyle: { classPropertyName: "gridXXLStyle", publicName: "gridXXLStyle", isSignal: true, isRequired: false, transformFunction: null }, formGridClass: { classPropertyName: "formGridClass", publicName: "formGridClass", isSignal: true, isRequired: false, transformFunction: null }, useLoader: { classPropertyName: "useLoader", publicName: "useLoader", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, _formSchema: { classPropertyName: "_formSchema", publicName: "formSchema", isSignal: false, isRequired: true, transformFunction: null }, _isShow: { classPropertyName: "_isShow", publicName: "isShow", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSubmit: "onSubmit", mchange: "mchange", _submissionResponse: "submissionResponse" }, usesInheritance: true, ngImport: i0, template: "<loader [loading]=\"computedLoading()\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle() }} row-cols-md-{{ gridMDStyle() }} row-cols-lg-{{ gridLGStyle() }} row-cols-xxl-{{\n gridXXLStyle()\n }} align-items-center {{ formGridClass() }}\">\n @for (scheme of computedFormSchema(); track scheme.field) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'richtext') {\n <rich-text-editor-rf\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label!\"\n [clearOnDisable]=\"scheme.clearOnDisable!\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField!\"\n [noFormat]=\"scheme.noFormat!\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug!\"\n [showRequiredTag]=\"scheme.showRequiredTag!\"\n [optionFormatter]=\"scheme.optionFormatter!\"\n [valueField]=\"scheme.valueField!\"\n [optionsFunc]=\"scheme.optionsFunc!\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField!\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint!\"\n [disabled]=\"\n scheme.disabled ||\n (scheme.disabledIf! | functionCaller2: form().value : (scheme.field | toAny))\n \" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form()\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn()) {\n <app-btn [text]=\"submitBtnText()\" actionType=\"submit\" group=\"submit\" [form]=\"form()\" (mclick)=\"submit(submitBtn)\" #submitBtn />\n }\n @if (submitBtnTemplate()) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate()\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n", styles: [""], dependencies: [{ kind: "component", type: LoaderComponent, selector: "loader", inputs: ["class", "text", "loading", "height"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PhoneNumberComponent, selector: "app-phone-number", inputs: ["showLabel", "countryCode3", "config"], outputs: ["onCountrySelect"] }, { kind: "component", type: AutocompleteComponent, selector: "app-autocomplete,autocomplete", inputs: ["showRequiredTag", "validate", "options"] }, { kind: "component", type: InputBasicComponent, selector: "app-input-basic,app-input", inputs: ["accept", "autocomplete", "autoPickValueField", "cls", "input", "colored", "checked", "contextData", "decimalPoints", "files", "noFormat", "hide", "hint", "labelLink", "labelField", "labelType", "lblCl", "light", "loading", "minLength", "maxLength", "multiple", "optionFormatter", "optionsFunc", "theme", "translateOptions", "valueField", "vms", "xsmall", "setCurrentDate", "options", "mvalue"], outputs: ["mchange", "mSelectOptionChange", "mSelectedOptionLabel"] }, { kind: "component", type: RichTextEditorRFComponent, selector: "rich-text-editor-rf" }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "pipe", type: FunctionCaller2, name: "functionCaller2" }, { kind: "pipe", type: ToAnyPipe, name: "toAny" }] }); }
|
|
191
191
|
}
|
|
192
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormGeneratorComponent, decorators: [{
|
|
193
193
|
type: Component,
|
|
@@ -205,7 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
205
205
|
BtnComponent,
|
|
206
206
|
FunctionCaller2,
|
|
207
207
|
ToAnyPipe,
|
|
208
|
-
], template: "<loader [loading]=\"computedLoading()\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle() }} row-cols-md-{{ gridMDStyle() }} row-cols-lg-{{ gridLGStyle() }} row-cols-xxl-{{\n gridXXLStyle()\n }} align-items-center {{ formGridClass() }}\">\n @for (scheme of computedFormSchema(); track scheme.field) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [
|
|
208
|
+
], template: "<loader [loading]=\"computedLoading()\">\n <form>\n <div\n class=\"row row-cols-{{ gridStyle() }} row-cols-md-{{ gridMDStyle() }} row-cols-lg-{{ gridLGStyle() }} row-cols-xxl-{{\n gridXXLStyle()\n }} align-items-center {{ formGridClass() }}\">\n @for (scheme of computedFormSchema(); track scheme.field) {\n <div class=\"col {{ scheme.cls }} \">\n @switch (true) {\n @case (scheme.type == 'tel') {\n <app-phone-number\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [name]=\"scheme.field\"\n [noFormat]=\"scheme.noFormat\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showValidation]=\"scheme.showValidation\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [showValidationIcon]=\"scheme.showValidationIcon\"\n [countryCode3]=\"scheme.countryCode3\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'autocomplete') {\n <app-autocomplete\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField\"\n [noFormat]=\"scheme.noFormat\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\"\n [optionsFunc]=\"scheme.optionsFunc\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n @case (scheme.type == 'richtext') {\n <rich-text-editor-rf\n [form]=\"scheme.form || form()\"\n [label]=\"scheme.label!\"\n [clearOnDisable]=\"scheme.clearOnDisable!\"\n [stacked]=\"scheme.stacked\"\n [labelField]=\"scheme.labelField!\"\n [noFormat]=\"scheme.noFormat!\"\n [labelType]=\"scheme.labelType | toAny\"\n (mchange)=\"mchangeEmitter()\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [name]=\"scheme.field\"\n [debug]=\"scheme.debug!\"\n [showRequiredTag]=\"scheme.showRequiredTag!\"\n [optionFormatter]=\"scheme.optionFormatter!\"\n [valueField]=\"scheme.valueField!\"\n [optionsFunc]=\"scheme.optionsFunc!\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [autoPickValueField]=\"scheme.autoPickValueField!\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [hint]=\"scheme.hint!\"\n [disabled]=\"\n scheme.disabled ||\n (scheme.disabledIf! | functionCaller2: form().value : (scheme.field | toAny))\n \" />\n }\n @default {\n <app-input-basic\n [noFormat]=\"scheme.noFormat\"\n [name]=\"scheme.field\"\n [form]=\"scheme.form || form()\"\n [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\"\n [stacked]=\"scheme.stacked\"\n [labelType]=\"scheme.labelType | toAny\"\n [checked]=\"scheme.checked\"\n [showValidation]=\"!!scheme.asyncValidators\"\n [showValidationIcon]=\"!!scheme.asyncValidators\"\n [debug]=\"scheme.debug\"\n (mchange)=\"mchangeEmitter()\"\n [showRequiredTag]=\"scheme.showRequiredTag\"\n [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\"\n (mSelectedOptionLabel)=\"setOptionLabel($event, scheme)\"\n [options]=\"scheme.options || optionsMap()[scheme.field | toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\"\n [hint]=\"scheme.hint\"\n [max]=\"scheme.max\"\n [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\"\n [label]=\"scheme.label\"\n [showValidationMsg]=\"scheme.showValidationMsg\"\n [disabled]=\"scheme.disabled || (scheme.disabledIf | functionCaller2: form().value : (scheme.field | toAny))\" />\n }\n }\n </div>\n }\n </div>\n <div class=\"row row-cols-auto justify-content-end\">\n <div class=\"\">\n @if (showSubmitBtn()) {\n <app-btn [text]=\"submitBtnText()\" actionType=\"submit\" group=\"submit\" [form]=\"form()\" (mclick)=\"submit(submitBtn)\" #submitBtn />\n }\n @if (submitBtnTemplate()) {\n <ng-container *ngTemplateOutlet=\"submitBtnTemplate()\"></ng-container>\n }\n </div>\n </div>\n </form>\n</loader>\n" }]
|
|
209
209
|
}], propDecorators: { keyField: [{
|
|
210
210
|
type: Input
|
|
211
211
|
}], onSubmit: [{
|
|
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
224
224
|
type: Input,
|
|
225
225
|
args: ['isShow']
|
|
226
226
|
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBZ0QsV0FBVyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFILE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFl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O3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixTQUFTO3FCQUNWOzhCQU1RLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUN1QixtQkFBbUI7c0JBQWhELE1BQU07dUJBQUMsb0JBQW9CO2dCQUNuQixVQUFVO3NCQUFsQixLQUFLO2dCQXFCOEMsV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFHekIsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFR5cGUsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRnVuY3Rpb25DYWxsZXIyLCBUb0FueVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91dGlsaXR5LnBpcGUnO1xuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRCYXNpY0NvbXBvbmVudCwgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvdmFsaWRhdGlvbi1tZXNzYWdlL3ZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuLi9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nU3dpdGNoRGVmYXVsdCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IElPYmplY3RMaXRlcmFsLCBJbnB1dFN1YlR5cGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2J0bi9idG4ubW9kZWwnO1xuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JSRkNvbXBvbmVudCB9IGZyb20gJy4uL3JpY2gtdGV4dC1lZGl0b3ItcmYvcmljaC10ZXh0LWVkaXRvci1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1HZW5lcmF0b3I8VEZvcm1Hcm91cCBleHRlbmRzIElPYmplY3RMaXRlcmFsLCBUQmFzZUZvcm1TY2hlbWEgZXh0ZW5kcyB7IGZpZWxkPzogYW55IH0gPSBhbnk+IHtcbiAgZm9ybVNjaGVtYU1hcCA9IHNpZ25hbDx7IFtmaWVsZDogc3RyaW5nXTogVEJhc2VGb3JtU2NoZW1hIH0+KHt9KTtcbiAgZm9ybVNjaGVtYSA9IGNvbXB1dGVkPFRCYXNlRm9ybVNjaGVtYVtdPigoKSA9PiBPYmplY3QudmFsdWVzKHRoaXMuZm9ybVNjaGVtYU1hcCgpKS5maWx0ZXIoKHgpID0+IHgpKTtcbiAgc3ViczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xuXG4gIHB1YmxpYyB1dGlsaXR5U2VydmljZSA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG4gIHB1YmxpYyBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSgpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc3VicykuZm9yRWFjaCgocykgPT4ge1xuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YnMgPSB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0Rm9ybVNjaGVtYXMoc2NoZW1hczogVEJhc2VGb3JtU2NoZW1hW10pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAuc2V0KChzY2hlbWFzIHx8IFtdKS50b01hcCgnZmllbGQnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUZvcm1TY2hlbWEoZmllbGQ6IHN0cmluZywgc2NoZW1lOiBQYXJ0aWFsPFRCYXNlRm9ybVNjaGVtYT4pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAudXBkYXRlKChmb3JtU2NoZW1hTWFwKSA9PiB7XG4gICAgICBjb25zdCBzY2ggPSBmb3JtU2NoZW1hTWFwW2ZpZWxkXTtcbiAgICAgIHJldHVybiAhc2NoID8geyAuLi5mb3JtU2NoZW1hTWFwLCBbZmllbGQgYXMgYW55XTogc2NoZW1lIH0gOiB7IC4uLmZvcm1TY2hlbWFNYXAsIFtmaWVsZCBhcyBhbnldOiB7IC4uLnNjaCwgLi4uc2NoZW1lIH0gfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVtb3ZlRm9ybVNjaGVtYShmaWVsZDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtU2NoZW1hTWFwLnVwZGF0ZSgoZm9ybVNjaGVtYU1hcCkgPT4ge1xuICAgICAgZGVsZXRlIGZvcm1TY2hlbWFNYXBbZmllbGRdO1xuICAgICAgcmV0dXJuIGNsb25lRGVlcChmb3JtU2NoZW1hTWFwKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEZvcm0gc2hvdWxkIGJlIHNldCBiZWZvcmUgdGhlIHRoZSBmb3JtU2NoZW1hXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZ2VuZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUGhvbmVOdW1iZXJDb21wb25lbnQsXG4gICAgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgUmljaFRleHRFZGl0b3JSRkNvbXBvbmVudCxcbiAgICBCdG5Db21wb25lbnQsXG4gICAgRnVuY3Rpb25DYWxsZXIyLFxuICAgIFRvQW55UGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwIGV4dGVuZHMgeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB9PiBleHRlbmRzIEJhc2VGb3JtR2VuZXJhdG9yPFxuICBURm9ybUdyb3VwLFxuICBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPlxuPiB7XG4gIEBJbnB1dCgpIGtleUZpZWxkOiAnZmllbGQnIHwgJ2xhYmVsJyA9ICdmaWVsZCc7XG5cbiAgQE91dHB1dCgpIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoJ3N1Ym1pc3Npb25SZXNwb25zZScpIF9zdWJtaXNzaW9uUmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc3VibWl0RnVuYzogKHZhbHVlOiBhbnkpID0+IFByb21pc2U8YW55PjtcbiAgc3VibWl0QnRuVGV4dCA9IGlucHV0KCdTdWJtaXQnKTtcbiAgc3VibWl0QnRuVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBzdWJtaXRTdWNjZXNzVGV4dCA9IGlucHV0KCdTYXZlZCBzdWNjZXNzZnVsbHknKTtcbiAgc2hvd1N1Ym1pdEJ0biA9IGlucHV0KHRydWUpO1xuXG4gIGdyaWRTdHlsZSA9IGlucHV0PG51bWJlciB8ICdhdXRvJz4oKTtcbiAgZ3JpZE1EU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG4gIGdyaWRMR1N0eWxlID0gaW5wdXQ8bnVtYmVyIHwgJ2F1dG8nPigpO1xuICBncmlkWFhMU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG5cbiAgZm9ybUdyaWRDbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgdXNlTG9hZGVyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgX2xvYWRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbXB1dGVkTG9hZGluZyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnVzZUxvYWRlcigpID8gdGhpcy5sb2FkaW5nKCkgfHwgdGhpcy5fbG9hZGluZygpIDogZmFsc2UpKTtcblxuICBmb3JtID0gaW5wdXQ8Rm9ybUdyb3VwPFRGb3JtR3JvdXA+Pih1bmRlZmluZWQsIHt9KTtcbiAgc3VibWlzc2lvblJlc3BvbnNlOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2Zvcm1TY2hlbWEnIH0pIHNldCBfZm9ybVNjaGVtYSh2OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgdGhpcy5pbml0KGNsb25lRGVlcCh2LmZpbHRlcigoeCkgPT4geCkpKTtcbiAgfVxuICBASW5wdXQoJ2lzU2hvdycpIHNldCBfaXNTaG93KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5mb3JtKCk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIGVsc2UgdGhpcy5mb3JtKCk/LmVuYWJsZSgpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodikgdGhpcy5mb3JtKCk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgZWxzZSB0aGlzLmZvcm0oKT8uZW5hYmxlKCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuICBvcHRpb25zTWFwID0gc2lnbmFsPElGb3JtT3B0aW9ucz4oe30pO1xuICBmb3JtVmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5mb3JtKCk/LmdldFJhd1ZhbHVlKCkpO1xuXG4gIGNvbXB1dGVkRm9ybVNjaGVtYSA9IGNvbXB1dGVkPElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10+KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1WYWwgPSB0aGlzLmZvcm1WYWwoKSxcbiAgICAgICAgZm9ybVNjaGVtYSA9IHRoaXMuZm9ybVNjaGVtYSgpIHx8IFtdO1xuICAgICAgcmV0dXJuIGZvcm1TY2hlbWEuZmlsdGVyKChzY2hlbWUpID0+ICFzY2hlbWUuaGlkZGVuICYmICghc2NoZW1lLmhpZGVJZkZ1bmMgfHwgIXNjaGVtZS5oaWRlSWZGdW5jKGZvcm1WYWwpKSk7XG4gICAgfSxcbiAgICB7IGVxdWFsOiBpc0VxdWFsIH0sXG4gICk7XG4gIC8vIG1pc2NJbmRleDogVE1pc2NJbmRleDtcbiAgcHVibGljIGZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1HZW5lcmF0b3JTZXJ2aWNlKTtcblxuICBpbml0KHNjaGVtYTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gICAgdGhpcy5fc2V0Rm9ybVNjaGVtYXMoc2NoZW1hIHx8IFtdKTtcbiAgICBpZiAoc2NoZW1hKSBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShzY2hlbWUpO1xuICAgIGlmIChzY2hlbWEpXG4gICAgICBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpXG4gICAgICAgIGlmIChzY2hlbWUudHJpZ2dlck9uQ2hhbmdlT25Jbml0KSBzY2hlbWUub25DaGFuZ2VGdW5jKHRoaXMuZm9ybSgpLmdldFJhd1ZhbHVlKCksIHRoaXMuZm9ybSgpLmdldFJhd1ZhbHVlKClbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXSwgdGhpcyk7XG4gIH1cblxuICBoYW5kbGVGb3JtU2NoZW1lKHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICBzY2hlbWUuaWQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdlbmVyYXRlVVVJRCgpO1xuICAgIGlmIChzY2hlbWUuc3RhY2tlZCA9PSBudWxsKSBzY2hlbWUuc3RhY2tlZCA9IHRydWU7XG4gICAgaWYgKHNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZyA9PSBudWxsKSBzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2cgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZvcm1TZXJ2aWNlLmNvbmZpZy5zaG93VmFsaWRhdGlvbk1lc3NhZ2VzQnlEZWZhdWx0KVxuICAgICAgaWYgKHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPT0gbnVsbCAmJiAoIXNjaGVtZS52YWx1ZUZpZWxkIHx8ICFzY2hlbWUubGFiZWxGaWVsZCkpIHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlRm9ybVNjaGVtYShzY2hlbWUuZmllbGQsIHNjaGVtZSk7XG5cbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYylcbiAgICAgIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtU2NoZW1hKHNjaGVtZS5maWVsZCwgeyBvcHRpb25zOiByIH0pO1xuICAgICAgfSk7XG4gICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMyKVxuICAgICAgc2NoZW1lLm9wdGlvbnNJbml0RnVuYzIoKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgc2NoZW1lLm9wdGlvbnMgPSByO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1TY2hlbWEoc2NoZW1lLmZpZWxkLCB7IG9wdGlvbnM6IHIgfSk7XG4gICAgICB9KTtcbiAgICBpZiAoc2NoZW1lLm9uQ2hhbmdlRnVuYykge1xuICAgICAgaWYgKHNjaGVtZS5kZWJ1ZykgZGVidWdnZXI7XG4gICAgICB0aGlzLnN1YnNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXSA9IHRoaXMuZm9ybSgpXG4gICAgICAgID8uY29udHJvbHNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXT8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDApKVxuICAgICAgICAuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgICAgc2NoZW1lLm9uQ2hhbmdlRnVuYyh0aGlzLmZvcm0oKS5nZXRSYXdWYWx1ZSgpLCByLCB0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGV0YWNoRm9ybVNjaGVtZShmaWVsZE5hbWU/OiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5zdWJzW2ZpZWxkTmFtZSBhcyBzdHJpbmddLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBtY2hhbmdlRW1pdHRlcigpIHtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmZvcm0oKS5nZXRSYXdWYWx1ZSgpKTtcbiAgfVxuXG4gIGdldEZvcm1TY2hlbWUgPSAoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSA9PiB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVNjaGVtYU1hcCgpW2ZpZWxkTmFtZSBhcyBzdHJpbmddO1xuICB9O1xuXG4gIGFkZFRvRm9ybVNjaGVtYShmb3JtU2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHRoaXMucmVtb3ZlRnJvbUZvcm1TY2hlbWEoZm9ybVNjaGVtZS5maWVsZCk7XG4gICAgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKGNsb25lRGVlcChmb3JtU2NoZW1lKSk7XG4gIH1cblxuICB1cGRhdGVGb3JtU2NoZW1hKGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCwgc2NoZW1lOiBQYXJ0aWFsPElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+Pikge1xuICAgIHJldHVybiBzdXBlci5fdXBkYXRlRm9ybVNjaGVtYShmaWVsZE5hbWUgYXMgc3RyaW5nLCBzY2hlbWUpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUZvcm1TY2hlbWEoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5kZXRhY2hGb3JtU2NoZW1lKGZpZWxkTmFtZSk7XG4gICAgY29uc3Qgb25SZW1vdmUgPSB0aGlzLmZvcm1TY2hlbWFNYXAoKVtmaWVsZE5hbWUgYXMgc3RyaW5nXT8ub25SZW1vdmVGdW5jO1xuICAgIGlmIChvblJlbW92ZSkgb25SZW1vdmUodGhpcy5mb3JtKCkuZ2V0UmF3VmFsdWUoKSBhcyBhbnksIHRoaXMuZm9ybSgpLmNvbnRyb2xzW2ZpZWxkTmFtZSBhcyBhbnldLCB0aGlzKTtcbiAgICB0aGlzLl9yZW1vdmVGb3JtU2NoZW1hKGZpZWxkTmFtZSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgc2V0T3B0aW9uTGFiZWwoJGV2ZW50OiBhbnksIHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICBzY2hlbWUuc2VsZWN0ZWRPcHRpb25MYWJlbCA9ICRldmVudDtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChidG4/OiBCdG5Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5zdWJtaXRGdW5jKSB7XG4gICAgICBidG4/LnNldExvYWRlcih0cnVlKTtcbiAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgY29uc3QgZm9ybVZhbCA9IHRoaXMuZm9ybVZhbCgpO1xuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KGZvcm1WYWwpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zdWJtaXNzaW9uUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdEZ1bmMoZm9ybVZhbCk7XG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuaW5mbyh0aGlzLnN1Ym1pdFN1Y2Nlc3NUZXh0KCksIDEpO1xuICAgICAgICB0aGlzLl9zdWJtaXNzaW9uUmVzcG9uc2UuZW1pdCh0aGlzLnN1Ym1pc3Npb25SZXNwb25zZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmluZm8oZXJyb3IsIDApO1xuICAgICAgfVxuICAgICAgdGhpcy5fbG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgYnRuPy5zZXRMb2FkZXIoZmFsc2UpO1xuICAgIH0gZWxzZSB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtVmFsKCkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VGb3JtU2NoZW1hPFxuICBULFxuICBDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUdlbmVyYXRvcjxUPixcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4ge1xuICBhc3luY1ZhbGlkYXRvcnM/OiBBc3luY1ZhbGlkYXRvckZuW107XG4gIGF1dG9QaWNrVmFsdWVGaWVsZD86IGJvb2xlYW47XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBjbGVhck9uRGlzYWJsZT86IGJvb2xlYW47XG4gIGNscz86IHN0cmluZztcbiAgY291bnRyeUNvZGUzPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IElCYXNlRm9ybVNjaGVtYTxULCBDb21wb25lbnQsIFRGb3JtR3JvdXA+W107XG4gIGRlY2ltYWxQb2ludHM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRJZj86IChyb3c6IGFueSwgY2VsbEZpZWxkPzogc3RyaW5nKSA9PiBib29sZWFuO1xuICBoaWRlSWZGdW5jPzogKHJvdykgPT4gYm9vbGVhbjtcbiAgZmllbGQ6IGtleW9mIFRGb3JtR3JvdXA7XG4gIGZvcm0/OiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIGdldENvdW50cnlDb2RlM0tleT86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgaGludD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xuICBpc1NlYXJjaEZpZWxkPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XG4gIGxhYmVsVHlwZT86IE9wdGlvbkxhYmVsVHlwZTtcbiAgb3B0aW9uTGFiZWxGb3JtYXR0ZXI/OiAocm93KSA9PiBzdHJpbmc7XG4gIG1heD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyO1xuICBub0Zvcm1hdD86IGJvb2xlYW47XG4gIG9wdGlvbkZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgb3B0aW9ucz86IGFueVtdO1xuICBvcHRpb25zQXN5bmM/OiBPYnNlcnZhYmxlPGFueVtdPiB8IFByb21pc2U8YW55W10+O1xuICBvcHRpb25zSW5pdEZ1bmM/OiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0luaXRGdW5jMj86ICgpID0+IE9ic2VydmFibGU8YW55W10+O1xuICBvcHRpb25zS2V5Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgc2VhcmNoRnVuYz86ICguLi5hcmdzKSA9PiBhbnk7XG4gIHNldEFzQ291bnRyeUNvZGUzPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb24/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbkljb24/OiBib29sZWFuO1xuICB0ZW1wbGF0ZVZhbHVlPzogYW55O1xuICB0eXBlPzogSW5wdXRUeXBlO1xuICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcbiAgdmFsdWU/OiBhbnk7XG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XG4gIG9wdGlvbnNGdW5jPzogKC4uLnZhbDogYW55KSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgdHJpZ2dlck9uQ2hhbmdlT25Jbml0PzogYm9vbGVhbjtcbiAgZm9ybWF0dGVyPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogYW55IH0sIGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCkgPT4gc3RyaW5nO1xuICBleHRyYT86IGFueTtcbiAgb25DaGFuZ2VGdW5jPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXT86IFRGb3JtR3JvdXBbS11bJ3ZhbHVlJ10gfSwgY2VsbFZhbHVlPzogYW55LCBjb21wb25lbnQ/OiBDb21wb25lbnQpID0+IE9ic2VydmFibGU8YW55W10+IHwgYW55O1xuICBvblJlbW92ZUZ1bmM/OiAocm93OiB7IFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBURm9ybUdyb3VwW0tdWyd2YWx1ZSddIH0sIGNlbGw/OiBhbnksIGNvbXBvbmVudD86IENvbXBvbmVudCkgPT4gYW55O1xuICBzZWxlY3RlZE9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbk1zZz86IGJvb2xlYW47XG4gIGRvbnRGb3JtYXRBc0lucHV0PzogYm9vbGVhbjtcbiAgc2hvd1JlcXVpcmVkVGFnPzogYm9vbGVhbjtcbiAgaWNvbj86IEljb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtU2NoZW1hPFxuICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgIFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuICB9ID0gYW55LFxuPiBleHRlbmRzIElCYXNlRm9ybVNjaGVtYTxURm9ybUdyb3VwLCBGb3JtR2VuZXJhdG9yQ29tcG9uZW50PFRGb3JtR3JvdXA+PiB7XG4gIGNoaWxkcmVuPzogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXTtcbiAgbGFiZWxUeXBlPzogT3B0aW9uTGFiZWxUeXBlO1xuICBmaWVsZDoga2V5b2YgVEZvcm1Hcm91cDtcbiAgc3ViVHlwZT86IElucHV0U3ViVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybU9wdGlvbnMge1xuICBbZmllbGQ6IHN0cmluZ106IGFueTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwiY29tcHV0ZWRMb2FkaW5nKClcIj5cbiAgPGZvcm0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3cgcm93LWNvbHMte3sgZ3JpZFN0eWxlKCkgfX0gcm93LWNvbHMtbWQte3sgZ3JpZE1EU3R5bGUoKSB9fSByb3ctY29scy1sZy17eyBncmlkTEdTdHlsZSgpIH19IHJvdy1jb2xzLXh4bC17e1xuICAgICAgICBncmlkWFhMU3R5bGUoKVxuICAgICAgfX0gYWxpZ24taXRlbXMtY2VudGVyIHt7IGZvcm1HcmlkQ2xhc3MoKSB9fVwiPlxuICAgICAgQGZvciAoc2NoZW1lIG9mIGNvbXB1dGVkRm9ybVNjaGVtYSgpOyB0cmFjayBzY2hlbWUuZmllbGQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB7eyBzY2hlbWUuY2xzIH19IFwiPlxuICAgICAgICAgIEBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAndGVsJykge1xuICAgICAgICAgICAgICA8YXBwLXBob25lLW51bWJlclxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm0oKVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZVwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW25vRm9ybWF0XT1cInNjaGVtZS5ub0Zvcm1hdFwiXG4gICAgICAgICAgICAgICAgW2RlYnVnXT1cInNjaGVtZS5kZWJ1Z1wiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbk1zZ109XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2dcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uSWNvblwiXG4gICAgICAgICAgICAgICAgW2NvdW50cnlDb2RlM109XCJzY2hlbWUuY291bnRyeUNvZGUzXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybSgpLnZhbHVlIDogKHNjaGVtZS5maWVsZCB8IHRvQW55KSlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgIDxhcHAtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJzY2hlbWUudmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cInNjaGVtZS5vcHRpb25zRnVuY1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwKClbc2NoZW1lLmZpZWxkIHwgdG9BbnldXCJcbiAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAncmljaHRleHQnKSB7XG4gICAgICAgICAgICAgIDxyaWNoLXRleHQtZWRpdG9yLXJmXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsIVwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZSFcIlxuICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxGaWVsZF09XCJzY2hlbWUubGFiZWxGaWVsZCFcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXQhXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2NoZW1lLmZpZWxkXCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzY2hlbWUuc2hvd1JlcXVpcmVkVGFnIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyIVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGQhXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc0Z1bmNdPVwic2NoZW1lLm9wdGlvbnNGdW5jIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnQhXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICBzY2hlbWUuZGlzYWJsZWQgfHxcbiAgICAgICAgICAgICAgICAgIChzY2hlbWUuZGlzYWJsZWRJZiEgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXG4gICAgICAgICAgICAgICAgXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJzY2hlbWUudHlwZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzY2hlbWUuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cIiEhc2NoZW1lLmFzeW5jVmFsaWRhdG9yc1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uSWNvbl09XCIhIXNjaGVtZS5hc3luY1ZhbGlkYXRvcnNcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIChtY2hhbmdlKT1cIm1jaGFuZ2VFbWl0dGVyKClcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25Gb3JtYXR0ZXJdPVwic2NoZW1lLm9wdGlvbkZvcm1hdHRlclwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2RlY2ltYWxQb2ludHNdPVwic2NoZW1lLmRlY2ltYWxQb2ludHNcIlxuICAgICAgICAgICAgICAgIFtoaW50XT1cInNjaGVtZS5oaW50XCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cInNjaGVtZS5tYXhcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwic2NoZW1lLm1pblwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNjaGVtZS5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtYXV0byBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAoc2hvd1N1Ym1pdEJ0bigpKSB7XG4gICAgICAgICAgPGFwcC1idG4gW3RleHRdPVwic3VibWl0QnRuVGV4dCgpXCIgYWN0aW9uVHlwZT1cInN1Ym1pdFwiIGdyb3VwPVwic3VibWl0XCIgW2Zvcm1dPVwiZm9ybSgpXCIgKG1jbGljayk9XCJzdWJtaXQoc3VibWl0QnRuKVwiICNzdWJtaXRCdG4gLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN1Ym1pdEJ0blRlbXBsYXRlKCkpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWl0QnRuVGVtcGxhdGUoKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9sb2FkZXI+XG4iXX0=
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2Zvcm0tZ2VuZXJhdG9yL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9mb3JtLWdlbmVyYXRvci9mb3JtLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBZ0QsV0FBVyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFILE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFl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O3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixTQUFTO3FCQUNWOzhCQU1RLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUN1QixtQkFBbUI7c0JBQWhELE1BQU07dUJBQUMsb0JBQW9CO2dCQUNuQixVQUFVO3NCQUFsQixLQUFLO2dCQXFCOEMsV0FBVztzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFHekIsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFR5cGUsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRnVuY3Rpb25DYWxsZXIyLCBUb0FueVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy91dGlsaXR5LnBpcGUnO1xuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRCYXNpY0NvbXBvbmVudCwgT3B0aW9uTGFiZWxUeXBlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvdmFsaWRhdGlvbi1tZXNzYWdlL3ZhbGlkYXRpb24tbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuLi9waG9uZS1udW1iZXIvcGhvbmUtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nU3dpdGNoRGVmYXVsdCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vU2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IElPYmplY3RMaXRlcmFsLCBJbnB1dFN1YlR5cGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2J0bi9idG4ubW9kZWwnO1xuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JSRkNvbXBvbmVudCB9IGZyb20gJy4uL3JpY2gtdGV4dC1lZGl0b3ItcmYvcmljaC10ZXh0LWVkaXRvci1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZ2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1HZW5lcmF0b3I8VEZvcm1Hcm91cCBleHRlbmRzIElPYmplY3RMaXRlcmFsLCBUQmFzZUZvcm1TY2hlbWEgZXh0ZW5kcyB7IGZpZWxkPzogYW55IH0gPSBhbnk+IHtcbiAgZm9ybVNjaGVtYU1hcCA9IHNpZ25hbDx7IFtmaWVsZDogc3RyaW5nXTogVEJhc2VGb3JtU2NoZW1hIH0+KHt9KTtcbiAgZm9ybVNjaGVtYSA9IGNvbXB1dGVkPFRCYXNlRm9ybVNjaGVtYVtdPigoKSA9PiBPYmplY3QudmFsdWVzKHRoaXMuZm9ybVNjaGVtYU1hcCgpKS5maWx0ZXIoKHgpID0+IHgpKTtcbiAgc3ViczogeyBbZmllbGROYW1lOiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xuXG4gIHB1YmxpYyB1dGlsaXR5U2VydmljZSA9IGluamVjdChVdGlsaXR5U2VydmljZSk7XG4gIHB1YmxpYyBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uRGVzdHJveSgpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuc3VicykuZm9yRWFjaCgocykgPT4ge1xuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YnMgPSB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc2V0Rm9ybVNjaGVtYXMoc2NoZW1hczogVEJhc2VGb3JtU2NoZW1hW10pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAuc2V0KChzY2hlbWFzIHx8IFtdKS50b01hcCgnZmllbGQnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUZvcm1TY2hlbWEoZmllbGQ6IHN0cmluZywgc2NoZW1lOiBQYXJ0aWFsPFRCYXNlRm9ybVNjaGVtYT4pIHtcbiAgICB0aGlzLmZvcm1TY2hlbWFNYXAudXBkYXRlKChmb3JtU2NoZW1hTWFwKSA9PiB7XG4gICAgICBjb25zdCBzY2ggPSBmb3JtU2NoZW1hTWFwW2ZpZWxkXTtcbiAgICAgIHJldHVybiAhc2NoID8geyAuLi5mb3JtU2NoZW1hTWFwLCBbZmllbGQgYXMgYW55XTogc2NoZW1lIH0gOiB7IC4uLmZvcm1TY2hlbWFNYXAsIFtmaWVsZCBhcyBhbnldOiB7IC4uLnNjaCwgLi4uc2NoZW1lIH0gfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVtb3ZlRm9ybVNjaGVtYShmaWVsZDogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtU2NoZW1hTWFwLnVwZGF0ZSgoZm9ybVNjaGVtYU1hcCkgPT4ge1xuICAgICAgZGVsZXRlIGZvcm1TY2hlbWFNYXBbZmllbGRdO1xuICAgICAgcmV0dXJuIGNsb25lRGVlcChmb3JtU2NoZW1hTWFwKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEZvcm0gc2hvdWxkIGJlIHNldCBiZWZvcmUgdGhlIHRoZSBmb3JtU2NoZW1hXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tZ2VuZXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1nZW5lcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUGhvbmVOdW1iZXJDb21wb25lbnQsXG4gICAgVmFsaWRhdGlvbk1lc3NhZ2VDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIE5nU3dpdGNoRGVmYXVsdCxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgUmljaFRleHRFZGl0b3JSRkNvbXBvbmVudCxcbiAgICBCdG5Db21wb25lbnQsXG4gICAgRnVuY3Rpb25DYWxsZXIyLFxuICAgIFRvQW55UGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdlbmVyYXRvckNvbXBvbmVudDxURm9ybUdyb3VwIGV4dGVuZHMgeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB9PiBleHRlbmRzIEJhc2VGb3JtR2VuZXJhdG9yPFxuICBURm9ybUdyb3VwLFxuICBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPlxuPiB7XG4gIEBJbnB1dCgpIGtleUZpZWxkOiAnZmllbGQnIHwgJ2xhYmVsJyA9ICdmaWVsZCc7XG5cbiAgQE91dHB1dCgpIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBtY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoJ3N1Ym1pc3Npb25SZXNwb25zZScpIF9zdWJtaXNzaW9uUmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc3VibWl0RnVuYzogKHZhbHVlOiBhbnkpID0+IFByb21pc2U8YW55PjtcbiAgc3VibWl0QnRuVGV4dCA9IGlucHV0KCdTdWJtaXQnKTtcbiAgc3VibWl0QnRuVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICBzdWJtaXRTdWNjZXNzVGV4dCA9IGlucHV0KCdTYXZlZCBzdWNjZXNzZnVsbHknKTtcbiAgc2hvd1N1Ym1pdEJ0biA9IGlucHV0KHRydWUpO1xuXG4gIGdyaWRTdHlsZSA9IGlucHV0PG51bWJlciB8ICdhdXRvJz4oKTtcbiAgZ3JpZE1EU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG4gIGdyaWRMR1N0eWxlID0gaW5wdXQ8bnVtYmVyIHwgJ2F1dG8nPigpO1xuICBncmlkWFhMU3R5bGUgPSBpbnB1dDxudW1iZXIgfCAnYXV0byc+KCk7XG5cbiAgZm9ybUdyaWRDbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgdXNlTG9hZGVyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgX2xvYWRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbXB1dGVkTG9hZGluZyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnVzZUxvYWRlcigpID8gdGhpcy5sb2FkaW5nKCkgfHwgdGhpcy5fbG9hZGluZygpIDogZmFsc2UpKTtcblxuICBmb3JtID0gaW5wdXQ8Rm9ybUdyb3VwPFRGb3JtR3JvdXA+Pih1bmRlZmluZWQsIHt9KTtcbiAgc3VibWlzc2lvblJlc3BvbnNlOiBhbnk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2Zvcm1TY2hlbWEnIH0pIHNldCBfZm9ybVNjaGVtYSh2OiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPltdKSB7XG4gICAgdGhpcy5pbml0KGNsb25lRGVlcCh2LmZpbHRlcigoeCkgPT4geCkpKTtcbiAgfVxuICBASW5wdXQoJ2lzU2hvdycpIHNldCBfaXNTaG93KHY6IGJvb2xlYW4pIHtcbiAgICBpZiAodikgdGhpcy5mb3JtKCk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIGVsc2UgdGhpcy5mb3JtKCk/LmVuYWJsZSgpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodikgdGhpcy5mb3JtKCk/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgZWxzZSB0aGlzLmZvcm0oKT8uZW5hYmxlKCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuICBvcHRpb25zTWFwID0gc2lnbmFsPElGb3JtT3B0aW9ucz4oe30pO1xuICBmb3JtVmFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5mb3JtKCk/LmdldFJhd1ZhbHVlKCkpO1xuXG4gIGNvbXB1dGVkRm9ybVNjaGVtYSA9IGNvbXB1dGVkPElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+W10+KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1WYWwgPSB0aGlzLmZvcm1WYWwoKSxcbiAgICAgICAgZm9ybVNjaGVtYSA9IHRoaXMuZm9ybVNjaGVtYSgpIHx8IFtdO1xuICAgICAgcmV0dXJuIGZvcm1TY2hlbWEuZmlsdGVyKChzY2hlbWUpID0+ICFzY2hlbWUuaGlkZGVuICYmICghc2NoZW1lLmhpZGVJZkZ1bmMgfHwgIXNjaGVtZS5oaWRlSWZGdW5jKGZvcm1WYWwpKSk7XG4gICAgfSxcbiAgICB7IGVxdWFsOiBpc0VxdWFsIH0sXG4gICk7XG4gIC8vIG1pc2NJbmRleDogVE1pc2NJbmRleDtcbiAgcHVibGljIGZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1HZW5lcmF0b3JTZXJ2aWNlKTtcblxuICBpbml0KHNjaGVtYTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXSkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMub25EZXN0cm95KCk7XG4gICAgdGhpcy5fc2V0Rm9ybVNjaGVtYXMoc2NoZW1hIHx8IFtdKTtcbiAgICBpZiAoc2NoZW1hKSBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpIHRoaXMuaGFuZGxlRm9ybVNjaGVtZShzY2hlbWUpO1xuICAgIGlmIChzY2hlbWEpXG4gICAgICBmb3IgKGNvbnN0IHNjaGVtZSBvZiBzY2hlbWEpXG4gICAgICAgIGlmIChzY2hlbWUudHJpZ2dlck9uQ2hhbmdlT25Jbml0KSBzY2hlbWUub25DaGFuZ2VGdW5jKHRoaXMuZm9ybSgpLmdldFJhd1ZhbHVlKCksIHRoaXMuZm9ybSgpLmdldFJhd1ZhbHVlKClbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXSwgdGhpcyk7XG4gIH1cblxuICBoYW5kbGVGb3JtU2NoZW1lKHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICBzY2hlbWUuaWQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdlbmVyYXRlVVVJRCgpO1xuICAgIGlmIChzY2hlbWUuc3RhY2tlZCA9PSBudWxsKSBzY2hlbWUuc3RhY2tlZCA9IHRydWU7XG4gICAgaWYgKHNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZyA9PSBudWxsKSBzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2cgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZvcm1TZXJ2aWNlLmNvbmZpZy5zaG93VmFsaWRhdGlvbk1lc3NhZ2VzQnlEZWZhdWx0KVxuICAgICAgaWYgKHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPT0gbnVsbCAmJiAoIXNjaGVtZS52YWx1ZUZpZWxkIHx8ICFzY2hlbWUubGFiZWxGaWVsZCkpIHNjaGVtZS5hdXRvUGlja1ZhbHVlRmllbGQgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlRm9ybVNjaGVtYShzY2hlbWUuZmllbGQsIHNjaGVtZSk7XG5cbiAgICBpZiAoc2NoZW1lLm9wdGlvbnNJbml0RnVuYylcbiAgICAgIHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgIHNjaGVtZS5vcHRpb25zID0gcjtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtU2NoZW1hKHNjaGVtZS5maWVsZCwgeyBvcHRpb25zOiByIH0pO1xuICAgICAgfSk7XG4gICAgaWYgKHNjaGVtZS5vcHRpb25zSW5pdEZ1bmMyKVxuICAgICAgc2NoZW1lLm9wdGlvbnNJbml0RnVuYzIoKS5zdWJzY3JpYmUoKHIpID0+IHtcbiAgICAgICAgc2NoZW1lLm9wdGlvbnMgPSByO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1TY2hlbWEoc2NoZW1lLmZpZWxkLCB7IG9wdGlvbnM6IHIgfSk7XG4gICAgICB9KTtcbiAgICBpZiAoc2NoZW1lLm9uQ2hhbmdlRnVuYykge1xuICAgICAgaWYgKHNjaGVtZS5kZWJ1ZykgZGVidWdnZXI7XG4gICAgICB0aGlzLnN1YnNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXSA9IHRoaXMuZm9ybSgpXG4gICAgICAgID8uY29udHJvbHNbc2NoZW1lLmZpZWxkPy50b1N0cmluZygpXT8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDApKVxuICAgICAgICAuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICAgICAgc2NoZW1lLm9uQ2hhbmdlRnVuYyh0aGlzLmZvcm0oKS5nZXRSYXdWYWx1ZSgpLCByLCB0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGV0YWNoRm9ybVNjaGVtZShmaWVsZE5hbWU/OiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5zdWJzW2ZpZWxkTmFtZSBhcyBzdHJpbmddLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBtY2hhbmdlRW1pdHRlcigpIHtcbiAgICB0aGlzLm1jaGFuZ2UuZW1pdCh0aGlzLmZvcm0oKS5nZXRSYXdWYWx1ZSgpKTtcbiAgfVxuXG4gIGdldEZvcm1TY2hlbWUgPSAoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSA9PiB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVNjaGVtYU1hcCgpW2ZpZWxkTmFtZSBhcyBzdHJpbmddO1xuICB9O1xuXG4gIGFkZFRvRm9ybVNjaGVtYShmb3JtU2NoZW1lOiBJRm9ybVNjaGVtYTxURm9ybUdyb3VwPikge1xuICAgIHRoaXMucmVtb3ZlRnJvbUZvcm1TY2hlbWEoZm9ybVNjaGVtZS5maWVsZCk7XG4gICAgdGhpcy5oYW5kbGVGb3JtU2NoZW1lKGNsb25lRGVlcChmb3JtU2NoZW1lKSk7XG4gIH1cblxuICB1cGRhdGVGb3JtU2NoZW1hKGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCwgc2NoZW1lOiBQYXJ0aWFsPElGb3JtU2NoZW1hPFRGb3JtR3JvdXA+Pikge1xuICAgIHJldHVybiBzdXBlci5fdXBkYXRlRm9ybVNjaGVtYShmaWVsZE5hbWUgYXMgc3RyaW5nLCBzY2hlbWUpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbUZvcm1TY2hlbWEoZmllbGROYW1lOiBrZXlvZiBURm9ybUdyb3VwKSB7XG4gICAgdGhpcy5kZXRhY2hGb3JtU2NoZW1lKGZpZWxkTmFtZSk7XG4gICAgY29uc3Qgb25SZW1vdmUgPSB0aGlzLmZvcm1TY2hlbWFNYXAoKVtmaWVsZE5hbWUgYXMgc3RyaW5nXT8ub25SZW1vdmVGdW5jO1xuICAgIGlmIChvblJlbW92ZSkgb25SZW1vdmUodGhpcy5mb3JtKCkuZ2V0UmF3VmFsdWUoKSBhcyBhbnksIHRoaXMuZm9ybSgpLmNvbnRyb2xzW2ZpZWxkTmFtZSBhcyBhbnldLCB0aGlzKTtcbiAgICB0aGlzLl9yZW1vdmVGb3JtU2NoZW1hKGZpZWxkTmFtZSBhcyBzdHJpbmcpO1xuICB9XG5cbiAgc2V0T3B0aW9uTGFiZWwoJGV2ZW50OiBhbnksIHNjaGVtZTogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD4pIHtcbiAgICBzY2hlbWUuc2VsZWN0ZWRPcHRpb25MYWJlbCA9ICRldmVudDtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChidG4/OiBCdG5Db21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5zdWJtaXRGdW5jKSB7XG4gICAgICBidG4/LnNldExvYWRlcih0cnVlKTtcbiAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgY29uc3QgZm9ybVZhbCA9IHRoaXMuZm9ybVZhbCgpO1xuICAgICAgdGhpcy5vblN1Ym1pdC5lbWl0KGZvcm1WYWwpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5zdWJtaXNzaW9uUmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdEZ1bmMoZm9ybVZhbCk7XG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuaW5mbyh0aGlzLnN1Ym1pdFN1Y2Nlc3NUZXh0KCksIDEpO1xuICAgICAgICB0aGlzLl9zdWJtaXNzaW9uUmVzcG9uc2UuZW1pdCh0aGlzLnN1Ym1pc3Npb25SZXNwb25zZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmluZm8oZXJyb3IsIDApO1xuICAgICAgfVxuICAgICAgdGhpcy5fbG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgYnRuPy5zZXRMb2FkZXIoZmFsc2UpO1xuICAgIH0gZWxzZSB0aGlzLm9uU3VibWl0LmVtaXQodGhpcy5mb3JtVmFsKCkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VGb3JtU2NoZW1hPFxuICBULFxuICBDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUdlbmVyYXRvcjxUPixcbiAgVEZvcm1Hcm91cCBleHRlbmRzIHtcbiAgICBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcbiAgfSA9IGFueSxcbj4ge1xuICBhc3luY1ZhbGlkYXRvcnM/OiBBc3luY1ZhbGlkYXRvckZuW107XG4gIGF1dG9QaWNrVmFsdWVGaWVsZD86IGJvb2xlYW47XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBjbGVhck9uRGlzYWJsZT86IGJvb2xlYW47XG4gIGNscz86IHN0cmluZztcbiAgY291bnRyeUNvZGUzPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IElCYXNlRm9ybVNjaGVtYTxULCBDb21wb25lbnQsIFRGb3JtR3JvdXA+W107XG4gIGRlY2ltYWxQb2ludHM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRJZj86IChyb3c6IGFueSwgY2VsbEZpZWxkPzogc3RyaW5nKSA9PiBib29sZWFuO1xuICBoaWRlSWZGdW5jPzogKHJvdykgPT4gYm9vbGVhbjtcbiAgZmllbGQ6IGtleW9mIFRGb3JtR3JvdXA7XG4gIGZvcm0/OiBGb3JtR3JvdXA8VEZvcm1Hcm91cD47XG4gIGdldENvdW50cnlDb2RlM0tleT86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgaGludD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xuICBpc1NlYXJjaEZpZWxkPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XG4gIGxhYmVsVHlwZT86IE9wdGlvbkxhYmVsVHlwZTtcbiAgb3B0aW9uTGFiZWxGb3JtYXR0ZXI/OiAocm93KSA9PiBzdHJpbmc7XG4gIG1heD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyO1xuICBub0Zvcm1hdD86IGJvb2xlYW47XG4gIG9wdGlvbkZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgb3B0aW9ucz86IGFueVtdO1xuICBvcHRpb25zQXN5bmM/OiBPYnNlcnZhYmxlPGFueVtdPiB8IFByb21pc2U8YW55W10+O1xuICBvcHRpb25zSW5pdEZ1bmM/OiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgb3B0aW9uc0luaXRGdW5jMj86ICgpID0+IE9ic2VydmFibGU8YW55W10+O1xuICBvcHRpb25zS2V5Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgc2VhcmNoRnVuYz86ICguLi5hcmdzKSA9PiBhbnk7XG4gIHNldEFzQ291bnRyeUNvZGUzPzogYm9vbGVhbjtcbiAgc2hvd1ZhbGlkYXRpb24/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbkljb24/OiBib29sZWFuO1xuICB0ZW1wbGF0ZVZhbHVlPzogYW55O1xuICB0eXBlPzogSW5wdXRUeXBlO1xuICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcbiAgdmFsdWU/OiBhbnk7XG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XG4gIG9wdGlvbnNGdW5jPzogKC4uLnZhbDogYW55KSA9PiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgdHJpZ2dlck9uQ2hhbmdlT25Jbml0PzogYm9vbGVhbjtcbiAgZm9ybWF0dGVyPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXTogYW55IH0sIGZpZWxkTmFtZToga2V5b2YgVEZvcm1Hcm91cCkgPT4gc3RyaW5nO1xuICBleHRyYT86IGFueTtcbiAgb25DaGFuZ2VGdW5jPzogKHJvdzogeyBbSyBpbiBrZXlvZiBURm9ybUdyb3VwXT86IFRGb3JtR3JvdXBbS11bJ3ZhbHVlJ10gfSwgY2VsbFZhbHVlPzogYW55LCBjb21wb25lbnQ/OiBDb21wb25lbnQpID0+IE9ic2VydmFibGU8YW55W10+IHwgYW55O1xuICBvblJlbW92ZUZ1bmM/OiAocm93OiB7IFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBURm9ybUdyb3VwW0tdWyd2YWx1ZSddIH0sIGNlbGw/OiBhbnksIGNvbXBvbmVudD86IENvbXBvbmVudCkgPT4gYW55O1xuICBzZWxlY3RlZE9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xuICBzaG93VmFsaWRhdGlvbk1zZz86IGJvb2xlYW47XG4gIGRvbnRGb3JtYXRBc0lucHV0PzogYm9vbGVhbjtcbiAgc2hvd1JlcXVpcmVkVGFnPzogYm9vbGVhbjtcbiAgaWNvbj86IEljb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtU2NoZW1hPFxuICBURm9ybUdyb3VwIGV4dGVuZHMge1xuICAgIFtLIGluIGtleW9mIFRGb3JtR3JvdXBdOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuICB9ID0gYW55LFxuPiBleHRlbmRzIElCYXNlRm9ybVNjaGVtYTxURm9ybUdyb3VwLCBGb3JtR2VuZXJhdG9yQ29tcG9uZW50PFRGb3JtR3JvdXA+PiB7XG4gIGNoaWxkcmVuPzogSUZvcm1TY2hlbWE8VEZvcm1Hcm91cD5bXTtcbiAgbGFiZWxUeXBlPzogT3B0aW9uTGFiZWxUeXBlO1xuICBmaWVsZDoga2V5b2YgVEZvcm1Hcm91cDtcbiAgc3ViVHlwZT86IElucHV0U3ViVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRm9ybU9wdGlvbnMge1xuICBbZmllbGQ6IHN0cmluZ106IGFueTtcbn1cbiIsIjxsb2FkZXIgW2xvYWRpbmddPVwiY29tcHV0ZWRMb2FkaW5nKClcIj5cbiAgPGZvcm0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3cgcm93LWNvbHMte3sgZ3JpZFN0eWxlKCkgfX0gcm93LWNvbHMtbWQte3sgZ3JpZE1EU3R5bGUoKSB9fSByb3ctY29scy1sZy17eyBncmlkTEdTdHlsZSgpIH19IHJvdy1jb2xzLXh4bC17e1xuICAgICAgICBncmlkWFhMU3R5bGUoKVxuICAgICAgfX0gYWxpZ24taXRlbXMtY2VudGVyIHt7IGZvcm1HcmlkQ2xhc3MoKSB9fVwiPlxuICAgICAgQGZvciAoc2NoZW1lIG9mIGNvbXB1dGVkRm9ybVNjaGVtYSgpOyB0cmFjayBzY2hlbWUuZmllbGQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB7eyBzY2hlbWUuY2xzIH19IFwiPlxuICAgICAgICAgIEBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAndGVsJykge1xuICAgICAgICAgICAgICA8YXBwLXBob25lLW51bWJlclxuICAgICAgICAgICAgICAgIFtmb3JtXT1cInNjaGVtZS5mb3JtIHx8IGZvcm0oKVwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZVwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgW25vRm9ybWF0XT1cInNjaGVtZS5ub0Zvcm1hdFwiXG4gICAgICAgICAgICAgICAgW2RlYnVnXT1cInNjaGVtZS5kZWJ1Z1wiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbc2hvd1JlcXVpcmVkVGFnXT1cInNjaGVtZS5zaG93UmVxdWlyZWRUYWdcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbk1zZ109XCJzY2hlbWUuc2hvd1ZhbGlkYXRpb25Nc2dcIlxuICAgICAgICAgICAgICAgIFtzaG93VmFsaWRhdGlvbkljb25dPVwic2NoZW1lLnNob3dWYWxpZGF0aW9uSWNvblwiXG4gICAgICAgICAgICAgICAgW2NvdW50cnlDb2RlM109XCJzY2hlbWUuY291bnRyeUNvZGUzXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2NoZW1lLmRpc2FibGVkIHx8IChzY2hlbWUuZGlzYWJsZWRJZiB8IGZ1bmN0aW9uQ2FsbGVyMjogZm9ybSgpLnZhbHVlIDogKHNjaGVtZS5maWVsZCB8IHRvQW55KSlcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKHNjaGVtZS50eXBlID09ICdhdXRvY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgIDxhcHAtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbc3RhY2tlZF09XCJzY2hlbWUuc3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICAobWNoYW5nZSk9XCJtY2hhbmdlRW1pdHRlcigpXCJcbiAgICAgICAgICAgICAgICAobVNlbGVjdGVkT3B0aW9uTGFiZWwpPVwic2V0T3B0aW9uTGFiZWwoJGV2ZW50LCBzY2hlbWUpXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJzY2hlbWUuZmllbGRcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCJzY2hlbWUudmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNGdW5jXT1cInNjaGVtZS5vcHRpb25zRnVuY1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJzY2hlbWUub3B0aW9ucyB8fCBvcHRpb25zTWFwKClbc2NoZW1lLmZpZWxkIHwgdG9BbnldXCJcbiAgICAgICAgICAgICAgICBbaGludF09XCJzY2hlbWUuaGludFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlIChzY2hlbWUudHlwZSA9PSAncmljaHRleHQnKSB7XG4gICAgICAgICAgICAgIDxyaWNoLXRleHQtZWRpdG9yLXJmXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwic2NoZW1lLmxhYmVsIVwiXG4gICAgICAgICAgICAgICAgW2NsZWFyT25EaXNhYmxlXT1cInNjaGVtZS5jbGVhck9uRGlzYWJsZSFcIlxuICAgICAgICAgICAgICAgIFtzdGFja2VkXT1cInNjaGVtZS5zdGFja2VkXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxGaWVsZF09XCJzY2hlbWUubGFiZWxGaWVsZCFcIlxuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXQhXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxUeXBlXT1cInNjaGVtZS5sYWJlbFR5cGUgfCB0b0FueVwiXG4gICAgICAgICAgICAgICAgKG1jaGFuZ2UpPVwibWNoYW5nZUVtaXR0ZXIoKVwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2NoZW1lLmZpZWxkXCJcbiAgICAgICAgICAgICAgICBbZGVidWddPVwic2NoZW1lLmRlYnVnIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dSZXF1aXJlZFRhZ109XCJzY2hlbWUuc2hvd1JlcXVpcmVkVGFnIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbkZvcm1hdHRlcl09XCJzY2hlbWUub3B0aW9uRm9ybWF0dGVyIVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGQhXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc0Z1bmNdPVwic2NoZW1lLm9wdGlvbnNGdW5jIVwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9QaWNrVmFsdWVGaWVsZF09XCJzY2hlbWUuYXV0b1BpY2tWYWx1ZUZpZWxkIVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2hpbnRdPVwic2NoZW1lLmhpbnQhXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICBzY2hlbWUuZGlzYWJsZWQgfHxcbiAgICAgICAgICAgICAgICAgIChzY2hlbWUuZGlzYWJsZWRJZiEgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXG4gICAgICAgICAgICAgICAgXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgPGFwcC1pbnB1dC1iYXNpY1xuICAgICAgICAgICAgICAgIFtub0Zvcm1hdF09XCJzY2hlbWUubm9Gb3JtYXRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNjaGVtZS5maWVsZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwic2NoZW1lLmZvcm0gfHwgZm9ybSgpXCJcbiAgICAgICAgICAgICAgICBbY2xlYXJPbkRpc2FibGVdPVwic2NoZW1lLmNsZWFyT25EaXNhYmxlXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJzY2hlbWUudHlwZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwic2NoZW1lLnZhbHVlRmllbGRcIlxuICAgICAgICAgICAgICAgIFthdXRvUGlja1ZhbHVlRmllbGRdPVwic2NoZW1lLmF1dG9QaWNrVmFsdWVGaWVsZFwiXG4gICAgICAgICAgICAgICAgW3N0YWNrZWRdPVwic2NoZW1lLnN0YWNrZWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbFR5cGVdPVwic2NoZW1lLmxhYmVsVHlwZSB8IHRvQW55XCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzY2hlbWUuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uXT1cIiEhc2NoZW1lLmFzeW5jVmFsaWRhdG9yc1wiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uSWNvbl09XCIhIXNjaGVtZS5hc3luY1ZhbGlkYXRvcnNcIlxuICAgICAgICAgICAgICAgIFtkZWJ1Z109XCJzY2hlbWUuZGVidWdcIlxuICAgICAgICAgICAgICAgIChtY2hhbmdlKT1cIm1jaGFuZ2VFbWl0dGVyKClcIlxuICAgICAgICAgICAgICAgIFtzaG93UmVxdWlyZWRUYWddPVwic2NoZW1lLnNob3dSZXF1aXJlZFRhZ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsRmllbGRdPVwic2NoZW1lLmxhYmVsRmllbGRcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25Gb3JtYXR0ZXJdPVwic2NoZW1lLm9wdGlvbkZvcm1hdHRlclwiXG4gICAgICAgICAgICAgICAgKG1TZWxlY3RlZE9wdGlvbkxhYmVsKT1cInNldE9wdGlvbkxhYmVsKCRldmVudCwgc2NoZW1lKVwiXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwic2NoZW1lLm9wdGlvbnMgfHwgb3B0aW9uc01hcCgpW3NjaGVtZS5maWVsZCB8IHRvQW55XVwiXG4gICAgICAgICAgICAgICAgW2RlY2ltYWxQb2ludHNdPVwic2NoZW1lLmRlY2ltYWxQb2ludHNcIlxuICAgICAgICAgICAgICAgIFtoaW50XT1cInNjaGVtZS5oaW50XCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cInNjaGVtZS5tYXhcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwic2NoZW1lLm1pblwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNjaGVtZS5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNjaGVtZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dWYWxpZGF0aW9uTXNnXT1cInNjaGVtZS5zaG93VmFsaWRhdGlvbk1zZ1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNjaGVtZS5kaXNhYmxlZCB8fCAoc2NoZW1lLmRpc2FibGVkSWYgfCBmdW5jdGlvbkNhbGxlcjI6IGZvcm0oKS52YWx1ZSA6IChzY2hlbWUuZmllbGQgfCB0b0FueSkpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtYXV0byBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgIEBpZiAoc2hvd1N1Ym1pdEJ0bigpKSB7XG4gICAgICAgICAgPGFwcC1idG4gW3RleHRdPVwic3VibWl0QnRuVGV4dCgpXCIgYWN0aW9uVHlwZT1cInN1Ym1pdFwiIGdyb3VwPVwic3VibWl0XCIgW2Zvcm1dPVwiZm9ybSgpXCIgKG1jbGljayk9XCJzdWJtaXQoc3VibWl0QnRuKVwiICNzdWJtaXRCdG4gLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN1Ym1pdEJ0blRlbXBsYXRlKCkpIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWl0QnRuVGVtcGxhdGUoKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9sb2FkZXI+XG4iXX0=
|
package/esm2022/lib/Shared/components/input/validation-message/validation-message.component.mjs
CHANGED
|
@@ -57,7 +57,7 @@ export class ValidationMessageComponent {
|
|
|
57
57
|
console.log('ERROR check', ++this.computeCount);
|
|
58
58
|
const errors = this.errors(), validations = this.vmS.validationMessages(), label = this.labelComputed(), maxLength = this.maxLength(), minLength = this.minLength(), customMessage = this.customMessage(), ignoreDirtiness = this.ignoreDirtiness(), dirty = this.dirty(), touched = this.touched();
|
|
59
59
|
return errors && (ignoreDirtiness || dirty || touched)
|
|
60
|
-
? Object.entries(errors).map(([type, controlMessage]) => this.vmS.transform({ message: validations[type]
|
|
60
|
+
? Object.entries(errors).map(([type, controlMessage]) => this.vmS.transform({ message: validations[type]?.message, type: type }, label, maxLength, minLength, controlMessage || customMessage))
|
|
61
61
|
: [];
|
|
62
62
|
});
|
|
63
63
|
this.destroyerRef = inject(DestroyRef);
|
|
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
108
108
|
standalone: true,
|
|
109
109
|
}]
|
|
110
110
|
}] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsSUFBSSxFQUlKLFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQWdCLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVV6QyxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLElBQW9CLE1BQU0sQ0FBQyxDQUFTO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFLRCxJQUF3QixVQUFVLENBQUMsQ0FBUztRQUMxQyxJ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QUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7d0RBSWhHLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFPVSxVQUFVO3NCQUFqQyxLQUFLO3VCQUFDLFdBQVc7Z0JBS00sVUFBVTtzQkFBakMsS0FBSzt1QkFBQyxXQUFXO2dCQVdJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFjSSxNQUFNO3NCQUF6QixLQUFLO3VCQUFDLE9BQU87O0FBZ0VoQixNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBS0UsUUFBRyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztLQUNoQzs4R0FIWSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgSW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yLCBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBFVmFsaWRhdGlvblR5cGUsIElPYmplY3RMaXRlcmFsLCBJVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgY29uZmlnVmFsaWRhdGlvbk1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlncy92YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24tbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0YXAgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXZhbGlkYXRpb24tbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgZm9yd2FyZFJlZigoKSA9PiBFcnJvck1lc3NhZ2VQaXBlKSwgTWF0VG9vbHRpcE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IHtcbiAgbGFiZWwgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBASW5wdXQoJ2xhYmVsJykgc2V0IF9sYWJlbCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhYmVsLnNldCh2KTtcbiAgfVxuXG4gIGhpZGVPdmVyZmxvdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIG1pbkxlbmd0aCA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgnbWluTGVuZ3RoJykgc2V0IF9taW5MZW5ndGgodjogbnVtYmVyKSB7XG4gICAgdGhpcy5taW5MZW5ndGguc2V0KHYpO1xuICB9XG5cbiAgbWF4TGVuZ3RoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgQElucHV0KCdtYXhMZW5ndGgnKSBzZXQgX21heExlbmd0aCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLm1heExlbmd0aC5zZXQodik7XG4gIH1cblxuICBpZ25vcmVEaXJ0aW5lc3MgPSBpbnB1dDxib29sZWFuPigpO1xuICBjdXN0b21NZXNzYWdlID0gaW5wdXQoJ1ZhbHVlIGlzIGludmFsaWQnKTtcblxuICBpbnB1dCA9IHNpZ25hbDxJbnB1dEJhc2ljQ29tcG9uZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHN1Yj86IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoJ2NvbnRyb2wnKSBzZXQgX2NvbnRyb2wodjogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCF2KSByZXR1cm47XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB0aGlzLnN1YiA9IHYuc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocikgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JzLnNldCh2LmVycm9ycyBhcyBJT2JqZWN0TGl0ZXJhbCk7XG4gICAgICAgICAgdGhpcy5kaXJ0eS5zZXQodi5kaXJ0eSk7XG4gICAgICAgICAgdGhpcy50b3VjaGVkLnNldCh2LnRvdWNoZWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnaW5wdXQnKSBzZXQgX2lucHV0KHY6IElucHV0QmFzaWNDb21wb25lbnQpIHtcbiAgICBpZiAoIXYpIHJldHVybjtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICAgIHRoaXMuX2NvbnRyb2wgPSB2Py5jb250cm9sU2lnbmFsKCk7XG4gICAgdGhpcy5pbnB1dC5zZXQodik7XG4gIH1cblxuICAvLyAgIGVycm9ycyA9IGNvbXB1dGVkPElPYmplY3RMaXRlcmFsfHVuZGVmaW5lZD4oKCk9PntcbiAgLy8gY29uc3QgY29udHJvbHNcbiAgLy8gICAgIHJldHVybiB1bmRlZmluZWRcbiAgLy8gICB9KTtcbiAgZXJyb3JzID0gc2lnbmFsPElPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHZtUyA9IGluamVjdChWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UpO1xuXG4gIGRpcnR5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgdG91Y2hlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbXB1dGVDb3VudCA9IDA7XG4gIGNvbXB1dGVkRXJyb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdFUlJPUiBjaGVjaycsICsrdGhpcy5jb21wdXRlQ291bnQpO1xuXG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy5lcnJvcnMoKSxcbiAgICAgIHZhbGlkYXRpb25zID0gdGhpcy52bVMudmFsaWRhdGlvbk1lc3NhZ2VzKCksXG4gICAgICBsYWJlbCA9IHRoaXMubGFiZWxDb21wdXRlZCgpLFxuICAgICAgbWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGgoKSxcbiAgICAgIG1pbkxlbmd0aCA9IHRoaXMubWluTGVuZ3RoKCksXG4gICAgICBjdXN0b21NZXNzYWdlID0gdGhpcy5jdXN0b21NZXNzYWdlKCksXG4gICAgICBpZ25vcmVEaXJ0aW5lc3MgPSB0aGlzLmlnbm9yZURpcnRpbmVzcygpLFxuICAgICAgZGlydHkgPSB0aGlzLmRpcnR5KCksXG4gICAgICB0b3VjaGVkID0gdGhpcy50b3VjaGVkKCk7XG5cbiAgICByZXR1cm4gZXJyb3JzICYmIChpZ25vcmVEaXJ0aW5lc3MgfHwgZGlydHkgfHwgdG91Y2hlZClcbiAgICAgID8gT2JqZWN0LmVudHJpZXMoZXJyb3JzKS5tYXAoKFt0eXBlLCBjb250cm9sTWVzc2FnZV0pID0+XG4gICAgICAgICAgdGhpcy52bVMudHJhbnNmb3JtKFxuICAgICAgICAgICAgeyBtZXNzYWdlOiB2YWxpZGF0aW9uc1t0eXBlIGFzIEVWYWxpZGF0aW9uVHlwZV0ubWVzc2FnZSEsIHR5cGU6IHR5cGUgYXMgYW55IH0sXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIG1heExlbmd0aCxcbiAgICAgICAgICAgIG1pbkxlbmd0aCxcbiAgICAgICAgICAgIGNvbnRyb2xNZXNzYWdlIHx8IGN1c3RvbU1lc3NhZ2UsXG4gICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgOiBbXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGRlc3Ryb3llclJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95ZXJSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgIHRoaXMub25EZXN0cm95KCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBsYWJlbENvbXB1dGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxhYmVsKCkgfHwgdGhpcy5pbnB1dCgpPy5sYWJlbFNpZ25hbD8uKCk7XG4gIH0pO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdlcnJvck1lc3NhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHZtUyA9IGluamVjdChWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UpO1xuICB0cmFuc2Zvcm0gPSB0aGlzLnZtUy50cmFuc2Zvcm07XG59XG4iLCI8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiBbbmdDbGFzc109XCJ7IGhpZGVPdmVyZmxvdzogaGlkZU92ZXJmbG93KCkgfVwiICNlbD5cbiAgQGZvciAoZXJyb3Igb2YgY29tcHV0ZWRFcnJvcnMoKTsgdHJhY2sgZXJyb3IpIHtcbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJtZS0yIGVycm9ybXNzZyBoaWRlLXNjcm9sbFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcbiAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbEhlaWdodCA8PSBlbGUub2Zmc2V0SGVpZ2h0ICYmIGVsZS5zY3JvbGxXaWR0aCA8PSBlbGUub2Zmc2V0V2lkdGhcIlxuICAgICAgI2VsZT5cbiAgICAgIHt7IGVycm9yIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICA8L3NwYW4+XG4gIH1cbjwvZGl2PlxuIl19
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC92YWxpZGF0aW9uLW1lc3NhZ2UvdmFsaWRhdGlvbi1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsSUFBSSxFQUlKLFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQWdCLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVV6QyxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLElBQW9CLE1BQU0sQ0FBQyxDQUFTO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFLRCxJQUF3QixVQUFVLENBQUMsQ0FBUztRQUMxQyxJ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QUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7d0RBSWhHLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFPVSxVQUFVO3NCQUFqQyxLQUFLO3VCQUFDLFdBQVc7Z0JBS00sVUFBVTtzQkFBakMsS0FBSzt1QkFBQyxXQUFXO2dCQVdJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsU0FBUztnQkFjSSxNQUFNO3NCQUF6QixLQUFLO3VCQUFDLE9BQU87O0FBZ0VoQixNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBS0UsUUFBRyxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztLQUNoQzs4R0FIWSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgSW5wdXQsXG4gIElucHV0U2lnbmFsLFxuICBPbkluaXQsXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIGNvbXB1dGVkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yLCBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBFVmFsaWRhdGlvblR5cGUsIElPYmplY3RMaXRlcmFsLCBJVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgY29uZmlnVmFsaWRhdGlvbk1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uZmlncy92YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24tbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0YXAgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXZhbGlkYXRpb24tbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWxpZGF0aW9uLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgZm9yd2FyZFJlZigoKSA9PiBFcnJvck1lc3NhZ2VQaXBlKSwgTWF0VG9vbHRpcE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlQ29tcG9uZW50IHtcbiAgbGFiZWwgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBASW5wdXQoJ2xhYmVsJykgc2V0IF9sYWJlbCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhYmVsLnNldCh2KTtcbiAgfVxuXG4gIGhpZGVPdmVyZmxvdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIG1pbkxlbmd0aCA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCgnbWluTGVuZ3RoJykgc2V0IF9taW5MZW5ndGgodjogbnVtYmVyKSB7XG4gICAgdGhpcy5taW5MZW5ndGguc2V0KHYpO1xuICB9XG5cbiAgbWF4TGVuZ3RoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgQElucHV0KCdtYXhMZW5ndGgnKSBzZXQgX21heExlbmd0aCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLm1heExlbmd0aC5zZXQodik7XG4gIH1cblxuICBpZ25vcmVEaXJ0aW5lc3MgPSBpbnB1dDxib29sZWFuPigpO1xuICBjdXN0b21NZXNzYWdlID0gaW5wdXQoJ1ZhbHVlIGlzIGludmFsaWQnKTtcblxuICBpbnB1dCA9IHNpZ25hbDxJbnB1dEJhc2ljQ29tcG9uZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHN1Yj86IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoJ2NvbnRyb2wnKSBzZXQgX2NvbnRyb2wodjogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCF2KSByZXR1cm47XG4gICAgdGhpcy5vbkRlc3Ryb3koKTtcbiAgICB0aGlzLnN1YiA9IHYuc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocikgPT4ge1xuICAgICAgICAgIHRoaXMuZXJyb3JzLnNldCh2LmVycm9ycyBhcyBJT2JqZWN0TGl0ZXJhbCk7XG4gICAgICAgICAgdGhpcy5kaXJ0eS5zZXQodi5kaXJ0eSk7XG4gICAgICAgICAgdGhpcy50b3VjaGVkLnNldCh2LnRvdWNoZWQpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnaW5wdXQnKSBzZXQgX2lucHV0KHY6IElucHV0QmFzaWNDb21wb25lbnQpIHtcbiAgICBpZiAoIXYpIHJldHVybjtcbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICAgIHRoaXMuX2NvbnRyb2wgPSB2Py5jb250cm9sU2lnbmFsKCk7XG4gICAgdGhpcy5pbnB1dC5zZXQodik7XG4gIH1cblxuICAvLyAgIGVycm9ycyA9IGNvbXB1dGVkPElPYmplY3RMaXRlcmFsfHVuZGVmaW5lZD4oKCk9PntcbiAgLy8gY29uc3QgY29udHJvbHNcbiAgLy8gICAgIHJldHVybiB1bmRlZmluZWRcbiAgLy8gICB9KTtcbiAgZXJyb3JzID0gc2lnbmFsPElPYmplY3RMaXRlcmFsIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHZtUyA9IGluamVjdChWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UpO1xuXG4gIGRpcnR5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgdG91Y2hlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGNvbXB1dGVDb3VudCA9IDA7XG4gIGNvbXB1dGVkRXJyb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdFUlJPUiBjaGVjaycsICsrdGhpcy5jb21wdXRlQ291bnQpO1xuXG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy5lcnJvcnMoKSxcbiAgICAgIHZhbGlkYXRpb25zID0gdGhpcy52bVMudmFsaWRhdGlvbk1lc3NhZ2VzKCksXG4gICAgICBsYWJlbCA9IHRoaXMubGFiZWxDb21wdXRlZCgpLFxuICAgICAgbWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGgoKSxcbiAgICAgIG1pbkxlbmd0aCA9IHRoaXMubWluTGVuZ3RoKCksXG4gICAgICBjdXN0b21NZXNzYWdlID0gdGhpcy5jdXN0b21NZXNzYWdlKCksXG4gICAgICBpZ25vcmVEaXJ0aW5lc3MgPSB0aGlzLmlnbm9yZURpcnRpbmVzcygpLFxuICAgICAgZGlydHkgPSB0aGlzLmRpcnR5KCksXG4gICAgICB0b3VjaGVkID0gdGhpcy50b3VjaGVkKCk7XG5cbiAgICByZXR1cm4gZXJyb3JzICYmIChpZ25vcmVEaXJ0aW5lc3MgfHwgZGlydHkgfHwgdG91Y2hlZClcbiAgICAgID8gT2JqZWN0LmVudHJpZXMoZXJyb3JzKS5tYXAoKFt0eXBlLCBjb250cm9sTWVzc2FnZV0pID0+XG4gICAgICAgICAgdGhpcy52bVMudHJhbnNmb3JtKFxuICAgICAgICAgICAgeyBtZXNzYWdlOiB2YWxpZGF0aW9uc1t0eXBlIGFzIEVWYWxpZGF0aW9uVHlwZV0/Lm1lc3NhZ2UhLCB0eXBlOiB0eXBlIGFzIGFueSB9LFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBtYXhMZW5ndGgsXG4gICAgICAgICAgICBtaW5MZW5ndGgsXG4gICAgICAgICAgICBjb250cm9sTWVzc2FnZSB8fCBjdXN0b21NZXNzYWdlLFxuICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgIDogW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBkZXN0cm95ZXJSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGVzdHJveWVyUmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLm9uRGVzdHJveSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbGFiZWxDb21wdXRlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbCgpIHx8IHRoaXMuaW5wdXQoKT8ubGFiZWxTaWduYWw/LigpO1xuICB9KTtcbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZXJyb3JNZXNzYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JNZXNzYWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB2bVMgPSBpbmplY3QoVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlKTtcbiAgdHJhbnNmb3JtID0gdGhpcy52bVMudHJhbnNmb3JtO1xufVxuIiwiPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgW25nQ2xhc3NdPVwieyBoaWRlT3ZlcmZsb3c6IGhpZGVPdmVyZmxvdygpIH1cIiAjZWw+XG4gIEBmb3IgKGVycm9yIG9mIGNvbXB1dGVkRXJyb3JzKCk7IHRyYWNrIGVycm9yKSB7XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwibWUtMiBlcnJvcm1zc2cgaGlkZS1zY3JvbGxcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiZWxlLmlubmVyVGV4dFwiXG4gICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cImVsZS5zY3JvbGxIZWlnaHQgPD0gZWxlLm9mZnNldEhlaWdodCAmJiBlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCJcbiAgICAgICNlbGU+XG4gICAgICB7eyBlcnJvciB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgPC9zcGFuPlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -113,6 +113,7 @@ export var EValidationType;
|
|
|
113
113
|
EValidationType["unique"] = "unique";
|
|
114
114
|
EValidationType["notFound"] = "notFound";
|
|
115
115
|
EValidationType["used"] = "used";
|
|
116
|
+
EValidationType["email"] = "email";
|
|
116
117
|
})(EValidationType || (EValidationType = {}));
|
|
117
118
|
export var EMenuType;
|
|
118
119
|
(function (EMenuType) {
|
|
@@ -121,4 +122,4 @@ export var EMenuType;
|
|
|
121
122
|
})(EMenuType || (EMenuType = {}));
|
|
122
123
|
export class Constant {
|
|
123
124
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL21vZGVscy9pbmRleC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBK0MzQyxNQUFNLE9BQU8sT0FBTztJQVlsQixZQUNFLEtBQWEsRUFDYixJQUFhLEVBQ2IsV0FBNkIsRUFDN0IsSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsV0FBb0IsRUFDcEIsR0FBMEIsRUFDMUIsTUFBZSxFQUNmLE1BQWU7UUFFZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxTQUFTO0lBYXBCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFT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c0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGVBU1g7QUFURCxXQUFZLGVBQWU7SUFDekIsb0NBQWlCLENBQUE7SUFDakIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsc0NBQW1CLENBQUE7SUFDbkIsd0NBQXFCLENBQUE7SUFDckIsb0NBQWlCLENBQUE7SUFDakIsd0NBQXFCLENBQUE7SUFDckIsZ0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFUVyxlQUFlLEtBQWYsZUFBZSxRQVMxQjtBQWdHRCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLDZCQUFnQixDQUFBO0lBQ2hCLDJCQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCO0FBc0JELE1BQU0sT0FBTyxRQUFRO0NBRXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uZmlnRm9ybXMgfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgQXBwUm91dGVCYXNlIH0gZnJvbSAnLi9Sb3V0ZUl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgQnRuLCBJY29uVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnRuL2J0bi5tb2RlbCc7XG5cbi8vI3JlZ2lvbiBpbnB1dHNcbmludGVyZmFjZSBJRVRTSW5wdXRCYXNlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBjbHM/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgdHlwZT86IElucHV0VHlwZTtcbn1cbmludGVyZmFjZSBJRVRTRkNJbnB1dCBleHRlbmRzIElFVFNJbnB1dEJhc2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByZWZpeD86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBmb3JtOiBGb3JtR3JvdXA7XG4gIHZtcz86IElWYWxpZGF0aW9uTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgdHlwZSBJbnB1dFR5cGUgPVxuICB8ICdhdXRvY29tcGxldGUnXG4gIHwgJ2J1dHRvbidcbiAgfCAnY2hlY2tib3gnXG4gIHwgJ2NoZWNrZWRib3gnXG4gIHwgJ2NvbG9yJ1xuICB8ICdkYXRlJ1xuICB8ICdkYXRldGltZS1sb2NhbCdcbiAgfCAnZGhtJ1xuICB8ICdlbWFpbCdcbiAgfCAnZmlsZSdcbiAgfCAnZmlsZUJ1dHRvbidcbiAgfCAnbnVtYmVyJ1xuICB8ICdwYXNzd29yZCdcbiAgfCAncHJvZ3Jlc3MnXG4gIHwgJ3BlcmNlbnRhZ2UnXG4gIHwgJ3JpY2h0ZXh0J1xuICB8ICdyYWRpbydcbiAgfCAnc2VsZWN0J1xuICB8ICd0ZWwnXG4gIHwgJ3RleHQnXG4gIHwgJ3RleHRhcmVhJ1xuICB8ICd0aW1lJ1xuICB8ICd2aWV3ZXInO1xuZXhwb3J0IGNsYXNzIEZDSW5wdXQgaW1wbGVtZW50cyBJRVRTRkNJbnB1dCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNscz86IHN0cmluZztcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgdm1zPzogSVZhbGlkYXRpb25NZXNzYWdlW107XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgY29uc3RydWN0b3IoXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIGZvcm1Db250cm9sPzogQWJzdHJhY3RDb250cm9sLFxuICAgIHR5cGU/OiBJbnB1dFR5cGUsXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuLFxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxuICAgIHZtcz86IElWYWxpZGF0aW9uTWVzc2FnZVtdLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgICBzdWZmaXg/OiBzdHJpbmcsXG4gICkge1xuICAgIHRoaXMubmFtZSA9IG5hbWUgfHwgJ2ZuJyArIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCk7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSBmb3JtQ29udHJvbCB8fCBjb25maWdGb3Jtcy5kZWZhdWx0KCk7XG4gICAgdGhpcy50eXBlID0gdHlwZSB8fCAndGV4dCc7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkIHx8IGZhbHNlO1xuICAgIHRoaXMudm1zID0gdm1zIHx8IFtdO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICB0aGlzLnN1ZmZpeCA9IHN1ZmZpeDtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIENFVFNJbnB1dCBpbXBsZW1lbnRzIElFVFNJbnB1dEJhc2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBjbHM/OiBzdHJpbmc7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgdHlwZT86IElucHV0VHlwZTtcbiAgdmFsdWU6IHN0cmluZztcbiAgaGlkZTogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5OiBib29sZWFuO1xuICBpZDogc3RyaW5nO1xuICBoYXNFcnJvcjogYm9vbGVhbjtcbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPT0gbnVsbCB8fCB0aGlzLnZhbHVlID09IHVuZGVmaW5lZDtcbiAgfVxuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgY29uc3RydWN0b3IoXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBuYW1lPzogc3RyaW5nLFxuICAgIHZhbHVlPzogYW55LFxuICAgIHR5cGU/OiBJbnB1dFR5cGUsXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuLFxuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxuICAgIHZtcz86IElWYWxpZGF0aW9uTWVzc2FnZVtdLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgICBzdWZmaXg/OiBzdHJpbmcsXG4gICkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5pZCA9ICdpbnB1dElEJyArIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwKTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgJ3RleHQnO1xuICAgIHRoaXMucmVxdWlyZWQgPSByZXF1aXJlZCB8fCBmYWxzZTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gIH1cbn1cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24ga2V5IHZhbHVlIHBhaXJcbmV4cG9ydCBpbnRlcmZhY2UgSUtWUCB7XG4gIHJlYWRvbmx5IGtleT86IGFueTtcbiAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xuICBjbHM/OiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgRVRTS1ZQIGltcGxlbWVudHMgSUtWUCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG4gIGNscz86IHN0cmluZztcbiAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlciwgY2xzPzogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2xzID0gY2xzO1xuICB9XG59XG5leHBvcnQgY2xhc3MgRVRTRktWUCBleHRlbmRzIEVUU0tWUCB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgZWRpdGluZz86IGJvb2xlYW47XG4gIHJvdXRlPzogc3RyaW5nO1xuICByb3V0ZUZ1bmM/OiAoaXRlbSkgPT4gUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBoaW50Pzogc3RyaW5nO1xuICB2YWx1ZUhpbnQ/OiBzdHJpbmc7XG4gIGFjdGlvbj86IGFueTtcbiAgaXNQaG9uZT86IGJvb2xlYW47XG4gIGlzRW1haWw/OiBib29sZWFuO1xuICBmb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB8IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgY29uc3RydWN0b3IoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICBlZGl0YWJsZT86IGJvb2xlYW4sXG4gICAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyLFxuICAgIHB1YmxpYyBpbnB1dFR5cGU/OiBJbnB1dFR5cGUsXG4gICAgaGludD86IHN0cmluZyxcbiAgICBhY3Rpb24/OiBhbnksXG4gICAgZm9ybWF0dGVyPzogKHZhbDogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4sXG4gICAgY2xzPzogc3RyaW5nLFxuICAgIHJvdXRlPzogc3RyaW5nLFxuICAgIHZhbHVlSGludD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoa2V5LCB2YWx1ZSwgY2xzKTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgdGhpcy5oaW50ID0gaGludDtcbiAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgdGhpcy5mb3JtYXR0ZXIgPSBmb3JtYXR0ZXI7XG4gICAgdGhpcy5yb3V0ZSA9IHJvdXRlO1xuICAgIHRoaXMudmFsdWVIaW50ID0gdmFsdWVIaW50O1xuICB9XG59XG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIGxibFxuZXhwb3J0IGludGVyZmFjZSBJTGJsIGV4dGVuZHMgSUtWUCB7XG4gIGhpbnQ/OiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgTGJsIGltcGxlbWVudHMgSUxibCB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlcjtcbiAgaGludD86IHN0cmluZztcbiAgY2xzPzogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihrZXk6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyLCBoaW50Pzogc3RyaW5nLCBjbHM/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJy0nO1xuICAgIHRoaXMuaGludCA9IGhpbnQ7XG4gICAgdGhpcy5jbHMgPSBjbHM7XG4gIH1cbn1cbi8vI2VuZHJlZ2lvblxuLy8jcmVnaW9uIGJ0blxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiB0YWJsZSBjb2x1bW5zXG5leHBvcnQgaW50ZXJmYWNlIElSb3dPcHRpb24ge1xuICB0OiBzdHJpbmc7XG4gIGl0ZW1DbGFzcz86IHN0cmluZztcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBhY3Rpb24/OiAocm93OiBhbnkpID0+IHZvaWQ7XG59XG5leHBvcnQgdHlwZSBDZWxsVHlwZSA9IElucHV0VHlwZSB8ICd0YWJsZScgfCAnYnRucycgfCAnZWRpdGFibGUnIHwgJ2lucHV0JztcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlQ29sPFQgPSBhbnk+IHtcbiAgdDogc3RyaW5nO1xuICBmOiBrZXlvZiBUO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGZvcm1hdHRlcj86ICh2YWw6IGFueSkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+fCBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHA/OiBzdHJpbmdbXTtcbiAgZm9ybWF0dGVyUD86ICguLi52YWw6IGFueSkgPT4gc3RyaW5nO1xuICBoaW50Rm9ybWF0dGVyPzogKHZhbDogYW55KSA9PiBQcm9taXNlPHN0cmluZz47XG4gIHJvdXRlRm9ybWF0dGVyPzogRm9ybWF0dGVyRnVuY1R5cGU8c3RyaW5nLCBUPjtcbiAgbXF1ZXJ5UGFyYW1zPzogRm9ybWF0dGVyRnVuY1R5cGU8e30sIFQ+O1xuICB0eXBlPzogQ2VsbFR5cGU7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG59XG5leHBvcnQgY2xhc3MgVGFibGVDb2w8VFJvdyA9IGFueT4gaW1wbGVtZW50cyBJVGFibGVDb2w8VFJvdz4ge1xuICBhY3Rpb24/OiAocm93OiBhbnksIGNlbGxGaWVsZDoga2V5b2YgVFJvdywgc2V0TG9hZGluZz86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCwgaW5kZXg/OiBudW1iZXIpID0+IGFueTtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbiAgYnRuPzogQnRuPFRSb3c+O1xuICBidXR0b25zPzogQnRuPFRSb3c+W107XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBzdGlja3k/OiBib29sZWFuO1xuICBmOiBrZXlvZiBUUm93O1xuICBmb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IHN0cmluZyB8IHVuZGVmaW5lZCB8IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPnwgT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBoaW50Rm9ybWF0dGVyPzogKHZhbDogYW55KSA9PiBQcm9taXNlPHN0cmluZz47XG4gIGZvcm1hdHRlclJvdz86IEZvcm1hdHRlckZ1bmNUeXBlPHN0cmluZywgVFJvdz47XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGljb24/OiBJY29uVHlwZTtcbiAgbXF1ZXJ5UGFyYW1zPzogRm9ybWF0dGVyRnVuY1R5cGU8e30sIFRSb3c+O1xuICBwPzogc3RyaW5nW107XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcm91dGVGb3JtYXR0ZXI/OiBGb3JtYXR0ZXJGdW5jVHlwZTxzdHJpbmcsIFRSb3c+O1xuICBzdWJUYWJsZT86IFRhYmxlQ29sW107XG4gIHQ6IHN0cmluZztcbiAgdHlwZT86IENlbGxUeXBlO1xuICBub0Zvcm1hdD86IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKFxuICAgIHQ6IHN0cmluZyxcbiAgICBmPzoga2V5b2YgVFJvdyxcbiAgICBmb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPixcbiAgICBmb3JtYXR0ZXJSb3c/OiBGb3JtYXR0ZXJGdW5jVHlwZSxcbiAgICB0eXBlPzogQ2VsbFR5cGUsXG4gICAgY2hlY2tlZD86IGJvb2xlYW4sXG4gICAgcm91dGVGb3JtYXR0ZXI/OiBGb3JtYXR0ZXJGdW5jVHlwZTxzdHJpbmcsIFRSb3c+LFxuICAgIG1xdWVyeVBhcmFtcz86IEZvcm1hdHRlckZ1bmNUeXBlPHt9LCBUUm93PixcbiAgICBhY3Rpb24/OiAocm93OiBhbnksIGNlbGxGaWVsZDoga2V5b2YgVFJvdykgPT4gYW55LFxuICApIHtcbiAgICB0aGlzLnQgPSB0O1xuICAgIHRoaXMuZiA9IGYgfHwgKCgnZicgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSkgYXMgYW55KTtcbiAgICB0aGlzLmZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICB0aGlzLmZvcm1hdHRlclJvdyA9IGZvcm1hdHRlclJvdztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQgfHwgZmFsc2U7XG4gICAgdGhpcy5yb3V0ZUZvcm1hdHRlciA9IHJvdXRlRm9ybWF0dGVyO1xuICAgIHRoaXMubXF1ZXJ5UGFyYW1zID0gbXF1ZXJ5UGFyYW1zO1xuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xuICB9XG59XG5cbi8vI2VuZHJlZ2lvblxuXG50eXBlIEZvcm1hdHRlckZ1bmNUeXBlPFIgPSBzdHJpbmcsIFQgPSBhbnk+ID0gKHJvdzogVCwgY2VsbEZpZWxkPzoga2V5b2YgVCkgPT4gUjtcbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVUaXRsZTxDb2RlID0gc3RyaW5nPiB7XG4gIGNvZGU6IENvZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVEZXNjcmlwdGlvbiB7XG4gIGNvZGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWt0RGVzY3JpcHRpb24ge1xuICBta3RFdmVudENvZGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kZSB7XG4gIGNvZGU6IHN0cmluZztcbn1cbmV4cG9ydCBlbnVtIEVNZW51TG9jYXRpb24ge1xuICB2aWV3UGFnZTEgPSAndmlld1BhZ2UnLFxufVxuZXhwb3J0IGVudW0gRGF5IHtcbiAgc3VuZGF5ID0gJ1N1bmRheScsXG4gIG1vbmRheSA9ICdNb25kYXknLFxuICB0dWVzZGF5ID0gJ1R1ZXNkYXknLFxuICB3ZWRuZXNkYXkgPSAnV2VkbmVzZGF5JyxcbiAgdGh1cnNkYXkgPSAnVGh1cnNkYXknLFxuICBmcmlkYXkgPSAnRnJpZGF5JyxcbiAgc2F0dXJkYXkgPSAnU2F0dXJkYXknLFxufVxuZXhwb3J0IGVudW0gRVBhZ2VUeXBlIHtcbiAgY2xvbmVQYWdlID0gJ2Nsb25lUGFnZScsXG4gIGVkaXRQYWdlID0gJ2VkaXRQYWdlJyxcbiAgc2hvd1BhZ2UgPSAnc2hvd1BhZ2UnLFxuICBjcmVhdGVQYWdlID0gJ2NyZWF0ZVBhZ2UnLFxuICBpbmRleFBhZ2UgPSAnaW5kZXhQYWdlJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSURvY01ldGFkYXRhIHtcbiAgYm94Tm8/OiBzdHJpbmc7XG4gIGJyYW5jaD86IHN0cmluZztcbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGNyZWF0ZWRCeT86IHN0cmluZztcbiAgcG9saWN5Q29kZT86IHN0cmluZztcbiAgcG9saWN5Tm8/OiBzdHJpbmc7XG4gIHBvbGljeU5vU3VmZml4Pzogc3RyaW5nO1xuICByZWZDYXQ/OiBSZWZDYXQ7XG4gIHJlZk5vPzogc3RyaW5nIHwgbnVtYmVyO1xuICBzZW5zaXRpdml0eT86IHN0cmluZztcbiAgc3ViQ2F0ZWdvcnk/OiBTdWJDYXRlZ29yeTtcbiAgdGl0bGU6IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIFJlZkNhdCA9XG4gIHwgJ0FHVCdcbiAgfCAnQVBQJ1xuICB8ICdBU1MnXG4gIHwgJ0FVVEgnXG4gIHwgJ0JBTidcbiAgfCAnQkFUJ1xuICB8ICdCUkEnXG4gIHwgJ0NMQSdcbiAgfCAnQ0xJJ1xuICB8ICdDT00nXG4gIHwgJ0NPVSdcbiAgfCAnQ09WJ1xuICB8ICdETidcbiAgfCAnRE9DJ1xuICB8ICdFTkQnXG4gIHwgJ0VOUidcbiAgfCAnR1JPJ1xuICB8ICdOQidcbiAgfCAnUEFZJ1xuICB8ICdQTlMnXG4gIHwgJ1BPJ1xuICB8ICdQT0wnXG4gIHwgJ1BSTydcbiAgfCAnUVVPJ1xuICB8ICdSQVQnXG4gIHwgJ1NOJ1xuICB8ICdTVCdcbiAgfCAnVEFSJ1xuICB8ICdUQVMnXG4gIHwgJ1RSQSdcbiAgfCAnVFNDJ1xuICB8ICdVU1InXG4gIHwgJ1dGJztcbmV4cG9ydCB0eXBlIFN1YkNhdGVnb3J5ID0gJ0FHVCcgfCAnQU9DJyB8ICdBUCcgfCAnQ04nIHwgJ0NTRCcgfCAnSUQnIHwgJ0xJJyB8ICdMSUMnIHwgJ1BQJyB8ICdSSUInIHwgJ1NJJztcbmV4cG9ydCBpbnRlcmZhY2UgSVN5c3RlbTxTeXN0ZW1UeXBlID0gRVN5c3RlbSwgVEVTeXN0ZW1CdXNMaW5lID0gRVN5c3RlbUJ1c0xpbmU+IHtcbiAgYXBwUm91dGU6IEFwcFJvdXRlQmFzZTtcbiAgbmFtZTogU3lzdGVtVHlwZTtcbiAgYnVzbGluZTogVEVTeXN0ZW1CdXNMaW5lO1xuICBjb2xvdXJDb2RlOiBzdHJpbmc7XG4gIHJvb3RQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEVTeXN0ZW0ge31cbmV4cG9ydCBlbnVtIEVTdWJTeXN0ZW0ge31cbmV4cG9ydCBlbnVtIEVTeXN0ZW1CdXNMaW5lIHt9XG5leHBvcnQgZW51bSBFTGFuZ3VhZ2Uge1xuICBFTiA9ICdFTicsXG4gIEZSID0gJ0ZSJyxcbn1cblxuZXhwb3J0IGVudW0gRVZhbGlkYXRpb25UeXBlIHtcbiAgY3VzdG9tID0gJ2N1c3RvbScsXG4gIG1heGxlbmd0aCA9ICdtYXhsZW5ndGgnLFxuICBtaW5sZW5ndGggPSAnbWlubGVuZ3RoJyxcbiAgcGF0dGVybiA9ICdwYXR0ZXJuJyxcbiAgcmVxdWlyZWQgPSAncmVxdWlyZWQnLFxuICB1bmlxdWUgPSAndW5pcXVlJyxcbiAgbm90Rm91bmQgPSAnbm90Rm91bmQnLFxuICB1c2VkID0gJ3VzZWQnLFxufVxuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdGlvbk1lc3NhZ2Uge1xuICB0eXBlOiBFVmFsaWRhdGlvblR5cGU7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIFNvcnRUeXBlID0gJ2FzYycgfCAnZGVzYyc7XG5cbmludGVyZmFjZSBTb3J0IHtcbiAgc29ydGVkOiBib29sZWFuO1xuICB1bnNvcnRlZDogYm9vbGVhbjtcbiAgZW1wdHk6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBJUGFnZTxUPiB7XG4gIGNvbnRlbnQ6IFRbXTtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbiAgdG90YWxFbGVtZW50czogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIGxhc3Q6IGJvb2xlYW47XG4gIGZpcnN0OiBib29sZWFuO1xuICBzb3J0OiBTb3J0O1xuICBudW1iZXJPZkVsZW1lbnRzOiBudW1iZXI7XG4gIGVtcHR5OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgR2V0UXVlcnk8VD4ge1xuICBwYWdlTnVtYmVyPzogbnVtYmVyO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgc29ydEJ5Pzoga2V5b2YgVDtcbiAgc29ydERpcmVjdGlvbj86IFNvcnRUeXBlIHwgJ0RFU0MnIHwgJ0FTQyc7XG59XG5cbmV4cG9ydCB0eXBlIElHZXRRdWVyeTxUID0gYW55PiA9IFBhcnRpYWw8VD4gJiBHZXRRdWVyeTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUmVzcG9uc2U8VCA9IGFueT4ge1xuICBwYWdlOiBJUGFnZTxUPjtcbiAgbGlzdFNpemU6IG51bWJlcjtcbiAgcGFnZU51bWJlcj86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHNlYXJjaENyaXRlcmlhOiBhbnk7XG4gIHF1ZXJ5PzogSUdldFF1ZXJ5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hSZXNwb25zZTI8VCA9IGFueT4ge1xuICBjb250ZW50OiBUW107XG4gIGVtcHR5OiBib29sZWFuO1xuICBmaXJzdDogYm9vbGVhbjtcbiAgbGFzdDogYm9vbGVhbjtcbiAgbnVtYmVyOiBudW1iZXI7XG4gIG51bWJlck9mRWxlbWVudHM6IG51bWJlcjtcbiAgc2l6ZTogbnVtYmVyO1xuICB0b3RhbEVsZW1lbnRzOiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgcXVlcnk/OiBJR2V0UXVlcnk7XG4gIHNvcnQ6IHtcbiAgICBzb3J0ZWQ6IGJvb2xlYW47XG4gICAgdW5zb3J0ZWQ6IGJvb2xlYW47XG4gICAgZW1wdHk6IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEltYWdlVHlwZSA9ICdwcCcgfCAnb3RoZXInO1xuZXhwb3J0IGludGVyZmFjZSBJVGFiIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHRhcmdldD86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZm9ybT86IHN0cmluZztcbiAgcG9zdEZ1bmN0aW9uPzogKFxuICAgIGRhdGE6IGFueSxcbiAgICBwcm9kdWN0Q29kZT86IHN0cmluZyxcbiAgKSA9PiBPYnNlcnZhYmxlPHtcbiAgICBkYXRhOiBhbnk7XG4gICAgcHJvZHVjdENvZGU6IHN0cmluZztcbiAgfT47XG4gIHB1dEZ1bmN0aW9uPzogKFxuICAgIGRhdGE6IGFueSxcbiAgICBwcm9kdWN0Q29kZTogc3RyaW5nLFxuICApID0+IE9ic2VydmFibGU8e1xuICAgIGRhdGE6IGFueTtcbiAgICBwcm9kdWN0Q29kZTogc3RyaW5nO1xuICB9PjtcbiAgZGF0YT86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmFsaWRhdGlvbkVycm9yIHtcbiAgY3VzdG9tPzogc3RyaW5nO1xuICBtYXhsZW5ndGg/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBib29sZWFuO1xuICBtaW5sZW5ndGg/OiBib29sZWFuO1xuICBtaW5MZW5ndGg/OiBib29sZWFuO1xuICBub3RGb3VuZD86IGJvb2xlYW47XG4gIG5vdFVuaXF1ZT86IGJvb2xlYW47XG4gIHBhdHRlcm4/OiBib29sZWFuO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIHVzZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGVudW0gRU1lbnVUeXBlIHtcbiAgaG9yaXpvbnRhbCA9ICdIJyxcbiAgdmVydGljYWwgPSAnVicsXG59XG5leHBvcnQgaW50ZXJmYWNlIElWYWx1ZUxhYmVsPFQ+IHtcbiAgdmFsdWU6IFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmZpZ0ltYWdlcyB7XG4gIGZhdmljb246IHN0cmluZztcbiAgd2F0ZXJtYXJrOiBzdHJpbmc7XG4gIGxvZ286IHtcbiAgICBkYXJrOiBzdHJpbmc7XG4gICAgbGlnaHQ6IHN0cmluZztcbiAgfTtcbiAgcHA6IHtcbiAgICBzcmM6IHN0cmluZztcbiAgICBtaW46IHN0cmluZztcbiAgfTtcbiAgb3RoZXI6IHtcbiAgICBzcmM6IHN0cmluZztcbiAgICBtaW46IHN0cmluZztcbiAgfTtcbn1cbmV4cG9ydCBjbGFzcyBDb25zdGFudCB7XG4gIC8vICAgY29uc3RydWN0b3IoKSB7fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZU5hbWUge1xuICBzY2hlbWE6IHN0cmluZztcbiAgcHJpbWFyeVRhYmxlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElUeXBlRGVzY3JpcHRpb24ge1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2aWNlRnVuY3Rpb24ge1xuICBfYmFzZT86ICguLi5hcmdzKSA9PiBhbnk7XG4gIHNlYXJjaDogKC4uLmFyZ3MpID0+IE9ic2VydmFibGU8YW55PjtcbiAgY3JlYXRlOiAoLi4uYXJncykgPT4gT2JzZXJ2YWJsZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBUeXBlT2YgPSAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2JpZ2ludCcgfCAnYm9vbGVhbicgfCAnc3ltYm9sJyB8ICd1bmRlZmluZWQnIHwgJ29iamVjdCcgfCAnZnVuY3Rpb24nO1xuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSAnQ09NUExFVEVEJyB8ICdQRU5ESU5HJztcblxuZXhwb3J0IHR5cGUgSVN0cmljdEZvcm1Hcm91cDxUPiA9IHtcbiAgW3ggaW4ga2V5b2YgVF06IEZvcm1Db250cm9sPFRbeF0+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJT2JqZWN0TGl0ZXJhbCB7XG4gIFt4OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVfTWV0YWRhdGEge1xuICBmaWxlOiBGaWxlO1xuICBtZXRhZGF0YTogSURvY01ldGFkYXRhO1xufVxuZXhwb3J0IHR5cGUgSW5wdXRTdWJUeXBlID0gJ21vbmV5JztcbiJdfQ==
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL21vZGVscy9pbmRleC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBK0MzQyxNQUFNLE9BQU8sT0FBTztJQVlsQixZQUNFLEtBQWEsRUFDYixJQUFhLEVBQ2IsV0FBNkIsRUFDN0IsSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsV0FBb0IsRUFDcEIsR0FBMEIsRUFDMUIsTUFBZSxFQUNmLE1BQWU7UUFFZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxTQUFTO0lBYXBCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFT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c0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUdELE1BQU0sQ0FBTixJQUFZLGVBVVg7QUFWRCxXQUFZLGVBQWU7SUFDekIsb0NBQWlCLENBQUE7SUFDakIsMENBQXVCLENBQUE7SUFDdkIsMENBQXVCLENBQUE7SUFDdkIsc0NBQW1CLENBQUE7SUFDbkIsd0NBQXFCLENBQUE7SUFDckIsb0NBQWlCLENBQUE7SUFDakIsd0NBQXFCLENBQUE7SUFDckIsZ0NBQWEsQ0FBQTtJQUNiLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQVZXLGVBQWUsS0FBZixlQUFlLFFBVTFCO0FBZ0dELE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsNkJBQWdCLENBQUE7SUFDaEIsMkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFzQkQsTUFBTSxPQUFPLFFBQVE7Q0FFcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25maWdGb3JtcyB9IGZyb20gJy4vZm9ybS5jbGFzcyc7XG5pbXBvcnQgeyBBcHBSb3V0ZUJhc2UgfSBmcm9tICcuL1JvdXRlSXRlbS5jbGFzcyc7XG5pbXBvcnQgeyBCdG4sIEljb25UeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9idG4vYnRuLm1vZGVsJztcblxuLy8jcmVnaW9uIGlucHV0c1xuaW50ZXJmYWNlIElFVFNJbnB1dEJhc2Uge1xuICBuYW1lPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNscz86IHN0cmluZztcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB0eXBlPzogSW5wdXRUeXBlO1xufVxuaW50ZXJmYWNlIElFVFNGQ0lucHV0IGV4dGVuZHMgSUVUU0lucHV0QmFzZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgdm1zPzogSVZhbGlkYXRpb25NZXNzYWdlW107XG59XG5cbmV4cG9ydCB0eXBlIElucHV0VHlwZSA9XG4gIHwgJ2F1dG9jb21wbGV0ZSdcbiAgfCAnYnV0dG9uJ1xuICB8ICdjaGVja2JveCdcbiAgfCAnY2hlY2tlZGJveCdcbiAgfCAnY29sb3InXG4gIHwgJ2RhdGUnXG4gIHwgJ2RhdGV0aW1lLWxvY2FsJ1xuICB8ICdkaG0nXG4gIHwgJ2VtYWlsJ1xuICB8ICdmaWxlJ1xuICB8ICdmaWxlQnV0dG9uJ1xuICB8ICdudW1iZXInXG4gIHwgJ3Bhc3N3b3JkJ1xuICB8ICdwcm9ncmVzcydcbiAgfCAncGVyY2VudGFnZSdcbiAgfCAncmljaHRleHQnXG4gIHwgJ3JhZGlvJ1xuICB8ICdzZWxlY3QnXG4gIHwgJ3RlbCdcbiAgfCAndGV4dCdcbiAgfCAndGV4dGFyZWEnXG4gIHwgJ3RpbWUnXG4gIHwgJ3ZpZXdlcic7XG5leHBvcnQgY2xhc3MgRkNJbnB1dCBpbXBsZW1lbnRzIElFVFNGQ0lucHV0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgY2xzPzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB0eXBlPzogSW5wdXRUeXBlO1xuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICB2bXM/OiBJVmFsaWRhdGlvbk1lc3NhZ2VbXTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuICBjb25zdHJ1Y3RvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgZm9ybUNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2wsXG4gICAgdHlwZT86IElucHV0VHlwZSxcbiAgICByZXF1aXJlZD86IGJvb2xlYW4sXG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG4gICAgdm1zPzogSVZhbGlkYXRpb25NZXNzYWdlW10sXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICAgIHN1ZmZpeD86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZSB8fCAnZm4nICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwKTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgdGhpcy5mb3JtQ29udHJvbCA9IGZvcm1Db250cm9sIHx8IGNvbmZpZ0Zvcm1zLmRlZmF1bHQoKTtcbiAgICB0aGlzLnR5cGUgPSB0eXBlIHx8ICd0ZXh0JztcbiAgICB0aGlzLnJlcXVpcmVkID0gcmVxdWlyZWQgfHwgZmFsc2U7XG4gICAgdGhpcy52bXMgPSB2bXMgfHwgW107XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgIHRoaXMuc3VmZml4ID0gc3VmZml4O1xuICB9XG59XG5leHBvcnQgY2xhc3MgQ0VUU0lucHV0IGltcGxlbWVudHMgSUVUU0lucHV0QmFzZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNscz86IHN0cmluZztcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB0eXBlPzogSW5wdXRUeXBlO1xuICB2YWx1ZTogc3RyaW5nO1xuICBoaWRlOiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgcmVhZG9ubHk6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICBnZXQgaXNFbXB0eSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkO1xuICB9XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICBjb25zdHJ1Y3RvcihcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgdmFsdWU/OiBhbnksXG4gICAgdHlwZT86IElucHV0VHlwZSxcbiAgICByZXF1aXJlZD86IGJvb2xlYW4sXG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG4gICAgdm1zPzogSVZhbGlkYXRpb25NZXNzYWdlW10sXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICAgIHN1ZmZpeD86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmlkID0gJ2lucHV0SUQnICsgTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDApO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy50eXBlID0gdHlwZSB8fCAndGV4dCc7XG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkIHx8IGZhbHNlO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgfVxufVxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBrZXkgdmFsdWUgcGFpclxuZXhwb3J0IGludGVyZmFjZSBJS1ZQIHtcbiAgcmVhZG9ubHkga2V5PzogYW55O1xuICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXI7XG4gIGNscz86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBFVFNLVlAgaW1wbGVtZW50cyBJS1ZQIHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlcjtcbiAgY2xzPzogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihrZXk6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyLCBjbHM/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jbHMgPSBjbHM7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBFVFNGS1ZQIGV4dGVuZHMgRVRTS1ZQIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBlZGl0aW5nPzogYm9vbGVhbjtcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHJvdXRlRnVuYz86IChpdGVtKSA9PiBQcm9taXNlPHN0cmluZz4gfCBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIHZhbHVlSGludD86IHN0cmluZztcbiAgYWN0aW9uPzogYW55O1xuICBpc1Bob25lPzogYm9vbGVhbjtcbiAgaXNFbWFpbD86IGJvb2xlYW47XG4gIGZvcm1hdHRlcj86ICh2YWw6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+IHwgT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjb25zdHJ1Y3RvcihcbiAgICBrZXk6IHN0cmluZyxcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIGVkaXRhYmxlPzogYm9vbGVhbixcbiAgICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIsXG4gICAgcHVibGljIGlucHV0VHlwZT86IElucHV0VHlwZSxcbiAgICBoaW50Pzogc3RyaW5nLFxuICAgIGFjdGlvbj86IGFueSxcbiAgICBmb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPixcbiAgICBjbHM/OiBzdHJpbmcsXG4gICAgcm91dGU/OiBzdHJpbmcsXG4gICAgdmFsdWVIaW50Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihrZXksIHZhbHVlLCBjbHMpO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLmhpbnQgPSBoaW50O1xuICAgIHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZTtcbiAgICB0aGlzLmFjdGlvbiA9IGFjdGlvbjtcbiAgICB0aGlzLmZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICB0aGlzLnJvdXRlID0gcm91dGU7XG4gICAgdGhpcy52YWx1ZUhpbnQgPSB2YWx1ZUhpbnQ7XG4gIH1cbn1cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gbGJsXG5leHBvcnQgaW50ZXJmYWNlIElMYmwgZXh0ZW5kcyBJS1ZQIHtcbiAgaGludD86IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBMYmwgaW1wbGVtZW50cyBJTGJsIHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xuICBoaW50Pzogc3RyaW5nO1xuICBjbHM/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKGtleTogc3RyaW5nLCB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIsIGhpbnQ/OiBzdHJpbmcsIGNscz86IHN0cmluZykge1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCAnLSc7XG4gICAgdGhpcy5oaW50ID0gaGludDtcbiAgICB0aGlzLmNscyA9IGNscztcbiAgfVxufVxuLy8jZW5kcmVnaW9uXG4vLyNyZWdpb24gYnRuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIHRhYmxlIGNvbHVtbnNcbmV4cG9ydCBpbnRlcmZhY2UgSVJvd09wdGlvbiB7XG4gIHQ6IHN0cmluZztcbiAgaXRlbUNsYXNzPzogc3RyaW5nO1xuICBpY29uQ2xhc3M/OiBzdHJpbmc7XG4gIGFjdGlvbj86IChyb3c6IGFueSkgPT4gdm9pZDtcbn1cbmV4cG9ydCB0eXBlIENlbGxUeXBlID0gSW5wdXRUeXBlIHwgJ3RhYmxlJyB8ICdidG5zJyB8ICdlZGl0YWJsZScgfCAnaW5wdXQnO1xuZXhwb3J0IGludGVyZmFjZSBJVGFibGVDb2w8VCA9IGFueT4ge1xuICB0OiBzdHJpbmc7XG4gIGY6IGtleW9mIFQ7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZm9ybWF0dGVyPzogKHZhbDogYW55KSA9PiBzdHJpbmcgfCB1bmRlZmluZWQgfCBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD58IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgcD86IHN0cmluZ1tdO1xuICBmb3JtYXR0ZXJQPzogKC4uLnZhbDogYW55KSA9PiBzdHJpbmc7XG4gIGhpbnRGb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgcm91dGVGb3JtYXR0ZXI/OiBGb3JtYXR0ZXJGdW5jVHlwZTxzdHJpbmcsIFQ+O1xuICBtcXVlcnlQYXJhbXM/OiBGb3JtYXR0ZXJGdW5jVHlwZTx7fSwgVD47XG4gIHR5cGU/OiBDZWxsVHlwZTtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbDxUUm93ID0gYW55PiBpbXBsZW1lbnRzIElUYWJsZUNvbDxUUm93PiB7XG4gIGFjdGlvbj86IChyb3c6IGFueSwgY2VsbEZpZWxkOiBrZXlvZiBUUm93LCBzZXRMb2FkaW5nPzogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkLCBpbmRleD86IG51bWJlcikgPT4gYW55O1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBidG4/OiBCdG48VFJvdz47XG4gIGJ1dHRvbnM/OiBCdG48VFJvdz5bXTtcbiAgY2hlY2tlZD86IGJvb2xlYW47XG4gIHN0aWNreT86IGJvb2xlYW47XG4gIGY6IGtleW9mIFRSb3c7XG4gIGZvcm1hdHRlcj86ICh2YWw6IGFueSkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+fCBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIGhpbnRGb3JtYXR0ZXI/OiAodmFsOiBhbnkpID0+IFByb21pc2U8c3RyaW5nPjtcbiAgZm9ybWF0dGVyUm93PzogRm9ybWF0dGVyRnVuY1R5cGU8c3RyaW5nLCBUUm93PjtcbiAgaGludD86IHN0cmluZztcbiAgaWNvbj86IEljb25UeXBlO1xuICBtcXVlcnlQYXJhbXM/OiBGb3JtYXR0ZXJGdW5jVHlwZTx7fSwgVFJvdz47XG4gIHA/OiBzdHJpbmdbXTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByb3V0ZUZvcm1hdHRlcj86IEZvcm1hdHRlckZ1bmNUeXBlPHN0cmluZywgVFJvdz47XG4gIHN1YlRhYmxlPzogVGFibGVDb2xbXTtcbiAgdDogc3RyaW5nO1xuICB0eXBlPzogQ2VsbFR5cGU7XG4gIG5vRm9ybWF0PzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoXG4gICAgdDogc3RyaW5nLFxuICAgIGY/OiBrZXlvZiBUUm93LFxuICAgIGZvcm1hdHRlcj86ICh2YWw6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+LFxuICAgIGZvcm1hdHRlclJvdz86IEZvcm1hdHRlckZ1bmNUeXBlLFxuICAgIHR5cGU/OiBDZWxsVHlwZSxcbiAgICBjaGVja2VkPzogYm9vbGVhbixcbiAgICByb3V0ZUZvcm1hdHRlcj86IEZvcm1hdHRlckZ1bmNUeXBlPHN0cmluZywgVFJvdz4sXG4gICAgbXF1ZXJ5UGFyYW1zPzogRm9ybWF0dGVyRnVuY1R5cGU8e30sIFRSb3c+LFxuICAgIGFjdGlvbj86IChyb3c6IGFueSwgY2VsbEZpZWxkOiBrZXlvZiBUUm93KSA9PiBhbnksXG4gICkge1xuICAgIHRoaXMudCA9IHQ7XG4gICAgdGhpcy5mID0gZiB8fCAoKCdmJyArIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApKSBhcyBhbnkpO1xuICAgIHRoaXMuZm9ybWF0dGVyID0gZm9ybWF0dGVyO1xuICAgIHRoaXMuZm9ybWF0dGVyUm93ID0gZm9ybWF0dGVyUm93O1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZCB8fCBmYWxzZTtcbiAgICB0aGlzLnJvdXRlRm9ybWF0dGVyID0gcm91dGVGb3JtYXR0ZXI7XG4gICAgdGhpcy5tcXVlcnlQYXJhbXMgPSBtcXVlcnlQYXJhbXM7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gIH1cbn1cblxuLy8jZW5kcmVnaW9uXG5cbnR5cGUgRm9ybWF0dGVyRnVuY1R5cGU8UiA9IHN0cmluZywgVCA9IGFueT4gPSAocm93OiBULCBjZWxsRmllbGQ/OiBrZXlvZiBUKSA9PiBSO1xuZXhwb3J0IGludGVyZmFjZSBJQ29kZVRpdGxlPENvZGUgPSBzdHJpbmc+IHtcbiAgY29kZTogQ29kZTtcbiAgdGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kZURlc2NyaXB0aW9uIHtcbiAgY29kZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNa3REZXNjcmlwdGlvbiB7XG4gIG1rdEV2ZW50Q29kZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RlIHtcbiAgY29kZTogc3RyaW5nO1xufVxuZXhwb3J0IGVudW0gRU1lbnVMb2NhdGlvbiB7XG4gIHZpZXdQYWdlMSA9ICd2aWV3UGFnZScsXG59XG5leHBvcnQgZW51bSBEYXkge1xuICBzdW5kYXkgPSAnU3VuZGF5JyxcbiAgbW9uZGF5ID0gJ01vbmRheScsXG4gIHR1ZXNkYXkgPSAnVHVlc2RheScsXG4gIHdlZG5lc2RheSA9ICdXZWRuZXNkYXknLFxuICB0aHVyc2RheSA9ICdUaHVyc2RheScsXG4gIGZyaWRheSA9ICdGcmlkYXknLFxuICBzYXR1cmRheSA9ICdTYXR1cmRheScsXG59XG5leHBvcnQgZW51bSBFUGFnZVR5cGUge1xuICBjbG9uZVBhZ2UgPSAnY2xvbmVQYWdlJyxcbiAgZWRpdFBhZ2UgPSAnZWRpdFBhZ2UnLFxuICBzaG93UGFnZSA9ICdzaG93UGFnZScsXG4gIGNyZWF0ZVBhZ2UgPSAnY3JlYXRlUGFnZScsXG4gIGluZGV4UGFnZSA9ICdpbmRleFBhZ2UnLFxufVxuZXhwb3J0IGludGVyZmFjZSBJRG9jTWV0YWRhdGEge1xuICBib3hObz86IHN0cmluZztcbiAgYnJhbmNoPzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgY3JlYXRlZEJ5Pzogc3RyaW5nO1xuICBwb2xpY3lDb2RlPzogc3RyaW5nO1xuICBwb2xpY3lObz86IHN0cmluZztcbiAgcG9saWN5Tm9TdWZmaXg/OiBzdHJpbmc7XG4gIHJlZkNhdD86IFJlZkNhdDtcbiAgcmVmTm8/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHNlbnNpdGl2aXR5Pzogc3RyaW5nO1xuICBzdWJDYXRlZ29yeT86IFN1YkNhdGVnb3J5O1xuICB0aXRsZTogc3RyaW5nO1xufVxuZXhwb3J0IHR5cGUgUmVmQ2F0ID1cbiAgfCAnQUdUJ1xuICB8ICdBUFAnXG4gIHwgJ0FTUydcbiAgfCAnQVVUSCdcbiAgfCAnQkFOJ1xuICB8ICdCQVQnXG4gIHwgJ0JSQSdcbiAgfCAnQ0xBJ1xuICB8ICdDTEknXG4gIHwgJ0NPTSdcbiAgfCAnQ09VJ1xuICB8ICdDT1YnXG4gIHwgJ0ROJ1xuICB8ICdET0MnXG4gIHwgJ0VORCdcbiAgfCAnRU5SJ1xuICB8ICdHUk8nXG4gIHwgJ05CJ1xuICB8ICdQQVknXG4gIHwgJ1BOUydcbiAgfCAnUE8nXG4gIHwgJ1BPTCdcbiAgfCAnUFJPJ1xuICB8ICdRVU8nXG4gIHwgJ1JBVCdcbiAgfCAnU04nXG4gIHwgJ1NUJ1xuICB8ICdUQVInXG4gIHwgJ1RBUydcbiAgfCAnVFJBJ1xuICB8ICdUU0MnXG4gIHwgJ1VTUidcbiAgfCAnV0YnO1xuZXhwb3J0IHR5cGUgU3ViQ2F0ZWdvcnkgPSAnQUdUJyB8ICdBT0MnIHwgJ0FQJyB8ICdDTicgfCAnQ1NEJyB8ICdJRCcgfCAnTEknIHwgJ0xJQycgfCAnUFAnIHwgJ1JJQicgfCAnU0knO1xuZXhwb3J0IGludGVyZmFjZSBJU3lzdGVtPFN5c3RlbVR5cGUgPSBFU3lzdGVtLCBURVN5c3RlbUJ1c0xpbmUgPSBFU3lzdGVtQnVzTGluZT4ge1xuICBhcHBSb3V0ZTogQXBwUm91dGVCYXNlO1xuICBuYW1lOiBTeXN0ZW1UeXBlO1xuICBidXNsaW5lOiBURVN5c3RlbUJ1c0xpbmU7XG4gIGNvbG91ckNvZGU6IHN0cmluZztcbiAgcm9vdFBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gRVN5c3RlbSB7fVxuZXhwb3J0IGVudW0gRVN1YlN5c3RlbSB7fVxuZXhwb3J0IGVudW0gRVN5c3RlbUJ1c0xpbmUge31cbmV4cG9ydCBlbnVtIEVMYW5ndWFnZSB7XG4gIEVOID0gJ0VOJyxcbiAgRlIgPSAnRlInLFxufVxuXG5cbmV4cG9ydCBlbnVtIEVWYWxpZGF0aW9uVHlwZSB7XG4gIGN1c3RvbSA9ICdjdXN0b20nLFxuICBtYXhsZW5ndGggPSAnbWF4bGVuZ3RoJyxcbiAgbWlubGVuZ3RoID0gJ21pbmxlbmd0aCcsXG4gIHBhdHRlcm4gPSAncGF0dGVybicsXG4gIHJlcXVpcmVkID0gJ3JlcXVpcmVkJyxcbiAgdW5pcXVlID0gJ3VuaXF1ZScsXG4gIG5vdEZvdW5kID0gJ25vdEZvdW5kJyxcbiAgdXNlZCA9ICd1c2VkJyxcbiAgZW1haWwgPSBcImVtYWlsXCJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRpb25NZXNzYWdlIHtcbiAgdHlwZTogRVZhbGlkYXRpb25UeXBlO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5leHBvcnQgdHlwZSBTb3J0VHlwZSA9ICdhc2MnIHwgJ2Rlc2MnO1xuXG5pbnRlcmZhY2UgU29ydCB7XG4gIHNvcnRlZDogYm9vbGVhbjtcbiAgdW5zb3J0ZWQ6IGJvb2xlYW47XG4gIGVtcHR5OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgSVBhZ2U8VD4ge1xuICBjb250ZW50OiBUW107XG4gIG51bWJlcjogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBsYXN0OiBib29sZWFuO1xuICBmaXJzdDogYm9vbGVhbjtcbiAgc29ydDogU29ydDtcbiAgbnVtYmVyT2ZFbGVtZW50czogbnVtYmVyO1xuICBlbXB0eTogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEdldFF1ZXJ5PFQ+IHtcbiAgcGFnZU51bWJlcj86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIHNvcnRCeT86IGtleW9mIFQ7XG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0VHlwZSB8ICdERVNDJyB8ICdBU0MnO1xufVxuXG5leHBvcnQgdHlwZSBJR2V0UXVlcnk8VCA9IGFueT4gPSBQYXJ0aWFsPFQ+ICYgR2V0UXVlcnk8VD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFJlc3BvbnNlPFQgPSBhbnk+IHtcbiAgcGFnZTogSVBhZ2U8VD47XG4gIGxpc3RTaXplOiBudW1iZXI7XG4gIHBhZ2VOdW1iZXI/OiBudW1iZXI7XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xuICBzZWFyY2hDcml0ZXJpYTogYW55O1xuICBxdWVyeT86IElHZXRRdWVyeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoUmVzcG9uc2UyPFQgPSBhbnk+IHtcbiAgY29udGVudDogVFtdO1xuICBlbXB0eTogYm9vbGVhbjtcbiAgZmlyc3Q6IGJvb2xlYW47XG4gIGxhc3Q6IGJvb2xlYW47XG4gIG51bWJlcjogbnVtYmVyO1xuICBudW1iZXJPZkVsZW1lbnRzOiBudW1iZXI7XG4gIHNpemU6IG51bWJlcjtcbiAgdG90YWxFbGVtZW50czogbnVtYmVyO1xuICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIHF1ZXJ5PzogSUdldFF1ZXJ5O1xuICBzb3J0OiB7XG4gICAgc29ydGVkOiBib29sZWFuO1xuICAgIHVuc29ydGVkOiBib29sZWFuO1xuICAgIGVtcHR5OiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBJbWFnZVR5cGUgPSAncHAnIHwgJ290aGVyJztcbmV4cG9ydCBpbnRlcmZhY2UgSVRhYiB7XG4gIGlkPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGZvcm0/OiBzdHJpbmc7XG4gIHBvc3RGdW5jdGlvbj86IChcbiAgICBkYXRhOiBhbnksXG4gICAgcHJvZHVjdENvZGU/OiBzdHJpbmcsXG4gICkgPT4gT2JzZXJ2YWJsZTx7XG4gICAgZGF0YTogYW55O1xuICAgIHByb2R1Y3RDb2RlOiBzdHJpbmc7XG4gIH0+O1xuICBwdXRGdW5jdGlvbj86IChcbiAgICBkYXRhOiBhbnksXG4gICAgcHJvZHVjdENvZGU6IHN0cmluZyxcbiAgKSA9PiBPYnNlcnZhYmxlPHtcbiAgICBkYXRhOiBhbnk7XG4gICAgcHJvZHVjdENvZGU6IHN0cmluZztcbiAgfT47XG4gIGRhdGE/OiBhbnk7XG59XG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVZhbGlkYXRpb25FcnJvciB7XG4gIGN1c3RvbT86IHN0cmluZztcbiAgbWF4bGVuZ3RoPzogYm9vbGVhbjtcbiAgbWF4TGVuZ3RoPzogYm9vbGVhbjtcbiAgbWlubGVuZ3RoPzogYm9vbGVhbjtcbiAgbWluTGVuZ3RoPzogYm9vbGVhbjtcbiAgbm90Rm91bmQ/OiBib29sZWFuO1xuICBub3RVbmlxdWU/OiBib29sZWFuO1xuICBwYXR0ZXJuPzogYm9vbGVhbjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB1c2VkPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBlbnVtIEVNZW51VHlwZSB7XG4gIGhvcml6b250YWwgPSAnSCcsXG4gIHZlcnRpY2FsID0gJ1YnLFxufVxuZXhwb3J0IGludGVyZmFjZSBJVmFsdWVMYWJlbDxUPiB7XG4gIHZhbHVlOiBUO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWdJbWFnZXMge1xuICBmYXZpY29uOiBzdHJpbmc7XG4gIHdhdGVybWFyazogc3RyaW5nO1xuICBsb2dvOiB7XG4gICAgZGFyazogc3RyaW5nO1xuICAgIGxpZ2h0OiBzdHJpbmc7XG4gIH07XG4gIHBwOiB7XG4gICAgc3JjOiBzdHJpbmc7XG4gICAgbWluOiBzdHJpbmc7XG4gIH07XG4gIG90aGVyOiB7XG4gICAgc3JjOiBzdHJpbmc7XG4gICAgbWluOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY2xhc3MgQ29uc3RhbnQge1xuICAvLyAgIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVOYW1lIHtcbiAgc2NoZW1hOiBzdHJpbmc7XG4gIHByaW1hcnlUYWJsZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBJVHlwZURlc2NyaXB0aW9uIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBJU2VydmljZUZ1bmN0aW9uIHtcbiAgX2Jhc2U/OiAoLi4uYXJncykgPT4gYW55O1xuICBzZWFyY2g6ICguLi5hcmdzKSA9PiBPYnNlcnZhYmxlPGFueT47XG4gIGNyZWF0ZTogKC4uLmFyZ3MpID0+IE9ic2VydmFibGU8YW55Pjtcbn1cblxuZXhwb3J0IHR5cGUgVHlwZU9mID0gJ3N0cmluZycgfCAnbnVtYmVyJyB8ICdiaWdpbnQnIHwgJ2Jvb2xlYW4nIHwgJ3N5bWJvbCcgfCAndW5kZWZpbmVkJyB8ICdvYmplY3QnIHwgJ2Z1bmN0aW9uJztcblxuZXhwb3J0IHR5cGUgU3RhdHVzID0gJ0NPTVBMRVRFRCcgfCAnUEVORElORyc7XG5cbmV4cG9ydCB0eXBlIElTdHJpY3RGb3JtR3JvdXA8VD4gPSB7XG4gIFt4IGluIGtleW9mIFRdOiBGb3JtQ29udHJvbDxUW3hdPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9iamVjdExpdGVyYWwge1xuICBbeDogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlX01ldGFkYXRhIHtcbiAgZmlsZTogRmlsZTtcbiAgbWV0YWRhdGE6IElEb2NNZXRhZGF0YTtcbn1cbmV4cG9ydCB0eXBlIElucHV0U3ViVHlwZSA9ICdtb25leSc7XG4iXX0=
|
|
@@ -13,8 +13,11 @@ export const configValidationMessages = {
|
|
|
13
13
|
[EValidationType.used]: {
|
|
14
14
|
message: ' has already been used.',
|
|
15
15
|
},
|
|
16
|
+
[EValidationType.email]: {
|
|
17
|
+
message: 'Email is invalid.',
|
|
18
|
+
},
|
|
16
19
|
[EValidationType.pattern]: { message: ' is invalid.' },
|
|
17
20
|
[EValidationType.notFound]: { message: " doesn't exist" },
|
|
18
21
|
[EValidationType.custom]: {},
|
|
19
22
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvY29uZmlncy92YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFzQixNQUFNLDhCQUE4QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFxRDtJQUN4RixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUU7SUFDeEQsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxFQUFFLGlEQUFpRDtLQUMzRDtJQUNELENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sRUFBRSxrREFBa0Q7S0FDNUQ7SUFDRCxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QixPQUFPLEVBQUUsa0JBQWtCO0tBQzVCO0lBQ0QsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsT0FBTyxFQUFFLHlCQUF5QjtLQUNuQztJQUNELENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUI7S0FDN0I7SUFDRCxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7SUFDdEQsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUU7SUFDekQsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVZhbGlkYXRpb25UeXBlLCBJVmFsaWRhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi9TaGFyZWQvbW9kZWxzL2luZGV4Lm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ1ZhbGlkYXRpb25NZXNzYWdlczogeyBbeCBpbiBFVmFsaWRhdGlvblR5cGVdOiB7IG1lc3NhZ2U/OiBzdHJpbmcgfSB9ID0ge1xuICBbRVZhbGlkYXRpb25UeXBlLnJlcXVpcmVkXTogeyBtZXNzYWdlOiAnIGlzIHJlcXVpcmVkLicgfSxcbiAgW0VWYWxpZGF0aW9uVHlwZS5tYXhsZW5ndGhdOiB7XG4gICAgbWVzc2FnZTogJyBtdXN0IGJlIGF0IG1vc3Qge3ttYXhMZW5ndGh9fSBjaGFyYWN0ZXJzIGxvbmcuJyxcbiAgfSxcbiAgW0VWYWxpZGF0aW9uVHlwZS5taW5sZW5ndGhdOiB7XG4gICAgbWVzc2FnZTogJyBtdXN0IGJlIGF0IGxlYXN0IHt7bWluTGVuZ3RofX0gY2hhcmFjdGVycyBsb25nLicsXG4gIH0sXG4gIFtFVmFsaWRhdGlvblR5cGUudW5pcXVlXToge1xuICAgIG1lc3NhZ2U6ICcgYWxyZWFkeSBleGlzdHMuJyxcbiAgfSxcbiAgW0VWYWxpZGF0aW9uVHlwZS51c2VkXToge1xuICAgIG1lc3NhZ2U6ICcgaGFzIGFscmVhZHkgYmVlbiB1c2VkLicsXG4gIH0sXG4gIFtFVmFsaWRhdGlvblR5cGUuZW1haWxdOiB7XG4gICAgbWVzc2FnZTogJ0VtYWlsIGlzIGludmFsaWQuJyxcbiAgfSxcbiAgW0VWYWxpZGF0aW9uVHlwZS5wYXR0ZXJuXTogeyBtZXNzYWdlOiAnIGlzIGludmFsaWQuJyB9LFxuICBbRVZhbGlkYXRpb25UeXBlLm5vdEZvdW5kXTogeyBtZXNzYWdlOiBcIiBkb2Vzbid0IGV4aXN0XCIgfSxcbiAgW0VWYWxpZGF0aW9uVHlwZS5jdXN0b21dOiB7fSxcbn07XG4iXX0=
|