tango-app-ui-manage-settings 3.0.13-dev → 3.0.14-dev
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/components/activity-logs/activity-logs.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/billing-details/billing-details.component.mjs +10 -9
- package/esm2022/lib/components/brand-details/brand-info/brand-info.component.mjs +10 -7
- package/esm2022/lib/components/brand-details/signatory-details/signatory-details.component.mjs +10 -9
- package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs +11 -8
- package/esm2022/lib/components/configurations/configurations.component.mjs +17 -13
- package/esm2022/lib/components/configurations/domain-details/domain-details.component.mjs +10 -9
- package/esm2022/lib/components/configurations/feature-configuration/feature-configuration.component.mjs +10 -9
- package/esm2022/lib/components/configurations/report-configuration/report-configuration.component.mjs +10 -7
- package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +10 -9
- package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs +11 -8
- package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +17 -10
- package/esm2022/lib/components/documents/documents.component.mjs +10 -7
- package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +53 -10
- package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +4 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +36 -33
- package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +1 -2
- package/esm2022/lib/components/tango-manage-settings/tango-manage-settings.component.mjs +8 -6
- package/esm2022/lib/guards/activity-log.guard.mjs +33 -0
- package/esm2022/lib/guards/brand-detail.guard.mjs +33 -0
- package/esm2022/lib/guards/configuration.guard.mjs +33 -0
- package/esm2022/lib/guards/contact-directory.guard.mjs +33 -0
- package/esm2022/lib/guards/documents.guard.mjs +33 -0
- package/esm2022/lib/guards/payment-subscriptions.guard.mjs +33 -0
- package/esm2022/lib/tango-manage-settings-routing.module.mjs +24 -7
- package/fesm2022/tango-app-ui-manage-settings.mjs +439 -191
- package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
- package/lib/components/brand-details/billing-details/billing-details.component.d.ts +4 -3
- package/lib/components/brand-details/brand-info/brand-info.component.d.ts +3 -1
- package/lib/components/brand-details/signatory-details/signatory-details.component.d.ts +4 -3
- package/lib/components/configurations/audit-configuration/audit-configuration.component.d.ts +3 -1
- package/lib/components/configurations/configurations.component.d.ts +3 -1
- package/lib/components/configurations/domain-details/domain-details.component.d.ts +4 -3
- package/lib/components/configurations/feature-configuration/feature-configuration.component.d.ts +4 -3
- package/lib/components/configurations/report-configuration/report-configuration.component.d.ts +3 -1
- package/lib/components/configurations/ticket-configuration/ticket-configuration.component.d.ts +4 -3
- package/lib/components/configurations/user-configuration/user-configuration.component.d.ts +3 -1
- package/lib/components/contact-directory/contact-directory.component.d.ts +5 -1
- package/lib/components/documents/documents.component.d.ts +3 -1
- package/lib/components/payments-subscription/payments-subscription.component.d.ts +5 -3
- package/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.d.ts +2 -2
- package/lib/components/tango-manage-settings/tango-manage-settings.component.d.ts +3 -2
- package/lib/guards/activity-log.guard.d.ts +2 -0
- package/lib/guards/brand-detail.guard.d.ts +2 -0
- package/lib/guards/configuration.guard.d.ts +2 -0
- package/lib/guards/contact-directory.guard.d.ts +2 -0
- package/lib/guards/documents.guard.d.ts +2 -0
- package/lib/guards/payment-subscriptions.guard.d.ts +2 -0
- package/package.json +1 -1
package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs
CHANGED
|
@@ -3,12 +3,14 @@ import { Subject, takeUntil } from 'rxjs';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
5
5
|
import * as i2 from "../../../services/client-api.service";
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "
|
|
6
|
+
import * as i3 from "tango-app-ui-global";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "tango-app-ui-shared";
|
|
8
9
|
export class UserConfigurationComponent {
|
|
9
10
|
fb;
|
|
10
11
|
apiService;
|
|
11
12
|
cd;
|
|
13
|
+
gs;
|
|
12
14
|
userConfigurationForm;
|
|
13
15
|
csmUserList = [];
|
|
14
16
|
opsUserList = [];
|
|
@@ -16,10 +18,11 @@ export class UserConfigurationComponent {
|
|
|
16
18
|
selectedOps = [];
|
|
17
19
|
destroy$ = new Subject();
|
|
18
20
|
clienId;
|
|
19
|
-
constructor(fb, apiService, cd) {
|
|
21
|
+
constructor(fb, apiService, cd, gs) {
|
|
20
22
|
this.fb = fb;
|
|
21
23
|
this.apiService = apiService;
|
|
22
24
|
this.cd = cd;
|
|
25
|
+
this.gs = gs;
|
|
23
26
|
this.initForm();
|
|
24
27
|
this.getCsmUsers();
|
|
25
28
|
this.getOpsUsers();
|
|
@@ -103,11 +106,11 @@ export class UserConfigurationComponent {
|
|
|
103
106
|
}
|
|
104
107
|
});
|
|
105
108
|
}
|
|
106
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UserConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UserConfigurationComponent, selector: "lib-user-configuration", ngImport: i0, template: "<form [formGroup]=\"userConfigurationForm\">\r\n <div class=\"row\">\r\n <div *ngIf=\"userConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"userConfigurationForm.disabled ? userConfigurationForm.enable() : userConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign CSM <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"csmUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onCsmSelect($event)\" [selectedValues]=\"[selectedCsm]\"></lib-select>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign Ops User <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"opsUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"true\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onOpsSelect($event)\" [selectedValues]=\"selectedOps\"></lib-select>\r\n </div>\r\n \r\n </div>\r\n\r\n <div *ngIf=\"userConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"], dependencies: [{ kind: "directive", type:
|
|
109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UserConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UserConfigurationComponent, selector: "lib-user-configuration", ngImport: i0, template: "<form [formGroup]=\"userConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"userConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"userConfigurationForm.disabled ? userConfigurationForm.enable() : userConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign CSM <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"csmUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onCsmSelect($event)\" [selectedValues]=\"[selectedCsm]\"></lib-select>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign Ops User <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"opsUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"true\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onOpsSelect($event)\" [selectedValues]=\"selectedOps\"></lib-select>\r\n </div>\r\n \r\n </div>\r\n\r\n <div *ngIf=\"userConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
108
111
|
}
|
|
109
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UserConfigurationComponent, decorators: [{
|
|
110
113
|
type: Component,
|
|
111
|
-
args: [{ selector: 'lib-user-configuration', template: "<form [formGroup]=\"userConfigurationForm\">\r\n <div class=\"row\">\r\n <div *ngIf=\"userConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"userConfigurationForm.disabled ? userConfigurationForm.enable() : userConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign CSM <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"csmUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onCsmSelect($event)\" [selectedValues]=\"[selectedCsm]\"></lib-select>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign Ops User <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"opsUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"true\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onOpsSelect($event)\" [selectedValues]=\"selectedOps\"></lib-select>\r\n </div>\r\n \r\n </div>\r\n\r\n <div *ngIf=\"userConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"] }]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i0.ChangeDetectorRef }] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbnMvdXNlci1jb25maWd1cmF0aW9uL3VzZXItY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL3VzZXItY29uZmlndXJhdGlvbi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU8xQyxNQUFNLE9BQU8sMEJBQTBCO0lBV2pCO0lBQXlCO0lBQXNDO0lBVG5GLHFCQUFxQixDQUFXO0lBQ2hDLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUN0QixXQUFXLEdBQU8sRUFBRSxDQUFBO0lBQ3BCLFdBQVcsR0FBTyxFQUFFLENBQUM7SUFDSixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxPQUFPLENBQVM7SUFHaEIsWUFBb0IsRUFBZSxFQUFVLFVBQTRCLEVBQVUsRUFBcUI7UUFBcEYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDdEcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUs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QUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFTO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLEdBQUc7WUFDVCxRQUFRLEVBQUMsSUFBSSxDQUFDLE9BQU87WUFDckIsV0FBVyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztZQUNsQyxZQUFZLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFPLEVBQUMsRUFBRSxDQUFBLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDeEQsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZFLElBQUksRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFO2dCQUNSLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUM7b0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7aUJBQ3BDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7dUdBMUdVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLDhEQ1Z2QywyckdBNkNPOzsyRkRuQ00sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11c2VyLWNvbmZpZ3VyYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQ29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgXHJcbiAgdXNlckNvbmZpZ3VyYXRpb25Gb3JtOiBGb3JtR3JvdXBcclxuICBjc21Vc2VyTGlzdDogYW55ID0gW107XHJcbiAgb3BzVXNlckxpc3Q6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ3NtOmFueSA9IFtdXHJcbiAgc2VsZWN0ZWRPcHM6YW55ID0gW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpU2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5nZXRDc21Vc2VycygpXHJcbiAgICB0aGlzLmdldE9wc1VzZXJzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QXNzaWduZWRVc2VycyhlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnVzZXJDb25maWd1cmF0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBkb21haW5OYW1lOiBbJyddLFxyXG4gICAgICBpc0VuYWJsZTogWycnXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy51c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7ICAgICBcclxuICAgIHRoaXMuc2VsZWN0ZWRDc20gPSBkYXRhPy5jc20gXHJcbiAgICB0aGlzLnNlbGVjdGVkT3BzID0gZGF0YT8ub3BzICAgICAgXHJcbiAgfVxyXG5cclxuICBnZXRDc21Vc2Vycygpe1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmdldENzbVVzZXJzKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlcyk9PntcclxuICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgdGhpcy5jc21Vc2VyTGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0T3BzVXNlcnMoKXtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRPcHNVc2VycygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXMpPT57XHJcbiAgICAgICAgaWYocmVzKXtcclxuICAgICAgICAgIHRoaXMub3BzVXNlckxpc3QgPSByZXMuZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEFzc2lnbmVkVXNlcnMoY2xpZW50SWQ6c3RyaW5nKXtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRBc3NpZ25lZFVzZXJzKGNsaWVudElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDooZSk9PntcclxuICAgICAgICBpZihlPy5kYXRhPy5yZXN1bHQ/Lmxlbmd0aCl7XHJcbiAgICAgICAgICBlPy5kYXRhPy5yZXN1bHQuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYoZWxlbWVudC50YW5nb1VzZXJUeXBlID09PSAnY3NtJyl7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENzbSA9IGVsZW1lbnQ/LmFzc2lnbmVkVXNlcj8uWzBdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoZWxlbWVudC50YW5nb1VzZXJUeXBlID09PSAndXNlcicpe1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHMgPSBlbGVtZW50Py5hc3NpZ25lZFVzZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQ3NtU2VsZWN0KGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ3NtID0gZXZlbnRcclxuICB9XHJcblxyXG4gIG9uT3BzU2VsZWN0KGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3BzID0gZXZlbnRcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy51c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDp0aGlzLmNsaWVuSWQsXHJcbiAgICAgIGFzc2lnbmVkQ3NtOnRoaXMuc2VsZWN0ZWRDc20uZW1haWwsXHJcbiAgICAgIGFzc2lnbmVkVXNlcjp0aGlzLnNlbGVjdGVkT3BzLm1hcCgoY3NtOmFueSk9PmNzbS5lbWFpbCksXHJcbiAgICB9ICAgIFxyXG5cclxuICAgIHRoaXMuYXBpU2VydmljZS5hc3NpZ25Dc20oZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KGUpPT57XHJcbiAgICAgICAgaWYoZT8uZGF0YT8ucmVzdWx0KXtcclxuICAgICAgICAgIHRoaXMuZ2V0QXNzaWduZWRVc2Vycyh0aGlzLmNsaWVuSWQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckNvbmZpZ3VyYXRpb25Gb3JtLmRpc2FibGVkXCIgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVzZXJDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZCA/IHVzZXJDb25maWd1cmF0aW9uRm9ybS5lbmFibGUoKSA6IHVzZXJDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBhbGlnbi1pdGVtcy1lbmRcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI1NzlfMjUxMjUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjcgMi40OTk5M0MxNC4zODU5IDIuMjgxMDYgMTQuNjQ1NyAyLjEwNzQ0IDE0LjkzMTcgMS45ODg5OUMxNS4yMTc2IDEuODcwNTQgMTUuNTI0MSAxLjgwOTU3IDE1LjgzMzcgMS44MDk1N0MxNi4xNDMyIDEuODA5NTcgMTYuNDQ5NyAxLjg3MDU0IDE2LjczNTcgMS45ODg5OUMxNy4wMjE2IDIuMTA3NDQgMTcuMjgxNSAyLjI4MTA2IDE3LjUwMDMgMi40OTk5M0MxNy43MTkyIDIuNzE4OCAxNy44OTI4IDIuOTc4NjMgMTguMDExMyAzLjI2NDZDMTguMTI5NyAzLjU1MDU3IDE4LjE5MDcgMy44NTcwNiAxOC4xOTA3IDQuMTY2NTlDMTguMTkwNyA0LjQ3NjEyIDE4LjEyOTcgNC43ODI2MiAxOC4wMTEzIDUuMDY4NTlDMTcuODkyOCA1LjM1NDU1IDE3LjcxOTIgNS42MTQzOSAxNy41MDAzIDUuODMzMjZMNi4yNTAzMyAxNy4wODMzTDEuNjY2OTkgMTguMzMzM0wyLjkxNjk5IDEzLjc0OTlMMTQuMTY3IDIuNDk5OTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjU3OV8yNTEyNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Bc3NpZ24gQ1NNIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cImNzbVVzZXJMaXN0XCIgW2Rpc2FibGVkXT1cInVzZXJDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCIndXNlck5hbWUnXCIgW2lkRmllbGRdPVwiJ2VtYWlsJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25Dc21TZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDc21dXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QXNzaWduIE9wcyBVc2VyIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cIm9wc1VzZXJMaXN0XCIgW2Rpc2FibGVkXT1cInVzZXJDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZFwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIid1c2VyTmFtZSdcIiBbaWRGaWVsZF09XCInZW1haWwnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbk9wc1NlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cInNlbGVjdGVkT3BzXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInVzZXJDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTUgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9hPlxyXG4gICAgICAgICAgICA8YSB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPjxzcGFuPlNhdmUgQ2hhbmdlczwvc3Bhbj48L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZm9ybT4iXX0=
|
|
114
|
+
args: [{ selector: 'lib-user-configuration', template: "<form [formGroup]=\"userConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"userConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"userConfigurationForm.disabled ? userConfigurationForm.enable() : userConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign CSM <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"csmUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"false\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onCsmSelect($event)\" [selectedValues]=\"[selectedCsm]\"></lib-select>\r\n </div>\r\n\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Assign Ops User <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"opsUserList\" [disabled]=\"userConfigurationForm.disabled\" [multi]=\"true\" [searchField]=\"'userName'\" [idField]=\"'email'\"\r\n (selected)=\"onOpsSelect($event)\" [selectedValues]=\"selectedOps\"></lib-select>\r\n </div>\r\n \r\n </div>\r\n\r\n <div *ngIf=\"userConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"] }]
|
|
115
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i3.GlobalStateService }] });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlndXJhdGlvbnMvdXNlci1jb25maWd1cmF0aW9uL3VzZXItY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL3VzZXItY29uZmlndXJhdGlvbi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLDBCQUEwQjtJQVdqQjtJQUF5QjtJQUFzQztJQUE4QjtJQVRqSCxxQkFBcUIsQ0FBVztJQUNoQyxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsV0FBVyxHQUFPLEVBQUUsQ0FBQTtJQUNwQixXQUFXLEdBQU8sRUFBRSxDQUFDO0lBQ0osUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsT0FBTyxDQUFTO0lBR2hCLFlBQW9CLEVBQWUsRUFBVSxVQUE0QixFQUFVLEVBQXFCLEVBQVMsRUFBcUI7UUFBbEgsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNwSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDZixJQUFJLENB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YSxFQUFFLENBQUE7WUFFekIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBUztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksR0FBRztZQUNULFFBQVEsRUFBQyxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ2xDLFlBQVksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQU8sRUFBQyxFQUFFLENBQUEsR0FBRyxDQUFDLEtBQUssQ0FBQztTQUN4RCxDQUFBO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkUsSUFBSSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7Z0JBQ1IsSUFBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQztvQkFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDcEM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzt1R0ExR1UsMEJBQTBCOzJGQUExQiwwQkFBMEIsOERDWHZDLG0wR0FnRE87OzJGRHJDTSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11c2VyLWNvbmZpZ3VyYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91c2VyLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQ29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgXHJcbiAgdXNlckNvbmZpZ3VyYXRpb25Gb3JtOiBGb3JtR3JvdXBcclxuICBjc21Vc2VyTGlzdDogYW55ID0gW107XHJcbiAgb3BzVXNlckxpc3Q6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ3NtOmFueSA9IFtdXHJcbiAgc2VsZWN0ZWRPcHM6YW55ID0gW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYXBpU2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5nZXRDc21Vc2VycygpXHJcbiAgICB0aGlzLmdldE9wc1VzZXJzKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QXNzaWduZWRVc2VycyhlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnVzZXJDb25maWd1cmF0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBkb21haW5OYW1lOiBbJyddLFxyXG4gICAgICBpc0VuYWJsZTogWycnXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy51c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7ICAgICBcclxuICAgIHRoaXMuc2VsZWN0ZWRDc20gPSBkYXRhPy5jc20gXHJcbiAgICB0aGlzLnNlbGVjdGVkT3BzID0gZGF0YT8ub3BzICAgICAgXHJcbiAgfVxyXG5cclxuICBnZXRDc21Vc2Vycygpe1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmdldENzbVVzZXJzKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlcyk9PntcclxuICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgdGhpcy5jc21Vc2VyTGlzdCA9IHJlcy5kYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0T3BzVXNlcnMoKXtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRPcHNVc2VycygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXMpPT57XHJcbiAgICAgICAgaWYocmVzKXtcclxuICAgICAgICAgIHRoaXMub3BzVXNlckxpc3QgPSByZXMuZGF0YVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEFzc2lnbmVkVXNlcnMoY2xpZW50SWQ6c3RyaW5nKXtcclxuICAgIHRoaXMuYXBpU2VydmljZS5nZXRBc3NpZ25lZFVzZXJzKGNsaWVudElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDooZSk9PntcclxuICAgICAgICBpZihlPy5kYXRhPy5yZXN1bHQ/Lmxlbmd0aCl7XHJcbiAgICAgICAgICBlPy5kYXRhPy5yZXN1bHQuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYoZWxlbWVudC50YW5nb1VzZXJUeXBlID09PSAnY3NtJyl7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENzbSA9IGVsZW1lbnQ/LmFzc2lnbmVkVXNlcj8uWzBdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoZWxlbWVudC50YW5nb1VzZXJUeXBlID09PSAndXNlcicpe1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHMgPSBlbGVtZW50Py5hc3NpZ25lZFVzZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQ3NtU2VsZWN0KGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ3NtID0gZXZlbnRcclxuICB9XHJcblxyXG4gIG9uT3BzU2VsZWN0KGV2ZW50OmFueSl7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3BzID0gZXZlbnRcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy51c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDp0aGlzLmNsaWVuSWQsXHJcbiAgICAgIGFzc2lnbmVkQ3NtOnRoaXMuc2VsZWN0ZWRDc20uZW1haWwsXHJcbiAgICAgIGFzc2lnbmVkVXNlcjp0aGlzLnNlbGVjdGVkT3BzLm1hcCgoY3NtOmFueSk9PmNzbS5lbWFpbCksXHJcbiAgICB9ICAgIFxyXG5cclxuICAgIHRoaXMuYXBpU2VydmljZS5hc3NpZ25Dc20oZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KGUpPT57XHJcbiAgICAgICAgaWYoZT8uZGF0YT8ucmVzdWx0KXtcclxuICAgICAgICAgIHRoaXMuZ2V0QXNzaWduZWRVc2Vycyh0aGlzLmNsaWVuSWQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnNldHRpbmdzX2NvbmZpZ3VyYXRpb25faXNFZGl0IFwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZWRcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXNlckNvbmZpZ3VyYXRpb25Gb3JtLmRpc2FibGVkID8gdXNlckNvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZSgpIDogdXNlckNvbmZpZ3VyYXRpb25Gb3JtLmRpc2FibGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjU3OV8yNTEyNSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjE2NyAyLjQ5OTkzQzE0LjM4NTkgMi4yODEwNiAxNC42NDU3IDIuMTA3NDQgMTQuOTMxNyAxLjk4ODk5QzE1LjIxNzYgMS44NzA1NCAxNS41MjQxIDEuODA5NTcgMTUuODMzNyAxLjgwOTU3QzE2LjE0MzIgMS44MDk1NyAxNi40NDk3IDEuODcwNTQgMTYuNzM1NyAxLjk4ODk5QzE3LjAyMTYgMi4xMDc0NCAxNy4yODE1IDIuMjgxMDYgMTcuNTAwMyAyLjQ5OTkzQzE3LjcxOTIgMi43MTg4IDE3Ljg5MjggMi45Nzg2MyAxOC4wMTEzIDMuMjY0NkMxOC4xMjk3IDMuNTUwNTcgMTguMTkwNyAzLjg1NzA2IDE4LjE5MDcgNC4xNjY1OUMxOC4xOTA3IDQuNDc2MTIgMTguMTI5NyA0Ljc4MjYyIDE4LjAxMTMgNS4wNjg1OUMxNy44OTI4IDUuMzU0NTUgMTcuNzE5MiA1LjYxNDM5IDE3LjUwMDMgNS44MzMyNkw2LjI1MDMzIDE3LjA4MzNMMS42NjY5OSAxOC4zMzMzTDIuOTE2OTkgMTMuNzQ5OUwxNC4xNjcgMi40OTk5M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yNTc5XzI1MTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPkVkaXQgRGV0YWlsczwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gICAgXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QXNzaWduIENTTSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJjc21Vc2VyTGlzdFwiIFtkaXNhYmxlZF09XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZWRcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ3VzZXJOYW1lJ1wiIFtpZEZpZWxkXT1cIidlbWFpbCdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ3NtU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkQ3NtXVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkFzc2lnbiBPcHMgVXNlciA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJvcHNVc2VyTGlzdFwiIFtkaXNhYmxlZF09XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZWRcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCIndXNlck5hbWUnXCIgW2lkRmllbGRdPVwiJ2VtYWlsJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25PcHNTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJzZWxlY3RlZE9wc1wiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJ1c2VyQ29uZmlndXJhdGlvbkZvcm0uZW5hYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi01IHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIG1lLTRcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPkNhbmNlbDwvYT5cclxuICAgICAgICAgICAgPGEgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj48c3Bhbj5TYXZlIENoYW5nZXM8L3NwYW4+PC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Zvcm0+Il19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
-
import { Subject, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, Subject, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs';
|
|
3
3
|
import { FormControl } from '@angular/forms';
|
|
4
4
|
import { EditSpocComponent } from './edit-spoc/edit-spoc.component';
|
|
5
5
|
import { DeteleSpocComponent } from './detele-spoc/detele-spoc.component';
|
|
@@ -7,14 +7,16 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "../../services/client-api.service";
|
|
8
8
|
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
9
9
|
import * as i3 from "tango-app-ui-shared";
|
|
10
|
-
import * as i4 from "
|
|
11
|
-
import * as i5 from "@angular/
|
|
12
|
-
import * as i6 from "@angular/
|
|
10
|
+
import * as i4 from "tango-app-ui-global";
|
|
11
|
+
import * as i5 from "@angular/common";
|
|
12
|
+
import * as i6 from "@angular/router";
|
|
13
|
+
import * as i7 from "@angular/forms";
|
|
13
14
|
export class ContactDirectoryComponent {
|
|
14
15
|
clientService;
|
|
15
16
|
cd;
|
|
16
17
|
modalService;
|
|
17
18
|
toast;
|
|
19
|
+
gs;
|
|
18
20
|
countryList = [];
|
|
19
21
|
stateList = [];
|
|
20
22
|
cityList = [];
|
|
@@ -35,11 +37,13 @@ export class ContactDirectoryComponent {
|
|
|
35
37
|
pageSize = 10;
|
|
36
38
|
searchInput = new FormControl();
|
|
37
39
|
destroy$ = new Subject();
|
|
38
|
-
|
|
40
|
+
pageState$ = new BehaviorSubject('loading');
|
|
41
|
+
constructor(clientService, cd, modalService, toast, gs) {
|
|
39
42
|
this.clientService = clientService;
|
|
40
43
|
this.cd = cd;
|
|
41
44
|
this.modalService = modalService;
|
|
42
45
|
this.toast = toast;
|
|
46
|
+
this.gs = gs;
|
|
43
47
|
this.clientService.clientId.pipe(takeUntil(this.destroy$)).subscribe((e) => {
|
|
44
48
|
if (e) {
|
|
45
49
|
this.clienId = e;
|
|
@@ -112,6 +116,7 @@ export class ContactDirectoryComponent {
|
|
|
112
116
|
this.getSpocTable();
|
|
113
117
|
}
|
|
114
118
|
getSpocTable() {
|
|
119
|
+
this.pageState$.next('loading');
|
|
115
120
|
let filters = {
|
|
116
121
|
export: this.isExport,
|
|
117
122
|
limit: this.pageSize,
|
|
@@ -136,6 +141,7 @@ export class ContactDirectoryComponent {
|
|
|
136
141
|
if (this.isExport) {
|
|
137
142
|
this.clientService.spocTableDataExport(filters).pipe(takeUntil(this.destroy$)).subscribe({
|
|
138
143
|
next: (e) => {
|
|
144
|
+
this.pageState$.next('loaded');
|
|
139
145
|
this.clientService.saveAsTemplate(e, 'contact_directory');
|
|
140
146
|
this.isExport = false;
|
|
141
147
|
}
|
|
@@ -144,6 +150,7 @@ export class ContactDirectoryComponent {
|
|
|
144
150
|
else {
|
|
145
151
|
this.clientService.spocTableData(filters).pipe(takeUntil(this.destroy$)).subscribe({
|
|
146
152
|
next: (e) => {
|
|
153
|
+
this.pageState$.next('loaded');
|
|
147
154
|
if (e?.data?.count) {
|
|
148
155
|
this.spocList = e.data?.data;
|
|
149
156
|
this.totalItems = e.data?.count;
|
|
@@ -206,11 +213,11 @@ export class ContactDirectoryComponent {
|
|
|
206
213
|
const idArray = stores.map((e) => e.storeId);
|
|
207
214
|
return idArray;
|
|
208
215
|
}
|
|
209
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContactDirectoryComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
210
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"[selectedCity]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
|
|
216
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContactDirectoryComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
217
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"[selectedCity]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
211
218
|
}
|
|
212
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContactDirectoryComponent, decorators: [{
|
|
213
220
|
type: Component,
|
|
214
|
-
args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"[selectedCity]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"] }]
|
|
215
|
-
}], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i2.NgbModal }, { type: i3.ToastService }] });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBVTFFLE1BQU0sT0FBTyx5QkFBeUI7SUE0QmhCO0lBQXlDO0lBQStCO0lBQStCO0lBMUIzSCxXQUFXLEdBQVEsRUFBRSxDQUFBO0lBQ3JCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsUUFBUSxHQUFRLEVBQUUsQ0FBQTtJQUNsQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGVBQWUsQ0FBSztJQUNwQixhQUFhLENBQUs7SUFDbEIsWUFBWSxDQUFLO0lBQ2pCLGFBQWEsR0FBUSxFQUFFLENBQUE7SUFDdkIsT0FBTyxDQUFTO0lBRWhCLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFDbEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixX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QUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQzFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQzVDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxLQUFLLEVBQUUsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtnQkFDeEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVU7UUFDeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7dUdBeE5VLHlCQUF5QjsyRkFBekIseUJBQXlCLDZEQ2hCdEMsaTNTQXlITTs7MkZEekdPLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEVkaXRTcG9jQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0LXNwb2MvZWRpdC1zcG9jLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldGVsZVNwb2NDb21wb25lbnQgfSBmcm9tICcuL2RldGVsZS1zcG9jL2RldGVsZS1zcG9jLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb250YWN0LWRpcmVjdG9yeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0RGlyZWN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdXHJcbiAgc3RhdGVMaXN0OiBhbnkgPSBbXVxyXG4gIGNpdHlMaXN0OiBhbnkgPSBbXVxyXG4gIHN0b3JlTGlzdDogYW55ID0gW11cclxuICBzZWxlY3RlZENvdW50cnk6IGFueVxyXG4gIHNlbGVjdGVkU3RhdGU6IGFueVxyXG4gIHNlbGVjdGVkQ2l0eTogYW55XHJcbiAgc2VsZWN0ZWRTdG9yZTogYW55ID0gW11cclxuICBjbGllbklkOiBzdHJpbmc7XHJcblxyXG4gIHNwb2NMaXN0OiBhbnkgPSBbXVxyXG4gIGlzRXhwb3J0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoVmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcclxuXHJcbiAgLy8gcGFnaW5hdGlvblZhcmlhYmxlc1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgdG90YWxJdGVtcyA9IDBcclxuICBwYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF1cclxuICBwYWdlU2l6ZSA9IDEwXHJcblxyXG4gIHNlYXJjaElucHV0ID0gbmV3IEZvcm1Db250cm9sKClcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudFNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG1vZGFsU2VydmljZTpOZ2JNb2RhbCwgcHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UpIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWxsU3RvcmVzKGUpXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5nZXRBbGxDb3VudHJpZXMoKVxyXG4gICAgdGhpcy5pbml0U2VhcmNoKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ291bnRyaWVzKCkge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSBlLmRhdGFcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU3RhdGVzKGNvdW50cnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbFN0YXRlcyhjb3VudHJ5KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLnN0YXRlTGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhdGVMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ2l0aWVzKGNvdW50cnk6IHN0cmluZywgc3RhdGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENpdGllcyhjb3VudHJ5LCBzdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5jaXR5TGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2l0eUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdG9yZXMoY2xpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldFN0b3JlTGlzdChjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gZT8uZGF0YT8ucmVzdWx0XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25Db3VudHJ5U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsU3RhdGVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmlzb0NvZGUpXHJcbiAgfVxyXG5cclxuICBvblN0YXRlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZSA9IGV2ZW50XHJcbiAgICB0aGlzLmdldEFsbENpdGllcyh0aGlzLnNlbGVjdGVkQ291bnRyeS5pc29Db2RlLCB0aGlzLnNlbGVjdGVkU3RhdGUuaXNvQ29kZSlcclxuICB9XHJcblxyXG4gIG9uQ2l0eVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2l0eSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvblN0b3JlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlckFwcGx5KCkge1xyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3BvY1RhYmxlKCkge1xyXG4gICAgbGV0IGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgIGV4cG9ydDogdGhpcy5pc0V4cG9ydCxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW5JZFxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUpIHtcclxuICAgICAgZmlsdGVycy5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkpIHtcclxuICAgICAgZmlsdGVycy5jb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkubmFtZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLnN0YXRlID0gdGhpcy5zZWxlY3RlZFN0YXRlLm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2l0eSkge1xyXG4gICAgICBmaWx0ZXJzLmNpdHkgPSB0aGlzLnNlbGVjdGVkQ2l0eS5uYW1lXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXRTdG9yZUlkQXJyYXkodGhpcy5zZWxlY3RlZFN0b3JlKT8ubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuc3RvcmVJZCA9IHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSlcclxuICAgIH0gICAgXHJcblxyXG4gICAgaWYodGhpcy5pc0V4cG9ydCl7XHJcbiAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zcG9jVGFibGVEYXRhRXhwb3J0KGZpbHRlcnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7ICBcclxuICAgICAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zYXZlQXNUZW1wbGF0ZShlLCAnY29udGFjdF9kaXJlY3RvcnknKSAgICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YShmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHsgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgIGlmIChlPy5kYXRhPy5jb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnNwb2NMaXN0ID0gZS5kYXRhPy5kYXRhXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IGUuZGF0YT8uY291bnRcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHsgICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZU9mZnNldFxyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG5cclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvbkV4cG9ydCgpIHtcclxuICAgIHRoaXMuaXNFeHBvcnQgPSB0cnVlXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvcGVuRWRpdFNwb2NNb2RhbChzcG9jSWQ6c3RyaW5nLCBzdG9yZUlkOnN0cmluZykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEVkaXRTcG9jQ29tcG9uZW50LCB7IHNpemU6ICdtZCcsIGNlbnRlcmVkOiB0cnVlIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3BvY0lkID0gc3BvY0lkXHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZUlkID0gc3RvcmVJZFxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKGV2ZW50KSA9PiB7ICAgICAgXHJcbiAgICAgIGlmIChldmVudD8udHlwZSA9PT0gJ2VkaXQnKSB7ICAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jSWQ6c3RyaW5nLCBzdG9yZUlkOnN0cmluZykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKERldGVsZVNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZGVsZXRlJykgeyBcclxuICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdCgnVXNlciBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nKSAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVJZEFycmF5KHN0b3Jlczphbnkpe1xyXG4gICAgY29uc3QgaWRBcnJheSA9IHN0b3Jlcy5tYXAoKGU6YW55KT0+ZS5zdG9yZUlkKVxyXG4gICAgcmV0dXJuIGlkQXJyYXlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhY3QtY2FyZFwiPlxyXG4gICAgPGgzIGNsYXNzPVwibWItNVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+U2VsZWN0IFlvdXIgUHJlZmVyZW5jZXM8L3NwYW4+XHJcbiAgICA8L2gzPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db3VudHJ5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgIFtpdGVtc109XCJjb3VudHJ5TGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInaXNvQ29kZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ291bnRyeVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZENvdW50cnldXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdGF0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJzdGF0ZUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2lzb0NvZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvblN0YXRlU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkU3RhdGVdXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DaXR5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cImNpdHlMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIiduYW1lJ1wiIFtpZEZpZWxkXT1cIidpc29Db2RlJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25DaXR5U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkQ2l0eV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlN0b3JlIElkIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidzdG9yZU5hbWUnXCIgW2lkRmllbGRdPVwiJ3N0b3JlSWQnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvblN0b3JlU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwic2VsZWN0ZWRTdG9yZVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25GaWx0ZXJBcHBseSgpXCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgXCI+PHNwYW4+QXBwbHk8L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXNlcGVyYXRvciBtYi0xMFwiPjwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkNvbnRhY3RzIExpc3Q8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cInNlYXJjaElucHV0XCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25FeHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmUgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdG9yZSBJbmZvPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TcG9jIE5hbWUgJiBFbWFpbDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+Q29udGFjdCBOdW1iZXI8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkxvY2F0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb25zPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzcG9jIG9mIHNwb2NMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlLXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9MS1NUMTIzL2luZnJhLXRpY2tldFwiPnt7c3BvYz8uc3RvcmVOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+SUQgOiB7e3Nwb2M/LnN0b3JlSWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zcG9jTmFtZX19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1zdWJcIj57e3Nwb2M/LnNwb2NFbWFpbH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPnt7c3BvYz8uc3BvY051bWJlcn19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnN0b3JlU3RhdGV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zdG9yZUNpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLWhlaWdodFwiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAoY2xpY2spPVwib3BlbkVkaXRTcG9jTW9kYWwoc3BvYz8uc3BvY0lkLCBzcG9jPy5zdG9yZUlkKVwiIGNsYXNzPVwibWUtNVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzU1NDFfNjc1OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuMTY2OTkgMy4zMzMzMkgzLjMzMzY2QzIuODkxNjMgMy4zMzMzMiAyLjQ2NzcxIDMuNTA4OTEgMi4xNTUxNSAzLjgyMTQ3QzEuODQyNTkgNC4xMzQwMyAxLjY2Njk5IDQuNTU3OTYgMS42NjY5OSA0Ljk5OTk5VjE2LjY2NjdDMS42NjY5OSAxNy4xMDg3IDEuODQyNTkgMTcuNTMyNiAyLjE1NTE1IDE3Ljg0NTJDMi40Njc3MSAxOC4xNTc3IDIuODkxNjMgMTguMzMzMyAzLjMzMzY2IDE4LjMzMzNIMTUuMDAwM0MxNS40NDI0IDE4LjMzMzMgMTUuODY2MyAxOC4xNTc3IDE2LjE3ODggMTcuODQ1MkMxNi40OTE0IDE3LjUzMjYgMTYuNjY3IDE3LjEwODcgMTYuNjY3IDE2LjY2NjdWMTAuODMzM00xNS40MTcgMi4wODMzMkMxNS43NDg1IDEuNzUxOCAxNi4xOTgyIDEuNTY1NTUgMTYuNjY3IDEuNTY1NTVDMTcuMTM1OCAxLjU2NTU1IDE3LjU4NTUgMS43NTE4IDE3LjkxNyAyLjA4MzMyQzE4LjI0ODUgMi40MTQ4NCAxOC40MzQ4IDIuODY0NDggMTguNDM0OCAzLjMzMzMyQzE4LjQzNDggMy44MDIxNiAxOC4yNDg1IDQuMjUxOCAxNy45MTcgNC41ODMzMkwxMC4wMDAzIDEyLjVMNi42NjY5OSAxMy4zMzMzTDcuNTAwMzMgOS45OTk5OUwxNS40MTcgMi4wODMzMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81NTQxXzY3NTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAoY2xpY2spPVwib3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jPy5zcG9jSWQsIHNwb2M/LnN0b3JlSWQpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yLjUgNS4wMDAwMkg0LjE2NjY3TTQuMTY2NjcgNS4wMDAwMkgxNy41TTQuMTY2NjcgNS4wMDAwMlYxNi42NjY3QzQuMTY2NjcgMTcuMTA4NyA0LjM0MjI2IDE3LjUzMjYgNC42NTQ4MiAxNy44NDUyQzQuOTY3MzggMTguMTU3OCA1LjM5MTMxIDE4LjMzMzQgNS44MzMzMyAxOC4zMzM0SDE0LjE2NjdDMTQuNjA4NyAxOC4zMzM0IDE1LjAzMjYgMTguMTU3OCAxNS4zNDUyIDE3Ljg0NTJDMTUuNjU3NyAxNy41MzI2IDE1LjgzMzMgMTcuMTA4NyAxNS44MzMzIDE2LjY2NjdWNS4wMDAwMkg0LjE2NjY3Wk02LjY2NjY3IDUuMDAwMDJWMy4zMzMzNUM2LjY2NjY3IDIuODkxMzMgNi44NDIyNiAyLjQ2NzQgNy4xNTQ4MiAyLjE1NDg0QzcuNDY3MzggMS44NDIyOCA3Ljg5MTMxIDEuNjY2NjkgOC4zMzMzMyAxLjY2NjY5SDExLjY2NjdDMTIuMTA4NyAxLjY2NjY5IDEyLjUzMjYgMS44NDIyOCAxMi44NDUyIDIuMTU0ODRDMTMuMTU3NyAyLjQ2NzQgMTMuMzMzMyAyLjg5MTMzIDEzLjMzMzMgMy4zMzMzNVY1LjAwMDAyTTguMzMzMzMgOS4xNjY2OVYxNC4xNjY3TTExLjY2NjcgOS4xNjY2OVYxNC4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
221
|
+
args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"[selectedCity]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"] }]
|
|
222
|
+
}], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i2.NgbModal }, { type: i3.ToastService }, { type: i4.GlobalStateService }] });
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFXMUUsTUFBTSxPQUFPLHlCQUF5QjtJQThCaEI7SUFBeUM7SUFBK0I7SUFBK0I7SUFDbEg7SUE3QlQsV0FBVyxHQUFRLEVBQUUsQ0FBQTtJQUNyQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFDbEIsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixlQUFlLENBQUs7SUFDcEIsYUFBYSxDQUFLO0lBQ2xCLFlBQVksQ0FBSztJQUNqQixhQUFhLEdBQVEsRUFBRSxDQUFBO0lBQ3ZCLE9BQU8sQ0FBUztJQUVoQixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFFBQVEsR0FBWSxL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LEtBQUssRUFBRSxFQUFFO1lBQzdCLElBQUksS0FBSyxFQUFFLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWEsRUFBRSxPQUFjO1FBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RixRQUFRLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUMxQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUM1QyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzdCLElBQUksS0FBSyxFQUFFLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUE7Z0JBQ3hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFVO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFLLEVBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO3VHQS9OVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw2RENqQnRDLGcvWkFxS007OzJGRHBKTyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IEVkaXRTcG9jQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0LXNwb2MvZWRpdC1zcG9jLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldGVsZVNwb2NDb21wb25lbnQgfSBmcm9tICcuL2RldGVsZS1zcG9jL2RldGVsZS1zcG9jLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29udGFjdC1kaXJlY3RvcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdERpcmVjdG9yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIGNvdW50cnlMaXN0OiBhbnkgPSBbXVxyXG4gIHN0YXRlTGlzdDogYW55ID0gW11cclxuICBjaXR5TGlzdDogYW55ID0gW11cclxuICBzdG9yZUxpc3Q6IGFueSA9IFtdXHJcbiAgc2VsZWN0ZWRDb3VudHJ5OiBhbnlcclxuICBzZWxlY3RlZFN0YXRlOiBhbnlcclxuICBzZWxlY3RlZENpdHk6IGFueVxyXG4gIHNlbGVjdGVkU3RvcmU6IGFueSA9IFtdXHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuICBzcG9jTGlzdDogYW55ID0gW11cclxuICBpc0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcblxyXG4gIC8vIHBhZ2luYXRpb25WYXJpYWJsZXNcclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG5cclxuICBzZWFyY2hJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCgpXHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBhZ2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdsb2FkZWQnIHwgJ2xvYWRpbmcnPignbG9hZGluZycpO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50U2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOk5nYk1vZGFsLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWxsU3RvcmVzKGUpXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5nZXRBbGxDb3VudHJpZXMoKVxyXG4gICAgdGhpcy5pbml0U2VhcmNoKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ291bnRyaWVzKCkge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSBlLmRhdGFcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU3RhdGVzKGNvdW50cnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbFN0YXRlcyhjb3VudHJ5KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLnN0YXRlTGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhdGVMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ2l0aWVzKGNvdW50cnk6IHN0cmluZywgc3RhdGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENpdGllcyhjb3VudHJ5LCBzdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5jaXR5TGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2l0eUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdG9yZXMoY2xpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldFN0b3JlTGlzdChjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gZT8uZGF0YT8ucmVzdWx0XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25Db3VudHJ5U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsU3RhdGVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmlzb0NvZGUpXHJcbiAgfVxyXG5cclxuICBvblN0YXRlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZSA9IGV2ZW50XHJcbiAgICB0aGlzLmdldEFsbENpdGllcyh0aGlzLnNlbGVjdGVkQ291bnRyeS5pc29Db2RlLCB0aGlzLnNlbGVjdGVkU3RhdGUuaXNvQ29kZSlcclxuICB9XHJcblxyXG4gIG9uQ2l0eVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2l0eSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvblN0b3JlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlckFwcGx5KCkge1xyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3BvY1RhYmxlKCkge1xyXG4gICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRpbmcnKVxyXG4gICAgbGV0IGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgIGV4cG9ydDogdGhpcy5pc0V4cG9ydCxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW5JZFxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUpIHtcclxuICAgICAgZmlsdGVycy5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkpIHtcclxuICAgICAgZmlsdGVycy5jb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkubmFtZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLnN0YXRlID0gdGhpcy5zZWxlY3RlZFN0YXRlLm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2l0eSkge1xyXG4gICAgICBmaWx0ZXJzLmNpdHkgPSB0aGlzLnNlbGVjdGVkQ2l0eS5uYW1lXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXRTdG9yZUlkQXJyYXkodGhpcy5zZWxlY3RlZFN0b3JlKT8ubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuc3RvcmVJZCA9IHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSlcclxuICAgIH0gICAgXHJcblxyXG4gICAgaWYodGhpcy5pc0V4cG9ydCl7XHJcbiAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zcG9jVGFibGVEYXRhRXhwb3J0KGZpbHRlcnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7ICBcclxuICAgICAgICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRTZXJ2aWNlLnNhdmVBc1RlbXBsYXRlKGUsICdjb250YWN0X2RpcmVjdG9yeScpICAgICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmlzRXhwb3J0ID0gZmFsc2VcclxuICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zcG9jVGFibGVEYXRhKGZpbHRlcnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZSkgPT4geyAgICBcclxuICAgICAgICB0aGlzLnBhZ2VTdGF0ZSQubmV4dCgnbG9hZGVkJykgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKGU/LmRhdGE/LmNvdW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBlLmRhdGE/LmRhdGFcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gZS5kYXRhPy5jb3VudFxyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zcG9jTGlzdCA9IFtdXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZSkgPT4geyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zcG9jTGlzdCA9IFtdXHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pIFxyXG4gICAgfVxyXG5cclxuICAgXHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IGVcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlT2Zmc2V0XHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcblxyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemVcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IHRydWVcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9wZW5FZGl0U3BvY01vZGFsKHNwb2NJZDpzdHJpbmcsIHN0b3JlSWQ6c3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRpdFNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZWRpdCcpIHsgICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGVsZXRlU3BvY01vZGFsKHNwb2NJZDpzdHJpbmcsIHN0b3JlSWQ6c3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRGV0ZWxlU3BvY0NvbXBvbmVudCwgeyBzaXplOiAnbWQnLCBjZW50ZXJlZDogdHJ1ZSB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNwb2NJZCA9IHNwb2NJZFxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3RvcmVJZCA9IHN0b3JlSWRcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChldmVudCkgPT4geyAgICAgIFxyXG4gICAgICBpZiAoZXZlbnQ/LnR5cGUgPT09ICdkZWxldGUnKSB7IFxyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0U3VjY2Vzc1RvYXN0KCdVc2VyIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZUlkQXJyYXkoc3RvcmVzOmFueSl7XHJcbiAgICBjb25zdCBpZEFycmF5ID0gc3RvcmVzLm1hcCgoZTphbnkpPT5lLnN0b3JlSWQpXHJcbiAgICByZXR1cm4gaWRBcnJheVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFjdC1jYXJkXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5TZWxlY3QgWW91ciBQcmVmZXJlbmNlczwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvdW50cnkgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCAgW2l0ZW1zXT1cImNvdW50cnlMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIiduYW1lJ1wiIFtpZEZpZWxkXT1cIidpc29Db2RlJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25Db3VudHJ5U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkQ291bnRyeV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlN0YXRlIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cInN0YXRlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInaXNvQ29kZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uU3RhdGVTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRTdGF0ZV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNpdHkgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwiY2l0eUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2lzb0NvZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbkNpdHlTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDaXR5XVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RvcmUgSWQgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlTmFtZSdcIiBbaWRGaWVsZF09XCInc3RvcmVJZCdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uU3RvcmVTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJzZWxlY3RlZFN0b3JlXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkZpbHRlckFwcGx5KClcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIj48c3Bhbj5BcHBseTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItc2VwZXJhdG9yIG1iLTEwXCI+PC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU3RhdGUkIHwgYXN5bmMgYXMgcGFnZVN0YXRlXCIgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGVkJ1wiICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+Q29udGFjdHMgTGlzdDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnNldHRpbmdzX2NvbnRhY3REaXJlY3RvcnlfaXNEb3dubG9hZCBcIiAoY2xpY2spPVwib25FeHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3BvY0xpc3Q/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RvcmUgSW5mbzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3BvYyBOYW1lICYgRW1haWw8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkNvbnRhY3QgTnVtYmVyPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Mb2NhdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0aW9uczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgc3BvYyBvZiBzcG9jTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZS1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdG9yZXMvTEtTVDEyMy9pbmZyYS10aWNrZXRcIj57e3Nwb2M/LnN0b3JlTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXN1YlwiPklEIDoge3tzcG9jPy5zdG9yZUlkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPnt7c3BvYz8uc3BvY05hbWV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zcG9jRW1haWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnNwb2NOdW1iZXJ9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zdG9yZVN0YXRlfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXN1YlwiPnt7c3BvYz8uc3RvcmVDaXR5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1oZWlnaHRcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0VkaXQgXCIgKGNsaWNrKT1cIm9wZW5FZGl0U3BvY01vZGFsKHNwb2M/LnNwb2NJZCwgc3BvYz8uc3RvcmVJZClcIiBjbGFzcz1cIm1lLTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81NTQxXzY3NTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjE2Njk5IDMuMzMzMzJIMy4zMzM2NkMyLjg5MTYzIDMuMzMzMzIgMi40Njc3MSAzLjUwODkxIDIuMTU1MTUgMy44MjE0N0MxLjg0MjU5IDQuMTM0MDMgMS42NjY5OSA0LjU1Nzk2IDEuNjY2OTkgNC45OTk5OVYxNi42NjY3QzEuNjY2OTkgMTcuMTA4NyAxLjg0MjU5IDE3LjUzMjYgMi4xNTUxNSAxNy44NDUyQzIuNDY3NzEgMTguMTU3NyAyLjg5MTYzIDE4LjMzMzMgMy4zMzM2NiAxOC4zMzMzSDE1LjAwMDNDMTUuNDQyNCAxOC4zMzMzIDE1Ljg2NjMgMTguMTU3NyAxNi4xNzg4IDE3Ljg0NTJDMTYuNDkxNCAxNy41MzI2IDE2LjY2NyAxNy4xMDg3IDE2LjY2NyAxNi42NjY3VjEwLjgzMzNNMTUuNDE3IDIuMDgzMzJDMTUuNzQ4NSAxLjc1MTggMTYuMTk4MiAxLjU2NTU1IDE2LjY2NyAxLjU2NTU1QzE3LjEzNTggMS41NjU1NSAxNy41ODU1IDEuNzUxOCAxNy45MTcgMi4wODMzMkMxOC4yNDg1IDIuNDE0ODQgMTguNDM0OCAyLjg2NDQ4IDE4LjQzNDggMy4zMzMzMkMxOC40MzQ4IDMuODAyMTYgMTguMjQ4NSA0LjI1MTggMTcuOTE3IDQuNTgzMzJMMTAuMDAwMyAxMi41TDYuNjY2OTkgMTMuMzMzM0w3LjUwMDMzIDkuOTk5OTlMMTUuNDE3IDIuMDgzMzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTU0MV82NzU5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0RlbGV0ZSBcIiAoY2xpY2spPVwib3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jPy5zcG9jSWQsIHNwb2M/LnN0b3JlSWQpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yLjUgNS4wMDAwMkg0LjE2NjY3TTQuMTY2NjcgNS4wMDAwMkgxNy41TTQuMTY2NjcgNS4wMDAwMlYxNi42NjY3QzQuMTY2NjcgMTcuMTA4NyA0LjM0MjI2IDE3LjUzMjYgNC42NTQ4MiAxNy44NDUyQzQuOTY3MzggMTguMTU3OCA1LjM5MTMxIDE4LjMzMzQgNS44MzMzMyAxOC4zMzM0SDE0LjE2NjdDMTQuNjA4NyAxOC4zMzM0IDE1LjAzMjYgMTguMTU3OCAxNS4zNDUyIDE3Ljg0NTJDMTUuNjU3NyAxNy41MzI2IDE1LjgzMzMgMTcuMTA4NyAxNS44MzMzIDE2LjY2NjdWNS4wMDAwMkg0LjE2NjY3Wk02LjY2NjY3IDUuMDAwMDJWMy4zMzMzNUM2LjY2NjY3IDIuODkxMzMgNi44NDIyNiAyLjQ2NzQgNy4xNTQ4MiAyLjE1NDg0QzcuNDY3MzggMS44NDIyOCA3Ljg5MTMxIDEuNjY2NjkgOC4zMzMzMyAxLjY2NjY5SDExLjY2NjdDMTIuMTA4NyAxLjY2NjY5IDEyLjUzMjYgMS44NDIyOCAxMi44NDUyIDIuMTU0ODRDMTMuMTU3NyAyLjQ2NzQgMTMuMzMzMyAyLjg5MTMzIDEzLjMzMzMgMy4zMzMzNVY1LjAwMDAyTTguMzMzMzMgOS4xNjY2OVYxNC4xNjY3TTExLjY2NjcgOS4xNjY2OVYxNC4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3BvY0xpc3Q/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIzMDBweFwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsb2FkaW5nJ1wiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXItY2FyZCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|