verben-authentication-ui 0.6.9 → 0.7.0

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.
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
2
3
  import { UserAccessRequestStatus } from '../../../models/user-access-request-status';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
@@ -18,6 +19,7 @@ export class UserRequestFormComponent {
18
19
  LastName: value.data.LastName || '',
19
20
  OtherName: value.data.OtherName || '',
20
21
  PhoneNumber: value.data.PhoneNumber || '',
22
+ RoleId: value.data.RoleId || '',
21
23
  });
22
24
  }
23
25
  else {
@@ -37,7 +39,7 @@ export class UserRequestFormComponent {
37
39
  LastName: ['', { readonly: true }],
38
40
  OtherName: ['', { readonly: true }],
39
41
  PhoneNumber: ['', { readonly: true }],
40
- RoleId: [''],
42
+ RoleId: ['', { validators: [Validators.required] }],
41
43
  });
42
44
  }
43
45
  ngOnInit() {
@@ -62,14 +64,15 @@ export class UserRequestFormComponent {
62
64
  console.log('Delete requested');
63
65
  }
64
66
  disableProcessing() {
65
- return (this.currentData?.data?.RequestStatus !== UserAccessRequestStatus.Pending);
67
+ return (this.currentData?.data?.RequestStatus !==
68
+ UserAccessRequestStatus.Pending || !this.form.valid);
66
69
  }
67
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestFormComponent, selector: "lib-user-request-form", inputs: { roles: "roles", currentData: "currentData" }, outputs: { switchView: "switchView", onApproval: "onApproval" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleId')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "svgPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "styleType", "svg", "svgWidth", "svgHeight", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestFormComponent, selector: "lib-user-request-form", inputs: { roles: "roles", currentData: "currentData" }, outputs: { switchView: "switchView", onApproval: "onApproval" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleId')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "svgPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "styleType", "svg", "svgWidth", "svgHeight", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
69
72
  }
70
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestFormComponent, decorators: [{
71
74
  type: Component,
72
- args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleId')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n" }]
75
+ args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleId')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n" }]
73
76
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { roles: [{
74
77
  type: Input
75
78
  }], currentData: [{
@@ -79,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
79
82
  }], onApproval: [{
80
83
  type: Output
81
84
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlcXVlc3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC91c2VyLXJlcXVlc3QtZm9ybS91c2UtcmVxdWVzdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1mb3JtL3VzZXItcmVxdWVzdC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7QUFhckYsTUFBTSxPQUFPLHdCQUF3QjtJQThCZjtJQTdCWCxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQzVCLElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6QyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUU7Z0JBQ25DLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO2dCQUNyQyxXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRTthQUMxQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLEdBQW9CLElBQUksQ0FBQztJQUVuQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMzQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7SUFFM0UsSUFBSSxDQUFZO0lBRWhCLDhDQUE4QztJQUU5QyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDbkMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixpRUFBaUU7UUFDakUsMEJBQTBCO1FBQzFCLE1BQU07UUFDTixRQUFRO1FBQ1IsOENBQThDO1FBQzlDLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsSUFBSTtRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixrQ0FBa0M7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsYUFBYSxLQUFLLHVCQUF1QixDQUFDLE9BQU8sQ0FDMUUsQ0FBQztJQUNKLENBQUM7d0dBckVVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNMQ3hCckMsc3RFQThGQTs7NEZEdEVhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUI7Z0ZBS3hCLEtBQUs7c0JBQWIsS0FBSztnQkFFRixXQUFXO3NCQURkLEtBQUs7Z0JBcUJJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1JvbGUnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMnO1xuXG5pbnRlcmZhY2UgVXNlckZvcm1EYXRhIHtcbiAgTWFpbEFkZHJlc3M6IHN0cmluZztcbiAgTmFtZTogc3RyaW5nO1xuICBQaG9uZU51bWJlcjogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXNlci1yZXF1ZXN0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0Rm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgQElucHV0KClcbiAgZ2V0IGN1cnJlbnREYXRhKCk6IENhcmREYXRhIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnREYXRhO1xuICB9XG4gIHNldCBjdXJyZW50RGF0YSh2YWx1ZTogQ2FyZERhdGEgfCBudWxsKSB7XG4gICAgdGhpcy5fY3VycmVudERhdGEgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWU/LmRhdGEpIHtcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgTWFpbEFkZHJlc3M6IHZhbHVlLmRhdGEuTWFpbEFkZHJlc3MgfHwgJycsXG4gICAgICAgIEZpcnN0TmFtZTogdmFsdWUuZGF0YS5GaXJzdE5hbWUgfHwgJycsXG4gICAgICAgIExhc3ROYW1lOiB2YWx1ZS5kYXRhLkxhc3ROYW1lIHx8ICcnLFxuICAgICAgICBPdGhlck5hbWU6IHZhbHVlLmRhdGEuT3RoZXJOYW1lIHx8ICcnLFxuICAgICAgICBQaG9uZU51bWJlcjogdmFsdWUuZGF0YS5QaG9uZU51bWJlciB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jdXJyZW50RGF0YTogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgc3dpdGNoVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPigpO1xuICBAT3V0cHV0KCkgb25BcHByb3ZhbCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlbWFpbDogc3RyaW5nOyByb2xlOiBzdHJpbmcgfT4oKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgLy8gcm9sZXM6IFdyaXRhYmxlU2lnbmFsPFJvbGVbXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBNYWlsQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgRmlyc3ROYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBMYXN0TmFtZTogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgT3RoZXJOYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBQaG9uZU51bWJlcjogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgUm9sZUlkOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5nZXRSb2xlcyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAvLyAgIHRoaXMucm9sZXMuc2V0KGRhdGEpO1xuICAgIC8vIH0pO1xuICAgIC8vIHRyeSB7XG4gICAgLy8gICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmxvYWRSb2xlcygpO1xuICAgIC8vIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gICAvLyBIYW5kbGUgZXJyb3JcbiAgICAvLyB9XG4gICAgY29uc29sZS5sb2codGhpcy5jdXJyZW50RGF0YT8uZGF0YSk7XG4gIH1cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgLy8gRW1pdCBzYXZlIGV2ZW50IHdpdGggZm9ybSB2YWx1ZVxuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gc2F2ZWQ6JywgdGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICAvLyBFbWl0IGRlbGV0ZSBldmVudFxuICAgIGNvbnNvbGUubG9nKCdEZWxldGUgcmVxdWVzdGVkJyk7XG4gIH1cblxuICBkaXNhYmxlUHJvY2Vzc2luZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jdXJyZW50RGF0YT8uZGF0YT8uUmVxdWVzdFN0YXR1cyAhPT0gVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMuUGVuZGluZ1xuICAgICk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNFwiXG4+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgICBsYWJlbD1cIk1haWwgQWRkcmVzczpcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJGaXJzdCBOYW1lOlwiXG4gICAgbmFtZT1cIkZpcnN0TmFtZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIkZpcnN0TmFtZVwiXG4gICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAvPlxuICA8dmVyYmVuYS1pbnB1dFxuICAgIGxhYmVsPVwiTGFzdCBOYW1lOlwiXG4gICAgbmFtZT1cIkxhc3ROYW1lXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiTGFzdE5hbWVcIlxuICAgIFtyZWFkT25seV09XCJ0cnVlXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIk90aGVyTmFtZTpcIlxuICAgIG5hbWU9XCJPdGhlck5hbWVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJPdGhlck5hbWVcIlxuICAgIFtyZWFkT25seV09XCJ0cnVlXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIlBob25lIE51bWJlcjpcIlxuICAgIG5hbWU9XCJQaG9uZU51bWJlclwiXG4gICAgdHlwZT1cInRlbFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiUGhvbmVOdW1iZXJcIlxuICAgIFtyZWFkT25seV09XCJ0cnVlXCJcbiAgLz5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cInJvbGVcIj5Sb2xlPC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICBsYWJlbD1cIlJvbGVcIlxuICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgWyhvcHRpb25zKV09XCJyb2xlc1wiXG4gICAgICBpZD1cInJvbGVcIlxuICAgICAgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgIG9wdGlvblZhbHVlPVwiSWRcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUm9sZUlkXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8IS0tIGJ1dHRvbnMgLS0+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBteS0yXCI+XG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgdGV4dD1cIlJlamVjdFwiXG4gICAgICBzdHlsZVR5cGU9XCJkYW5nZXJcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBbZGlzYWJsZV09XCJkaXNhYmxlUHJvY2Vzc2luZygpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIChjbGljayk9XCJzd2l0Y2hWaWV3LmVtaXQoKVwiXG4gICAgICB0ZXh0PVwiU3dpdGNoIFRvIFRhYmxlXCJcbiAgICAgIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIChjbGljayk9XCJcbiAgICAgICAgb25BcHByb3ZhbC5lbWl0KHtcbiAgICAgICAgICBlbWFpbDogZm9ybS5nZXQoJ01haWxBZGRyZXNzJyk/LnZhbHVlLFxuICAgICAgICAgIHJvbGU6IGZvcm0uZ2V0KCdSb2xlSWQnKT8udmFsdWVcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgICB0ZXh0PVwiQXBwcm92ZVwiXG4gICAgICBiZ0NvbG9yPVwiIzI4YTc0NVwiXG4gICAgICB0ZXh0Q29sb3I9XCJ3aGl0ZVwiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgIzI4YTc0NVwiXG4gICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgIHdpZHRoPVwiMTE0cHhcIlxuICAgICAgaGVpZ2h0PVwiMzlweFwiXG4gICAgICBbZGlzYWJsZV09XCJkaXNhYmxlUHJvY2Vzc2luZygpXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJlcXVlc3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC91c2VyLXJlcXVlc3QtZm9ybS91c2UtcmVxdWVzdC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1mb3JtL3VzZXItcmVxdWVzdC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQWFyRixNQUFNLE9BQU8sd0JBQXdCO0lBK0JmO0lBOUJYLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDNUIsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFzQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDbkIsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7Z0JBQ3pDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO2dCQUNyQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRTtnQkFDbkMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6QyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRTthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLEdBQW9CLElBQUksQ0FBQztJQUVuQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMzQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7SUFFM0UsSUFBSSxDQUFZO0lBRWhCLDhDQUE4QztJQUU5QyxZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDbkMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixpRUFBaUU7UUFDakUsMEJBQTBCO1FBQzFCLE1BQU07UUFDTixRQUFRO1FBQ1IsOENBQThDO1FBQzlDLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsSUFBSTtRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixrQ0FBa0M7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsYUFBYTtZQUNuQyx1QkFBdUIsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDdEQsQ0FBQztJQUNKLENBQUM7d0dBdkVVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHNMQ3hCckMsd3RFQThGQTs7NEZEdEVhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUI7Z0ZBS3hCLEtBQUs7c0JBQWIsS0FBSztnQkFFRixXQUFXO3NCQURkLEtBQUs7Z0JBc0JJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1JvbGUnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMnO1xuXG5pbnRlcmZhY2UgVXNlckZvcm1EYXRhIHtcbiAgTWFpbEFkZHJlc3M6IHN0cmluZztcbiAgTmFtZTogc3RyaW5nO1xuICBQaG9uZU51bWJlcjogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXNlci1yZXF1ZXN0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdXNlci1yZXF1ZXN0LWZvcm0uY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0Rm9ybUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgQElucHV0KClcbiAgZ2V0IGN1cnJlbnREYXRhKCk6IENhcmREYXRhIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnREYXRhO1xuICB9XG4gIHNldCBjdXJyZW50RGF0YSh2YWx1ZTogQ2FyZERhdGEgfCBudWxsKSB7XG4gICAgdGhpcy5fY3VycmVudERhdGEgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWU/LmRhdGEpIHtcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgTWFpbEFkZHJlc3M6IHZhbHVlLmRhdGEuTWFpbEFkZHJlc3MgfHwgJycsXG4gICAgICAgIEZpcnN0TmFtZTogdmFsdWUuZGF0YS5GaXJzdE5hbWUgfHwgJycsXG4gICAgICAgIExhc3ROYW1lOiB2YWx1ZS5kYXRhLkxhc3ROYW1lIHx8ICcnLFxuICAgICAgICBPdGhlck5hbWU6IHZhbHVlLmRhdGEuT3RoZXJOYW1lIHx8ICcnLFxuICAgICAgICBQaG9uZU51bWJlcjogdmFsdWUuZGF0YS5QaG9uZU51bWJlciB8fCAnJyxcbiAgICAgICAgUm9sZUlkOiB2YWx1ZS5kYXRhLlJvbGVJZCB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jdXJyZW50RGF0YTogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgc3dpdGNoVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPigpO1xuICBAT3V0cHV0KCkgb25BcHByb3ZhbCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlbWFpbDogc3RyaW5nOyByb2xlOiBzdHJpbmcgfT4oKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgLy8gcm9sZXM6IFdyaXRhYmxlU2lnbmFsPFJvbGVbXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBNYWlsQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgRmlyc3ROYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBMYXN0TmFtZTogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgT3RoZXJOYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBQaG9uZU51bWJlcjogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgUm9sZUlkOiBbJycsIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdIH1dLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5nZXRSb2xlcyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAvLyAgIHRoaXMucm9sZXMuc2V0KGRhdGEpO1xuICAgIC8vIH0pO1xuICAgIC8vIHRyeSB7XG4gICAgLy8gICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmxvYWRSb2xlcygpO1xuICAgIC8vIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gICAvLyBIYW5kbGUgZXJyb3JcbiAgICAvLyB9XG4gICAgY29uc29sZS5sb2codGhpcy5jdXJyZW50RGF0YT8uZGF0YSk7XG4gIH1cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgLy8gRW1pdCBzYXZlIGV2ZW50IHdpdGggZm9ybSB2YWx1ZVxuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gc2F2ZWQ6JywgdGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICAvLyBFbWl0IGRlbGV0ZSBldmVudFxuICAgIGNvbnNvbGUubG9nKCdEZWxldGUgcmVxdWVzdGVkJyk7XG4gIH1cblxuICBkaXNhYmxlUHJvY2Vzc2luZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jdXJyZW50RGF0YT8uZGF0YT8uUmVxdWVzdFN0YXR1cyAhPT1cbiAgICAgICAgVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMuUGVuZGluZyB8fCAhdGhpcy5mb3JtLnZhbGlkXG4gICAgKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTMgcGItMyByb3VuZGVkLXhsIGgtZnVsbCB3LWZ1bGwgcmVsYXRpdmUgc3BhY2UteS00XCJcbj5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBuYW1lPVwiTWFpbEFkZHJlc3NcIlxuICAgIGxhYmVsPVwiTWFpbCBBZGRyZXNzOlwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiTWFpbEFkZHJlc3NcIlxuICAgIFtyZWFkT25seV09XCJ0cnVlXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIkZpcnN0IE5hbWU6XCJcbiAgICBuYW1lPVwiRmlyc3ROYW1lXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiRmlyc3ROYW1lXCJcbiAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJMYXN0IE5hbWU6XCJcbiAgICBuYW1lPVwiTGFzdE5hbWVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJMYXN0TmFtZVwiXG4gICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAvPlxuICA8dmVyYmVuYS1pbnB1dFxuICAgIGxhYmVsPVwiT3RoZXJOYW1lOlwiXG4gICAgbmFtZT1cIk90aGVyTmFtZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIk90aGVyTmFtZVwiXG4gICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAvPlxuICA8dmVyYmVuYS1pbnB1dFxuICAgIGxhYmVsPVwiUGhvbmUgTnVtYmVyOlwiXG4gICAgbmFtZT1cIlBob25lTnVtYmVyXCJcbiAgICB0eXBlPVwidGVsXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJQaG9uZU51bWJlclwiXG4gICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAvPlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwicm9sZVwiPlJvbGU8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgIGxhYmVsPVwiUm9sZVwiXG4gICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICBbKG9wdGlvbnMpXT1cInJvbGVzXCJcbiAgICAgIGlkPVwicm9sZVwiXG4gICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlJvbGVJZFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBidXR0b25zIC0tPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gbXktMlwiPlxuICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgd2lkdGg9XCIxMTRweFwiXG4gICAgICBoZWlnaHQ9XCIzOXB4XCJcbiAgICAgIHRleHQ9XCJSZWplY3RcIlxuICAgICAgc3R5bGVUeXBlPVwiZGFuZ2VyXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgW2Rpc2FibGVdPVwiZGlzYWJsZVByb2Nlc3NpbmcoKVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAoY2xpY2spPVwic3dpdGNoVmlldy5lbWl0KClcIlxuICAgICAgdGV4dD1cIlN3aXRjaCBUbyBUYWJsZVwiXG4gICAgICBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAoY2xpY2spPVwiXG4gICAgICAgIG9uQXBwcm92YWwuZW1pdCh7XG4gICAgICAgICAgZW1haWw6IGZvcm0uZ2V0KCdNYWlsQWRkcmVzcycpPy52YWx1ZSxcbiAgICAgICAgICByb2xlOiBmb3JtLmdldCgnUm9sZUlkJyk/LnZhbHVlXG4gICAgICAgIH0pXG4gICAgICBcIlxuICAgICAgdGV4dD1cIkFwcHJvdmVcIlxuICAgICAgYmdDb2xvcj1cIiMyOGE3NDVcIlxuICAgICAgdGV4dENvbG9yPVwid2hpdGVcIlxuICAgICAgYm9yZGVyPVwiMXB4IHNvbGlkICMyOGE3NDVcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgW2Rpc2FibGVdPVwiZGlzYWJsZVByb2Nlc3NpbmcoKVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -18,7 +18,7 @@ export class HttpWebRequestService {
18
18
  buildHeaders() {
19
19
  return {
20
20
  'Content-Type': 'application/json',
21
- 'Authorization': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZXMiOiIiLCJUZW5hbnRJZCI6IlBETFRDNiIsIlNlcnZpY2VOYW1lIjoiV2hpdGUzNjAiLCJuYmYiOjE3MzYxNjM1OTYsImV4cCI6MTczNjM3OTU5NiwiaWF0IjoxNzM2MTYzNTk2fQ.q5ErmDIP0NwKKRlVeb9_EfmrEfd8gsFzkNNszkTeTg4'
21
+ Authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZUlEIjoiIiwiVGVuYW50SWQiOiJQRExUQzYiLCJTZXJ2aWNlTmFtZSI6IldoaXRlMzYwIiwibmJmIjoxNzM2MjYxODAwLCJleHAiOjE3MzY0Nzc4MDAsImlhdCI6MTczNjI2MTgwMH0.O051aWAci2rieq9EPFgSNNM2hX54UnvZqiKT6dM7Hfg',
22
22
  };
23
23
  }
24
24
  buildUrl(url, baseUrl) {
@@ -60,7 +60,9 @@ export class HttpWebRequestService {
60
60
  return this.request('POST', url, JSON.stringify(body), baseUrl);
61
61
  }
62
62
  postFile(url, formData, baseUrl) {
63
- return new Promise((resolve) => this.http.post(this.buildUrl(url, baseUrl || this.envSvc.environment.AuthenticationAPI), formData).subscribe({
63
+ return new Promise((resolve) => this.http
64
+ .post(this.buildUrl(url, baseUrl || this.envSvc.environment.AuthenticationAPI), formData)
65
+ .subscribe({
64
66
  next: resolve,
65
67
  error: (err) => resolve(this.handleError(err)),
66
68
  }));
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
80
82
  providedIn: 'root',
81
83
  }]
82
84
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i3.NotificationService }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQU94RCxNQUFNLE9BQU8scUJBQXFCO0lBSXRCO0lBQ0E7SUFDQTtJQUxWLE1BQU0sQ0FBVTtJQUVoQixZQUNVLElBQWdCLEVBQ2hCLE1BQTBCLEVBQzFCLG1CQUF3QztRQUZ4QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFFaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDbkQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTztZQUNMLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsZUFBZSxFQUFFLGlWQUFpVjtTQUNuVyxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUMzQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBUTtRQUUxQixNQUFNLEdBQUcsR0FDUCxHQUFHLEVBQUUsUUFBUTtZQUNaLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBbUIsRUFBRSxRQUFRLEVBQUU7WUFDN0MsZ0JBQWdCLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxPQUFPLENBQ2IsTUFBeUMsRUFDekMsR0FBVyxFQUNYLElBQVUsRUFDVixVQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7UUFFM0QsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtTQUM3QixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDOUMsSUFBSSxFQUFFLE9BQU87b0JBQ2IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0sQ0FBQztpQkFDcEQsQ0FBQyxDQUNILENBQUM7WUFDSixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNyRCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxDQUFDO2lCQUNwRCxDQUFDLENBQ0gsQ0FBQztZQUNKLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckQsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxPQUFnQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFlLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksQ0FBSSxHQUFXLEVBQUUsSUFBUyxFQUFFLE9BQWdCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFlLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVEsQ0FBSSxHQUFXLEVBQUUsUUFBa0IsRUFBRSxPQUFnQjtRQUMzRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzlHLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0sQ0FBQztTQUNwRCxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLElBQVMsRUFBRSxPQUFnQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFrQixDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUksR0FBVyxFQUFFLE9BQWdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQWtCLENBQUM7SUFDMUUsQ0FBQzt3R0F6RlUscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL0Vycm9yUmVzcG9uc2UnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIHtcbiAgaXNQcm9kOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGVudlN2YzogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmlzUHJvZCA9IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSGVhZGVycygpe1xuICAgIHJldHVybiB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiAnZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5Sk5ZV2xzUVdSa2NtVnpjeUk2SW5abGNtSmxibUZBWjIxaGFXd3VZMjl0SWl3aVFYQndiR2xqWVhScGIyNGlPaUlpTENKT1lXMWxJam9pVm1WeVltVnVZU0JNYjJkcFl5Qk1hVzFwZEdWa0lpd2lVbTlzWlhNaU9pSWlMQ0pVWlc1aGJuUkpaQ0k2SWxCRVRGUkROaUlzSWxObGNuWnBZMlZPWVcxbElqb2lWMmhwZEdVek5qQWlMQ0p1WW1ZaU9qRTNNell4TmpNMU9UWXNJbVY0Y0NJNk1UY3pOak0zT1RVNU5pd2lhV0YwSWpveE56TTJNVFl6TlRrMmZRLnE1RXJtRElQME53S0tSbFZlYjlfRWZtckVmZDhnc0Z6a05Oc3prVGVUZzQnXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRVcmwodXJsOiBzdHJpbmcsIGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2Jhc2VVcmx9LyR7dXJsfWA7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogYW55KTogRXJyb3JSZXNwb25zZSB7XG5cbiAgICBjb25zdCBtc2cgPVxuICAgICAgZXJyPy5FcnJvck1zZyB8fFxuICAgICAgKGVycj8uZXJyb3JzPy52YWx1ZXMgYXMgc3RyaW5nW10pPy50b1N0cmluZygpIHx8XG4gICAgICBgRXJyb3Igb2NjdXJyZWRgOyBcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IobXNnLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgIHJldHVybiBuZXcgRXJyb3JSZXNwb25zZShtc2cpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KFxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk/OiBhbnksXG4gICAgYmFzZVVybDogc3RyaW5nID0gdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuQXV0aGVudGljYXRpb25BUEksXG4gICk6IFByb21pc2U8VD4gfCBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5idWlsZEhlYWRlcnMoKSxcbiAgICB9O1xuXG4gICAgY29uc3QgcmVxdWVzdFVybCA9IHRoaXMuYnVpbGRVcmwodXJsLCBiYXNlVXJsKTtcblxuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdHRVQnOlxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgICAgICAgdGhpcy5odHRwLmdldDxUPihyZXF1ZXN0VXJsLCBvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiByZXNvbHZlKHRoaXMuaGFuZGxlRXJyb3IoZXJyKSBhcyBUKSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY2FzZSAnUE9TVCc6XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICB0aGlzLmh0dHAucG9zdDxUPihyZXF1ZXN0VXJsLCBib2R5LCBvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiByZXNvbHZlKHRoaXMuaGFuZGxlRXJyb3IoZXJyKSBhcyBUKSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgY2FzZSAnUFVUJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4ocmVxdWVzdFVybCwgYm9keSwgb3B0aW9ucyk7XG4gICAgICBjYXNlICdERUxFVEUnOlxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxUPihyZXF1ZXN0VXJsLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBnZXQ8VD4odXJsOiBzdHJpbmcsIGJhc2VVcmw/OiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdHRVQnLCB1cmwsIHVuZGVmaW5lZCwgYmFzZVVybCkgYXMgUHJvbWlzZTxUPjtcbiAgfVxuXG4gIHBvc3Q8VD4odXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgYmFzZVVybD86IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ1BPU1QnLCB1cmwsIEpTT04uc3RyaW5naWZ5KGJvZHkpLCBiYXNlVXJsKSBhcyBQcm9taXNlPFQ+O1xuICB9XG5cbiAgcG9zdEZpbGU8VD4odXJsOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSwgYmFzZVVybD86IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMuYnVpbGRVcmwodXJsLCBiYXNlVXJsIHx8IHRoaXMuZW52U3ZjLmVudmlyb25tZW50LkF1dGhlbnRpY2F0aW9uQVBJKSwgZm9ybURhdGEpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHJlc29sdmUsXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiByZXNvbHZlKHRoaXMuaGFuZGxlRXJyb3IoZXJyKSBhcyBUKSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1dDxUPih1cmw6IHN0cmluZywgYm9keTogYW55LCBiYXNlVXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUFVUJywgdXJsLCBib2R5LCBiYXNlVXJsKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBiYXNlVXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnREVMRVRFJywgdXJsLCB1bmRlZmluZWQsIGJhc2VVcmwpIGFzIE9ic2VydmFibGU8VD47XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQU94RCxNQUFNLE9BQU8scUJBQXFCO0lBSXRCO0lBQ0E7SUFDQTtJQUxWLE1BQU0sQ0FBVTtJQUVoQixZQUNVLElBQWdCLEVBQ2hCLE1BQTBCLEVBQzFCLG1CQUF3QztRQUZ4QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFFaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDbkQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTztZQUNMLGNBQWMsRUFBRSxrQkFBa0I7WUFDbEMsYUFBYSxFQUNYLGtWQUFrVjtTQUNyVixDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUMzQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBUTtRQUMxQixNQUFNLEdBQUcsR0FDUCxHQUFHLEVBQUUsUUFBUTtZQUNaLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBbUIsRUFBRSxRQUFRLEVBQUU7WUFDN0MsZ0JBQWdCLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxPQUFPLENBQ2IsTUFBeUMsRUFDekMsR0FBVyxFQUNYLElBQVUsRUFDVixVQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7UUFFM0QsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtTQUM3QixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDOUMsSUFBSSxFQUFFLE9BQU87b0JBQ2IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQU0sQ0FBQztpQkFDcEQsQ0FBQyxDQUNILENBQUM7WUFDSixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNyRCxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxDQUFDO2lCQUNwRCxDQUFDLENBQ0gsQ0FBQztZQUNKLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckQsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFJLEdBQVcsRUFBRSxPQUFnQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFlLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksQ0FBSSxHQUFXLEVBQUUsSUFBUyxFQUFFLE9BQWdCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FDakIsTUFBTSxFQUNOLEdBQUcsRUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNwQixPQUFPLENBQ00sQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFJLEdBQVcsRUFBRSxRQUFrQixFQUFFLE9BQWdCO1FBQzNELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3QixJQUFJLENBQUMsSUFBSTthQUNOLElBQUksQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUNYLEdBQUcsRUFDSCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ3JELEVBQ0QsUUFBUSxDQUNUO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBTSxDQUFDO1NBQ3BELENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FBSSxHQUFXLEVBQUUsSUFBUyxFQUFFLE9BQWdCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQWtCLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBSSxHQUFXLEVBQUUsT0FBZ0I7UUFDckMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBa0IsQ0FBQztJQUMxRSxDQUFDO3dHQXRHVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvRXJyb3JSZXNwb25zZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBIdHRwV2ViUmVxdWVzdFNlcnZpY2Uge1xuICBpc1Byb2Q6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZW52U3ZjOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNQcm9kID0gdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRIZWFkZXJzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQXV0aG9yaXphdGlvbjpcbiAgICAgICAgJ2V5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpOWVdsc1FXUmtjbVZ6Y3lJNkluWmxjbUpsYm1GQVoyMWhhV3d1WTI5dElpd2lRWEJ3YkdsallYUnBiMjRpT2lJaUxDSk9ZVzFsSWpvaVZtVnlZbVZ1WVNCTWIyZHBZeUJNYVcxcGRHVmtJaXdpVW05c1pVbEVJam9pSWl3aVZHVnVZVzUwU1dRaU9pSlFSRXhVUXpZaUxDSlRaWEoyYVdObFRtRnRaU0k2SWxkb2FYUmxNell3SWl3aWJtSm1Jam94TnpNMk1qWXhPREF3TENKbGVIQWlPakUzTXpZME56YzRNREFzSW1saGRDSTZNVGN6TmpJMk1UZ3dNSDAuTzA1MWFXQWNpMnJpZXE5RVBGZ1NOTk0yaFg1NFVudlpxaUtUNmRNN0hmZycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRVcmwodXJsOiBzdHJpbmcsIGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2Jhc2VVcmx9LyR7dXJsfWA7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogYW55KTogRXJyb3JSZXNwb25zZSB7XG4gICAgY29uc3QgbXNnID1cbiAgICAgIGVycj8uRXJyb3JNc2cgfHxcbiAgICAgIChlcnI/LmVycm9ycz8udmFsdWVzIGFzIHN0cmluZ1tdKT8udG9TdHJpbmcoKSB8fFxuICAgICAgYEVycm9yIG9jY3VycmVkYDtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IobXNnLCB7IHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgIHJldHVybiBuZXcgRXJyb3JSZXNwb25zZShtc2cpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1ZXN0PFQ+KFxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk/OiBhbnksXG4gICAgYmFzZVVybDogc3RyaW5nID0gdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuQXV0aGVudGljYXRpb25BUElcbiAgKTogUHJvbWlzZTxUPiB8IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkSGVhZGVycygpLFxuICAgIH07XG5cbiAgICBjb25zdCByZXF1ZXN0VXJsID0gdGhpcy5idWlsZFVybCh1cmwsIGJhc2VVcmwpO1xuXG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ0dFVCc6XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFQ+KHJlcXVlc3RVcmwsIG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXNvbHZlLFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHJlc29sdmUodGhpcy5oYW5kbGVFcnJvcihlcnIpIGFzIFQpLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICBjYXNlICdQT1NUJzpcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cC5wb3N0PFQ+KHJlcXVlc3RVcmwsIGJvZHksIG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXNvbHZlLFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHJlc29sdmUodGhpcy5oYW5kbGVFcnJvcihlcnIpIGFzIFQpLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICBjYXNlICdQVVQnOlxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihyZXF1ZXN0VXJsLCBib2R5LCBvcHRpb25zKTtcbiAgICAgIGNhc2UgJ0RFTEVURSc6XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFQ+KHJlcXVlc3RVcmwsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldDxUPih1cmw6IHN0cmluZywgYmFzZVVybD86IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ0dFVCcsIHVybCwgdW5kZWZpbmVkLCBiYXNlVXJsKSBhcyBQcm9taXNlPFQ+O1xuICB9XG5cbiAgcG9zdDxUPih1cmw6IHN0cmluZywgYm9keTogYW55LCBiYXNlVXJsPzogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICdQT1NUJyxcbiAgICAgIHVybCxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgYmFzZVVybFxuICAgICkgYXMgUHJvbWlzZTxUPjtcbiAgfVxuXG4gIHBvc3RGaWxlPFQ+KHVybDogc3RyaW5nLCBmb3JtRGF0YTogRm9ybURhdGEsIGJhc2VVcmw/OiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLnBvc3Q8VD4oXG4gICAgICAgICAgdGhpcy5idWlsZFVybChcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGJhc2VVcmwgfHwgdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuQXV0aGVudGljYXRpb25BUElcbiAgICAgICAgICApLFxuICAgICAgICAgIGZvcm1EYXRhXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogcmVzb2x2ZSxcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4gcmVzb2x2ZSh0aGlzLmhhbmRsZUVycm9yKGVycikgYXMgVCksXG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1dDxUPih1cmw6IHN0cmluZywgYm9keTogYW55LCBiYXNlVXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUFVUJywgdXJsLCBib2R5LCBiYXNlVXJsKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBiYXNlVXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnREVMRVRFJywgdXJsLCB1bmRlZmluZWQsIGJhc2VVcmwpIGFzIE9ic2VydmFibGU8VD47XG4gIH1cbn1cbiJdfQ==