simpo-component-library 2.1.999 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/sections/kyc-details/kyc-details.component.mjs +102 -13
- package/esm2022/lib/sections/property-detail/property-detail.component.mjs +16 -2
- package/esm2022/lib/sections/property-list/property-list.component.mjs +1 -2
- package/esm2022/lib/sections/signup-signin/signup-signin.component.mjs +13 -7
- package/esm2022/lib/services/rest.service.mjs +22 -3
- package/fesm2022/simpo-component-library.mjs +173 -49
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/sections/kyc-details/kyc-details.component.d.ts +18 -3
- package/lib/sections/property-detail/property-detail.component.d.ts +4 -0
- package/lib/sections/signup-signin/signup-signin.component.d.ts +5 -0
- package/lib/services/rest.service.d.ts +4 -0
- package/package.json +1 -1
- package/simpo-component-library-2.2.0.tgz +0 -0
- package/simpo-component-library-2.1.999.tgz +0 -0
@@ -2,35 +2,124 @@ import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component } from '@angular/core';
|
3
3
|
import { FormsModule } from '@angular/forms';
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
5
|
+
import { MessageService } from 'primeng/api';
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
import * as i1 from "../../services/rest.service";
|
7
|
-
import * as i2 from "
|
8
|
-
import * as i3 from "@angular/
|
9
|
-
import * as i4 from "@angular/
|
8
|
+
import * as i2 from "primeng/api";
|
9
|
+
import * as i3 from "@angular/material/icon";
|
10
|
+
import * as i4 from "@angular/common";
|
11
|
+
import * as i5 from "@angular/forms";
|
10
12
|
export class KycDetailsComponent {
|
11
|
-
constructor(restService) {
|
13
|
+
constructor(restService, messageService) {
|
12
14
|
this.restService = restService;
|
15
|
+
this.messageService = messageService;
|
13
16
|
this.panRequest = {
|
14
|
-
panNumber: ''
|
15
|
-
name: ''
|
17
|
+
panNumber: ''
|
16
18
|
};
|
17
19
|
this.aadharRequest = {
|
18
20
|
aadhaarNumber: ''
|
19
21
|
};
|
22
|
+
this.verifyAadharRequest = {
|
23
|
+
otp: '',
|
24
|
+
refId: '',
|
25
|
+
aadhaarNumber: ''
|
26
|
+
};
|
27
|
+
this.aadharOtpArray = new Array(6).fill('');
|
20
28
|
this.isPanVerified = false;
|
21
|
-
this.
|
29
|
+
this.isAadharverified = false;
|
30
|
+
this.aadharOtpSent = false;
|
31
|
+
}
|
32
|
+
ngOnInit() {
|
33
|
+
this.getKycDetails();
|
34
|
+
}
|
35
|
+
ngOnDestroy() {
|
36
|
+
this.kycDetailsSubscription?.unsubscribe();
|
37
|
+
}
|
38
|
+
getKycDetails() {
|
39
|
+
this.kycDetailsSubscription = this.restService.getKycDetails().subscribe((res) => {
|
40
|
+
if (res.message) {
|
41
|
+
this.isPanVerified = res.message.panVerified === 'VALID';
|
42
|
+
this.isAadharverified = res.message.aadhaarVerified === 'VALID';
|
43
|
+
this.aadharRequest.aadhaarNumber = res.message.aadharNo;
|
44
|
+
this.panRequest.panNumber = res.message.panNo;
|
45
|
+
}
|
46
|
+
}, (err) => {
|
47
|
+
});
|
22
48
|
}
|
23
|
-
ngOnInit() { }
|
24
49
|
verifyPanNumber() {
|
50
|
+
if (!this.validatePan()) {
|
51
|
+
this.messageService.add({
|
52
|
+
severity: 'error',
|
53
|
+
summary: 'Pan Number',
|
54
|
+
detail: 'Enter valid PAN number'
|
55
|
+
});
|
56
|
+
return;
|
57
|
+
}
|
25
58
|
this.restService.verifyPan(this.panRequest).subscribe((res) => {
|
26
59
|
this.isPanVerified = true;
|
60
|
+
this.restService.kycDetails = null;
|
61
|
+
this.checkKycVerification();
|
27
62
|
});
|
28
63
|
}
|
29
|
-
|
30
|
-
|
64
|
+
validatePan() {
|
65
|
+
const panRegex = /^[A-Z]{5}[0-9]{4}[A-Z]$/;
|
66
|
+
return panRegex.test(this.panRequest.panNumber);
|
67
|
+
}
|
68
|
+
sendAadharOtp() {
|
69
|
+
if (!this.validateAadhaar()) {
|
70
|
+
this.messageService.add({
|
71
|
+
severity: 'error',
|
72
|
+
summary: 'Aadhar Number',
|
73
|
+
detail: 'Enter valid Aadhar number'
|
74
|
+
});
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
this.restService.sendAadharOtp(this.aadharRequest).subscribe((res) => {
|
78
|
+
this.aadharOtpSent = true;
|
79
|
+
this.messageService.add({
|
80
|
+
severity: 'success',
|
81
|
+
summary: 'OTP Sent',
|
82
|
+
detail: 'AAdhar OTP Sent in registered mobile number'
|
83
|
+
});
|
84
|
+
this.verifyAadharRequest.refId = res.message?.ref_id;
|
85
|
+
});
|
86
|
+
}
|
87
|
+
verifyAadharOtp() {
|
88
|
+
this.verifyAadharRequest.otp = "";
|
89
|
+
this.aadharOtpArray.forEach((otp) => {
|
90
|
+
this.verifyAadharRequest.otp += otp;
|
91
|
+
});
|
92
|
+
this.verifyAadharRequest.aadhaarNumber = this.aadharRequest.aadhaarNumber;
|
93
|
+
this.restService.verifyAadharOtp(this.verifyAadharRequest).subscribe((res) => {
|
94
|
+
this.isAadharverified = true;
|
95
|
+
this.restService.kycDetails = null;
|
96
|
+
this.checkKycVerification();
|
97
|
+
});
|
98
|
+
}
|
99
|
+
validateAadhaar() {
|
100
|
+
const aadhaarRegex = /^[2-9]{1}[0-9]{11}$/;
|
101
|
+
return aadhaarRegex.test(this.aadharRequest.aadhaarNumber);
|
102
|
+
}
|
103
|
+
moveAadharOtpCursor(event, idx) {
|
104
|
+
if (isNaN(Number(event.key)) && event.code != "Backspace")
|
105
|
+
return;
|
106
|
+
if (event.code != "Backspace") {
|
107
|
+
this.aadharOtpArray[idx] = event.key;
|
108
|
+
document.getElementById("aadharOtp_" + (idx + 1))?.focus();
|
109
|
+
}
|
110
|
+
if (event.code == "Backspace" && !this.aadharOtpArray[idx]) {
|
111
|
+
document.getElementById("aadharOtp_" + (idx - 1))?.focus();
|
112
|
+
}
|
113
|
+
}
|
114
|
+
checkKycVerification() {
|
115
|
+
if (this.isAadharverified && this.isPanVerified)
|
116
|
+
document.getElementById('closeKycCanvas')?.click();
|
117
|
+
}
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: KycDetailsComponent, deps: [{ token: i1.RestService }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: KycDetailsComponent, isStandalone: true, selector: "simpo-kyc-details", providers: [MessageService], ngImport: i0, template: "<section class=\"main-section\" *ngIf=\"!(isPanVerified && isAadharverified)\">\r\n <img class=\"img\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/970332c1740030187726kyc.png\" alt=\"\">\r\n <div class=\"text-group\">\r\n <p class=\"heading\">Complete Your KYC to start Investing</p>\r\n <p class=\"desc\">Before you can invest, we need to verify your identity, simply upload your documents,\r\n <br> submit your KYC, and let us handle the rest\r\n </p>\r\n </div>\r\n <button class=\"submit-btn\" type=\"button\" data-bs-toggle=\"offcanvas\" data-bs-target=\"#offcanvasRight\"\r\n aria-controls=\"offcanvasRight\">Submit KYC Now</button>\r\n</section>\r\n\r\n<div class=\"offcanvas offcanvas-end\" tabindex=\"-1\" id=\"offcanvasRight\" aria-labelledby=\"offcanvasRightLabel\">\r\n <div class=\"header\">\r\n <p>KYC Details</p>\r\n </div>\r\n <div class=\"middle-section\">\r\n <div class=\"body\">\r\n <div class=\"secured\">\r\n <mat-icon>security</mat-icon>\r\n <p>Your Data is Safe & Secure</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">PAN Number</label>\r\n <p class=\"verify-text\" (click)=\"verifyPanNumber()\" *ngIf=\"!isPanVerified\">Verify</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.panNumber\" [disabled]=\"isPanVerified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"isPanVerified\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <!-- <div class=\"mt-1\">\r\n <label for=\"\">Name on PAN</label>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.name\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\">check_circle</mat-icon>\r\n </div>\r\n </div> -->\r\n <div class=\"mt-1\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">Aadhar Number</label>\r\n <p class=\"verify-text\" (click)=\"sendAadharOtp()\" *ngIf=\"!aadharOtpSent\">Send OTP</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"aadharRequest.aadhaarNumber\" [disabled]=\"isAadharverified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"aadharOtpSent\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label for=\"\">Enter OTP</label>\r\n\r\n <div id=\"otp\" class=\"otp-input\">\r\n <ng-container *ngFor=\"let otp of [1,2,3,4,5,6]; let idx = index\">\r\n <input type=\"number\" max=\"9\" class=\"otp-input\"\r\n [(ngModel)]=\"aadharOtpArray[idx]\" (keyup)=\"moveAadharOtpCursor($event, idx)\" [id]=\"'aadharOtp_'+idx\"/>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <button class=\"cancel-btn\" data-bs-dismiss=\"offcanvas\" id=\"closeKycCanvas\">Cancel</button>\r\n <button class=\"submit-btn\" *ngIf=\"aadharOtpSent\" (click)=\"verifyAadharOtp()\">Verify</button>\r\n </div>\r\n</div>\r\n", styles: [".main-section{height:100%;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.img{width:35%}.text-group{text-align:center;margin-top:3rem;margin-bottom:2rem}.heading{font-size:14px;font-family:DM SANS;font-weight:700;color:#000}.desc{font-size:14px;color:#0009;font-family:DM SANS;font-weight:500}.submit-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:#f8a938;color:#fff;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.cancel-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:transparent;color:#f8a938;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.header{padding:20px;border:1px solid rgba(14,35,60,.16);height:60px}.header p{font-size:17px;margin-bottom:0;font-weight:600;font-family:Inter}.middle-section{height:calc(100vh - 120px);overflow:scroll;background:#fcfcfc}.footer{position:absolute;bottom:0;height:60px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid rgba(14,35,60,.16);width:100%;padding:20px;gap:14px}.offcanvas{width:40%;z-index:100000000}.body{background:#fff;margin:2.5rem;padding:2rem;border-radius:10px}.body label{font-size:14px;font-family:DM SANS;color:#434443;font-weight:400}.secured{display:flex;justify-content:center;gap:10px}.secured p{font-size:15px;font-family:DM SANS;font-weight:400;color:#0009}.secured mat-icon{display:flex;font-size:18px;color:#00dd80;align-items:center;justify-content:center}.input-box{width:100%;display:flex;justify-content:space-between;padding:10px;border:1px solid rgba(208,213,221,1);border-radius:7px;margin-top:8px}.input-box input{width:90%;border:none;outline:none;font-size:16px;font-family:DM SANS}.verified{color:#1ac100}p{margin-bottom:0}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.otp-input{display:flex;gap:20px;margin-top:8px}.otp-input input{width:59px;border:1px solid rgba(208,213,221,1);height:54px;border-radius:8px;outline:none;justify-content:center;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.justify-space{justify-content:space-between}.verify-text{font-size:13px;font-family:DM SANS;color:#f8a938;cursor:pointer}@media screen and (max-width: 475px){.offcanvas{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
31
120
|
}
|
32
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: KycDetailsComponent, decorators: [{
|
33
122
|
type: Component,
|
34
|
-
args: [{ selector: 'simpo-kyc-details', standalone: true, imports: [MatIconModule, CommonModule, FormsModule], template: "<section class=\"main-section\">\r\n <img class=\"img\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/970332c1740030187726kyc.png\" alt=\"\">\r\n <div class=\"text-group\">\r\n <p class=\"heading\">Complete Your KYC to start Investing</p>\r\n <p class=\"desc\">Before you can invest, we need to verify your identity, simply upload your documents,\r\n <br> submit your KYC, and let us handle the rest\r\n </p>\r\n </div>\r\n <button class=\"submit-btn\" type=\"button\" data-bs-toggle=\"offcanvas\" data-bs-target=\"#offcanvasRight\"\r\n aria-controls=\"offcanvasRight\">Submit KYC Now</button>\r\n</section>\r\n\r\n<div class=\"offcanvas offcanvas-end\" tabindex=\"-1\" id=\"offcanvasRight\" aria-labelledby=\"offcanvasRightLabel\">\r\n <div class=\"header\">\r\n <p>KYC Details</p>\r\n </div>\r\n <div class=\"middle-section\">\r\n <div class=\"body\">\r\n <div class=\"secured\">\r\n <mat-icon>security</mat-icon>\r\n <p>Your Data is Safe & Secure</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">PAN Number</label>\r\n <p class=\"verify-text\" (click)=\"verifyPanNumber()\">Verify</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.panNumber\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"isPanVerified\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label for=\"\">Name on PAN</label>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.name\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\">check_circle</mat-icon>\r\n </div>\r\n </div
|
35
|
-
}], ctorParameters: () => [{ type: i1.RestService }] });
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9reWMtZGV0YWlscy9reWMtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2t5Yy1kZXRhaWxzL2t5Yy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVV2RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSTVDLGVBQVUsR0FBUTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQTtRQUVELGtCQUFhLEdBQVE7WUFDbkIsYUFBYSxFQUFFLEVBQUU7U0FDbEIsQ0FBQTtRQUNELGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHFCQUFnQixHQUFZLEtBQUssQ0FBQztJQWJhLENBQUM7SUFFaEQsUUFBUSxLQUFJLENBQUM7SUFhYixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0FwQlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsNkVDYmhDLDJ3RkFrRUEsZzdFRHpEWSxhQUFhLG1MQUFFLFlBQVksK1BBQUUsV0FBVzs7MkZBSXZDLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1reWMtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t5Yy1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4va3ljLWRldGFpbHMuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEt5Y0RldGFpbHNDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIHBhblJlcXVlc3Q6IGFueSA9IHtcclxuICAgIHBhbk51bWJlcjogJycsXHJcbiAgICBuYW1lOiAnJ1xyXG4gIH1cclxuXHJcbiAgYWFkaGFyUmVxdWVzdDogYW55ID0ge1xyXG4gICAgYWFkaGFhck51bWJlcjogJydcclxuICB9XHJcbiAgaXNQYW5WZXJpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzQWFkaGFyVmVyaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgdmVyaWZ5UGFuTnVtYmVyKCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlQYW4odGhpcy5wYW5SZXF1ZXN0KS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNQYW5WZXJpZmllZCA9IHRydWU7XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tc2VjdGlvblwiPlxyXG4gIDxpbWcgY2xhc3M9XCJpbWdcIiBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzk3MDMzMmMxNzQwMDMwMTg3NzI2a3ljLnBuZ1wiIGFsdD1cIlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyb3VwXCI+XHJcbiAgICA8cCBjbGFzcz1cImhlYWRpbmdcIj5Db21wbGV0ZSBZb3VyIEtZQyB0byBzdGFydCBJbnZlc3Rpbmc8L3A+XHJcbiAgICA8cCBjbGFzcz1cImRlc2NcIj5CZWZvcmUgeW91IGNhbiBpbnZlc3QsIHdlIG5lZWQgdG8gdmVyaWZ5IHlvdXIgaWRlbnRpdHksIHNpbXBseSB1cGxvYWQgeW91ciBkb2N1bWVudHMsXHJcbiAgICAgIDxicj4gc3VibWl0IHlvdXIgS1lDLCBhbmQgbGV0IHVzIGhhbmRsZSB0aGUgcmVzdFxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b24gY2xhc3M9XCJzdWJtaXQtYnRuXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwib2ZmY2FudmFzXCIgZGF0YS1icy10YXJnZXQ9XCIjb2ZmY2FudmFzUmlnaHRcIlxyXG4gICAgYXJpYS1jb250cm9scz1cIm9mZmNhbnZhc1JpZ2h0XCI+U3VibWl0IEtZQyBOb3c8L2J1dHRvbj5cclxuPC9zZWN0aW9uPlxyXG5cclxuPGRpdiBjbGFzcz1cIm9mZmNhbnZhcyBvZmZjYW52YXMtZW5kXCIgdGFiaW5kZXg9XCItMVwiIGlkPVwib2ZmY2FudmFzUmlnaHRcIiBhcmlhLWxhYmVsbGVkYnk9XCJvZmZjYW52YXNSaWdodExhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgPHA+S1lDIERldGFpbHM8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1pZGRsZS1zZWN0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdXJlZFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5zZWN1cml0eTwvbWF0LWljb24+XHJcbiAgICAgICAgPHA+WW91ciBEYXRhIGlzIFNhZmUgJiBTZWN1cmU8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5QQU4gTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIiAoY2xpY2spPVwidmVyaWZ5UGFuTnVtYmVyKClcIj5WZXJpZnk8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwYW5SZXF1ZXN0LnBhbk51bWJlclwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWRcIiB0aXRsZT1cIk9UUCBWZXJpZmllZFwiICpuZ0lmPVwiaXNQYW5WZXJpZmllZFwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXQtMVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJcIj5OYW1lIG9uIFBBTjwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJwYW5SZXF1ZXN0Lm5hbWVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInZlcmlmaWVkXCIgdGl0bGU9XCJPVFAgVmVyaWZpZWRcIj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5BYWRoYXIgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIj5WZXJpZnk8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWJveFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJhYWRoYXJSZXF1ZXN0LmFhZGhhYXJOdW1iZXJcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInZlcmlmaWVkXCIgdGl0bGU9XCJPVFAgVmVyaWZpZWRcIj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiXCI+RW50ZXIgT1RQPC9sYWJlbD5cclxuXHJcbiAgICAgICAgPGRpdiBpZD1cIm90cFwiIGNsYXNzPVwib3RwLWlucHV0XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvdHAgb2YgWzEsMiwzLDQsNSw2XTsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWF4PVwiOVwiIGNsYXNzPVwib3RwLWlucHV0XCIgbWF0LXN1ZmZpeC8+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ0blwiIGRhdGEtYnMtZGlzbWlzcz1cIm9mZmNhbnZhc1wiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cInN1Ym1pdC1idG5cIj5WZXJpZnk8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
123
|
+
args: [{ selector: 'simpo-kyc-details', standalone: true, imports: [MatIconModule, CommonModule, FormsModule], providers: [MessageService], template: "<section class=\"main-section\" *ngIf=\"!(isPanVerified && isAadharverified)\">\r\n <img class=\"img\" src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/970332c1740030187726kyc.png\" alt=\"\">\r\n <div class=\"text-group\">\r\n <p class=\"heading\">Complete Your KYC to start Investing</p>\r\n <p class=\"desc\">Before you can invest, we need to verify your identity, simply upload your documents,\r\n <br> submit your KYC, and let us handle the rest\r\n </p>\r\n </div>\r\n <button class=\"submit-btn\" type=\"button\" data-bs-toggle=\"offcanvas\" data-bs-target=\"#offcanvasRight\"\r\n aria-controls=\"offcanvasRight\">Submit KYC Now</button>\r\n</section>\r\n\r\n<div class=\"offcanvas offcanvas-end\" tabindex=\"-1\" id=\"offcanvasRight\" aria-labelledby=\"offcanvasRightLabel\">\r\n <div class=\"header\">\r\n <p>KYC Details</p>\r\n </div>\r\n <div class=\"middle-section\">\r\n <div class=\"body\">\r\n <div class=\"secured\">\r\n <mat-icon>security</mat-icon>\r\n <p>Your Data is Safe & Secure</p>\r\n </div>\r\n\r\n <div class=\"mt-2\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">PAN Number</label>\r\n <p class=\"verify-text\" (click)=\"verifyPanNumber()\" *ngIf=\"!isPanVerified\">Verify</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.panNumber\" [disabled]=\"isPanVerified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"isPanVerified\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <!-- <div class=\"mt-1\">\r\n <label for=\"\">Name on PAN</label>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"panRequest.name\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\">check_circle</mat-icon>\r\n </div>\r\n </div> -->\r\n <div class=\"mt-1\">\r\n <div class=\"d-flex justify-space\">\r\n <label for=\"\">Aadhar Number</label>\r\n <p class=\"verify-text\" (click)=\"sendAadharOtp()\" *ngIf=\"!aadharOtpSent\">Send OTP</p>\r\n </div>\r\n <div class=\"input-box\">\r\n <input type=\"text\" [(ngModel)]=\"aadharRequest.aadhaarNumber\" [disabled]=\"isAadharverified\">\r\n <mat-icon class=\"verified\" title=\"OTP Verified\" *ngIf=\"aadharOtpSent\">check_circle</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\">\r\n <label for=\"\">Enter OTP</label>\r\n\r\n <div id=\"otp\" class=\"otp-input\">\r\n <ng-container *ngFor=\"let otp of [1,2,3,4,5,6]; let idx = index\">\r\n <input type=\"number\" max=\"9\" class=\"otp-input\"\r\n [(ngModel)]=\"aadharOtpArray[idx]\" (keyup)=\"moveAadharOtpCursor($event, idx)\" [id]=\"'aadharOtp_'+idx\"/>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <button class=\"cancel-btn\" data-bs-dismiss=\"offcanvas\" id=\"closeKycCanvas\">Cancel</button>\r\n <button class=\"submit-btn\" *ngIf=\"aadharOtpSent\" (click)=\"verifyAadharOtp()\">Verify</button>\r\n </div>\r\n</div>\r\n", styles: [".main-section{height:100%;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.img{width:35%}.text-group{text-align:center;margin-top:3rem;margin-bottom:2rem}.heading{font-size:14px;font-family:DM SANS;font-weight:700;color:#000}.desc{font-size:14px;color:#0009;font-family:DM SANS;font-weight:500}.submit-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:#f8a938;color:#fff;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.cancel-btn{width:max-content!important;outline:none;border:1px solid rgba(248,169,56,1);background:transparent;color:#f8a938;border-radius:5px;font-size:16px!important;font-family:DM SANS;padding:7px 20px}.header{padding:20px;border:1px solid rgba(14,35,60,.16);height:60px}.header p{font-size:17px;margin-bottom:0;font-weight:600;font-family:Inter}.middle-section{height:calc(100vh - 120px);overflow:scroll;background:#fcfcfc}.footer{position:absolute;bottom:0;height:60px;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid rgba(14,35,60,.16);width:100%;padding:20px;gap:14px}.offcanvas{width:40%;z-index:100000000}.body{background:#fff;margin:2.5rem;padding:2rem;border-radius:10px}.body label{font-size:14px;font-family:DM SANS;color:#434443;font-weight:400}.secured{display:flex;justify-content:center;gap:10px}.secured p{font-size:15px;font-family:DM SANS;font-weight:400;color:#0009}.secured mat-icon{display:flex;font-size:18px;color:#00dd80;align-items:center;justify-content:center}.input-box{width:100%;display:flex;justify-content:space-between;padding:10px;border:1px solid rgba(208,213,221,1);border-radius:7px;margin-top:8px}.input-box input{width:90%;border:none;outline:none;font-size:16px;font-family:DM SANS}.verified{color:#1ac100}p{margin-bottom:0}.mt-2{margin-top:2rem!important}.mt-1{margin-top:1rem!important}.otp-input{display:flex;gap:20px;margin-top:8px}.otp-input input{width:59px;border:1px solid rgba(208,213,221,1);height:54px;border-radius:8px;outline:none;justify-content:center;text-align:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.justify-space{justify-content:space-between}.verify-text{font-size:13px;font-family:DM SANS;color:#f8a938;cursor:pointer}@media screen and (max-width: 475px){.offcanvas{width:100%}}\n"] }]
|
124
|
+
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.MessageService }] });
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy9reWMtZGV0YWlscy9reWMtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2t5Yy1kZXRhaWxzL2t5Yy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVc3QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFdBQXdCLEVBQ3pCLGNBQThCO1FBRDdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUdqRCxlQUFVLEdBQVE7WUFDaEIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFBO1FBRUQsa0JBQWEsR0FBUTtZQUNuQixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFBO1FBRUQsd0JBQW1CLEdBQVE7WUFDekIsR0FBRyxFQUFFLEVBQUU7WUFDUCxLQUFLLEVBQUUsRUFBRTtZQUNULGFBQWEsRUFBRSxFQUFFO1NBQ2xCLENBQUE7UUFDRCxtQkFBYyxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0QyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixxQkFB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Q0FBQyxJQUFJLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNELFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDNUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ3RELENBQUM7OEdBM0hVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdFQUpuQixDQUFDLGNBQWMsQ0FBQywwQkNaN0IsbXFHQW1FQSxnN0VEeERZLGFBQWEsbUxBQUUsWUFBWSwrUEFBRSxXQUFXOzsyRkFLdkMsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxhQUN4QyxDQUFDLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8ta3ljLWRldGFpbHMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4va3ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9reWMtZGV0YWlscy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ljRGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcGFuUmVxdWVzdDogYW55ID0ge1xyXG4gICAgcGFuTnVtYmVyOiAnJ1xyXG4gIH1cclxuXHJcbiAgYWFkaGFyUmVxdWVzdDogYW55ID0ge1xyXG4gICAgYWFkaGFhck51bWJlcjogJydcclxuICB9XHJcblxyXG4gIHZlcmlmeUFhZGhhclJlcXVlc3Q6IGFueSA9IHtcclxuICAgIG90cDogJycsXHJcbiAgICByZWZJZDogJycsXHJcbiAgICBhYWRoYWFyTnVtYmVyOiAnJ1xyXG4gIH1cclxuICBhYWRoYXJPdHBBcnJheSA9IG5ldyBBcnJheSg2KS5maWxsKCcnKVxyXG4gIGlzUGFuVmVyaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc0FhZGhhcnZlcmlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYWFkaGFyT3RwU2VudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGt5Y0RldGFpbHNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRLeWNEZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMua3ljRGV0YWlsc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldEt5Y0RldGFpbHMoKSB7XHJcbiAgICB0aGlzLmt5Y0RldGFpbHNTdWJzY3JpcHRpb24gPSB0aGlzLnJlc3RTZXJ2aWNlLmdldEt5Y0RldGFpbHMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlcy5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5pc1BhblZlcmlmaWVkID0gcmVzLm1lc3NhZ2UucGFuVmVyaWZpZWQgPT09ICdWQUxJRCc7XHJcbiAgICAgICAgdGhpcy5pc0FhZGhhcnZlcmlmaWVkID0gcmVzLm1lc3NhZ2UuYWFkaGFhclZlcmlmaWVkID09PSAnVkFMSUQnO1xyXG4gICAgICAgIHRoaXMuYWFkaGFyUmVxdWVzdC5hYWRoYWFyTnVtYmVyID0gcmVzLm1lc3NhZ2UuYWFkaGFyTm9cclxuICAgICAgICB0aGlzLnBhblJlcXVlc3QucGFuTnVtYmVyID0gcmVzLm1lc3NhZ2UucGFuTm87XHJcbiAgICAgIH1cclxuICAgIH0sIChlcnIpID0+IHtcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdmVyaWZ5UGFuTnVtYmVyKCkge1xyXG4gICAgaWYoIXRoaXMudmFsaWRhdGVQYW4oKSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXHJcbiAgICAgICAgc3VtbWFyeTogJ1BhbiBOdW1iZXInLFxyXG4gICAgICAgIGRldGFpbDogJ0VudGVyIHZhbGlkIFBBTiBudW1iZXInXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeVBhbih0aGlzLnBhblJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc1BhblZlcmlmaWVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5reWNEZXRhaWxzID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGVja0t5Y1ZlcmlmaWNhdGlvbigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlUGFuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGFuUmVnZXggPSAvXltBLVpdezV9WzAtOV17NH1bQS1aXSQvO1xyXG4gICAgcmV0dXJuIHBhblJlZ2V4LnRlc3QodGhpcy5wYW5SZXF1ZXN0LnBhbk51bWJlcik7XHJcbiAgfVxyXG5cclxuICBzZW5kQWFkaGFyT3RwKCkge1xyXG4gICAgaWYoIXRoaXMudmFsaWRhdGVBYWRoYWFyKCkpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxyXG4gICAgICAgIHN1bW1hcnk6ICdBYWRoYXIgTnVtYmVyJyxcclxuICAgICAgICBkZXRhaWw6ICdFbnRlciB2YWxpZCBBYWRoYXIgbnVtYmVyJ1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVzdFNlcnZpY2Uuc2VuZEFhZGhhck90cCh0aGlzLmFhZGhhclJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5hYWRoYXJPdHBTZW50ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgIHNldmVyaXR5OiAnc3VjY2VzcycsXHJcbiAgICAgICAgc3VtbWFyeTogJ09UUCBTZW50JyxcclxuICAgICAgICBkZXRhaWw6ICdBQWRoYXIgT1RQIFNlbnQgaW4gcmVnaXN0ZXJlZCBtb2JpbGUgbnVtYmVyJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52ZXJpZnlBYWRoYXJSZXF1ZXN0LnJlZklkID0gcmVzLm1lc3NhZ2U/LnJlZl9pZDtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB2ZXJpZnlBYWRoYXJPdHAoKSB7XHJcbiAgICB0aGlzLnZlcmlmeUFhZGhhclJlcXVlc3Qub3RwID0gXCJcIjtcclxuICAgIHRoaXMuYWFkaGFyT3RwQXJyYXkuZm9yRWFjaCgob3RwKSA9PiB7XHJcbiAgICAgIHRoaXMudmVyaWZ5QWFkaGFyUmVxdWVzdC5vdHAgKz0gb3RwXHJcbiAgICB9KVxyXG4gICAgdGhpcy52ZXJpZnlBYWRoYXJSZXF1ZXN0LmFhZGhhYXJOdW1iZXIgPSB0aGlzLmFhZGhhclJlcXVlc3QuYWFkaGFhck51bWJlcjtcclxuXHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnZlcmlmeUFhZGhhck90cCh0aGlzLnZlcmlmeUFhZGhhclJlcXVlc3QpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc0FhZGhhcnZlcmlmaWVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5reWNEZXRhaWxzID0gbnVsbDtcclxuICAgICAgdGhpcy5jaGVja0t5Y1ZlcmlmaWNhdGlvbigpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQWFkaGFhcigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFhZGhhYXJSZWdleCA9IC9eWzItOV17MX1bMC05XXsxMX0kLztcclxuICAgIHJldHVybiBhYWRoYWFyUmVnZXgudGVzdCh0aGlzLmFhZGhhclJlcXVlc3QuYWFkaGFhck51bWJlcik7XHJcbiAgfVxyXG5cclxuICBtb3ZlQWFkaGFyT3RwQ3Vyc29yKGV2ZW50OiBhbnksIGlkeDogbnVtYmVyKSB7XHJcblxyXG4gICAgaWYgKGlzTmFOKE51bWJlcihldmVudC5rZXkpKSAmJiBldmVudC5jb2RlICE9IFwiQmFja3NwYWNlXCIpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoZXZlbnQuY29kZSAhPSBcIkJhY2tzcGFjZVwiKSB7XHJcbiAgICAgIHRoaXMuYWFkaGFyT3RwQXJyYXlbaWR4XSA9IGV2ZW50LmtleTtcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhYWRoYXJPdHBfXCIgKyAoaWR4ICsgMSkpPy5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LmNvZGUgPT0gXCJCYWNrc3BhY2VcIiAmJiAhdGhpcy5hYWRoYXJPdHBBcnJheVtpZHhdKSB7XHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYWFkaGFyT3RwX1wiICsgKGlkeCAtIDEpKT8uZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrS3ljVmVyaWZpY2F0aW9uKCkge1xyXG4gICAgaWYodGhpcy5pc0FhZGhhcnZlcmlmaWVkICYmIHRoaXMuaXNQYW5WZXJpZmllZClcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlS3ljQ2FudmFzJyk/LmNsaWNrKClcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIiAqbmdJZj1cIiEoaXNQYW5WZXJpZmllZCAmJiBpc0FhZGhhcnZlcmlmaWVkKVwiPlxyXG4gIDxpbWcgY2xhc3M9XCJpbWdcIiBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzk3MDMzMmMxNzQwMDMwMTg3NzI2a3ljLnBuZ1wiIGFsdD1cIlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyb3VwXCI+XHJcbiAgICA8cCBjbGFzcz1cImhlYWRpbmdcIj5Db21wbGV0ZSBZb3VyIEtZQyB0byBzdGFydCBJbnZlc3Rpbmc8L3A+XHJcbiAgICA8cCBjbGFzcz1cImRlc2NcIj5CZWZvcmUgeW91IGNhbiBpbnZlc3QsIHdlIG5lZWQgdG8gdmVyaWZ5IHlvdXIgaWRlbnRpdHksIHNpbXBseSB1cGxvYWQgeW91ciBkb2N1bWVudHMsXHJcbiAgICAgIDxicj4gc3VibWl0IHlvdXIgS1lDLCBhbmQgbGV0IHVzIGhhbmRsZSB0aGUgcmVzdFxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxidXR0b24gY2xhc3M9XCJzdWJtaXQtYnRuXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwib2ZmY2FudmFzXCIgZGF0YS1icy10YXJnZXQ9XCIjb2ZmY2FudmFzUmlnaHRcIlxyXG4gICAgYXJpYS1jb250cm9scz1cIm9mZmNhbnZhc1JpZ2h0XCI+U3VibWl0IEtZQyBOb3c8L2J1dHRvbj5cclxuPC9zZWN0aW9uPlxyXG5cclxuPGRpdiBjbGFzcz1cIm9mZmNhbnZhcyBvZmZjYW52YXMtZW5kXCIgdGFiaW5kZXg9XCItMVwiIGlkPVwib2ZmY2FudmFzUmlnaHRcIiBhcmlhLWxhYmVsbGVkYnk9XCJvZmZjYW52YXNSaWdodExhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgPHA+S1lDIERldGFpbHM8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1pZGRsZS1zZWN0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdXJlZFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5zZWN1cml0eTwvbWF0LWljb24+XHJcbiAgICAgICAgPHA+WW91ciBEYXRhIGlzIFNhZmUgJiBTZWN1cmU8L3A+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5QQU4gTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIiAoY2xpY2spPVwidmVyaWZ5UGFuTnVtYmVyKClcIiAqbmdJZj1cIiFpc1BhblZlcmlmaWVkXCI+VmVyaWZ5PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicGFuUmVxdWVzdC5wYW5OdW1iZXJcIiBbZGlzYWJsZWRdPVwiaXNQYW5WZXJpZmllZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWRcIiB0aXRsZT1cIk9UUCBWZXJpZmllZFwiICpuZ0lmPVwiaXNQYW5WZXJpZmllZFwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtdC0xXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cIlwiPk5hbWUgb24gUEFOPC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYm94XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInBhblJlcXVlc3QubmFtZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidmVyaWZpZWRcIiB0aXRsZT1cIk9UUCBWZXJpZmllZFwiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktc3BhY2VcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj5BYWRoYXIgTnVtYmVyPC9sYWJlbD5cclxuICAgICAgICAgIDxwIGNsYXNzPVwidmVyaWZ5LXRleHRcIiAoY2xpY2spPVwic2VuZEFhZGhhck90cCgpXCIgKm5nSWY9XCIhYWFkaGFyT3RwU2VudFwiPlNlbmQgT1RQPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ib3hcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiYWFkaGFyUmVxdWVzdC5hYWRoYWFyTnVtYmVyXCIgW2Rpc2FibGVkXT1cImlzQWFkaGFydmVyaWZpZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInZlcmlmaWVkXCIgdGl0bGU9XCJPVFAgVmVyaWZpZWRcIiAqbmdJZj1cImFhZGhhck90cFNlbnRcIj5jaGVja19jaXJjbGU8L21hdC1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTFcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiXCI+RW50ZXIgT1RQPC9sYWJlbD5cclxuXHJcbiAgICAgICAgPGRpdiBpZD1cIm90cFwiIGNsYXNzPVwib3RwLWlucHV0XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvdHAgb2YgWzEsMiwzLDQsNSw2XTsgbGV0IGlkeCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWF4PVwiOVwiIGNsYXNzPVwib3RwLWlucHV0XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhYWRoYXJPdHBBcnJheVtpZHhdXCIgKGtleXVwKT1cIm1vdmVBYWRoYXJPdHBDdXJzb3IoJGV2ZW50LCBpZHgpXCIgW2lkXT1cIidhYWRoYXJPdHBfJytpZHhcIi8+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ0blwiIGRhdGEtYnMtZGlzbWlzcz1cIm9mZmNhbnZhc1wiIGlkPVwiY2xvc2VLeWNDYW52YXNcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXQtYnRuXCIgKm5nSWY9XCJhYWRoYXJPdHBTZW50XCIgKGNsaWNrKT1cInZlcmlmeUFhZGhhck90cCgpXCI+VmVyaWZ5PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
@@ -5,6 +5,7 @@ import { FormsModule } from '@angular/forms';
|
|
5
5
|
import { StorageKeys } from '../../styles/index';
|
6
6
|
import { MatDialogModule } from '@angular/material/dialog';
|
7
7
|
import { PaymentConfirmationComponent } from '../../elements/payment-confirmation/payment-confirmation.component';
|
8
|
+
import { KycDetailsComponent } from '../kyc-details/kyc-details.component';
|
8
9
|
import * as i0 from "@angular/core";
|
9
10
|
import * as i1 from "../../services/rest.service";
|
10
11
|
import * as i2 from "@angular/router";
|
@@ -83,6 +84,9 @@ export class PropertyDetailComponent {
|
|
83
84
|
this.getPropertyDetails();
|
84
85
|
});
|
85
86
|
}
|
87
|
+
ngOnDestroy() {
|
88
|
+
this.kycDetailsSubscription?.unsubscribe();
|
89
|
+
}
|
86
90
|
getPropertyDetails() {
|
87
91
|
this.restService.getPropertyDetails(this.propertyId).subscribe((res) => {
|
88
92
|
this.propertyDetails = res;
|
@@ -93,7 +97,17 @@ export class PropertyDetailComponent {
|
|
93
97
|
this.router.navigate(['login-signup'], { queryParams: { id: this.propertyDetails.propertyId } });
|
94
98
|
return;
|
95
99
|
}
|
96
|
-
this.
|
100
|
+
this.getKycDetails();
|
101
|
+
}
|
102
|
+
getKycDetails() {
|
103
|
+
this.kycDetailsSubscription = this.restService.getKycDetails().subscribe((res) => {
|
104
|
+
if (res?.message?.panVerified === 'VALID' && res?.message?.aadhaarVerified === 'VALID') {
|
105
|
+
this.matDialog.open(PaymentConfirmationComponent, { panelClass: 'payment-confirmation', data: { details: this.propertyDetails, totalArea: this.noOfSqft } });
|
106
|
+
}
|
107
|
+
else {
|
108
|
+
this.matDialog.open(KycDetailsComponent, { panelClass: "login-signup" });
|
109
|
+
}
|
110
|
+
});
|
97
111
|
}
|
98
112
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyDetailComponent, deps: [{ token: i1.RestService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
99
113
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyDetailComponent, isStandalone: true, selector: "simpo-property-detail", inputs: { data: "data" }, ngImport: i0, template: "<section class=\"main-container\">\r\n <div id=\"carouselExampleInterval\" class=\"carousel slide p-relative\" data-bs-ride=\"carousel\">\r\n <div class=\"carousel-inner\">\r\n <div class=\"carousel-item active\" data-bs-interval=\"2000\" *ngFor=\"let img of propertyDetails.imgUrl\">\r\n <img [src]=\"img\" class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div>\r\n <!-- <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div>\r\n <div class=\"carousel-item\" data-bs-interval=\"3000\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/815921c1739254843186image%20%285%29.png\"\r\n class=\"d-block w-100 height-30\" alt=\"property-image\">\r\n </div> -->\r\n </div>\r\n <div class=\"propertyName d-flex justify-content-between\">\r\n <div class=\"property-details\">\r\n <p class=\"pname\">{{propertyDetails.name}}</p>\r\n <span class=\"plocation d-flex align-items-center gap-5\"><img\r\n src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/384275c1737629729545location_on.png\"\r\n alt=\"location image\"> {{propertyDetails.location}}</span>\r\n </div>\r\n <div class=\"carousel d-flex justify-content-end align-items-end\">\r\n <!-- d-flex justify-content-end align-items-end -->\r\n <div class=\"carousel-indicators additional-properties-1\">\r\n <!-- additional-properties-1 -->\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" [attr.data-bs-slide-to]=\"i\"\r\n class=\"active additional-properties\" aria-current=\"true\" aria-label=\"Slide 1\"\r\n *ngFor=\"let slide of propertyDetails.imgUrl;let i = index\"></button>\r\n <!-- class=\"additional-properties\" -->\r\n <!-- <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"1\" aria-label=\"Slide 2\" class=\"additional-properties\"></button>\r\n <button type=\"button\" data-bs-target=\"#carouselExampleInterval\" data-bs-slide-to=\"2\" aria-label=\"Slide 3\" class=\"additional-properties\"></button> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"property-numbers d-flex justify-content-between\">\r\n <ng-container>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.pricePerSqFeet || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Price/Sq.ft</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">\u20B9{{ propertyDetails?.financeDetails?.indicativeMarketValue || 0 }}</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Indicative Market Value</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.irr || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Internal Returns Rate</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <!-- <ng-container *ngIf=\"ele.icon.length > 1\">\r\n <img [src]=\"ele.icon\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container> -->\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0 }}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Annual Returns</p>\r\n </div>\r\n </div>\r\n <div class=\"icon-text w-18\">\r\n <div class=\"text text-center d-flex align-items-center justify-content-center gap-10\">\r\n <ng-container>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/273918c1739173355725checked%201.png\" alt=\"Icon\" class=\"tick-img\">\r\n </ng-container>\r\n <p class=\"number-text mb-0\">{{ propertyDetails?.financeDetails?.annualReturn || 0}}%</p>\r\n </div>\r\n <div class=\"text-1 text-center\">\r\n <p class=\"property-text\">Guaranteed annual capital growth</p>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"about-section w-70 d-flex g-40\">\r\n <div class=\"right w-60 \">\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">About Property</div>\r\n <div class=\"about-property-text\">{{propertyDetails.description}}</div>\r\n <div class=\"about-property-details d-flex gap-10\">\r\n <ng-container>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Type: </div>\r\n <div class=\"left-text\">{{propertyDetails.propertyType}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">Property Size:</div>\r\n <div class=\"left-text\">{{propertyDetails.totalAreaSqFeet}}</div>\r\n </div>\r\n <div class=\"gap-10 d-flex\">\r\n <div class=\"right-text\">year:</div>\r\n <div class=\"left-text\">{{propertyDetails.year}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\" *ngIf=\"(propertyDetails?.benefits?.length || 0) > 0\">\r\n <div class=\"head-about-property\">Investment Benefit</div>\r\n <div class=\"card-container d-flex gap-10\">\r\n <ng-container *ngFor=\"let benefits of propertyDetails.benefits\">\r\n <div class=\"cards\">\r\n <div class=\"image-container w-100 d-flex justify-content-center\">\r\n <img [src]=\"benefits.imgUrl\" alt=\"\">\r\n </div>\r\n <div class=\"card-head\">{{benefits.title}}</div>\r\n <div class=\"card-text\">{{benefits.description}}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"about-property\">\r\n <div class=\"head-about-property\">Documents & Reports</div>\r\n <div class=\"file-container d-flex justify-content-between gap-10\">\r\n <div class=\"file d-flex justify-content-between\" *ngFor=\"let ele of pdfCards\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/678394c1739183726107image%209.png\"\r\n alt=\"pdf\">\r\n <div class=\"doc-text w-75 d-flex align-items-center\"> {{ele.length > 15 ?\r\n ele.substring(0,15)+'...' : ele }}</div>\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/195414c1739183779845fi_3502477.png\"\r\n alt=\"download\" class=\"download-img\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"left w-40\">\r\n <div class=\"sqft\">\r\n <div class=\"head-about-property\">Buy SQFT</div>\r\n <div class=\"price justify-content-between d-flex\">\r\n <div class=\"left-price\">Price/Sq.ft</div>\r\n <div class=\"right-price\">\u20B9{{propertyDetails.financeDetails.pricePerSqFeet}}</div>\r\n </div>\r\n <div class=\"sqft-quantity d-flex justify-content-between w-100 align-items-center\">\r\n <div class=\"left-sqft\">SQFT Quantity</div>\r\n <div class=\"right-sqft d-flex align-items-center\">\r\n <mat-icon (click)=\"noOfSqft > 0 ? noOfSqft = noOfSqft - 1 : noOfSqft = 0\"\r\n class=\"d-flex align-items-center justify-content-center icon\">remove</mat-icon>\r\n <div class=\"sqft-number d-flex justify-content-center\"><input type=\"number\" [(ngModel)]=\"noOfSqft\"\r\n class=\"sqft-number additional-properties-2 text-center p-0 \"></div>\r\n <mat-icon (click)=\"noOfSqft = noOfSqft + 1\"\r\n class=\"d-flex align-items-center justify-content-center icon\">add</mat-icon>\r\n </div>\r\n </div>\r\n <div class=\"payable d-flex justify-content-between align-items-center w-100\">\r\n <div class=\"payable-left\">\r\n <p class=\"pay-text\">Payable Amount</p><span class=\"pay-subtext\">(Incl. Fees & Other\r\n Levies)</span>\r\n </div>\r\n <div class=\"payable-right\">\r\n \u20B9{{ noOfSqft * propertyDetails.financeDetails.pricePerSqFeet}}\r\n </div>\r\n </div>\r\n <div class=\"buy\" (click)=\"purchaseProperty()\">\r\n Buy SQFT\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["*{font-family:DM Sans!important}.main-container{overflow-x:hidden}mat-icon{font-family:Material Icons!important}.property-numbers{padding:40px 60px 10px;background:#f2910b}.number-text{font-weight:700;font-size:35px;line-height:40px;color:#102031;font-family:DM Sans}.property-text{font-size:20px;font-weight:600;line-height:28px;color:#ffffffe6}.w-18{width:18%}.last-card{width:21%}.w-70{width:70%}.about-section{margin:30px auto}.about-property{background:#fff;border:1px solid rgba(0,0,0,.03);border-radius:10px;padding:10px;margin-bottom:15px}.head-about-property{font-weight:600;font-size:16px;line-height:26px;margin-bottom:10px}.about-property-text{font-weight:400;font-size:16px;line-height:29px;color:#01161eb3}.gap-10{gap:10px}.w-60{width:60%}.about-property-details{width:100%;justify-content:space-between;padding:13px 10px;background:#f6f5f5;border-radius:7px;margin-top:15px;margin-bottom:5px}.right-text{font-weight:500;font-size:16px;line-height:20px;color:#01161ecc}.left-text{font-weight:600;font-size:16px;line-height:20px;color:#01161e}.cards{width:30%;background:#f9fbff;border-radius:10px;padding:15px}.card-head{font-weight:600;font-size:16px;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.card-text{font-size:14px;font-weight:500;line-height:25px;text-align:center;overflow:hidden;text-overflow:ellipsis}.image-container img{height:8vh}.file{background:#f7f7f7;border-radius:5px;padding:12px;width:50%}.w-75{width:75%}.doc-text{font-size:16px;font-weight:500;line-height:26px;color:#000}.download-image{width:28px}.g-40{gap:40px}.w-40{width:40%}.sqft{background:linear-gradient(180deg,#0d1b2a,#172b40);color:#fff;width:85%;border-radius:8px;padding:15px}.right-price{width:50%;color:#fc9a11;font-size:28px;font-weight:700;line-height:32px;text-align:end}.left-price{width:50%;font-size:18px;font-weight:600;line-height:32px}.price{display:flex;background:#263f5a;border-radius:8px;padding:15px 10px}.buy{background:#36b37e;color:#fff;padding:15px;border-radius:8px;font-size:15px;font-weight:700;line-height:20px;text-align:center;cursor:pointer}.payable{padding:10px;background:#ffffffb3;border-radius:8px;margin-bottom:10px}.pay-text{font-size:14px;line-height:20px;font-weight:600;color:#000;margin-bottom:unset;border-radius:8px}.pay-subtext{font-size:10px;font-weight:500;color:#0006}.payable-right{font-weight:700;font-size:22px;line-height:32px;color:#fff}.card-container{overflow-x:scroll}.sqft-quantity{padding:15px 2px}.left-sqft{font-weight:600;font-size:16px;line-height:32px;color:#fff}.right-sqft{padding:4px;background:#f8a938;border-radius:4px;width:50%}.icon{font-size:16px;font-weight:700;color:#000;line-height:19px;width:30%;margin:0 2px}.sqft-number{background:#fff;width:70%;border-radius:4px;font-weight:700;font-size:20px;line-height:19px;color:#000;padding:10px;outline:unset}.tick-img{width:30px}.p-relative{position:relative}.propertyName{position:absolute;bottom:0;width:100%;padding:30px}.pname{font-weight:600;font-size:34px;line-height:44px;color:#fff}.plocation{font-size:16px;font-weight:500;line-height:12px;color:#fff9}.additional-properties{border-radius:50%;height:1vh;width:8px!important}.additional-properties-1{position:unset!important;padding:unset!important;margin:unset!important;width:100%}.additional-properties-2{border:unset}.gap-5{gap:5px!important}@media screen and (max-width : 475px){.property-numbers{flex-wrap:wrap;width:100%;padding:15px!important;margin-bottom:15px}.icon-text{width:50%}.last-card{width:100%!important}.right-text,.left-text{white-space:nowrap}.card-container{flex-direction:column;gap:10px;align-items:center}.cards{width:70%}.about-section{flex-direction:column;width:100%!important;margin:unset!important}.right{width:100%!important}.about-property{width:100%;border:none!important}.left{width:100%;margin:10px}.file-container{flex-direction:column}.file{width:100%!important}.sqft{width:95%}.height-30{height:30vh}.about-property-details{display:grid!important;width:100%}.propertyName{padding:10px!important}.pname{font-size:21px;line-height:10px}.additional-properties{height:1vh;width:8px!important}.number-text{font-size:26px}.property-text{font-size:18px}.head-about-property{text-align:center}}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
@@ -104,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
104
118
|
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.MatDialog }], propDecorators: { data: [{
|
105
119
|
type: Input
|
106
120
|
}] } });
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvcGVydHktZGV0YWlsL3Byb3BlcnR5LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWRldGFpbC9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7Ozs7OztBQVNsSCxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLFdBQXdCLEVBQ2xDLGNBQThCLEVBQzlCLE1BQWMsRUFDTCxTQUFvQjtRQUhuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHdkMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRO1lBQ3JCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLE1BQU0sRUFBRSxZQUFZO1lBQ3BC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bXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb3BlcnR5RGV0YWlsTW9kZWwgfSBmcm9tICcuL3Byb3BlcnR5LWRldGFpbC5tb2RlbCc7XHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3RvcmFnZUtleXMgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBheW1lbnRDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9wYXltZW50LWNvbmZpcm1hdGlvbi9wYXltZW50LWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1wcm9wZXJ0eS1kZXRhaWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nRm9yLE1hdEljb24sTmdJZixGb3Jtc01vZHVsZSwgTWF0RGlhbG9nTW9kdWxlIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWRldGFpbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb3BlcnR5LWRldGFpbC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlEZXRhaWxDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhPzogUHJvcGVydHlEZXRhaWxNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdERpYWxvZzogTWF0RGlhbG9nXHJcbiAgKSB7fVxyXG5cclxuICBwcm9wZXJ0eUlkOiBzdHJpbmcgPSAnJztcclxuICBwcm9wZXJ0eURldGFpbHM6IGFueSA9IHtcclxuICAgIFwicHJvcGVydHlJZFwiOiAxMCxcclxuICAgIFwibmFtZVwiOiBcIkFuYW50YSBPbmVcIixcclxuICAgIFwibWluaW11bUludmVzdG1lbnRcIjogMTAwLFxyXG4gICAgXCJwcm9wZXJ0eVR5cGVcIjogXCJDb2xpdmluZ1wiLFxyXG4gICAgXCJkZXNjcmlwdGlvblwiOiBudWxsLFxyXG4gICAgXCJsb2NhdGlvblwiOiBcInNhbXRhIGNvbG9ueSBDaGhhdHRpc2dhcmhcIixcclxuICAgIFwiZG9jdW1lbnRzXCI6IFtdLFxyXG4gICAgXCJmaW5hbmNlRGV0YWlsc1wiOiB7XHJcbiAgICAgIFwiaWRcIjogMTEsXHJcbiAgICAgIFwicHJvcGVydHlJZFwiOiAxMCxcclxuICAgICAgXCJndWFyYW50ZWVkUk9JXCI6IDEwLFxyXG4gICAgICBcInByaWNlUGVyU3FGZWV0XCI6IDEwLFxyXG4gICAgICBcImluZGljYXRpdmVNYXJrZXRWYWx1ZVwiOiAxMCxcclxuICAgICAgXCJhbm51YWxSZXR1cm5cIjogMTAsXHJcbiAgICAgIFwiZ3VhcmFudGVlZEFubnVhbENhcGl0YWxHcm93dGhcIjogMTAsXHJcbiAgICAgIFwiY3JlYXRlZFRpbWVTdGFtcFwiOiBcIjIwMjUtMDItMTVUMDU6MzA6MDBcIixcclxuICAgICAgXCJpcnJcIjogMTBcclxuICAgIH0sXHJcbiAgICBcInllYXJcIjogMjAyMCxcclxuICAgIFwidG90YWxBcmVhU3FGZWV0XCI6IDEwLFxyXG4gICAgXCJzb2xkT3V0QXJlYVwiOiAwLFxyXG4gICAgXCJibG9ja2luZ1ByaWNlXCI6IDAsXHJcbiAgICBcImJsb2NraW5nRHVyYXRpb25cIjogMCxcclxuICAgIFwiYmVuZWZpdHNcIjogW10sXHJcbiAgICBcImltZ1VybFwiOiBbXHJcbiAgICAgIFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIixcclxuICAgICAgXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiXHJcbiAgICBdLFxyXG4gICAgXCJjcmVhdGVkVGltZVN0YW1wXCI6IFwiMjAyNS0wMi0xNVQwNTozMDowMFwiLFxyXG4gICAgXCJjcmVhdGVkQnlJZFwiOiBcIjNmYTg1ZjY0LTU3MTctNDU2Mi1iM2ZjLTJjOTYzZjY2YWZhNlwiLFxyXG4gICAgXCJjcmVhdGVkQnlOYW1lXCI6IFwic3RyaW5nXCIsXHJcbiAgICBcImFjdGl2ZVwiOiB0cnVlLFxyXG4gICAgXCJ1cGRhdGVkVGltZVN0YW1wXCI6IFwiMjAyNS0wMi0xNVQwNTozMDowMFwiLFxyXG4gICAgXCJkZWxldGVkXCI6IGZhbHNlXHJcblxyXG4gIH07XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW06IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnByb3BlcnR5SWQgPSBwYXJhbVsnaWQnXTtcclxuICAgICAgaWYodGhpcy5wcm9wZXJ0eUlkKVxyXG4gICAgICAgIHRoaXMuZ2V0UHJvcGVydHlEZXRhaWxzKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9wZXJ0eURldGFpbHModGhpcy5wcm9wZXJ0eUlkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvcGVydHlEZXRhaWxzID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGluZGV4ID0gMFxyXG5cclxuICBwcm9wZXJ0eU51bWJlcnM6IGFueSA9IFtcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIuKCuTMyMzBcIiwgdGV4dDogXCJQcmljZS9TcS5mdFwiIH0sXHJcbiAgICB7IGljb246IFwiXCIsIG51bWJlcjogXCLigrk0ODMwXCIsIHRleHQ6IFwiSW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWVcIiB9LFxyXG4gICAgeyBpY29uOiBcIlwiLCBudW1iZXI6IFwiMTglXCIsIHRleHQ6IFwiSW50ZXJuYWwgUmV0dXJucyBSYXRlXCIgfSxcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIjEyJVwiLCB0ZXh0OiBcIkFubnVhbCBSZXR1cm5zXCIgfSxcclxuICAgIHsgaWNvbjogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzI3MzkxOGMxNzM5MTczMzU1NzI1Y2hlY2tlZCUyMDEucG5nXCIsIG51bWJlcjogXCI1JVwiLCB0ZXh0OiBcIkd1YXJhbnRlZWQgYW5udWFsIGNhcGl0YWwgZ3Jvd3RoXCIgfSxcclxuICBdXHJcblxyXG4gIGFib3V0VGV4dDogc3RyaW5nID0gXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIlxyXG5cclxuICBrZXlWYWx1ZSA6IGFueSA9IFtcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBUeXBlOlwiICwgdmFsdWUgOiBcIlJlbnRhbFwifSxcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBTaXplOlwiICwgdmFsdWUgOiBcIjEyIEFjcmVcIn0sXHJcbiAgICB7a2V5ICA6IFwiWWVhcjpcIiAsIHZhbHVlIDogXCIyMDIzXCJ9XHJcbiAgXVxyXG5cclxuICBpbnZlc3RtZW50Q2FyZHMgOiBhbnkgPSBbXHJcbiAgICB7IGltZyA6IFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82OTc5NDNjMTczOTE3Njg1MzM0OGZpXzEyODc1Mzk1LnBuZ1wiICwgaGVhZCA6IFwiUmVkdWNlIHJpc2tcIiAsIHRleHQgOiBcIsKgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zXCJ9LFxyXG4gICAgeyBpbWcgOiBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNzE4ODE5YzE3MzkxNzcxMzQ5MzVzaGllbGQlMjAxLnBuZ1wiICwgaGVhZCA6IFwiR3VyYW50ZWUgR3Jvd3RoXCIgLCB0ZXh0IDogXCJHdWFyYW50ZWVkIEFubnVhbCBDYXBpdGFsIEFwcHJlY2lhdGlvblwifSxcclxuICAgIHsgaW1nIDogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzQyMTg4M2MxNzM5MTc3MTQ0ODgwZmlfMTI4NzUzOTUlMjAlMjgxJTI5LnBuZ1wiICwgaGVhZCA6IFwiRnJlZSBIb2xpZGF5IHN0YXlcIiAsIHRleHQgOiBcIkdldCAzIGRheXMgMiBuaWdodHMgZnJlZSBob2xpZGF5IHN0YXlcIn1cclxuICBdXHJcblxyXG4gIHBkZkNhcmRzIDogYW55ID0gW1wiVGl0bGUgZGVlZFwiLFwiUHJvcGVydHkgUmVnaXN0cmF0aW9uIENlcnRpZmljYXRlXCJdXHJcblxyXG4gIHNxZnQgOiBudW1iZXIgPSAzMjMwO1xyXG4gIG5vT2ZTcWZ0IDogbnVtYmVyID0gMVxyXG5cclxuICBwdXJjaGFzZVByb3BlcnR5KCkge1xyXG4gICAgaWYoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLklOVkVTVE9SX0lEKSl7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4tc2lnbnVwJ10sIHtxdWVyeVBhcmFtczoge2lkOiB0aGlzLnByb3BlcnR5RGV0YWlscy5wcm9wZXJ0eUlkfX0pXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1hdERpYWxvZy5vcGVuKFBheW1lbnRDb25maXJtYXRpb25Db21wb25lbnQsIHtwYW5lbENsYXNzOiAncGF5bWVudC1jb25maXJtYXRpb24nLCBkYXRhOiB7ZGV0YWlsczogdGhpcy5wcm9wZXJ0eURldGFpbHMsIHRvdGFsQXJlYTogdGhpcy5ub09mU3FmdH19KVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBwLXJlbGF0aXZlXCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBkYXRhLWJzLWludGVydmFsPVwiMjAwMFwiICpuZ0Zvcj1cImxldCBpbWcgb2YgcHJvcGVydHlEZXRhaWxzLmltZ1VybFwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJpbWdcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBkYXRhLWJzLWludGVydmFsPVwiMzAwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrIHctMTAwIGhlaWdodC0zMFwiIGFsdD1cInByb3BlcnR5LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHlOYW1lIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktZGV0YWlsc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwicG5hbWVcIj57e3Byb3BlcnR5RGV0YWlscy5uYW1lfX08L3A+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwbG9jYXRpb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtNVwiPjxpbWdcclxuICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8zODQyNzVjMTczNzYyOTcyOTU0NWxvY2F0aW9uX29uLnBuZ1wiXHJcbiAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uIGltYWdlXCI+IHt7cHJvcGVydHlEZXRhaWxzLmxvY2F0aW9ufX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgPCEtLSBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1lbmQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnMgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTFcIj5cclxuICAgICAgICAgIDwhLS0gYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTEgLS0+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiIGFyaWEtY3VycmVudD1cInRydWVcIiBhcmlhLWxhYmVsPVwiU2xpZGUgMVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBwcm9wZXJ0eURldGFpbHMuaW1nVXJsO2xldCBpID0gaW5kZXhcIj48L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS0gY2xhc3M9XCJhZGRpdGlvbmFsLXByb3BlcnRpZXNcIiAtLT5cclxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10YXJnZXQ9XCIjY2Fyb3VzZWxFeGFtcGxlSW50ZXJ2YWxcIiBkYXRhLWJzLXNsaWRlLXRvPVwiMVwiIGFyaWEtbGFiZWw9XCJTbGlkZSAyXCIgY2xhc3M9XCJhZGRpdGlvbmFsLXByb3BlcnRpZXNcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIGRhdGEtYnMtc2xpZGUtdG89XCIyXCIgYXJpYS1sYWJlbD1cIlNsaWRlIDNcIiBjbGFzcz1cImFkZGl0aW9uYWwtcHJvcGVydGllc1wiPjwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicHJvcGVydHktbnVtYmVycyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZS5pY29uLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cIm51bWJlci10ZXh0IG1iLTBcIj7igrl7eyBwcm9wZXJ0eURldGFpbHM/LmZpbmFuY2VEZXRhaWxzPy5wcmljZVBlclNxRmVldCB8fCAwIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPlByaWNlL1NxLmZ0PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCB3LTE4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQgdGV4dC1jZW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0xMFwiPlxyXG4gICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlLmljb24ubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJudW1iZXItdGV4dCBtYi0wXCI+4oK5e3sgcHJvcGVydHlEZXRhaWxzPy5maW5hbmNlRGV0YWlscz8uaW5kaWNhdGl2ZU1hcmtldFZhbHVlIHx8IDAgfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtMSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJwcm9wZXJ0eS10ZXh0XCI+SW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0IHctMThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB0ZXh0LWNlbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGUuaWNvbi5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmlyciB8fCAwIH19JTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC0xIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LXRleHRcIj5JbnRlcm5hbCBSZXR1cm5zIFJhdGU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0IHctMThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB0ZXh0LWNlbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGUuaWNvbi5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmFubnVhbFJldHVybiB8fCAwIH19JTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC0xIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LXRleHRcIj5Bbm51YWwgUmV0dXJuczwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8yNzM5MThjMTczOTE3MzM1NTcyNWNoZWNrZWQlMjAxLnBuZ1wiIGFsdD1cIkljb25cIiBjbGFzcz1cInRpY2staW1nXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmFubnVhbFJldHVybiB8fCAwfX0lPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPkd1YXJhbnRlZWQgYW5udWFsIGNhcGl0YWwgZ3Jvd3RoPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhYm91dC1zZWN0aW9uIHctNzAgZC1mbGV4IGctNDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodCB3LTYwIFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1hYm91dC1wcm9wZXJ0eVwiPkFib3V0IFByb3BlcnR5PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LWRldGFpbHMgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdhcC0xMCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdGV4dFwiPlByb3BlcnR5IFR5cGU6IDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy5wcm9wZXJ0eVR5cGV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdhcC0xMCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdGV4dFwiPlByb3BlcnR5IFNpemU6PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtdGV4dFwiPnt7cHJvcGVydHlEZXRhaWxzLnRvdGFsQXJlYVNxRmVldH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTEwIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC10ZXh0XCI+eWVhcjo8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHMueWVhcn19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHlcIiAqbmdJZj1cIihwcm9wZXJ0eURldGFpbHM/LmJlbmVmaXRzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtYWJvdXQtcHJvcGVydHlcIj5JbnZlc3RtZW50IEJlbmVmaXQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXIgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmVuZWZpdHMgb2YgcHJvcGVydHlEZXRhaWxzLmJlbmVmaXRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1jb250YWluZXIgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJiZW5lZml0cy5pbWdVcmxcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkXCI+e3tiZW5lZml0cy50aXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGV4dFwiPnt7YmVuZWZpdHMuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtYWJvdXQtcHJvcGVydHlcIj5Eb2N1bWVudHMgJiBSZXBvcnRzPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMTBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0Zvcj1cImxldCBlbGUgb2YgcGRmQ2FyZHNcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzY3ODM5NGMxNzM5MTgzNzI2MTA3aW1hZ2UlMjA5LnBuZ1wiXHJcbiAgICAgICAgICAgICAgYWx0PVwicGRmXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtdGV4dCB3LTc1IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj4ge3tlbGUubGVuZ3RoID4gMTUgP1xyXG4gICAgICAgICAgICAgIGVsZS5zdWJzdHJpbmcoMCwxNSkrJy4uLicgOiBlbGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE5NTQxNGMxNzM5MTgzNzc5ODQ1ZmlfMzUwMjQ3Ny5wbmdcIlxyXG4gICAgICAgICAgICAgIGFsdD1cImRvd25sb2FkXCIgY2xhc3M9XCJkb3dubG9hZC1pbWdcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQgdy00MFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3FmdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QnV5IFNRRlQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UganVzdGlmeS1jb250ZW50LWJldHdlZW4gZC1mbGV4XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wcmljZVwiPlByaWNlL1NxLmZ0PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtcHJpY2VcIj7igrl7e3Byb3BlcnR5RGV0YWlscy5maW5hbmNlRGV0YWlscy5wcmljZVBlclNxRmVldH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNxZnQtcXVhbnRpdHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc3FmdFwiPlNRRlQgUXVhbnRpdHk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1zcWZ0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJub09mU3FmdCA+IDAgPyBub09mU3FmdCA9IG5vT2ZTcWZ0IC0gMSA6IG5vT2ZTcWZ0ID0gMFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaWNvblwiPnJlbW92ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcWZ0LW51bWJlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJub09mU3FmdFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNxZnQtbnVtYmVyIGFkZGl0aW9uYWwtcHJvcGVydGllcy0yIHRleHQtY2VudGVyIHAtMCBcIj48L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJub09mU3FmdCA9IG5vT2ZTcWZ0ICsgMVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaWNvblwiPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YWJsZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YWJsZS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwicGF5LXRleHRcIj5QYXlhYmxlIEFtb3VudDwvcD48c3BhbiBjbGFzcz1cInBheS1zdWJ0ZXh0XCI+KEluY2wuIEZlZXMgJiBPdGhlclxyXG4gICAgICAgICAgICAgIExldmllcyk8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXlhYmxlLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIOKCuXt7IG5vT2ZTcWZ0ICogcHJvcGVydHlEZXRhaWxzLmZpbmFuY2VEZXRhaWxzLnByaWNlUGVyU3FGZWV0fX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXlcIiAoY2xpY2spPVwicHVyY2hhc2VQcm9wZXJ0eSgpXCI+XHJcbiAgICAgICAgICBCdXkgU1FGVFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvcHJvcGVydHktZGV0YWlsL3Byb3BlcnR5LWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWRldGFpbC9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFFbEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVMzRSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLFdBQXdCLEVBQ2xDLGNBQThCLEVBQzlCLE1BQWMsRUFDTCxTQUFvQjtRQUhuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNMLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHdkMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRO1lB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RSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQzNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBakhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJHQ3BCcEMsbTBUQW1MQSxnMUlEbktZLEtBQUssbUhBQUMsT0FBTywySUFBQyxJQUFJLDRGQUFDLFdBQVcsZ3hCQUFFLGVBQWU7OzJGQUk5Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLEtBQUssRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBRSxlQUFlLENBQUU7MEpBTWxELElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlEZXRhaWxNb2RlbCB9IGZyb20gJy4vcHJvcGVydHktZGV0YWlsLm1vZGVsJztcclxuaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdG9yYWdlS2V5cyB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUGF5bWVudENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3BheW1lbnQtY29uZmlybWF0aW9uL3BheW1lbnQtY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBLeWNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4va3ljLWRldGFpbHMva3ljLWRldGFpbHMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvcGVydHktZGV0YWlsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0ZvcixNYXRJY29uLE5nSWYsRm9ybXNNb2R1bGUsIE1hdERpYWxvZ01vZHVsZSBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1kZXRhaWwuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5RGV0YWlsQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgZGF0YT86IFByb3BlcnR5RGV0YWlsTW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkge31cclxuXHJcbiAgcHJvcGVydHlJZDogc3RyaW5nID0gJyc7XHJcbiAgcHJvcGVydHlEZXRhaWxzOiBhbnkgPSB7XHJcbiAgICBcInByb3BlcnR5SWRcIjogMTAsXHJcbiAgICBcIm5hbWVcIjogXCJBbmFudGEgT25lXCIsXHJcbiAgICBcIm1pbmltdW1JbnZlc3RtZW50XCI6IDEwMCxcclxuICAgIFwicHJvcGVydHlUeXBlXCI6IFwiQ29saXZpbmdcIixcclxuICAgIFwiZGVzY3JpcHRpb25cIjogbnVsbCxcclxuICAgIFwibG9jYXRpb25cIjogXCJzYW10YSBjb2xvbnkgQ2hoYXR0aXNnYXJoXCIsXHJcbiAgICBcImRvY3VtZW50c1wiOiBbXSxcclxuICAgIFwiZmluYW5jZURldGFpbHNcIjoge1xyXG4gICAgICBcImlkXCI6IDExLFxyXG4gICAgICBcInByb3BlcnR5SWRcIjogMTAsXHJcbiAgICAgIFwiZ3VhcmFudGVlZFJPSVwiOiAxMCxcclxuICAgICAgXCJwcmljZVBlclNxRmVldFwiOiAxMCxcclxuICAgICAgXCJpbmRpY2F0aXZlTWFya2V0VmFsdWVcIjogMTAsXHJcbiAgICAgIFwiYW5udWFsUmV0dXJuXCI6IDEwLFxyXG4gICAgICBcImd1YXJhbnRlZWRBbm51YWxDYXBpdGFsR3Jvd3RoXCI6IDEwLFxyXG4gICAgICBcImNyZWF0ZWRUaW1lU3RhbXBcIjogXCIyMDI1LTAyLTE1VDA1OjMwOjAwXCIsXHJcbiAgICAgIFwiaXJyXCI6IDEwXHJcbiAgICB9LFxyXG4gICAgXCJ5ZWFyXCI6IDIwMjAsXHJcbiAgICBcInRvdGFsQXJlYVNxRmVldFwiOiAxMCxcclxuICAgIFwic29sZE91dEFyZWFcIjogMCxcclxuICAgIFwiYmxvY2tpbmdQcmljZVwiOiAwLFxyXG4gICAgXCJibG9ja2luZ0R1cmF0aW9uXCI6IDAsXHJcbiAgICBcImJlbmVmaXRzXCI6IFtdLFxyXG4gICAgXCJpbWdVcmxcIjogW1xyXG4gICAgICBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCIsXHJcbiAgICAgIFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy84MTU5MjFjMTczOTI1NDg0MzE4NmltYWdlJTIwJTI4NSUyOS5wbmdcIlxyXG4gICAgXSxcclxuICAgIFwiY3JlYXRlZFRpbWVTdGFtcFwiOiBcIjIwMjUtMDItMTVUMDU6MzA6MDBcIixcclxuICAgIFwiY3JlYXRlZEJ5SWRcIjogXCIzZmE4NWY2NC01NzE3LTQ1NjItYjNmYy0yYzk2M2Y2NmFmYTZcIixcclxuICAgIFwiY3JlYXRlZEJ5TmFtZVwiOiBcInN0cmluZ1wiLFxyXG4gICAgXCJhY3RpdmVcIjogdHJ1ZSxcclxuICAgIFwidXBkYXRlZFRpbWVTdGFtcFwiOiBcIjIwMjUtMDItMTVUMDU6MzA6MDBcIixcclxuICAgIFwiZGVsZXRlZFwiOiBmYWxzZVxyXG5cclxuICB9O1xyXG4gIGt5Y0RldGFpbHNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eUlkID0gcGFyYW1bJ2lkJ107XHJcbiAgICAgIGlmKHRoaXMucHJvcGVydHlJZClcclxuICAgICAgICB0aGlzLmdldFByb3BlcnR5RGV0YWlscygpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5reWNEZXRhaWxzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlEZXRhaWxzKCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9wZXJ0eURldGFpbHModGhpcy5wcm9wZXJ0eUlkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvcGVydHlEZXRhaWxzID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGluZGV4ID0gMFxyXG5cclxuICBwcm9wZXJ0eU51bWJlcnM6IGFueSA9IFtcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIuKCuTMyMzBcIiwgdGV4dDogXCJQcmljZS9TcS5mdFwiIH0sXHJcbiAgICB7IGljb246IFwiXCIsIG51bWJlcjogXCLigrk0ODMwXCIsIHRleHQ6IFwiSW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWVcIiB9LFxyXG4gICAgeyBpY29uOiBcIlwiLCBudW1iZXI6IFwiMTglXCIsIHRleHQ6IFwiSW50ZXJuYWwgUmV0dXJucyBSYXRlXCIgfSxcclxuICAgIHsgaWNvbjogXCJcIiwgbnVtYmVyOiBcIjEyJVwiLCB0ZXh0OiBcIkFubnVhbCBSZXR1cm5zXCIgfSxcclxuICAgIHsgaWNvbjogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzI3MzkxOGMxNzM5MTczMzU1NzI1Y2hlY2tlZCUyMDEucG5nXCIsIG51bWJlcjogXCI1JVwiLCB0ZXh0OiBcIkd1YXJhbnRlZWQgYW5udWFsIGNhcGl0YWwgZ3Jvd3RoXCIgfSxcclxuICBdXHJcblxyXG4gIGFib3V0VGV4dDogc3RyaW5nID0gXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIlxyXG5cclxuICBrZXlWYWx1ZSA6IGFueSA9IFtcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBUeXBlOlwiICwgdmFsdWUgOiBcIlJlbnRhbFwifSxcclxuICAgIHtrZXkgIDogXCJQcm9wZXJ0eSBTaXplOlwiICwgdmFsdWUgOiBcIjEyIEFjcmVcIn0sXHJcbiAgICB7a2V5ICA6IFwiWWVhcjpcIiAsIHZhbHVlIDogXCIyMDIzXCJ9XHJcbiAgXVxyXG5cclxuICBpbnZlc3RtZW50Q2FyZHMgOiBhbnkgPSBbXHJcbiAgICB7IGltZyA6IFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82OTc5NDNjMTczOTE3Njg1MzM0OGZpXzEyODc1Mzk1LnBuZ1wiICwgaGVhZCA6IFwiUmVkdWNlIHJpc2tcIiAsIHRleHQgOiBcIsKgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zXCJ9LFxyXG4gICAgeyBpbWcgOiBcImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNzE4ODE5YzE3MzkxNzcxMzQ5MzVzaGllbGQlMjAxLnBuZ1wiICwgaGVhZCA6IFwiR3VyYW50ZWUgR3Jvd3RoXCIgLCB0ZXh0IDogXCJHdWFyYW50ZWVkIEFubnVhbCBDYXBpdGFsIEFwcHJlY2lhdGlvblwifSxcclxuICAgIHsgaW1nIDogXCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzQyMTg4M2MxNzM5MTc3MTQ0ODgwZmlfMTI4NzUzOTUlMjAlMjgxJTI5LnBuZ1wiICwgaGVhZCA6IFwiRnJlZSBIb2xpZGF5IHN0YXlcIiAsIHRleHQgOiBcIkdldCAzIGRheXMgMiBuaWdodHMgZnJlZSBob2xpZGF5IHN0YXlcIn1cclxuICBdXHJcblxyXG4gIHBkZkNhcmRzIDogYW55ID0gW1wiVGl0bGUgZGVlZFwiLFwiUHJvcGVydHkgUmVnaXN0cmF0aW9uIENlcnRpZmljYXRlXCJdXHJcblxyXG4gIHNxZnQgOiBudW1iZXIgPSAzMjMwO1xyXG4gIG5vT2ZTcWZ0IDogbnVtYmVyID0gMVxyXG5cclxuICBwdXJjaGFzZVByb3BlcnR5KCkge1xyXG4gICAgaWYoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFN0b3JhZ2VLZXlzLklOVkVTVE9SX0lEKSl7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4tc2lnbnVwJ10sIHtxdWVyeVBhcmFtczoge2lkOiB0aGlzLnByb3BlcnR5RGV0YWlscy5wcm9wZXJ0eUlkfX0pXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0S3ljRGV0YWlscygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0S3ljRGV0YWlscygpIHtcclxuICAgIHRoaXMua3ljRGV0YWlsc1N1YnNjcmlwdGlvbiA9IHRoaXMucmVzdFNlcnZpY2UuZ2V0S3ljRGV0YWlscygpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYocmVzPy5tZXNzYWdlPy5wYW5WZXJpZmllZCA9PT0gJ1ZBTElEJyAmJiByZXM/Lm1lc3NhZ2U/LmFhZGhhYXJWZXJpZmllZCA9PT0gJ1ZBTElEJykge1xyXG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oUGF5bWVudENvbmZpcm1hdGlvbkNvbXBvbmVudCwge3BhbmVsQ2xhc3M6ICdwYXltZW50LWNvbmZpcm1hdGlvbicsIGRhdGE6IHtkZXRhaWxzOiB0aGlzLnByb3BlcnR5RGV0YWlscywgdG90YWxBcmVhOiB0aGlzLm5vT2ZTcWZ0fX0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oS3ljRGV0YWlsc0NvbXBvbmVudCwgeyBwYW5lbENsYXNzOiBcImxvZ2luLXNpZ251cFwiIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBpZD1cImNhcm91c2VsRXhhbXBsZUludGVydmFsXCIgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBwLXJlbGF0aXZlXCIgZGF0YS1icy1yaWRlPVwiY2Fyb3VzZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBhY3RpdmVcIiBkYXRhLWJzLWludGVydmFsPVwiMjAwMFwiICpuZ0Zvcj1cImxldCBpbWcgb2YgcHJvcGVydHlEZXRhaWxzLmltZ1VybFwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJpbWdcIiBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBkYXRhLWJzLWludGVydmFsPVwiMzAwMFwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzgxNTkyMWMxNzM5MjU0ODQzMTg2aW1hZ2UlMjAlMjg1JTI5LnBuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWJsb2NrIHctMTAwIGhlaWdodC0zMFwiIGFsdD1cInByb3BlcnR5LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGRhdGEtYnMtaW50ZXJ2YWw9XCIzMDAwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvODE1OTIxYzE3MzkyNTQ4NDMxODZpbWFnZSUyMCUyODUlMjkucG5nXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2sgdy0xMDAgaGVpZ2h0LTMwXCIgYWx0PVwicHJvcGVydHktaW1hZ2VcIj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHlOYW1lIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktZGV0YWlsc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwicG5hbWVcIj57e3Byb3BlcnR5RGV0YWlscy5uYW1lfX08L3A+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwbG9jYXRpb24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtNVwiPjxpbWdcclxuICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8zODQyNzVjMTczNzYyOTcyOTU0NWxvY2F0aW9uX29uLnBuZ1wiXHJcbiAgICAgICAgICAgIGFsdD1cImxvY2F0aW9uIGltYWdlXCI+IHt7cHJvcGVydHlEZXRhaWxzLmxvY2F0aW9ufX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICAgICAgPCEtLSBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1lbmQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnMgYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTFcIj5cclxuICAgICAgICAgIDwhLS0gYWRkaXRpb25hbC1wcm9wZXJ0aWVzLTEgLS0+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIFthdHRyLmRhdGEtYnMtc2xpZGUtdG9dPVwiaVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aXZlIGFkZGl0aW9uYWwtcHJvcGVydGllc1wiIGFyaWEtY3VycmVudD1cInRydWVcIiBhcmlhLWxhYmVsPVwiU2xpZGUgMVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBwcm9wZXJ0eURldGFpbHMuaW1nVXJsO2xldCBpID0gaW5kZXhcIj48L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS0gY2xhc3M9XCJhZGRpdGlvbmFsLXByb3BlcnRpZXNcIiAtLT5cclxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10YXJnZXQ9XCIjY2Fyb3VzZWxFeGFtcGxlSW50ZXJ2YWxcIiBkYXRhLWJzLXNsaWRlLXRvPVwiMVwiIGFyaWEtbGFiZWw9XCJTbGlkZSAyXCIgY2xhc3M9XCJhZGRpdGlvbmFsLXByb3BlcnRpZXNcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRhcmdldD1cIiNjYXJvdXNlbEV4YW1wbGVJbnRlcnZhbFwiIGRhdGEtYnMtc2xpZGUtdG89XCIyXCIgYXJpYS1sYWJlbD1cIlNsaWRlIDNcIiBjbGFzcz1cImFkZGl0aW9uYWwtcHJvcGVydGllc1wiPjwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicHJvcGVydHktbnVtYmVycyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZS5pY29uLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cIm51bWJlci10ZXh0IG1iLTBcIj7igrl7eyBwcm9wZXJ0eURldGFpbHM/LmZpbmFuY2VEZXRhaWxzPy5wcmljZVBlclNxRmVldCB8fCAwIH19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPlByaWNlL1NxLmZ0PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCB3LTE4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQgdGV4dC1jZW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0xMFwiPlxyXG4gICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlLmljb24ubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJudW1iZXItdGV4dCBtYi0wXCI+4oK5e3sgcHJvcGVydHlEZXRhaWxzPy5maW5hbmNlRGV0YWlscz8uaW5kaWNhdGl2ZU1hcmtldFZhbHVlIHx8IDAgfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtMSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJwcm9wZXJ0eS10ZXh0XCI+SW5kaWNhdGl2ZSBNYXJrZXQgVmFsdWU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0IHctMThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB0ZXh0LWNlbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGUuaWNvbi5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmlyciB8fCAwIH19JTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC0xIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LXRleHRcIj5JbnRlcm5hbCBSZXR1cm5zIFJhdGU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0IHctMThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dCB0ZXh0LWNlbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTEwXCI+XHJcbiAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGUuaWNvbi5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImVsZS5pY29uXCIgYWx0PVwiSWNvblwiIGNsYXNzPVwidGljay1pbWdcIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmFubnVhbFJldHVybiB8fCAwIH19JTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC0xIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInByb3BlcnR5LXRleHRcIj5Bbm51YWwgUmV0dXJuczwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXRleHQgdy0xOFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0IHRleHQtY2VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMTBcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8yNzM5MThjMTczOTE3MzM1NTcyNWNoZWNrZWQlMjAxLnBuZ1wiIGFsdD1cIkljb25cIiBjbGFzcz1cInRpY2staW1nXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibnVtYmVyLXRleHQgbWItMFwiPnt7IHByb3BlcnR5RGV0YWlscz8uZmluYW5jZURldGFpbHM/LmFubnVhbFJldHVybiB8fCAwfX0lPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTEgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwicHJvcGVydHktdGV4dFwiPkd1YXJhbnRlZWQgYW5udWFsIGNhcGl0YWwgZ3Jvd3RoPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhYm91dC1zZWN0aW9uIHctNzAgZC1mbGV4IGctNDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodCB3LTYwIFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZC1hYm91dC1wcm9wZXJ0eVwiPkFib3V0IFByb3BlcnR5PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5LWRldGFpbHMgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdhcC0xMCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdGV4dFwiPlByb3BlcnR5IFR5cGU6IDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXRleHRcIj57e3Byb3BlcnR5RGV0YWlscy5wcm9wZXJ0eVR5cGV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdhcC0xMCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtdGV4dFwiPlByb3BlcnR5IFNpemU6PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtdGV4dFwiPnt7cHJvcGVydHlEZXRhaWxzLnRvdGFsQXJlYVNxRmVldH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTEwIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC10ZXh0XCI+eWVhcjo8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC10ZXh0XCI+e3twcm9wZXJ0eURldGFpbHMueWVhcn19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtcHJvcGVydHlcIiAqbmdJZj1cIihwcm9wZXJ0eURldGFpbHM/LmJlbmVmaXRzPy5sZW5ndGggfHwgMCkgPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtYWJvdXQtcHJvcGVydHlcIj5JbnZlc3RtZW50IEJlbmVmaXQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250YWluZXIgZC1mbGV4IGdhcC0xMFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYmVuZWZpdHMgb2YgcHJvcGVydHlEZXRhaWxzLmJlbmVmaXRzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1jb250YWluZXIgdy0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJiZW5lZml0cy5pbWdVcmxcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkXCI+e3tiZW5lZml0cy50aXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGV4dFwiPnt7YmVuZWZpdHMuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXByb3BlcnR5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWQtYWJvdXQtcHJvcGVydHlcIj5Eb2N1bWVudHMgJiBSZXBvcnRzPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMTBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0Zvcj1cImxldCBlbGUgb2YgcGRmQ2FyZHNcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzY3ODM5NGMxNzM5MTgzNzI2MTA3aW1hZ2UlMjA5LnBuZ1wiXHJcbiAgICAgICAgICAgICAgYWx0PVwicGRmXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2MtdGV4dCB3LTc1IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj4ge3tlbGUubGVuZ3RoID4gMTUgP1xyXG4gICAgICAgICAgICAgIGVsZS5zdWJzdHJpbmcoMCwxNSkrJy4uLicgOiBlbGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE5NTQxNGMxNzM5MTgzNzc5ODQ1ZmlfMzUwMjQ3Ny5wbmdcIlxyXG4gICAgICAgICAgICAgIGFsdD1cImRvd25sb2FkXCIgY2xhc3M9XCJkb3dubG9hZC1pbWdcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQgdy00MFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3FmdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkLWFib3V0LXByb3BlcnR5XCI+QnV5IFNRRlQ8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2UganVzdGlmeS1jb250ZW50LWJldHdlZW4gZC1mbGV4XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1wcmljZVwiPlByaWNlL1NxLmZ0PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQtcHJpY2VcIj7igrl7e3Byb3BlcnR5RGV0YWlscy5maW5hbmNlRGV0YWlscy5wcmljZVBlclNxRmVldH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNxZnQtcXVhbnRpdHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc3FmdFwiPlNRRlQgUXVhbnRpdHk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1zcWZ0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJub09mU3FmdCA+IDAgPyBub09mU3FmdCA9IG5vT2ZTcWZ0IC0gMSA6IG5vT2ZTcWZ0ID0gMFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaWNvblwiPnJlbW92ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcWZ0LW51bWJlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJub09mU3FmdFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNxZnQtbnVtYmVyIGFkZGl0aW9uYWwtcHJvcGVydGllcy0yIHRleHQtY2VudGVyIHAtMCBcIj48L2Rpdj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJub09mU3FmdCA9IG5vT2ZTcWZ0ICsgMVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgaWNvblwiPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YWJsZSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5YWJsZS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwicGF5LXRleHRcIj5QYXlhYmxlIEFtb3VudDwvcD48c3BhbiBjbGFzcz1cInBheS1zdWJ0ZXh0XCI+KEluY2wuIEZlZXMgJiBPdGhlclxyXG4gICAgICAgICAgICAgIExldmllcyk8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXlhYmxlLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIOKCuXt7IG5vT2ZTcWZ0ICogcHJvcGVydHlEZXRhaWxzLmZpbmFuY2VEZXRhaWxzLnByaWNlUGVyU3FGZWV0fX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXlcIiAoY2xpY2spPVwicHVyY2hhc2VQcm9wZXJ0eSgpXCI+XHJcbiAgICAgICAgICBCdXkgU1FGVFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
@@ -116,7 +116,6 @@ export class PropertyListComponent extends BaseSection {
|
|
116
116
|
ngOnInit() {
|
117
117
|
this.styles = this.data?.styles;
|
118
118
|
this.content = this.data?.content;
|
119
|
-
debugger;
|
120
119
|
this.getPropertyList();
|
121
120
|
}
|
122
121
|
getPropertyList() {
|
@@ -167,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
167
166
|
}], customClass: [{
|
168
167
|
type: Input
|
169
168
|
}] } });
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENB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QiwwQkFBMEI7OzJGQUtqQixxQkFBcUI7a0JBdkJqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjtxQkFDM0I7cUdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlMaXN0Q29udGVudE1vZGFsLCBQcm9wZXJ0eUxpc3RNb2RhbCwgUHJvcGVydHlMaXN0U3R5bGVzTW9kYWwgfSBmcm9tICcuL3Byb3BlcnR5LWxpc3QubW9kYWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIENvbG9yRGlyZWN0aXZlLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1saXN0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUxpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBQcm9wZXJ0eUxpc3RNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBzdHlsZXM/OiBQcm9wZXJ0eUxpc3RTdHlsZXNNb2RhbDtcclxuICBjb250ZW50PzogUHJvcGVydHlMaXN0Q29udGVudE1vZGFsO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMuZ2V0UHJvcGVydHlMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9wZXJ0eUxpc3QoKSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFByb3BlcnR5TGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eUxpc3QgPSByZXMuY29udGVudFxyXG4gICAgICBjb25zb2xlLmxvZyhyZXMpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJvcGVydHlMaXN0OiBhbnlbXSA9IFtcclxuICAgIHtcclxuICAgICAgcHJvcGVydHlJZDogMSxcclxuICAgICAgbmFtZTogJ2FuYW50YSBvbmUnLFxyXG4gICAgICBtaW5pbXVtSW52ZXN0bWVudDogNTAwMCxcclxuICAgICAgcHJvcGVydHlUeXBlOiAnUmVudGFsJyxcclxuICAgICAgbG9jYXRpb246ICdIeWRlcmFiYWQsIFRlbGFuZ2FuYScsXHJcbiAgICAgIGltZ1VybDogWydodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwNzkyM2MxNzM3NjI3MDc3MDA1aW1hZ2UlMjAlMjg0JTI5LnBuZyddLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIixcclxuICAgICAgeWVhcjogMjAyMyxcclxuICAgICAgdG90YWxBcmVhU3FGZWV0OiAxMjAwLFxyXG4gICAgICBiZW5lZml0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnUmVkdWNlIFJpc2snLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdHdWFyYW50ZWVkIGdyb3d0aCcsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ0ZyZWUgaG9saWRheSBzdGF5JyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3BlcnR5SWQ6IDIsXHJcbiAgICAgIG5hbWU6ICdhbmFudGEgaGlsbHMnLFxyXG4gICAgICBtaW5pbXVtSW52ZXN0bWVudDogNTAwMCxcclxuICAgICAgcHJvcGVydHlUeXBlOiAnUmVudGFsJyxcclxuICAgICAgbG9jYXRpb246ICdIeWRlcmFiYWQsIFRlbGFuZ2FuYScsXHJcbiAgICAgIGltZ1VybDogWydodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwNzkyM2MxNzM3NjI3MDc3MDA1aW1hZ2UlMjAlMjg0JTI5LnBuZyddLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIixcclxuICAgICAgeWVhcjogMjAyMyxcclxuICAgICAgdG90YWxBcmVhU3FGZWV0OiAxMjAwLFxyXG4gICAgICBiZW5lZml0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnUmVkdWNlIFJpc2snLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdHdWFyYW50ZWVkIGdyb3d0aCcsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ0ZyZWUgaG9saWRheSBzdGF5JyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3BlcnR5SWQ6IDIsXHJcbiAgICAgIG5hbWU6ICdhbmFudGEgaGlsbHMnLFxyXG4gICAgICBtaW5pbXVtSW52ZXN0bWVudDogNTAwMCxcclxuICAgICAgcHJvcGVydHlUeXBlOiAnUmVudGFsJyxcclxuICAgICAgbG9jYXRpb246ICdIeWRlcmFiYWQsIFRlbGFuZ2FuYScsXHJcbiAgICAgIGltZ1VybDogWydodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwNzkyM2MxNzM3NjI3MDc3MDA1aW1hZ2UlMjAlMjg0JTI5LnBuZyddLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJBbmFudGEgb25lIEFwYXJ0bWVudHMgaXMgYSBwcmVtaXVtIHJlc2lkZW50aWFsIGRldmVsb3BtZW50IGxvY2F0ZWQgaW4gdGhlIGJ1c3RsaW5nIGhlYXJ0IG9mIGh5ZGVyYWJhZC4gSXQgb2ZmZXJzIG1vZGVybiBhbWVuaXRpZXMgYW5kIGEgbHV4dXJpb3VzIGxpZmVzdHlsZSBkZXNpZ25lZCB0byBtZWV0IHRoZSBuZWVkcyBvZiB1cmJhbiBmYW1pbGllcyBhbmQgcHJvZmVzc2lvbmFscy5cIixcclxuICAgICAgeWVhcjogMjAyMyxcclxuICAgICAgdG90YWxBcmVhU3FGZWV0OiAxMjAwLFxyXG4gICAgICBiZW5lZml0czogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnUmVkdWNlIFJpc2snLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdHdWFyYW50ZWVkIGdyb3d0aCcsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ0ZyZWUgaG9saWRheSBzdGF5JyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH1cclxuICBdXHJcblxyXG4gIGdldCBzdHlsZXNMYXlvdXQoKSB7XHJcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG5cclxuICBnZXQgaGVhZGluZ1NwYWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVzPy5sYXlvdXQuaGVhZGluZ1NwYWNpbmcgYXMgU1BBQ0lORztcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0VG9Qcm9wZXJ0eURldGFpbHMocHJvcGVydHlJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYGRldGFpbHNgXSwge3F1ZXJ5UGFyYW1zOiB7aWQ6IHByb3BlcnR5SWR9fSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cInRvdGFsLWNvbnRhaW5lclwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgIDxkaXYgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9PdmVybGF5XT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJzdHlsZXNMYXlvdXRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIlxyXG4gICAgICAgIFtzaW1wb0xheW91dF09XCJzdHlsZXM/LmxheW91dFwiPlxyXG4gICAgICAgIDxkaXYgW3NpbXBvQ29udGVudFRpdGxlU3BhY2VdPVwiaGVhZGluZ1NwYWNlXCIgW2lkXT1cImRhdGE/LmlkXCIgY2xhc3M9XCJjb250ZW50LXNpZGVcIj5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGlucHV0IG9mIGNvbnRlbnQ/LmlucHV0VGV4dFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dFwiIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiXHJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpbnB1dC52YWx1ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNlwiICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0eUxpc3RcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByb3BlcnR5Q2FyZHM7IGNvbnRleHQ6IHtkYXRhOiBwcm9wZXJ0eX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9zZWN0aW9uPlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcHJvcGVydHlDYXJkcyBsZXQtcHJvcGVydHk9XCJkYXRhXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIiAoY2xpY2spPVwicmVkaXJlY3RUb1Byb3BlcnR5RGV0YWlscyhwcm9wZXJ0eS5wcm9wZXJ0eUlkKVwiPlxyXG4gICAgPGltZyBbc3JjXT1cInByb3BlcnR5LmltZ1VybFswXVwiIGFsdD1cIlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtMTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LW5hbWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1zaWRlXCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvOTUwMzQ0YzE3MzgwNTE1OTk3NzJpY29uMi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb3BlcnR5LW5hbWUtdGV4dFwiPnt7cHJvcGVydHkubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2NhdGlvblwiPnt7cHJvcGVydHkubG9jYXRpb259fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicmlnaHQtc2lkZVwiICpuZ0lmPVwicHJvcGVydHkudW5kZXJDb25zdHJ1Y3Rpb25cIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5idWlsZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8ZGl2PlVuZGVyIENvbnN0cnVjdGlvbjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGF0cy1hcmVhXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1zdGF0XCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjAwODYzYzE3MzgwNTY1MTcwODdyZXR1cm4ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1udW1iZXJcIj4xMCUgPHNwYW4+QW5udWFsIFJldHVybnM8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1zdGF0IGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvNjAwODYzYzE3MzgwNTY1MTcwODdyZXR1cm4ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1udW1iZXJcIj4xOCUgPHNwYW4+SVJSPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1zdGF0IG10LTE1IHctMTAwXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LW51bWJlclwiPjUlIDxzcGFuPkd1YXJhbnRlZWQgYW5udWFsIGdyb3d0aDwvc3Bhbj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxocj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbS1hcmVhXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbi1pbnZlc3RtZW50XCI+XHJcbiAgICAgICAgICA8cD57e3Byb3BlcnR5Lm1pbmltdW1JbnZlc3RtZW50fX08L3A+XHJcbiAgICAgICAgICA8ZGl2Pk1pbi5JbnZlc3RtZW50IChTcS5mdCk8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cIihkYXRhPy5pZCB8fCAnJykrKGRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5pZCB8fCAnJylcIlxyXG4gICAgICAgICAgW2J1dHRvblN0eWxlXT1cImRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5zdHlsZXNcIiBbY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPktub3dcclxuICAgICAgICAgIE1vcmU8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENB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QixxQkFBcUI7a0JBdkJqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjtxQkFDM0I7cUdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlMaXN0Q29udGVudE1vZGFsLCBQcm9wZXJ0eUxpc3RNb2RhbCwgUHJvcGVydHlMaXN0U3R5bGVzTW9kYWwgfSBmcm9tICcuL3Byb3BlcnR5LWxpc3QubW9kYWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIENvbG9yRGlyZWN0aXZlLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1saXN0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUxpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBQcm9wZXJ0eUxpc3RNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBzdHlsZXM/OiBQcm9wZXJ0eUxpc3RTdHlsZXNNb2RhbDtcclxuICBjb250ZW50PzogUHJvcGVydHlMaXN0Q29udGVudE1vZGFsO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLmdldFByb3BlcnR5TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlMaXN0KCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9wZXJ0eUxpc3QoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvcGVydHlMaXN0ID0gcmVzLmNvbnRlbnRcclxuICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByb3BlcnR5TGlzdDogYW55W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIHByb3BlcnR5SWQ6IDEsXHJcbiAgICAgIG5hbWU6ICdhbmFudGEgb25lJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm9wZXJ0eUlkOiAyLFxyXG4gICAgICBuYW1lOiAnYW5hbnRhIGhpbGxzJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm9wZXJ0eUlkOiAyLFxyXG4gICAgICBuYW1lOiAnYW5hbnRhIGhpbGxzJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlYWRpbmdTcGFjZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0eWxlcz8ubGF5b3V0LmhlYWRpbmdTcGFjaW5nIGFzIFNQQUNJTkc7XHJcbiAgfVxyXG5cclxuICByZWRpcmVjdFRvUHJvcGVydHlEZXRhaWxzKHByb3BlcnR5SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BkZXRhaWxzYF0sIHtxdWVyeVBhcmFtczoge2lkOiBwcm9wZXJ0eUlkfX0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gIDxkaXYgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICA8ZGl2IFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgIDxkaXYgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCJcclxuICAgICAgICBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IFtzaW1wb0NvbnRlbnRUaXRsZVNwYWNlXT1cImhlYWRpbmdTcGFjZVwiIFtpZF09XCJkYXRhPy5pZFwiIGNsYXNzPVwiY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBjb250ZW50Py5pbnB1dFRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIiBjbGFzcz1cImhlYWRpbmctbGFyZ2VcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaW5wdXQudmFsdWUgfCBzYW5pdGl6ZUh0bWxcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTZcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcHJvcGVydHlMaXN0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9wZXJ0eUNhcmRzOyBjb250ZXh0OiB7ZGF0YTogcHJvcGVydHl9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnR5Q2FyZHMgbGV0LXByb3BlcnR5PVwiZGF0YVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9Qcm9wZXJ0eURldGFpbHMocHJvcGVydHkucHJvcGVydHlJZClcIj5cclxuICAgIDxpbWcgW3NyY109XCJwcm9wZXJ0eS5pbWdVcmxbMF1cIiBhbHQ9XCJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTE1XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1uYW1lXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzk1MDM0NGMxNzM4MDUxNTk5NzcyaWNvbjIucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1uYW1lLXRleHRcIj57e3Byb3BlcnR5Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9jYXRpb25cIj57e3Byb3BlcnR5LmxvY2F0aW9ufX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInJpZ2h0LXNpZGVcIiAqbmdJZj1cInByb3BlcnR5LnVuZGVyQ29uc3RydWN0aW9uXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+YnVpbGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPGRpdj5VbmRlciBDb25zdHJ1Y3Rpb248L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHMtYXJlYVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdFwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXQtbnVtYmVyXCI+MTAlIDxzcGFuPkFubnVhbCBSZXR1cm5zPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXQtbnVtYmVyXCI+MTglIDxzcGFuPklSUjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdCBtdC0xNSB3LTEwMFwiPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDA4NjNjMTczODA1NjUxNzA4N3JldHVybi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1udW1iZXJcIj41JSA8c3Bhbj5HdWFyYW50ZWVkIGFubnVhbCBncm93dGg8L3NwYW4+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aHI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tYXJlYVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaW4taW52ZXN0bWVudFwiPlxyXG4gICAgICAgICAgPHA+e3twcm9wZXJ0eS5taW5pbXVtSW52ZXN0bWVudH19PC9wPlxyXG4gICAgICAgICAgPGRpdj5NaW4uSW52ZXN0bWVudCAoU3EuZnQpPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCIoZGF0YT8uaWQgfHwgJycpKyhkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uaWQgfHwgJycpXCJcclxuICAgICAgICAgIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uc3R5bGVzXCIgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5Lbm93XHJcbiAgICAgICAgICBNb3JlPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|