verben-authentication-ui 0.8.9 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +1 -1
- package/esm2022/lib/components/reset-password/reset-password.component.mjs +1 -1
- package/esm2022/lib/components/role-control/role-control.component.mjs +1 -1
- package/esm2022/lib/components/sign-in/sign-in.component.mjs +3 -3
- package/esm2022/lib/components/sign-up/sign-up.component.mjs +1 -1
- package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +1 -1
- package/esm2022/lib/components/sso/sso.component.mjs +1 -1
- package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +16 -18
- package/esm2022/lib/components/user-management/user-management.component.mjs +38 -30
- package/esm2022/lib/components/user-request/user-request.component.mjs +1 -1
- package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +5 -1
- package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +3 -2
- package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +3 -3
- package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +1 -1
- package/esm2022/lib/models/Tag.mjs +2 -0
- package/esm2022/lib/models/base.mjs +1 -1
- package/esm2022/lib/models/query-params.mjs +1 -1
- package/fesm2022/verben-authentication-ui.mjs +74 -65
- package/fesm2022/verben-authentication-ui.mjs.map +1 -1
- package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +7 -13
- package/lib/components/user-management/user-management.component.d.ts +5 -2
- package/lib/components/user-request-approval/services/user-access-request.service.d.ts +2 -0
- package/lib/models/Tag.d.ts +6 -0
- package/lib/models/base.d.ts +1 -1
- package/lib/models/query-params.d.ts +2 -1
- package/package.json +1 -1
|
@@ -248,7 +248,7 @@ export class UserRequestComponent {
|
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i3.UtilService }, { token: i4.EnvironmentService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
251
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestComponent, selector: "lib-user-request", inputs: { width: "width", headingTitle: "headingTitle", headingClass: "headingClass", customClass: "customClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", pd: "pd", text: "text", color: "color", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnBgColor: "btnBgColor", btnWidth: "btnWidth", btnPd: "btnPd", termsLink: "termsLink", privacyLink: "privacyLink", routerLink: "routerLink" }, outputs: { formSubmit: "formSubmit", googleClick: "googleClick", onSubmitSuccess: "onSubmitSuccess", appleClick: "appleClick", microsoftClick: "microsoftClick", onSubmitGoogleAuth: "onSubmitGoogleAuth", onSubmitResponseEnd: "onSubmitResponseEnd" }, ngImport: i0, template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n</section>\n\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"], 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i6.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: i6.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: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }] });
|
|
251
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestComponent, selector: "lib-user-request", inputs: { width: "width", headingTitle: "headingTitle", headingClass: "headingClass", customClass: "customClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", pd: "pd", text: "text", color: "color", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnBgColor: "btnBgColor", btnWidth: "btnWidth", btnPd: "btnPd", termsLink: "termsLink", privacyLink: "privacyLink", routerLink: "routerLink" }, outputs: { formSubmit: "formSubmit", googleClick: "googleClick", onSubmitSuccess: "onSubmitSuccess", appleClick: "appleClick", microsoftClick: "microsoftClick", onSubmitGoogleAuth: "onSubmitGoogleAuth", onSubmitResponseEnd: "onSubmitResponseEnd" }, ngImport: i0, template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [passwordToggle]=\"true\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n *ngIf=\"!hidePassword\"\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [passwordToggle]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </form>\n\n <div class=\"mt-2\" *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n</section>\n\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"], 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i6.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", "fontSize", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i6.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: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }] });
|
|
252
252
|
}
|
|
253
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, decorators: [{
|
|
254
254
|
type: Component,
|
package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs
CHANGED
|
@@ -23,6 +23,10 @@ export class UserAccessRequestService {
|
|
|
23
23
|
const url = `Role/GetRoles/0/0`;
|
|
24
24
|
return this.httpService.get(url);
|
|
25
25
|
}
|
|
26
|
+
getTags() {
|
|
27
|
+
const url = `User/GetTags/0/0`;
|
|
28
|
+
return this.httpService.get(url);
|
|
29
|
+
}
|
|
26
30
|
/**
|
|
27
31
|
* Get user access requests with additional parameter, pagination and sorting
|
|
28
32
|
* @param param Search parameter
|
|
@@ -86,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
86
90
|
providedIn: 'root',
|
|
87
91
|
}]
|
|
88
92
|
}], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvc2VydmljZXMvdXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWEzQyxNQUFNLE9BQU8sd0JBQXdCO0lBR2Y7SUFGSCxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRW5DLFlBQW9CLFdBQWtDO1FBQWxDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUFHLENBQUM7SUFFMUQ7Ozs7Ozs7T0FPRztJQUNILHFCQUFxQixDQUNuQixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsMEJBQTBCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFzQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxHQUFHLEdBQUcsbUJBQW1CLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQXlCLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBd0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCw2QkFBNkIsQ0FDM0IsS0FBYSxFQUNiLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxrQ0FBa0MsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2pILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFzQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGtDQUFrQyxDQUNoQyxNQUE2QixFQUM3QixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsNEJBQTRCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FFdkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsc0JBQXNCLENBQUMsUUFBNkI7UUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSx5QkFBeUIsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCx5QkFBeUIsQ0FDdkIsUUFBNkIsRUFDN0IsVUFBbUI7UUFFbkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSw0QkFBNEIsVUFBVSxFQUFFLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0IsQ0FBQyxVQUFvQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLDJCQUEyQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFNBQVMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0EzR1Usd0JBQXdCOzRHQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuaW1wb3J0IHsgUGFnZWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcGFnZWQnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9Sb2xlJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9UYWcnO1xuaW1wb3J0IHsgU2VhcmNoUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9TZWFyY2hQcm9wZXJ0eVZhbHVlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJBY2Nlc3NSZXF1ZXN0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQkFTRV9VUkwgPSAnVXNlcic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgdXNlciBhY2Nlc3MgcmVxdWVzdHMgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKi9cbiAgZ2V0VXNlckFjY2Vzc1JlcXVlc3RzKFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VXNlckFjY2Vzc1JlcXVlc3Q+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VXNlckFjY2Vzc1JlcXVlc3RzLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+O1xuICB9XG5cbiAgZ2V0Um9sZXMoKTogUHJvbWlzZTxQYWdlZDxSb2xlPj4ge1xuICAgIGNvbnN0IHVybCA9IGBSb2xlL0dldFJvbGVzLzAvMGA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxSb2xlPj47XG4gIH1cblxuICBnZXRUYWdzKCk6IFByb21pc2U8UGFnZWQ8VGFnPj4ge1xuICAgIGNvbnN0IHVybCA9IGBVc2VyL0dldFRhZ3MvMC8wYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhZz4+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIGFjY2VzcyByZXF1ZXN0cyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyLCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbSBTZWFyY2ggcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBmaWx0ZXJlZCB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKi9cbiAgZ2V0VXNlckFjY2Vzc1JlcXVlc3RXaXRoUGFyYW0oXG4gICAgcGFyYW06IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFVzZXJBY2Nlc3NSZXF1ZXN0V2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIGFjY2VzcyByZXF1ZXN0cyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyLCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbXMgRmlsdGVyIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqL1xuICBnZXRVc2VyQWNjZXNzUmVxdWVzdEJ5RmlsdGVyUGFyYW1zKFxuICAgIHBhcmFtczogU2VhcmNoUHJvcGVydHlWYWx1ZVtdLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VXNlckFjY2Vzc1JlcXVlc3Q+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vU2VhcmNoVXNlckFjY2Vzc1JlcXVlc3QvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcGFyYW1zKSBhcyBQcm9taXNlPFxuICAgICAgUGFnZWQ8VXNlckFjY2Vzc1JlcXVlc3Q+XG4gICAgPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIG11bHRpcGxlIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB1c2VyIGFjY2VzcyByZXF1ZXN0cyB0byBzYXZlXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBzYXZlVXNlckFjY2Vzc1JlcXVlc3RzKHJlcXVlc3RzOiBVc2VyQWNjZXNzUmVxdWVzdFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9TYXZlVXNlckFjY2Vzc1JlcXVlc3RzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcHJvdmUgb3IgcmVqZWN0IG11bHRpcGxlIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB1c2VyIGFjY2VzcyByZXF1ZXN0cyB0byBzYXZlXG4gICAqIEBwYXJhbSBpc0FwcHJvdmFsIFRydWUgZm9yIGFwcHJvdmFsLCBmYWxzZSBmb3IgZGVjbGluZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgcHJvY2Vzc1VzZXJBY2Nlc3NSZXF1ZXN0cyhcbiAgICByZXF1ZXN0czogVXNlckFjY2Vzc1JlcXVlc3RbXSxcbiAgICBpc0FwcHJvdmFsOiBib29sZWFuXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vVXNlckFjY2Vzc1JlcXVlc3RBY3Rpb24vJHtpc0FwcHJvdmFsfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgbXVsdGlwbGUgdXNlciBhY2Nlc3MgcmVxdWVzdHNcbiAgICogQHBhcmFtIHJlcXVlc3RJZHMgQXJyYXkgb2YgcmVxdWVzdCBJRHMgdG8gZGVsZXRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIGRlbGV0ZVVzZXJBY2Nlc3NSZXF1ZXN0cyhyZXF1ZXN0SWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vRGVsZXRlVXNlckFjY2Vzc1JlcXVlc3RzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7cmVxdWVzdElkcy5qb2luKCcsJyl9YCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { SortDirection } from '../../../models/SortDirection';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class UserAccessRequestState {
|
|
5
6
|
updating$ = new BehaviorSubject(false);
|
|
@@ -10,7 +11,7 @@ export class UserAccessRequestState {
|
|
|
10
11
|
skip: 0,
|
|
11
12
|
limit: 20,
|
|
12
13
|
sortParam: 'CreatedAt',
|
|
13
|
-
sortOrder:
|
|
14
|
+
sortOrder: SortDirection.Asc,
|
|
14
15
|
});
|
|
15
16
|
filterParams$ = new BehaviorSubject([]);
|
|
16
17
|
isUpdating$() {
|
|
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
88
89
|
providedIn: 'root',
|
|
89
90
|
}]
|
|
90
91
|
}] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3N0YXRlcy91c2VyLWFjY2Vzcy1yZXF1ZXN0LnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUluRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxzQkFBc0I7SUFDekIsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hELFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDekQsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUM5QyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWlDO1FBQ3pFLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLEVBQUU7UUFDVCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsYUFBYSxDQUFDLEdBQUc7S0FDN0IsQ0FBQyxDQUFDO0lBQ0ssYUFBYSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQUUvRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBbUI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUE2QjtRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBcUI7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBZ0M7UUFDN0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQStDO1FBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQTBCO1FBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxhQUFhLENBQUMsY0FBaUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsU0FBaUI7UUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzt3R0FoR1Usc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlcnktcGFyYW1zJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9Sb2xlJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvU29ydERpcmVjdGlvbic7XG5pbXBvcnQgeyBJRGF0YUZpbHRlciB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyQWNjZXNzUmVxdWVzdFN0YXRlIHtcbiAgcHJpdmF0ZSB1cGRhdGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZXF1ZXN0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVzZXJBY2Nlc3NSZXF1ZXN0W10+KFtdKTtcbiAgcHJpdmF0ZSByb2xlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJvbGVbXT4oW10pO1xuICBwcml2YXRlIHNlYXJjaFRlcm0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSBxdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5UGFyYW1zPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4oe1xuICAgIHNraXA6IDAsXG4gICAgbGltaXQ6IDIwLFxuICAgIHNvcnRQYXJhbTogJ0NyZWF0ZWRBdCcsXG4gICAgc29ydE9yZGVyOiBTb3J0RGlyZWN0aW9uLkFzYyxcbiAgfSk7XG4gIHByaXZhdGUgZmlsdGVyUGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFGaWx0ZXJbXT4oW10pO1xuXG4gIGlzVXBkYXRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0aW5nJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldFVwZGF0aW5nKGlzVXBkYXRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0aW5nJC5uZXh0KGlzVXBkYXRpbmcpO1xuICB9XG5cbiAgZ2V0UmVxdWVzdHMkKCk6IE9ic2VydmFibGU8VXNlckFjY2Vzc1JlcXVlc3RbXT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3RzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldFJlcXVlc3RzKHJlcXVlc3RzOiBVc2VyQWNjZXNzUmVxdWVzdFtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXF1ZXN0cyQubmV4dChyZXF1ZXN0cyk7XG4gIH1cblxuICBnZXRGaWx0ZXJQYXJhbXMkKCk6IE9ic2VydmFibGU8SURhdGFGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRGaWx0ZXJQYXJhbXMocGFyYW1zOiBJRGF0YUZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJQYXJhbXMkLm5leHQocGFyYW1zKTtcbiAgfVxuXG4gIGdldFJvbGVzJCgpOiBPYnNlcnZhYmxlPFJvbGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldFJvbGVzKHJvbGVzOiBSb2xlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJvbGVzJC5uZXh0KHJvbGVzKTtcbiAgfVxuXG4gIGFwcGVuZFJlcXVlc3RzKG5ld1JlcXVlc3RzOiBVc2VyQWNjZXNzUmVxdWVzdFtdKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFJlcXVlc3RzID0gdGhpcy5yZXF1ZXN0cyQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLnJlcXVlc3RzJC5uZXh0KFsuLi5jdXJyZW50UmVxdWVzdHMsIC4uLm5ld1JlcXVlc3RzXSk7XG4gIH1cblxuICBnZXRTZWFyY2hUZXJtJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFRlcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0U2VhcmNoVGVybVZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVGVybSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHNldFNlYXJjaFRlcm0odGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KHRlcm0pO1xuICB9XG5cbiAgZ2V0UXVlcnlQYXJhbXMkKCk6IE9ic2VydmFibGU8UXVlcnlQYXJhbXM8VXNlckFjY2Vzc1JlcXVlc3Q+PiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0UXVlcnlQYXJhbXNWYWx1ZSgpOiBRdWVyeVBhcmFtczxVc2VyQWNjZXNzUmVxdWVzdD4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5UGFyYW1zJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgdXBkYXRlUXVlcnlQYXJhbXMocGFyYW1zOiBQYXJ0aWFsPFF1ZXJ5UGFyYW1zPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4pOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5UGFyYW1zJC5uZXh0KHsgLi4udGhpcy5xdWVyeVBhcmFtcyQuZ2V0VmFsdWUoKSwgLi4ucGFyYW1zIH0pO1xuICB9XG5cbiAgcmVzZXRQYWdpbmF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnF1ZXJ5UGFyYW1zJC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMucXVlcnlQYXJhbXMkLm5leHQoeyAuLi5jdXJyZW50UGFyYW1zLCBza2lwOiAwIH0pO1xuICB9XG5cbiAgYWRkUmVxdWVzdChyZXF1ZXN0OiBVc2VyQWNjZXNzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMucmVxdWVzdHMkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5yZXF1ZXN0cyQubmV4dChbLi4uY3VycmVudFZhbHVlLCByZXF1ZXN0XSk7XG4gIH1cblxuICB1cGRhdGVSZXF1ZXN0KHVwZGF0ZWRSZXF1ZXN0OiBVc2VyQWNjZXNzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IHJlcXVlc3RzID0gdGhpcy5yZXF1ZXN0cyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBpbmRleCA9IHJlcXVlc3RzLmZpbmRJbmRleCgocikgPT4gci5JZCA9PT0gdXBkYXRlZFJlcXVlc3QuSWQpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHJlcXVlc3RzW2luZGV4XSA9IHVwZGF0ZWRSZXF1ZXN0O1xuICAgICAgdGhpcy5yZXF1ZXN0cyQubmV4dChbLi4ucmVxdWVzdHNdKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5yZXF1ZXN0cyQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLnJlcXVlc3RzJC5uZXh0KGN1cnJlbnRWYWx1ZS5maWx0ZXIoKHIpID0+IHIuSWQgIT09IHJlcXVlc3RJZCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -255,11 +255,11 @@ export class UserRequestApprovalComponent {
|
|
|
255
255
|
this.userAccessRequestFacade.filter(event);
|
|
256
256
|
}
|
|
257
257
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestApprovalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.UserAccessRequestFacade }], target: i0.ɵɵFactoryTarget.Component });
|
|
258
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestApprovalComponent, selector: "lib-user-request-approval", viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Role</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.Role?.Name\n }}</span>\n </p>\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-between': true,\n 'justify-end': vdcv.hasCurrentItem()\n }\"\n >\n <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data()\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "groupBy", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowDelete", "selectionChange"] }, { kind: "directive", type: i3.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }, { kind: "component", type: i3.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "exportCustomClass", "selectCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "columnTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "showColumnChild", "showSortChild", "showFilterChild", "showExportChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i3.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "onItemClick", "onCardChildClick"], outputs: ["loadMoreClick"] }, { kind: "component", type: i3.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i3.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i3.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i3.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i3.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions"] }, { kind: "component", type: i3.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated"] }, { kind: "component", type: i3.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied"] }, { kind: "component", type: i3.DataExportComponent, selector: "lib-data-export", inputs: ["data"], outputs: ["exportDataEvent"] }, { kind: "component", type: i3.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: i4.UserRequestFormComponent, selector: "lib-user-request-form", inputs: ["roles", "currentData"], outputs: ["switchView", "onApproval"] }, { kind: "component", type: i5.UserAccessRequestStatusBadgeComponent, selector: "lib-user-access-request-status-badge", inputs: ["status"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
258
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestApprovalComponent, selector: "lib-user-request-approval", viewQueries: [{ propertyName: "cardDataView", first: true, predicate: ["vdcv"], descendants: true }, { propertyName: "dataView", first: true, predicate: ["vdv"], descendants: true }], ngImport: i0, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Role</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.Role?.Name\n }}</span>\n </p>\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-between': true,\n 'justify-end': vdcv.hasCurrentItem()\n }\"\n >\n <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData()?.length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data()\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DataTableComponent, selector: "lib-data-table", inputs: ["data", "columns", "dataKey", "groupBy", "styleConfig"], outputs: ["rowEdit", "rowSave", "rowDelete", "selectionChange"] }, { kind: "directive", type: i3.ColumnDirective, selector: "[libColumn]", inputs: ["libColumn"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i3.DataViewComponent, selector: "verben-data-view", inputs: ["buttonClass", "iconClass", "activeIconClass", "columnCustomClass", "filterCustomClass", "sortCustomClass", "exportCustomClass", "selectCustomClass", "zIndex", "createCustomClass", "tableIcon", "cardIcon", "cardClass", "tableClass", "searchKey", "searchValue", "viewState", "searchTemplate", "columnTemplate", "filterTemplate", "sortTemplate", "children", "exportTemplate", "createTemplate", "selectedColumnCount", "selectedSortCount", "selectedFilterTableCount", "inputWidth", "milliseconds", "showColumnChild", "showSortChild", "showFilterChild", "showExportChild", "create", "showSelected", "isTableView"], outputs: ["viewChange", "stateChange", "onSearchChange"] }, { kind: "component", type: i3.CardDataViewComponent, selector: "verben-card-data-view", inputs: ["pd", "mg", "lHeight", "rHeight", "rWidth", "lWidth", "textColor", "lbgColor", "rbgColor", "border", "display", "borderRadius", "activeCss", "inActiveCss", "displayAsRow", "cardDataList", "dataId", "totalRecords", "footer", "noOfVisibleChildren", "onItemClick", "onCardChildClick"], outputs: ["loadMoreClick"] }, { kind: "component", type: i3.LeftCardDataComponent, selector: "verben-left-card-data", inputs: ["pd", "mg", "height", "weight", "activeCss", "inActiveCss", "cardDataList", "iconCollapse", "iconExpanded", "parent", "dataId"] }, { kind: "component", type: i3.LeftCardDataViewComponent, selector: "verben-left-card-data-view", inputs: ["cardDataList"] }, { kind: "component", type: i3.RightCardDataViewComponent, selector: "verben-right-card-data-view", inputs: ["parentData", "chilData", "meth"] }, { kind: "component", type: i3.CardDataViewFooterComponent, selector: "verben-card-data-view-footer" }, { kind: "component", type: i3.SortTableComponent, selector: "verben-sort-table", inputs: ["enableDragAndDrop", "sortOptions", "resetText", "displayedOptions", "propertyText", "showMoreText", "sortButtonText", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "containerHeight"], outputs: ["selectedOptions", "resetSortData"] }, { kind: "component", type: i3.VisibleColumnComponent, selector: "verben-visible-column", inputs: ["columns", "items", "enableDragAndDrop", "displayedColumns", "showMore", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "closeColumn"], outputs: ["columnsUpdated", "resetFilter"] }, { kind: "component", type: i3.TableFilterComponent, selector: "verben-table-filter", inputs: ["filterOptions", "pd", "mg", "height", "width", "bgColor", "boxShadow", "textColor", "primaryColor", "secondaryColor", "tertiaryColor", "border", "borderRadius", "selectWidth", "maxFilterLength", "tooltip"], outputs: ["filtersApplied", "resetSortData"] }, { kind: "component", type: i3.DataExportComponent, selector: "lib-data-export", inputs: ["columns", "data"], outputs: ["exportDataEvent"] }, { kind: "component", type: i3.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: i4.UserRequestFormComponent, selector: "lib-user-request-form", inputs: ["roles", "currentData"], outputs: ["switchView", "onApproval"] }, { kind: "component", type: i5.UserAccessRequestStatusBadgeComponent, selector: "lib-user-access-request-status-badge", inputs: ["status"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
259
259
|
}
|
|
260
260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestApprovalComponent, decorators: [{
|
|
261
261
|
type: Component,
|
|
262
|
-
args: [{ selector: 'lib-user-request-approval', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Role</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.Role?.Name\n }}</span>\n </p>\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-between': true,\n 'justify-end': vdcv.hasCurrentItem()\n }\"\n >\n <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data()\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"] }]
|
|
262
|
+
args: [{ selector: 'lib-user-request-approval', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Role</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.Role?.Name\n }}</span>\n </p>\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-between': true,\n 'justify-end': vdcv.hasCurrentItem()\n }\"\n >\n <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData()?.length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data()\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-between\">\n <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div>\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: ["*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: \"\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.left-0{left:0}.right-0{right:0}.float-right{float:right}.m-0{margin:0}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-\\[100\\%\\]{height:100%}.h-\\[max-content\\]{height:-moz-max-content;height:max-content}.h-full{height:100%}.w-3{width:.75rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-none{border-top-right-radius:0}.border,.border-\\[1px\\]{border-width:1px}.border-primary{--tw-border-opacity: 1;border-color:rgb(212 160 7 / var(--tw-border-opacity, 1))}.border-secondary-200{border-color:#d7dbe6}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(212 160 7 / var(--tw-bg-opacity, 1))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(232 234 241 / var(--tw-bg-opacity, 1))}.bg-secondary-100{--tw-bg-opacity: 1;background-color:rgb(245 246 249 / var(--tw-bg-opacity, 1))}.bg-secondary-200{background-color:#d7dbe6}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pr-1{padding-right:.25rem}.\\!text-\\[10px\\]{font-size:10px!important}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[22px\\]{font-size:22px}.text-\\[24px\\]{font-size:24px}.text-\\[2rem\\]{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-\\[12\\.1px\\]{line-height:12.1px}.leading-\\[16\\.6px\\]{line-height:16.6px}.leading-\\[19\\.5px\\]{line-height:19.5px}.leading-\\[29\\.05px\\]{line-height:29.05px}.leading-\\[33px\\]{line-height:33px}.leading-\\[48px\\]{line-height:48px}.text-\\[\\#333\\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\\[\\#3479E9\\]{--tw-text-opacity: 1;color:rgb(52 121 233 / var(--tw-text-opacity, 1))}.text-\\[\\#404040\\]{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-\\[black\\]{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-muted{color:#0009}.underline{text-decoration-line:underline}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.view-links{color:#3479e9;cursor:pointer}\n"] }]
|
|
263
263
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.UserAccessRequestFacade }], propDecorators: { cardDataView: [{
|
|
264
264
|
type: ViewChild,
|
|
265
265
|
args: ['vdcv']
|
|
@@ -267,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
267
267
|
type: ViewChild,
|
|
268
268
|
args: ['vdv']
|
|
269
269
|
}] } });
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC91c2VyLXJlcXVlc3QtYXBwcm92YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsUUFBUSxFQUdSLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvQyxPQUFPLEVBSUwsY0FBYyxHQUdmLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBZXRCLE1BQU0sT0FBTyw0QkFBNEI7SUE2QzdCO0lBRUE7SUE5Q1MsWUFBWSxDQUF5QjtJQUN0QyxRQUFRLENBQXFCO0lBRS9DLE9BQU8sR0FBMEMsT0FBTyxDQUFDO0lBQ3pELDRFQUE0RTtJQUM1RSxxQkFBcUI7SUFDckIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoQyxJQUFJLEdBQXdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ25CLFdBQVcsR0FBb0IsSUFBSSxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsUUFBUSxHQUFvQixJQUFJLENBQUM7SUFFakMs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QyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ25ELENBQUM7SUFDRCxhQUFhLENBQUMsWUFBMkI7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBc0M7UUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQS9SVSw0QkFBNEI7NEZBQTVCLDRCQUE0Qix5UENyQ3pDLGdyU0E4UUE7OzRGRHpPYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzRIQUc1QixZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0MsUUFBUTtzQkFBekIsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbHVtbnMgfSBmcm9tICcuL2FjY2Vzcy1yZXF1ZXN0LmNvbHVtbnMnO1xuaW1wb3J0IHsgYmFzZVN0eWxlIH0gZnJvbSAnLi9iYXNlLXRhYmxlLXN0eWxlJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL21vZGVscy9Sb2xlJztcbmltcG9ydCB7XG4gIENhcmREYXRhLFxuICBDYXJkRGF0YVZpZXdDb21wb25lbnQsXG4gIENvbHVtbkRlZmluaXRpb24sXG4gIERhdGFGaWx0ZXJUeXBlLFxuICBEYXRhVmlld0NvbXBvbmVudCxcbiAgSURhdGFGaWx0ZXIsXG59IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdEZhY2FkZSB9IGZyb20gJy4vZmFjYWRlcy91c2VyLWFjY2Vzcy1yZXF1ZXN0LmZhY2FkZSc7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBOYW1lOiBzdHJpbmc7XG4gIFBob25lTnVtYmVyOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QtYXBwcm92YWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQuY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0QXBwcm92YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd2ZGN2JykgY2FyZERhdGFWaWV3ITogQ2FyZERhdGFWaWV3Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd2ZHYnKSBkYXRhVmlldyE6IERhdGFWaWV3Q29tcG9uZW50O1xuXG4gIGNvbHVtbnM6IENvbHVtbkRlZmluaXRpb248VXNlckFjY2Vzc1JlcXVlc3Q+W10gPSBjb2x1bW5zO1xuICAvLyB2aXNpYmxlQ29sdW1uRGVmOiBXcml0YWJsZVNpZ25hbDxDb2x1bW5EZWZpbml0aW9uPFVzZXJBY2Nlc3NSZXF1ZXN0PltdPiA9XG4gIC8vICAgc2lnbmFsKGNvbHVtbnMpO1xuICB2aXNpYmxlQ29sdW1uRGVmID0gdGhpcy5jb2x1bW5zO1xuICBkYXRhOiBXcml0YWJsZVNpZ25hbDxVc2VyQWNjZXNzUmVxdWVzdFtdPiA9IHNpZ25hbChbXSk7XG4gIHN0eWxlcyA9IGJhc2VTdHlsZTtcbiAgY3VycmVudERhdGE6IENhcmREYXRhIHwgbnVsbCA9IG51bGw7XG4gIGlzR3JpZFZpZXcgPSB0cnVlO1xuICBzZWxlY3RlZDogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcblxuICBjYXJkRGF0YTogU2lnbmFsPENhcmREYXRhW10+ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmRhdGEoKT8ubWFwKFxuICAgICAgKHtcbiAgICAgICAgRmlyc3ROYW1lLFxuICAgICAgICBMYXN0TmFtZSxcbiAgICAgICAgTWFpbEFkZHJlc3MsXG4gICAgICAgIFBob25lTnVtYmVyLFxuICAgICAgICBSb2xlSUQsXG4gICAgICAgIFJlcXVlc3RTdGF0dXMsXG4gICAgICAgIFJvbGUsXG4gICAgICB9KSA9PiAoe1xuICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIHRpdGxlOiBgJHtGaXJzdE5hbWV9ICR7TGFzdE5hbWV9YCxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIEZpcnN0TmFtZSxcbiAgICAgICAgICBMYXN0TmFtZSxcbiAgICAgICAgICBNYWlsQWRkcmVzcyxcbiAgICAgICAgICBQaG9uZU51bWJlcixcbiAgICAgICAgICBSb2xlSUQsXG4gICAgICAgICAgUmVxdWVzdFN0YXR1cyxcbiAgICAgICAgICBSb2xlLFxuICAgICAgICB9IGFzIFBhcnRpYWw8VXNlckFjY2Vzc1JlcXVlc3Q+LFxuICAgICAgICBib2R5OiBbeyB0aXRsZTogJ1JvbGUnLCB2YWx1ZTogUm9sZT8uTmFtZSA/PyAnJyB9XSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgcm9sZXM6IFdyaXRhYmxlU2lnbmFsPFJvbGVbXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAvLyBwcml2YXRlIHNlcnZpY2U6IFVzZXJSZXF1ZXN0QXBwcm92YWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlckFjY2Vzc1JlcXVlc3RGYWNhZGU6IFVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAvLyB0aGlzLmRhdGEgPSB0aGlzLnNlcnZpY2UuZ2V0TW9ja1VzZXJSZXF1ZXN0cygpO1xuICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUuZ2V0UmVxdWVzdHMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5nZXRSb2xlcyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMucm9sZXMuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZFJlcXVlc3RzKCk7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmxvYWRSb2xlcygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGhhbmRsZVNlYXJjaChldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KSB7XG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5zZWFyY2goZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgbG9hZE1vcmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZE1vcmUoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgLy8gVG8gc2VhcmNoIHdpdGggcGFyYW1ldGVyOlxuICBhc3luYyBzZWFyY2hSZXF1ZXN0cyhwYXJhbTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZFJlcXVlc3RzV2l0aFBhcmFtKHBhcmFtKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25BcHByb3ZlKGFwcHJvdmFsRGF0YTogeyBlbWFpbDogc3RyaW5nOyByb2xlOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGEoKS5maW5kKFxuICAgICAgKHsgTWFpbEFkZHJlc3MgfSkgPT4gTWFpbEFkZHJlc3MgPT09IGFwcHJvdmFsRGF0YS5lbWFpbFxuICAgICk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgYXdhaXQgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5hcHByb3ZlUmVxdWVzdCh7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIFJvbGVJRDogYXBwcm92YWxEYXRhLnJvbGUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvcGVuRGV0YWlsVmlldyhtYWlsQWRkcmVzczogc3RyaW5nKSB7XG4gICAgY29uc3QgY2FyZEl0ZW0gPSB0aGlzLmdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzcyk7XG4gICAgaWYgKGNhcmRJdGVtICYmIHRoaXMuY2FyZERhdGFWaWV3KSB7XG4gICAgICB0aGlzLmRhdGFWaWV3LnRvZ2dsZVZpZXcoKTtcbiAgICAgIC8vIEZpcnN0IHJlc2V0IGFsbCBzZWxlY3Rpb25zXG4gICAgICB0aGlzLmNhcmREYXRhKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gKGNoaWxkLnNlbGVjdGVkID0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldCB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICAgY2FyZEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IHRoaXMuY2FyZERhdGFWaWV3Lm9uSXRlbUNsaWNrKGNhcmRJdGVtKTtcblxuICAgICAgLy8gRm9yY2UgY2hhbmdlIGRldGVjdGlvbiBpZiBuZWVkZWRcbiAgICAgIC8vIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzczogc3RyaW5nKTogQ2FyZERhdGEgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhcmREYXRhKCkuZmluZCgoeyBkYXRhIH0pID0+IGRhdGEuTWFpbEFkZHJlc3MgPT09IG1haWxBZGRyZXNzKTtcbiAgfVxuXG4gIG9uVmlld0NoYW5nZShpc0dyaWRWaWV3OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0dyaWRWaWV3ID0gaXNHcmlkVmlldztcbiAgICAvLyBSZXNldCBzZWxlY3Rpb24gd2hlbiBzd2l0Y2hpbmcgdmlld3NcbiAgICBpZiAodGhpcy5jdXJyZW50RGF0YSkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXc/LmNsZWFyRGF0YSgpO1xuICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ1NFTEVDVEVEJywgdGhpcy5zZWxlY3RlZCk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXcub25JdGVtQ2xpY2sodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZvcm1WaWV3KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jYXJkRGF0YSgpW2luZGV4XTtcbiAgICBjb25zb2xlLmxvZygnSVRFTSA9ICcsIGl0ZW0pO1xuICB9XG5cbiAgaGFuZGxlRXhwb3J0KGV4cG9ydGVkRGF0YTogUGFydGlhbDxhbnk+W10pIHtcbiAgICBjb25zb2xlLmxvZygnRXhwb3J0ZWQgZGF0YTonLCBleHBvcnRlZERhdGEpO1xuICAgIHRoaXMuZG93bmxvYWRDU1YoZXhwb3J0ZWREYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YSBTaW1wbGUgY3N2IGV4cG9ydCBmb3IgdGVzdGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBkb3dubG9hZENTVihkYXRhOiBQYXJ0aWFsPGFueT5bXSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBPYmplY3Qua2V5cyhkYXRhWzBdKTtcbiAgICBjb25zdCBjc3ZDb250ZW50ID0gW1xuICAgICAgaGVhZGVycy5qb2luKCcsJyksXG4gICAgICAuLi5kYXRhLm1hcCgocm93KSA9PiBoZWFkZXJzLm1hcCgoaGVhZGVyKSA9PiByb3dbaGVhZGVyXSkuam9pbignLCcpKSxcbiAgICBdLmpvaW4oJ1xcbicpO1xuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjc3ZDb250ZW50XSwgeyB0eXBlOiAndGV4dC9jc3Y7Y2hhcnNldD11dGYtODsnIH0pO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgaWYgKGxpbmsuZG93bmxvYWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICdleHBvcnQuY3N2Jyk7XG4gICAgICBsaW5rLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkUm93czogVXNlckFjY2Vzc1JlcXVlc3RbXSkge1xuICAgIGNvbnNvbGUubG9nKCdTZWxlY3Rpb24gY2hhbmdlZDonLCBzZWxlY3RlZFJvd3MpO1xuICAgIC8vIEhhbmRsZSB0aGUgc2VsZWN0aW9uIGNoYW5nZVxuICB9XG5cbiAgLyoqXG4gICAqIENvcGllZCBvdmVyIGZyb20gY2FyZCB2aWV3IGRvYyB1bnRpbCBJIHVuZGVyc3RhbmQgdXNhZ2VcbiAgICovXG4gIHNlbGVjdGVkQ29sdW1uQ291bnQ6IG51bWJlciA9IDA7XG4gIHNlbGVjdGVkRmlsdGVyVGFibGVDb3VudDogbnVtYmVyID0gMDtcbiAgaXNPUGVuOiBib29sZWFuID0gdHJ1ZTtcbiAgc2VsZWN0ZWRTb3J0Q291bnQ6IG51bWJlciA9IDA7XG4gIHNob3dDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd1NvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRBbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzaWJsZUNvbHVtbnM6IElEYXRhRmlsdGVyW10gPSBjb2x1bW5zLm1hcCgoY29sKSA9PiAoe1xuICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgbmFtZTogdHlwZW9mIGNvbC5oZWFkZXIgPT09ICdzdHJpbmcnID8gY29sLmhlYWRlciA6IGNvbC5pZCxcbiAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5Cb29sLFxuICB9KSk7XG4gIGZpbHRlckFycmF5OiBJRGF0YUZpbHRlcltdID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ01haWxBZGRyZXNzJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1Bob25lTnVtYmVyJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0NyZWF0ZWRBdCcsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EYXRlLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgXTtcblxuICBzb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnTmFtZScsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdNYWlsQWRkcmVzcycsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQaG9uZU51bWJlcicsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdDcmVhdGVkQXQnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuRGF0ZSxcbiAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgfSxcbiAgXTtcbiAgY2xlYXJEYXRhKCkge1xuICAgIHRoaXMuY3VycmVudERhdGEgPSB7fSBhcyBDYXJkRGF0YTtcbiAgfVxuXG4gIG9uQ29sdW1uQ2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93Q29sdW1uID0gZXZlbnQ7XG4gIH1cbiAgb25Tb3J0Q2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93U29ydCA9IGV2ZW50O1xuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgfVxuICBvbkNvbHVtbnNVcGRhdGVkKHVwZGF0ZWRDb2x1bW5zOiBJRGF0YUZpbHRlcltdKSB7XG4gICAgY29uc29sZS5sb2codXBkYXRlZENvbHVtbnMpO1xuICAgIGNvbnN0IHVwZGF0ZWRDb2x1bW5EZWY6IENvbHVtbkRlZmluaXRpb248VXNlckFjY2Vzc1JlcXVlc3Q+W10gPSBbXTtcbiAgICB1cGRhdGVkQ29sdW1ucy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29sID0gdGhpcy5jb2x1bW5zLmZpbmQoXG4gICAgICAgIChjb2x1bW4pID0+IGNvbHVtbi5oZWFkZXIgPT09IGNvbC5uYW1lIHx8IGNvbHVtbi5pZCA9PT0gY29sLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAobWF0Y2hpbmdDb2wpIHtcbiAgICAgICAgdXBkYXRlZENvbHVtbkRlZi5wdXNoKG1hdGNoaW5nQ29sKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKHVwZGF0ZWRDb2x1bW5EZWYpO1xuICAgIHRoaXMudmlzaWJsZUNvbHVtbkRlZiA9IFsuLi51cGRhdGVkQ29sdW1uRGVmXTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMub25Db2x1bW5DaGFuZ2UoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5Db3VudCA9IHVwZGF0ZWRDb2x1bW5zLmxlbmd0aDtcbiAgfVxuICBvblNvcnRVcGRhdGVkKHVwZGF0ZWRTb3J0czogSURhdGFGaWx0ZXJbXSkge1xuICAgIHRoaXMub25Tb3J0Q2hhbmdlKGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkU29ydENvdW50ID0gdXBkYXRlZFNvcnRzLmxlbmd0aDtcbiAgICBjb25zb2xlLmxvZyh1cGRhdGVkU29ydHMpO1xuICB9XG5cbiAgb25TdGF0ZUNoYW5nZShldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKGBTdGF0ZSBjaGFuZ2VkIGZvciAke2V2ZW50LmtleX06YCwgZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgb25GaWx0ZXJTZXQoZXZlbnQ6IElEYXRhRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5maWx0ZXIoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gIDx2ZXJiZW4tZGF0YS12aWV3XG4gICAgI3ZkdlxuICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgaXNTZWFyY2g6IHRydWUsXG4gICAgICBpc0NvbHVtbjogdHJ1ZSxcbiAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgaXNTb3J0OiB0cnVlLFxuICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgIGlzQ3JlYXRlOiBmYWxzZSxcbiAgICAgIGlzVG9nZ2xlOiB0cnVlLFxuICAgIH1cIlxuICAgIFtidXR0b25DbGFzc109XCInbXktY3VzdG9tLWJ1dHRvbi1jbGFzcydcIlxuICAgIFtpY29uQ2xhc3NdPVwiJ215LWljb24tY2xhc3MnXCJcbiAgICBbYWN0aXZlSWNvbkNsYXNzXT1cIidteS1hY3RpdmUtaWNvbi1jbGFzcydcIlxuICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZFNvcnRDb3VudF09XCIwXCJcbiAgICBbc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50XT1cIjBcIlxuICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoc3RhdGVDaGFuZ2UpPVwib25TdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25TZWFyY2hDaGFuZ2UpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxuICA+XG4gICAgPGRpdiB0YWJsZS1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIFtjb2x1bW5zXT1cInZpc2libGVDb2x1bW5EZWZcIlxuICAgICAgICBbc3R5bGVDb25maWddPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJjcmVhdGVkQXRcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAge3sgdmFsdWUgfCBkYXRlIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwic3RhdHVzXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZT5cbiAgICAgICAgICAgIDxsaWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2VcbiAgICAgICAgICAgICAgW3N0YXR1c109XCJ2YWx1ZVwiXG4gICAgICAgICAgICA+PC9saWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2U+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZSBsZXQtZGVsZXRlUm93PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTZcIj5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRldGFpbFZpZXcodmFsdWUpXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIChjbGljayk9XCJvcGVuRGV0YWlsVmlldyh2YWx1ZSlcIj5PcGVuPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNlbGVjdGVkID0gY2FyZERhdGFbcm93SW5kZXhdOyB2ZHYudG9nZ2xlVmlldygpXCI+XG4gICAgICAgICAgICAgICAgU3dpdGNoXG4gICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSb3coKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgICAgICA8c3Ryb25nPkFjdGlvbnM8L3N0cm9uZz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpYi1kYXRhLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2FyZC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlld1xuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgICN2ZGN2XG4gICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgYm9yZGVyPVwiNXB4XCJcbiAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgcmJnQ29sb3I9XCIjZjVmNmY5XCJcbiAgICAgICAgbWc9XCIyMHB4XCJcbiAgICAgID5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwic3BhY2UteS03XCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YVxuICAgICAgICAgICAgI3ZsY2RcbiAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICBkYXRhSWQ9XCJNYWlsQWRkcmVzc1wiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIlxuICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmQgbGV0LWl0ZW0+XG4gICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImN1cnJlbnREYXRhID0gdmRjdi5vbkl0ZW1DbGljayhpdGVtKVwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXJyZW50RGF0YSA9IHZkY3Yub25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGN1cnNvci1wb2ludGVyIHctZnVsbCBiZy1zZWNvbmRhcnkgcm91bmRlZC14bFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMyByb3VuZGVkLXhsIHJvdW5kZWQtdHItbm9uZSByb3VuZGVkLWJyLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlbGVjdGVkID8gJ2JnLXByaW1hcnknIDogJ2JnLXNlY29uZGFyeS0yMDAnXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGZsZXggaXRlbXMtZW5kIGdhcC15LTIgZ2FwLXgtNCBwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtMSBzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdIGZsZXgtMSB0cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS50aXRsZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cblxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LVsxMHB4XSBmb250LWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlBob25lIE51bWJlcjo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LXNtIHRydW5jYXRlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlBob25lTnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJyb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVsxMHB4XSBmb250LWxpZ2h0IHRleHQtWyM0MDQwNDBdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlJvbGU8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInJvbGVcIiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGE/LlJvbGU/Lk5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiaXRlbS5kYXRhLlJlcXVlc3RTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgID48L2xpYi11c2VyLWFjY2Vzcy1yZXF1ZXN0LXN0YXR1cy1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhPlxuICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXc+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwYXJlbnQ+XG4gICAgICAgICAgICA8bGliLXVzZXItcmVxdWVzdC1mb3JtXG4gICAgICAgICAgICAgIFtyb2xlc109XCJyb2xlcygpXCJcbiAgICAgICAgICAgICAgW2N1cnJlbnREYXRhXT1cImN1cnJlbnREYXRhXCJcbiAgICAgICAgICAgICAgKHN3aXRjaFZpZXcpPVwidmR2LnRvZ2dsZVZpZXcoKVwiXG4gICAgICAgICAgICAgIChvbkFwcHJvdmFsKT1cIm9uQXBwcm92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2xpYi11c2VyLXJlcXVlc3QtZm9ybT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlciBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2ZsZXggZ2FwLTIgaXRlbXMtY2VudGVyJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ2p1c3RpZnktYmV0d2Vlbic6IHRydWUsXG4gICAgICAgICAgICAgICdqdXN0aWZ5LWVuZCc6IHZkY3YuaGFzQ3VycmVudEl0ZW0oKVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXZkY3YuaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICAgICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7XG4gICAgICAgICAgICAgICAgdmRjdi5oYXNDdXJyZW50SXRlbSgpID8gJ2ZsZXgtMScgOiAnJ1xuICAgICAgICAgICAgICB9fSBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCJcbiAgICAgICAgICAgICAgICA+e3sgY2FyZERhdGEoKS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvYWQgbW9yZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXI+XG4gICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNvbHVtbi1jb250ZW50PlxuICAgICAgPHZlcmJlbi12aXNpYmxlLWNvbHVtblxuICAgICAgICAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgd2lkdGg9XCI0MDBweFwiXG4gICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgcHJpbWFyeUNvbG9yPVwiI0ZGRTY4MVwiXG4gICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgIFtjb2x1bW5zXT1cInZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgW2Rpc3BsYXllZENvbHVtbnNdPVwiNVwiXG4gICAgICA+PC92ZXJiZW4tdmlzaWJsZS1jb2x1bW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmaWx0ZXItY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyXG4gICAgICAgIChmaWx0ZXJzQXBwbGllZCk9XCJvbkZpbHRlclNldCgkZXZlbnQpXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgd2lkdGg9XCI0MjBweFwiXG4gICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgcHJpbWFyeUNvbG9yPVwiI0ZGRTY4MVwiXG4gICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgIHRlcnRpYXJ5Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgW2ZpbHRlck9wdGlvbnNdPVwiZmlsdGVyQXJyYXlcIlxuICAgICAgICBbbWF4RmlsdGVyTGVuZ3RoXT1cIjNcIlxuICAgICAgPjwvdmVyYmVuLXRhYmxlLWZpbHRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNvcnQtY29udGVudD5cbiAgICAgIDx2ZXJiZW4tc29ydC10YWJsZVxuICAgICAgICAoc2VsZWN0ZWRPcHRpb25zKT1cIm9uU29ydFVwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIFtlbmFibGVEcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICAgICAgW3NvcnRPcHRpb25zXT1cInNvcnRPcHRpb25zXCJcbiAgICAgID48L3ZlcmJlbi1zb3J0LXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZXhwb3J0LWNvbnRlbnQ+XG4gICAgICA8bGliLWRhdGEtZXhwb3J0IFtkYXRhXT1cImRhdGEoKVwiIChleHBvcnREYXRhRXZlbnQpPVwiaGFuZGxlRXhwb3J0KCRldmVudClcIj5cbiAgICAgIDwvbGliLWRhdGEtZXhwb3J0PlxuICAgIDwvZGl2PlxuICA8L3ZlcmJlbi1kYXRhLXZpZXc+XG5cbiAgPGRpdiAqbmdJZj1cInZkdi5pc1RhYmxlVmlld1wiIGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1sb2ctYnV0dG9uLWNvbnRhaW5lciBmbGV4IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgPlxuICAgICAgPC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIj57eyBjYXJkRGF0YSgpLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICA+XG4gICAgICAgIExvYWQgbW9yZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC91c2VyLXJlcXVlc3QtYXBwcm92YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsUUFBUSxFQUdSLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvQyxPQUFPLEVBSUwsY0FBYyxHQUdmLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBZXRCLE1BQU0sT0FBTyw0QkFBNEI7SUE2QzdCO0lBRUE7SUE5Q1MsWUFBWSxDQUF5QjtJQUN0QyxRQUFRLENBQXFCO0lBRS9DLE9BQU8sR0FBMEMsT0FBTyxDQUFDO0lBQ3pELDRFQUE0RTtJQUM1RSxxQkFBcUI7SUFDckIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNoQyxJQUFJLEdBQXdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ25CLFdBQVcsR0FBb0IsSUFBSSxDQUFDO0lBQ3BDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsUUFBUSxHQUFvQixJQUFJLENBQUM7SUFFakMs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QyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ25ELENBQUM7SUFDRCxhQUFhLENBQUMsWUFBMkI7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBc0M7UUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQS9SVSw0QkFBNEI7NEZBQTVCLDRCQUE0Qix5UENyQ3pDLGlyU0E4UUE7OzRGRHpPYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzRIQUc1QixZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU07Z0JBQ0MsUUFBUTtzQkFBekIsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBPbkluaXQsXG4gIFNpZ25hbCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGQsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbHVtbnMgfSBmcm9tICcuL2FjY2Vzcy1yZXF1ZXN0LmNvbHVtbnMnO1xuaW1wb3J0IHsgYmFzZVN0eWxlIH0gZnJvbSAnLi9iYXNlLXRhYmxlLXN0eWxlJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL21vZGVscy9Sb2xlJztcbmltcG9ydCB7XG4gIENhcmREYXRhLFxuICBDYXJkRGF0YVZpZXdDb21wb25lbnQsXG4gIENvbHVtbkRlZmluaXRpb24sXG4gIERhdGFGaWx0ZXJUeXBlLFxuICBEYXRhVmlld0NvbXBvbmVudCxcbiAgSURhdGFGaWx0ZXIsXG59IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdEZhY2FkZSB9IGZyb20gJy4vZmFjYWRlcy91c2VyLWFjY2Vzcy1yZXF1ZXN0LmZhY2FkZSc7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBOYW1lOiBzdHJpbmc7XG4gIFBob25lTnVtYmVyOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QtYXBwcm92YWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1yZXF1ZXN0LWFwcHJvdmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItcmVxdWVzdC1hcHByb3ZhbC5jb21wb25lbnQuY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0QXBwcm92YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd2ZGN2JykgY2FyZERhdGFWaWV3ITogQ2FyZERhdGFWaWV3Q29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd2ZHYnKSBkYXRhVmlldyE6IERhdGFWaWV3Q29tcG9uZW50O1xuXG4gIGNvbHVtbnM6IENvbHVtbkRlZmluaXRpb248VXNlckFjY2Vzc1JlcXVlc3Q+W10gPSBjb2x1bW5zO1xuICAvLyB2aXNpYmxlQ29sdW1uRGVmOiBXcml0YWJsZVNpZ25hbDxDb2x1bW5EZWZpbml0aW9uPFVzZXJBY2Nlc3NSZXF1ZXN0PltdPiA9XG4gIC8vICAgc2lnbmFsKGNvbHVtbnMpO1xuICB2aXNpYmxlQ29sdW1uRGVmID0gdGhpcy5jb2x1bW5zO1xuICBkYXRhOiBXcml0YWJsZVNpZ25hbDxVc2VyQWNjZXNzUmVxdWVzdFtdPiA9IHNpZ25hbChbXSk7XG4gIHN0eWxlcyA9IGJhc2VTdHlsZTtcbiAgY3VycmVudERhdGE6IENhcmREYXRhIHwgbnVsbCA9IG51bGw7XG4gIGlzR3JpZFZpZXcgPSB0cnVlO1xuICBzZWxlY3RlZDogQ2FyZERhdGEgfCBudWxsID0gbnVsbDtcblxuICBjYXJkRGF0YTogU2lnbmFsPENhcmREYXRhW10+ID0gY29tcHV0ZWQoKCkgPT5cbiAgICB0aGlzLmRhdGEoKT8ubWFwKFxuICAgICAgKHtcbiAgICAgICAgRmlyc3ROYW1lLFxuICAgICAgICBMYXN0TmFtZSxcbiAgICAgICAgTWFpbEFkZHJlc3MsXG4gICAgICAgIFBob25lTnVtYmVyLFxuICAgICAgICBSb2xlSUQsXG4gICAgICAgIFJlcXVlc3RTdGF0dXMsXG4gICAgICAgIFJvbGUsXG4gICAgICB9KSA9PiAoe1xuICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIHRpdGxlOiBgJHtGaXJzdE5hbWV9ICR7TGFzdE5hbWV9YCxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIEZpcnN0TmFtZSxcbiAgICAgICAgICBMYXN0TmFtZSxcbiAgICAgICAgICBNYWlsQWRkcmVzcyxcbiAgICAgICAgICBQaG9uZU51bWJlcixcbiAgICAgICAgICBSb2xlSUQsXG4gICAgICAgICAgUmVxdWVzdFN0YXR1cyxcbiAgICAgICAgICBSb2xlLFxuICAgICAgICB9IGFzIFBhcnRpYWw8VXNlckFjY2Vzc1JlcXVlc3Q+LFxuICAgICAgICBib2R5OiBbeyB0aXRsZTogJ1JvbGUnLCB2YWx1ZTogUm9sZT8uTmFtZSA/PyAnJyB9XSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgcm9sZXM6IFdyaXRhYmxlU2lnbmFsPFJvbGVbXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAvLyBwcml2YXRlIHNlcnZpY2U6IFVzZXJSZXF1ZXN0QXBwcm92YWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlckFjY2Vzc1JlcXVlc3RGYWNhZGU6IFVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAvLyB0aGlzLmRhdGEgPSB0aGlzLnNlcnZpY2UuZ2V0TW9ja1VzZXJSZXF1ZXN0cygpO1xuICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUuZ2V0UmVxdWVzdHMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5nZXRSb2xlcyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMucm9sZXMuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZFJlcXVlc3RzKCk7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmxvYWRSb2xlcygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBIYW5kbGUgZXJyb3JcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0RmFjYWRlLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGhhbmRsZVNlYXJjaChldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KSB7XG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5zZWFyY2goZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgbG9hZE1vcmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZE1vcmUoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgLy8gVG8gc2VhcmNoIHdpdGggcGFyYW1ldGVyOlxuICBhc3luYyBzZWFyY2hSZXF1ZXN0cyhwYXJhbTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUubG9hZFJlcXVlc3RzV2l0aFBhcmFtKHBhcmFtKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25BcHByb3ZlKGFwcHJvdmFsRGF0YTogeyBlbWFpbDogc3RyaW5nOyByb2xlOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGEoKS5maW5kKFxuICAgICAgKHsgTWFpbEFkZHJlc3MgfSkgPT4gTWFpbEFkZHJlc3MgPT09IGFwcHJvdmFsRGF0YS5lbWFpbFxuICAgICk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgYXdhaXQgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5hcHByb3ZlUmVxdWVzdCh7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIFJvbGVJRDogYXBwcm92YWxEYXRhLnJvbGUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvcGVuRGV0YWlsVmlldyhtYWlsQWRkcmVzczogc3RyaW5nKSB7XG4gICAgY29uc3QgY2FyZEl0ZW0gPSB0aGlzLmdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzcyk7XG4gICAgaWYgKGNhcmRJdGVtICYmIHRoaXMuY2FyZERhdGFWaWV3KSB7XG4gICAgICB0aGlzLmRhdGFWaWV3LnRvZ2dsZVZpZXcoKTtcbiAgICAgIC8vIEZpcnN0IHJlc2V0IGFsbCBzZWxlY3Rpb25zXG4gICAgICB0aGlzLmNhcmREYXRhKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gKGNoaWxkLnNlbGVjdGVkID0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldCB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICAgY2FyZEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IHRoaXMuY2FyZERhdGFWaWV3Lm9uSXRlbUNsaWNrKGNhcmRJdGVtKTtcblxuICAgICAgLy8gRm9yY2UgY2hhbmdlIGRldGVjdGlvbiBpZiBuZWVkZWRcbiAgICAgIC8vIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldENhcmREYXRhQnlNYWlsQWRkcmVzcyhtYWlsQWRkcmVzczogc3RyaW5nKTogQ2FyZERhdGEgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhcmREYXRhKCkuZmluZCgoeyBkYXRhIH0pID0+IGRhdGEuTWFpbEFkZHJlc3MgPT09IG1haWxBZGRyZXNzKTtcbiAgfVxuXG4gIG9uVmlld0NoYW5nZShpc0dyaWRWaWV3OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0dyaWRWaWV3ID0gaXNHcmlkVmlldztcbiAgICAvLyBSZXNldCBzZWxlY3Rpb24gd2hlbiBzd2l0Y2hpbmcgdmlld3NcbiAgICBpZiAodGhpcy5jdXJyZW50RGF0YSkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXc/LmNsZWFyRGF0YSgpO1xuICAgICAgdGhpcy5jdXJyZW50RGF0YSA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ1NFTEVDVEVEJywgdGhpcy5zZWxlY3RlZCk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5jYXJkRGF0YVZpZXcub25JdGVtQ2xpY2sodGhpcy5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZvcm1WaWV3KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5jYXJkRGF0YSgpW2luZGV4XTtcbiAgICBjb25zb2xlLmxvZygnSVRFTSA9ICcsIGl0ZW0pO1xuICB9XG5cbiAgaGFuZGxlRXhwb3J0KGV4cG9ydGVkRGF0YTogUGFydGlhbDxhbnk+W10pIHtcbiAgICBjb25zb2xlLmxvZygnRXhwb3J0ZWQgZGF0YTonLCBleHBvcnRlZERhdGEpO1xuICAgIHRoaXMuZG93bmxvYWRDU1YoZXhwb3J0ZWREYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0YSBTaW1wbGUgY3N2IGV4cG9ydCBmb3IgdGVzdGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBkb3dubG9hZENTVihkYXRhOiBQYXJ0aWFsPGFueT5bXSkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBPYmplY3Qua2V5cyhkYXRhWzBdKTtcbiAgICBjb25zdCBjc3ZDb250ZW50ID0gW1xuICAgICAgaGVhZGVycy5qb2luKCcsJyksXG4gICAgICAuLi5kYXRhLm1hcCgocm93KSA9PiBoZWFkZXJzLm1hcCgoaGVhZGVyKSA9PiByb3dbaGVhZGVyXSkuam9pbignLCcpKSxcbiAgICBdLmpvaW4oJ1xcbicpO1xuXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjc3ZDb250ZW50XSwgeyB0eXBlOiAndGV4dC9jc3Y7Y2hhcnNldD11dGYtODsnIH0pO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgaWYgKGxpbmsuZG93bmxvYWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsICdleHBvcnQuY3N2Jyk7XG4gICAgICBsaW5rLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkUm93czogVXNlckFjY2Vzc1JlcXVlc3RbXSkge1xuICAgIGNvbnNvbGUubG9nKCdTZWxlY3Rpb24gY2hhbmdlZDonLCBzZWxlY3RlZFJvd3MpO1xuICAgIC8vIEhhbmRsZSB0aGUgc2VsZWN0aW9uIGNoYW5nZVxuICB9XG5cbiAgLyoqXG4gICAqIENvcGllZCBvdmVyIGZyb20gY2FyZCB2aWV3IGRvYyB1bnRpbCBJIHVuZGVyc3RhbmQgdXNhZ2VcbiAgICovXG4gIHNlbGVjdGVkQ29sdW1uQ291bnQ6IG51bWJlciA9IDA7XG4gIHNlbGVjdGVkRmlsdGVyVGFibGVDb3VudDogbnVtYmVyID0gMDtcbiAgaXNPUGVuOiBib29sZWFuID0gdHJ1ZTtcbiAgc2VsZWN0ZWRTb3J0Q291bnQ6IG51bWJlciA9IDA7XG4gIHNob3dDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd1NvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRBbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzaWJsZUNvbHVtbnM6IElEYXRhRmlsdGVyW10gPSBjb2x1bW5zLm1hcCgoY29sKSA9PiAoe1xuICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgbmFtZTogdHlwZW9mIGNvbC5oZWFkZXIgPT09ICdzdHJpbmcnID8gY29sLmhlYWRlciA6IGNvbC5pZCxcbiAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5Cb29sLFxuICB9KSk7XG4gIGZpbHRlckFycmF5OiBJRGF0YUZpbHRlcltdID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ01haWxBZGRyZXNzJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ1Bob25lTnVtYmVyJyxcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLlN0cmluZyxcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0NyZWF0ZWRBdCcsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EYXRlLFxuICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgfSxcbiAgXTtcblxuICBzb3J0T3B0aW9uczogSURhdGFGaWx0ZXJbXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnTmFtZScsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdNYWlsQWRkcmVzcycsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdQaG9uZU51bWJlcicsXG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdDcmVhdGVkQXQnLFxuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuRGF0ZSxcbiAgICAgIGNoZWNrZWQ6IHRydWUsXG4gICAgfSxcbiAgXTtcbiAgY2xlYXJEYXRhKCkge1xuICAgIHRoaXMuY3VycmVudERhdGEgPSB7fSBhcyBDYXJkRGF0YTtcbiAgfVxuXG4gIG9uQ29sdW1uQ2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93Q29sdW1uID0gZXZlbnQ7XG4gIH1cbiAgb25Tb3J0Q2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93U29ydCA9IGV2ZW50O1xuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgfVxuICBvbkNvbHVtbnNVcGRhdGVkKHVwZGF0ZWRDb2x1bW5zOiBJRGF0YUZpbHRlcltdKSB7XG4gICAgY29uc29sZS5sb2codXBkYXRlZENvbHVtbnMpO1xuICAgIGNvbnN0IHVwZGF0ZWRDb2x1bW5EZWY6IENvbHVtbkRlZmluaXRpb248VXNlckFjY2Vzc1JlcXVlc3Q+W10gPSBbXTtcbiAgICB1cGRhdGVkQ29sdW1ucy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nQ29sID0gdGhpcy5jb2x1bW5zLmZpbmQoXG4gICAgICAgIChjb2x1bW4pID0+IGNvbHVtbi5oZWFkZXIgPT09IGNvbC5uYW1lIHx8IGNvbHVtbi5pZCA9PT0gY29sLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAobWF0Y2hpbmdDb2wpIHtcbiAgICAgICAgdXBkYXRlZENvbHVtbkRlZi5wdXNoKG1hdGNoaW5nQ29sKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKHVwZGF0ZWRDb2x1bW5EZWYpO1xuICAgIHRoaXMudmlzaWJsZUNvbHVtbkRlZiA9IFsuLi51cGRhdGVkQ29sdW1uRGVmXTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMub25Db2x1bW5DaGFuZ2UoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5Db3VudCA9IHVwZGF0ZWRDb2x1bW5zLmxlbmd0aDtcbiAgfVxuICBvblNvcnRVcGRhdGVkKHVwZGF0ZWRTb3J0czogSURhdGFGaWx0ZXJbXSkge1xuICAgIHRoaXMub25Tb3J0Q2hhbmdlKGZhbHNlKTtcbiAgICB0aGlzLnNlbGVjdGVkU29ydENvdW50ID0gdXBkYXRlZFNvcnRzLmxlbmd0aDtcbiAgICBjb25zb2xlLmxvZyh1cGRhdGVkU29ydHMpO1xuICB9XG5cbiAgb25TdGF0ZUNoYW5nZShldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKGBTdGF0ZSBjaGFuZ2VkIGZvciAke2V2ZW50LmtleX06YCwgZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgb25GaWx0ZXJTZXQoZXZlbnQ6IElEYXRhRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdEZhY2FkZS5maWx0ZXIoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gIDx2ZXJiZW4tZGF0YS12aWV3XG4gICAgI3ZkdlxuICAgIFt2aWV3U3RhdGVdPVwie1xuICAgICAgaXNTZWFyY2g6IHRydWUsXG4gICAgICBpc0NvbHVtbjogdHJ1ZSxcbiAgICAgIGlzRmlsdGVyOiB0cnVlLFxuICAgICAgaXNTb3J0OiB0cnVlLFxuICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgIGlzQ3JlYXRlOiBmYWxzZSxcbiAgICAgIGlzVG9nZ2xlOiB0cnVlLFxuICAgIH1cIlxuICAgIFtidXR0b25DbGFzc109XCInbXktY3VzdG9tLWJ1dHRvbi1jbGFzcydcIlxuICAgIFtpY29uQ2xhc3NdPVwiJ215LWljb24tY2xhc3MnXCJcbiAgICBbYWN0aXZlSWNvbkNsYXNzXT1cIidteS1hY3RpdmUtaWNvbi1jbGFzcydcIlxuICAgIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZFNvcnRDb3VudF09XCIwXCJcbiAgICBbc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50XT1cIjBcIlxuICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoc3RhdGVDaGFuZ2UpPVwib25TdGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25TZWFyY2hDaGFuZ2UpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxuICA+XG4gICAgPGRpdiB0YWJsZS1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIFtjb2x1bW5zXT1cInZpc2libGVDb2x1bW5EZWZcIlxuICAgICAgICBbc3R5bGVDb25maWddPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJjcmVhdGVkQXRcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAge3sgdmFsdWUgfCBkYXRlIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwic3RhdHVzXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZT5cbiAgICAgICAgICAgIDxsaWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2VcbiAgICAgICAgICAgICAgW3N0YXR1c109XCJ2YWx1ZVwiXG4gICAgICAgICAgICA+PC9saWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2U+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZSBsZXQtZGVsZXRlUm93PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTZcIj5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkRldGFpbFZpZXcodmFsdWUpXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIChjbGljayk9XCJvcGVuRGV0YWlsVmlldyh2YWx1ZSlcIj5PcGVuPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNlbGVjdGVkID0gY2FyZERhdGFbcm93SW5kZXhdOyB2ZHYudG9nZ2xlVmlldygpXCI+XG4gICAgICAgICAgICAgICAgU3dpdGNoXG4gICAgICAgICAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICAgICAgICBpY29uPVwiZGVsZXRlXCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSb3coKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgICAgICA8c3Ryb25nPkFjdGlvbnM8L3N0cm9uZz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpYi1kYXRhLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2FyZC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlld1xuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgICN2ZGN2XG4gICAgICAgIGRhdGFJZD1cIk1haWxBZGRyZXNzXCJcbiAgICAgICAgYm9yZGVyPVwiNXB4XCJcbiAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgcmJnQ29sb3I9XCIjZjVmNmY5XCJcbiAgICAgICAgbWc9XCIyMHB4XCJcbiAgICAgID5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwic3BhY2UteS03XCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YVxuICAgICAgICAgICAgI3ZsY2RcbiAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICBkYXRhSWQ9XCJNYWlsQWRkcmVzc1wiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIlxuICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmQgbGV0LWl0ZW0+XG4gICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImN1cnJlbnREYXRhID0gdmRjdi5vbkl0ZW1DbGljayhpdGVtKVwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXJyZW50RGF0YSA9IHZkY3Yub25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGN1cnNvci1wb2ludGVyIHctZnVsbCBiZy1zZWNvbmRhcnkgcm91bmRlZC14bFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMyByb3VuZGVkLXhsIHJvdW5kZWQtdHItbm9uZSByb3VuZGVkLWJyLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlbGVjdGVkID8gJ2JnLXByaW1hcnknIDogJ2JnLXNlY29uZGFyeS0yMDAnXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGZsZXggaXRlbXMtZW5kIGdhcC15LTIgZ2FwLXgtNCBwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtMSBzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdIGZsZXgtMSB0cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS50aXRsZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cblxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LVsxMHB4XSBmb250LWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlBob25lIE51bWJlcjo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LXNtIHRydW5jYXRlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlBob25lTnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJyb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LVsxMHB4XSBmb250LWxpZ2h0IHRleHQtWyM0MDQwNDBdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlJvbGU8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInJvbGVcIiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW1cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGE/LlJvbGU/Lk5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgIDxsaWItdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMtYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiaXRlbS5kYXRhLlJlcXVlc3RTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgID48L2xpYi11c2VyLWFjY2Vzcy1yZXF1ZXN0LXN0YXR1cy1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhPlxuICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXc+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwYXJlbnQ+XG4gICAgICAgICAgICA8bGliLXVzZXItcmVxdWVzdC1mb3JtXG4gICAgICAgICAgICAgIFtyb2xlc109XCJyb2xlcygpXCJcbiAgICAgICAgICAgICAgW2N1cnJlbnREYXRhXT1cImN1cnJlbnREYXRhXCJcbiAgICAgICAgICAgICAgKHN3aXRjaFZpZXcpPVwidmR2LnRvZ2dsZVZpZXcoKVwiXG4gICAgICAgICAgICAgIChvbkFwcHJvdmFsKT1cIm9uQXBwcm92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2xpYi11c2VyLXJlcXVlc3QtZm9ybT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlciBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2ZsZXggZ2FwLTIgaXRlbXMtY2VudGVyJzogdHJ1ZSxcbiAgICAgICAgICAgICAgJ2p1c3RpZnktYmV0d2Vlbic6IHRydWUsXG4gICAgICAgICAgICAgICdqdXN0aWZ5LWVuZCc6IHZkY3YuaGFzQ3VycmVudEl0ZW0oKVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXZkY3YuaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICAgICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7XG4gICAgICAgICAgICAgICAgdmRjdi5oYXNDdXJyZW50SXRlbSgpID8gJ2ZsZXgtMScgOiAnJ1xuICAgICAgICAgICAgICB9fSBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCJcbiAgICAgICAgICAgICAgICA+e3sgY2FyZERhdGEoKT8ubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2FkIG1vcmVcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyPlxuICAgICAgPC92ZXJiZW4tY2FyZC1kYXRhLXZpZXc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdmlzaWJsZS1jb2x1bW5cbiAgICAgICAgKGNvbHVtbnNVcGRhdGVkKT1cIm9uQ29sdW1uc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICBbY29sdW1uc109XCJ2aXNpYmxlQ29sdW1uc1wiXG4gICAgICAgIFtkaXNwbGF5ZWRDb2x1bW5zXT1cIjVcIlxuICAgICAgPjwvdmVyYmVuLXZpc2libGUtY29sdW1uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXRhYmxlLWZpbHRlclxuICAgICAgICAoZmlsdGVyc0FwcGxpZWQpPVwib25GaWx0ZXJTZXQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDIwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIFtmaWx0ZXJPcHRpb25zXT1cImZpbHRlckFycmF5XCJcbiAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCJcbiAgICAgID48L3ZlcmJlbi10YWJsZS1maWx0ZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXNvcnQtdGFibGVcbiAgICAgICAgKHNlbGVjdGVkT3B0aW9ucyk9XCJvblNvcnRVcGRhdGVkKCRldmVudClcIlxuICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICB3aWR0aD1cIjQwMHB4XCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCIjMzQ3OUU5XCJcbiAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBbZW5hYmxlRHJhZ0FuZERyb3BdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0T3B0aW9uc109XCJzb3J0T3B0aW9uc1wiXG4gICAgICA+PC92ZXJiZW4tc29ydC10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGV4cG9ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLWV4cG9ydCBbZGF0YV09XCJkYXRhKClcIiAoZXhwb3J0RGF0YUV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCI+XG4gICAgICA8L2xpYi1kYXRhLWV4cG9ydD5cbiAgICA8L2Rpdj5cbiAgPC92ZXJiZW4tZGF0YS12aWV3PlxuXG4gIDxkaXYgKm5nSWY9XCJ2ZHYuaXNUYWJsZVZpZXdcIiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtbG9nLWJ1dHRvbi1jb250YWluZXIgZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICBbZm9udFdlaWdodF09XCInYm9sZCdcIlxuICAgICAgICBbYmdDb2xvcl09XCInIzhFOEQ4NydcIlxuICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic0cHgnXCJcbiAgICAgICAgW3RleHRDb2xvcl09XCInI2ZmZidcIlxuICAgICAgICBbcGRdPVwiJzkuNzlweCAzNy4yOHB4J1wiXG4gICAgICAgIFt0ZXh0XT1cIidEZWxldGUnXCJcbiAgICAgID5cbiAgICAgIDwvdmVyYmVuYS1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIGdhcC01XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCI+e3sgY2FyZERhdGEoKS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJsb2FkTW9yZSgpXCJcbiAgICAgICAgY2xhc3M9XCJsb2FkLW1vcmUgdmlldy1saW5rcyB0ZXh0LVsjMzQ3OUU5XSB1bmRlcmxpbmVcIlxuICAgICAgPlxuICAgICAgICBMb2FkIG1vcmVcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|