tango-app-ui-manage-users 3.4.0-alpha.8 → 3.7.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/lib/components/tango-manage-users/add-user-popup/add-user-popup.component.mjs +66 -18
  2. package/esm2022/lib/components/tango-manage-users/assign-store-popup/assign-store-popup.component.mjs +182 -39
  3. package/esm2022/lib/components/tango-manage-users/audit-user/audit-user-earnings/audit-user-earnings.component.mjs +3 -3
  4. package/esm2022/lib/components/tango-manage-users/audit-user/audit-user-list/audit-user-list.component.mjs +3 -3
  5. package/esm2022/lib/components/tango-manage-users/brand-user/brand-user.component.mjs +197 -7
  6. package/esm2022/lib/components/tango-manage-users/group-select/group-select.component.mjs +155 -0
  7. package/esm2022/lib/components/tango-manage-users/roles-permission-table/roles-permission-table.component.mjs +3 -3
  8. package/esm2022/lib/components/tango-manage-users/tango-manage-users.component.mjs +3 -3
  9. package/esm2022/lib/components/tango-manage-users/user-table/alert-popup/alert-popup.component.mjs +3 -3
  10. package/esm2022/lib/components/tango-manage-users/user-table/user-table.component.mjs +3 -3
  11. package/esm2022/lib/components-v2/action-popup/action-popup.component.mjs +3 -3
  12. package/esm2022/lib/components-v2/add-users/add-users.component.mjs +65 -13
  13. package/esm2022/lib/components-v2/custom-select/custom-select.component.mjs +3 -3
  14. package/esm2022/lib/components-v2/teams-creation/teams-creation.component.mjs +12 -5
  15. package/esm2022/lib/components-v2/teams-list/teams-list.component.mjs +18 -5
  16. package/esm2022/lib/components-v2/users-list/users-list.component.mjs +3 -3
  17. package/esm2022/lib/components-v2/users-manage/users-manage.component.mjs +3 -3
  18. package/esm2022/lib/components-v2/viewteams-list/viewteams-list.component.mjs +28 -5
  19. package/esm2022/lib/services/excel.service.mjs +3 -3
  20. package/esm2022/lib/services/user.service.mjs +11 -4
  21. package/esm2022/lib/services-v2/manage-users.service.mjs +3 -3
  22. package/esm2022/lib/tango-manage-users-routing.module.mjs +4 -4
  23. package/esm2022/lib/tango-manage-users.module.mjs +8 -5
  24. package/fesm2022/tango-app-ui-manage-users.mjs +762 -130
  25. package/fesm2022/tango-app-ui-manage-users.mjs.map +1 -1
  26. package/lib/components/tango-manage-users/add-user-popup/add-user-popup.component.d.ts +3 -0
  27. package/lib/components/tango-manage-users/assign-store-popup/assign-store-popup.component.d.ts +21 -4
  28. package/lib/components/tango-manage-users/brand-user/brand-user.component.d.ts +19 -1
  29. package/lib/components/tango-manage-users/group-select/group-select.component.d.ts +33 -0
  30. package/lib/components-v2/add-users/add-users.component.d.ts +6 -0
  31. package/lib/components-v2/teams-creation/teams-creation.component.d.ts +1 -0
  32. package/lib/components-v2/teams-list/teams-list.component.d.ts +2 -0
  33. package/lib/components-v2/viewteams-list/viewteams-list.component.d.ts +3 -0
  34. package/lib/services/user.service.d.ts +3 -0
  35. package/lib/tango-manage-users.module.d.ts +10 -9
  36. package/package.json +1 -1
@@ -48,6 +48,7 @@ export class TeamsListComponent {
48
48
  this.router = router;
49
49
  this.modalService = modalService;
50
50
  }
51
+ users;
51
52
  ngOnInit() {
52
53
  this.userService.setViewTeam(false);
53
54
  this.userService.viewTeams$.subscribe((value) => {
@@ -112,6 +113,17 @@ export class TeamsListComponent {
112
113
  complete: () => { },
113
114
  });
114
115
  }
116
+ getMaskedValue(value, role) {
117
+ if (role === 'superadmin')
118
+ return value;
119
+ if (!value || !value.includes('@'))
120
+ return '';
121
+ const [local, domain] = value.split('@');
122
+ const visibleLength = Math.min(3, local.length);
123
+ const visiblePart = local.slice(0, visibleLength);
124
+ const maskedPart = '*'.repeat(local.length - visibleLength);
125
+ return `${visiblePart}${maskedPart}@${domain}`;
126
+ }
115
127
  createTeam() {
116
128
  const modalRef = this.modalService.open(TeamsCreationComponent, { centered: true, size: 'lg' });
117
129
  modalRef.componentInstance.type = 'create';
@@ -156,6 +168,7 @@ export class TeamsListComponent {
156
168
  this.loadTable();
157
169
  }
158
170
  loadTable() {
171
+ this.users = JSON.parse(localStorage.getItem('user-info') || '{}');
159
172
  this.loading = true;
160
173
  this.noData = false;
161
174
  // this.pagination.offset=1;
@@ -304,12 +317,12 @@ export class TeamsListComponent {
304
317
  this.loadTable();
305
318
  }
306
319
  }
307
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TeamsListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ManageUsersService }, { token: i2.ExcelService }, { token: i3.GlobalStateService }, { token: i4.ToastService }, { token: i5.Router }, { token: i6.NgbModal }], target: i0.ɵɵFactoryTarget.Component });
308
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: TeamsListComponent, selector: "lib-teams-list", outputs: { dataTo: "dataTo" }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }, { propertyName: "tooltipContents", first: true, predicate: ["tooltipContents"], descendants: true }], ngImport: i0, template: "<div>\r\n <div class=\"\" *ngIf=\"!loading && !viewTeams&&!showcreatebutton\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd && teamsList.length>0\" type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"card-header border-0 pt-3 left-move\">\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"cursor-pointer\" (click)=\"onSort('teamName')\">Team Name\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'teamName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'teamName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userscount')\">Users\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'userscount' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'userscount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leadName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Email\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leademail' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('description')\">Description\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'description' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of teamsList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>{{user?.teamName}}</td>\r\n <td>{{user?.userscount}}</td>\r\n <!-- <td>{{user?.leadName}}<span *ngIf=\"user?.Teamleadcount>0\"> +{{user?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leadName[0]?user?.leadName[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leadName.length > 1\">\r\n +{{ user.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{user?.leademail.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\" *ngIf=\"user?.leademail.length>0\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ user?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leademail[0]?user?.leademail[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContents>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"user?.Teamleadcount>0\">+{{user?.Teamleadcount}}</span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{user?.description ? user?.description : \"--\"}}</td>\r\n <td>\r\n <span class=\"me-3 cursor-pointer\" (click)=\"viewTeamsdata(user)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10.0002C0.833374 10.0002 4.16671 3.3335 10 3.3335C15.8334 3.3335 19.1667 10.0002 19.1667 10.0002C19.1667 10.0002 15.8334 16.6668 10 16.6668C4.16671 16.6668 0.833374 10.0002 0.833374 10.0002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5002C11.3808 12.5002 12.5 11.3809 12.5 10.0002C12.5 8.61945 11.3808 7.50016 10 7.50016C8.61933 7.50016 7.50004 8.61945 7.50004 10.0002C7.50004 11.3809 8.61933 12.5002 10 12.5002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"me-3 cursor-pointer\" (click)=\"editTeamsdata(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_2181_11160)\">\r\n <path\r\n d=\"M24.1666 12.4999C24.3855 12.2811 24.6453 12.1074 24.9313 11.989C25.2173 11.8705 25.5238 11.8096 25.8333 11.8096C26.1428 11.8096 26.4493 11.8705 26.7353 11.989C27.0213 12.1074 27.2811 12.2811 27.5 12.4999C27.7188 12.7188 27.8924 12.9786 28.0109 13.2646C28.1294 13.5506 28.1903 13.8571 28.1903 14.1666C28.1903 14.4761 28.1294 14.7826 28.0109 15.0686C27.8924 15.3546 27.7188 15.6144 27.5 15.8333L16.25 27.0833L11.6666 28.3333L12.9166 23.7499L24.1666 12.4999Z\"\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_2181_11160\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"cursor-pointer\" (click)=\"deleteTeam(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12.5 14.9998H14.1667M14.1667 14.9998H27.5M14.1667 14.9998V26.6665C14.1667 27.1085 14.3423 27.5325 14.6548 27.845C14.9674 28.1576 15.3913 28.3332 15.8333 28.3332H24.1667C24.6087 28.3332 25.0326 28.1576 25.3452 27.845C25.6577 27.5325 25.8333 27.1085 25.8333 26.6665V14.9998H14.1667ZM16.6667 14.9998V13.3332C16.6667 12.8911 16.8423 12.4672 17.1548 12.1547C17.4674 11.8421 17.8913 11.6665 18.3333 11.6665H21.6667C22.1087 11.6665 22.5326 11.8421 22.8452 12.1547C23.1577 12.4672 23.3333 12.8911 23.3333 13.3332V14.9998M18.3333 19.1665V24.1665M21.6667 19.1665V24.1665\"\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 </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"teamsList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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 <ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a team</div>\r\n <div class=\"nodata-sub mt-2\">Any team created will track here.</div>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess |async)?.Global_User_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createTeam()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create\r\n Team</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewTeams\">\r\n <lib-viewteams-list [teamData]=\"this.selectedTeam\"></lib-viewteams-list>\r\n</div>\r\n", styles: [".inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}.left-move{justify-content:end}.img-src{width:25%;height:20%}.w-25{width:15%!important}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rotate{rotate:180deg;transition:1s}td{line-height:30px}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i9.ViewteamsListComponent, selector: "lib-viewteams-list", inputs: ["teamData"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }] });
320
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TeamsListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ManageUsersService }, { token: i2.ExcelService }, { token: i3.GlobalStateService }, { token: i4.ToastService }, { token: i5.Router }, { token: i6.NgbModal }], target: i0.ɵɵFactoryTarget.Component });
321
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TeamsListComponent, selector: "lib-teams-list", outputs: { dataTo: "dataTo" }, viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true }, { propertyName: "tooltipContents", first: true, predicate: ["tooltipContents"], descendants: true }], ngImport: i0, template: "<div>\r\n <div class=\"\" *ngIf=\"!loading && !viewTeams&&!showcreatebutton\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd && teamsList.length>0\" type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"card-header border-0 pt-3 left-move\">\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"cursor-pointer\" (click)=\"onSort('teamName')\">Team Name\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'teamName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'teamName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userscount')\">Users\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'userscount' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'userscount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leadName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Email\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leademail' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('description')\">Description\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'description' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of teamsList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>{{user?.teamName}}</td>\r\n <td>{{user?.userscount}}</td>\r\n <!-- <td>{{user?.leadName}}<span *ngIf=\"user?.Teamleadcount>0\"> +{{user?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leadName[0]?user?.leadName[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leadName.length > 1\">\r\n +{{ user.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{user?.leademail.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\" *ngIf=\"user?.leademail.length>0\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ user?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ getMaskedValue(user?.leademail[0] ,users?.role) }}\r\n </span>\r\n <span *ngIf=\"user?.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContents>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"user?.Teamleadcount>0\">+{{user?.Teamleadcount}}</span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{user?.description ? user?.description : \"--\"}}</td>\r\n <td>\r\n <span class=\"me-3 cursor-pointer\" (click)=\"viewTeamsdata(user)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10.0002C0.833374 10.0002 4.16671 3.3335 10 3.3335C15.8334 3.3335 19.1667 10.0002 19.1667 10.0002C19.1667 10.0002 15.8334 16.6668 10 16.6668C4.16671 16.6668 0.833374 10.0002 0.833374 10.0002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5002C11.3808 12.5002 12.5 11.3809 12.5 10.0002C12.5 8.61945 11.3808 7.50016 10 7.50016C8.61933 7.50016 7.50004 8.61945 7.50004 10.0002C7.50004 11.3809 8.61933 12.5002 10 12.5002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"me-3 cursor-pointer\" (click)=\"editTeamsdata(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_2181_11160)\">\r\n <path\r\n d=\"M24.1666 12.4999C24.3855 12.2811 24.6453 12.1074 24.9313 11.989C25.2173 11.8705 25.5238 11.8096 25.8333 11.8096C26.1428 11.8096 26.4493 11.8705 26.7353 11.989C27.0213 12.1074 27.2811 12.2811 27.5 12.4999C27.7188 12.7188 27.8924 12.9786 28.0109 13.2646C28.1294 13.5506 28.1903 13.8571 28.1903 14.1666C28.1903 14.4761 28.1294 14.7826 28.0109 15.0686C27.8924 15.3546 27.7188 15.6144 27.5 15.8333L16.25 27.0833L11.6666 28.3333L12.9166 23.7499L24.1666 12.4999Z\"\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_2181_11160\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"cursor-pointer\" (click)=\"deleteTeam(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12.5 14.9998H14.1667M14.1667 14.9998H27.5M14.1667 14.9998V26.6665C14.1667 27.1085 14.3423 27.5325 14.6548 27.845C14.9674 28.1576 15.3913 28.3332 15.8333 28.3332H24.1667C24.6087 28.3332 25.0326 28.1576 25.3452 27.845C25.6577 27.5325 25.8333 27.1085 25.8333 26.6665V14.9998H14.1667ZM16.6667 14.9998V13.3332C16.6667 12.8911 16.8423 12.4672 17.1548 12.1547C17.4674 11.8421 17.8913 11.6665 18.3333 11.6665H21.6667C22.1087 11.6665 22.5326 11.8421 22.8452 12.1547C23.1577 12.4672 23.3333 12.8911 23.3333 13.3332V14.9998M18.3333 19.1665V24.1665M21.6667 19.1665V24.1665\"\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 </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"teamsList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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 <ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a team</div>\r\n <div class=\"nodata-sub mt-2\">Any team created will track here.</div>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess |async)?.Global_User_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createTeam()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create\r\n Team</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewTeams\">\r\n <lib-viewteams-list [teamData]=\"this.selectedTeam\"></lib-viewteams-list>\r\n</div>\r\n", styles: [".inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}.left-move{justify-content:end}.img-src{width:25%;height:20%}.w-25{width:15%!important}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rotate{rotate:180deg;transition:1s}td{line-height:30px}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i9.ViewteamsListComponent, selector: "lib-viewteams-list", inputs: ["teamData"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }] });
309
322
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TeamsListComponent, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TeamsListComponent, decorators: [{
311
324
  type: Component,
312
- args: [{ selector: 'lib-teams-list', template: "<div>\r\n <div class=\"\" *ngIf=\"!loading && !viewTeams&&!showcreatebutton\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd && teamsList.length>0\" type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"card-header border-0 pt-3 left-move\">\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"cursor-pointer\" (click)=\"onSort('teamName')\">Team Name\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'teamName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'teamName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userscount')\">Users\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'userscount' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'userscount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leadName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Email\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leademail' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('description')\">Description\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'description' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of teamsList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>{{user?.teamName}}</td>\r\n <td>{{user?.userscount}}</td>\r\n <!-- <td>{{user?.leadName}}<span *ngIf=\"user?.Teamleadcount>0\"> +{{user?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leadName[0]?user?.leadName[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leadName.length > 1\">\r\n +{{ user.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{user?.leademail.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\" *ngIf=\"user?.leademail.length>0\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ user?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leademail[0]?user?.leademail[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContents>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"user?.Teamleadcount>0\">+{{user?.Teamleadcount}}</span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{user?.description ? user?.description : \"--\"}}</td>\r\n <td>\r\n <span class=\"me-3 cursor-pointer\" (click)=\"viewTeamsdata(user)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10.0002C0.833374 10.0002 4.16671 3.3335 10 3.3335C15.8334 3.3335 19.1667 10.0002 19.1667 10.0002C19.1667 10.0002 15.8334 16.6668 10 16.6668C4.16671 16.6668 0.833374 10.0002 0.833374 10.0002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5002C11.3808 12.5002 12.5 11.3809 12.5 10.0002C12.5 8.61945 11.3808 7.50016 10 7.50016C8.61933 7.50016 7.50004 8.61945 7.50004 10.0002C7.50004 11.3809 8.61933 12.5002 10 12.5002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"me-3 cursor-pointer\" (click)=\"editTeamsdata(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_2181_11160)\">\r\n <path\r\n d=\"M24.1666 12.4999C24.3855 12.2811 24.6453 12.1074 24.9313 11.989C25.2173 11.8705 25.5238 11.8096 25.8333 11.8096C26.1428 11.8096 26.4493 11.8705 26.7353 11.989C27.0213 12.1074 27.2811 12.2811 27.5 12.4999C27.7188 12.7188 27.8924 12.9786 28.0109 13.2646C28.1294 13.5506 28.1903 13.8571 28.1903 14.1666C28.1903 14.4761 28.1294 14.7826 28.0109 15.0686C27.8924 15.3546 27.7188 15.6144 27.5 15.8333L16.25 27.0833L11.6666 28.3333L12.9166 23.7499L24.1666 12.4999Z\"\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_2181_11160\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"cursor-pointer\" (click)=\"deleteTeam(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12.5 14.9998H14.1667M14.1667 14.9998H27.5M14.1667 14.9998V26.6665C14.1667 27.1085 14.3423 27.5325 14.6548 27.845C14.9674 28.1576 15.3913 28.3332 15.8333 28.3332H24.1667C24.6087 28.3332 25.0326 28.1576 25.3452 27.845C25.6577 27.5325 25.8333 27.1085 25.8333 26.6665V14.9998H14.1667ZM16.6667 14.9998V13.3332C16.6667 12.8911 16.8423 12.4672 17.1548 12.1547C17.4674 11.8421 17.8913 11.6665 18.3333 11.6665H21.6667C22.1087 11.6665 22.5326 11.8421 22.8452 12.1547C23.1577 12.4672 23.3333 12.8911 23.3333 13.3332V14.9998M18.3333 19.1665V24.1665M21.6667 19.1665V24.1665\"\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 </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"teamsList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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 <ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a team</div>\r\n <div class=\"nodata-sub mt-2\">Any team created will track here.</div>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess |async)?.Global_User_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createTeam()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create\r\n Team</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewTeams\">\r\n <lib-viewteams-list [teamData]=\"this.selectedTeam\"></lib-viewteams-list>\r\n</div>\r\n", styles: [".inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}.left-move{justify-content:end}.img-src{width:25%;height:20%}.w-25{width:15%!important}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rotate{rotate:180deg;transition:1s}td{line-height:30px}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}\n"] }]
325
+ args: [{ selector: 'lib-teams-list', template: "<div>\r\n <div class=\"\" *ngIf=\"!loading && !viewTeams&&!showcreatebutton\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd && teamsList.length>0\" type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"card-header border-0 pt-3 left-move\">\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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 type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n\r\n\r\n <button *ngIf=\"!loading && !noData \" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 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 <button type=\"button\" (click)=\"createTeam()\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <!-- <th class=\"cursor-pointer\"><span class=\"inputcheck\"><input type=\"checkbox\"\r\n class=\"cursor-pointer\"></span>\r\n\r\n </th> -->\r\n <th class=\"cursor-pointer\" (click)=\"onSort('teamName')\">Team Name\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'teamName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'teamName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userscount')\">Users\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'userscount' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'userscount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Name\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leadName' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leadName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Lead Email\r\n <!-- <svg [ngClass]=\"reqdata?.sortColumName === 'leademail' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'leademail' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('description')\">Description\r\n <svg [ngClass]=\"reqdata?.sortColumName === 'description' && reqdata?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"reqdata?.sortColumName === 'description' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of teamsList;let i=index;\">\r\n <tr>\r\n <!-- <td><span class=\"inputcheck\"><input type=\"checkbox\" class=\"cursor-pointer mt-2\"></span></td> -->\r\n <td>{{user?.teamName}}</td>\r\n <td>{{user?.userscount}}</td>\r\n <!-- <td>{{user?.leadName}}<span *ngIf=\"user?.Teamleadcount>0\"> +{{user?.Teamleadcount}}</span>\r\n </td> -->\r\n <td><div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ user?.leadName[0]?user?.leadName[0]:\"--\" }}\r\n </span>\r\n <span *ngIf=\"user?.leadName.length > 1\">\r\n +{{ user.leadName.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContent>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leadName}}</span>\r\n <span *ngIf=\"user.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }} more\r\n </span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div></td>\r\n <td>\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{user?.leademail.slice(0,1) | uppercase }}\r\n </span>\r\n </span>\r\n </div> -->\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label badge-light-primary text-symbol\" *ngIf=\"user?.leademail.length>0\">\r\n <span class=\"text-primary fs-4 badge badge-light-primary fw-normal\">\r\n {{ user?.leademail[0]?.substring(0, 2) | uppercase }}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div class=\"table-title\">\r\n <span class=\"camerastatus\">\r\n <span>\r\n {{ getMaskedValue(user?.leademail[0] ,users?.role) }}\r\n </span>\r\n <span *ngIf=\"user?.leademail.length > 1\">\r\n +{{ user.leademail.length - 1 }}\r\n </span>\r\n </span>\r\n\r\n <!-- <ng-template #tooltipContents>\r\n <div class=\"custom-tooltip-content tooltip-content w-100\">\r\n <span class=\"w-100\">{{ user.leademail}}</span>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </div>\r\n <span *ngIf=\"user?.Teamleadcount>0\">+{{user?.Teamleadcount}}</span>\r\n </div>\r\n </td>\r\n <td class=\"description\">{{user?.description ? user?.description : \"--\"}}</td>\r\n <td>\r\n <span class=\"me-3 cursor-pointer\" (click)=\"viewTeamsdata(user)\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"eye\">\r\n <g id=\"Icon\">\r\n <path\r\n d=\"M0.833374 10.0002C0.833374 10.0002 4.16671 3.3335 10 3.3335C15.8334 3.3335 19.1667 10.0002 19.1667 10.0002C19.1667 10.0002 15.8334 16.6668 10 16.6668C4.16671 16.6668 0.833374 10.0002 0.833374 10.0002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10 12.5002C11.3808 12.5002 12.5 11.3809 12.5 10.0002C12.5 8.61945 11.3808 7.50016 10 7.50016C8.61933 7.50016 7.50004 8.61945 7.50004 10.0002C7.50004 11.3809 8.61933 12.5002 10 12.5002Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"me-3 cursor-pointer\" (click)=\"editTeamsdata(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_2181_11160)\">\r\n <path\r\n d=\"M24.1666 12.4999C24.3855 12.2811 24.6453 12.1074 24.9313 11.989C25.2173 11.8705 25.5238 11.8096 25.8333 11.8096C26.1428 11.8096 26.4493 11.8705 26.7353 11.989C27.0213 12.1074 27.2811 12.2811 27.5 12.4999C27.7188 12.7188 27.8924 12.9786 28.0109 13.2646C28.1294 13.5506 28.1903 13.8571 28.1903 14.1666C28.1903 14.4761 28.1294 14.7826 28.0109 15.0686C27.8924 15.3546 27.7188 15.6144 27.5 15.8333L16.25 27.0833L11.6666 28.3333L12.9166 23.7499L24.1666 12.4999Z\"\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_2181_11160\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(10 10)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" class=\"cursor-pointer\" (click)=\"deleteTeam(user)\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12.5 14.9998H14.1667M14.1667 14.9998H27.5M14.1667 14.9998V26.6665C14.1667 27.1085 14.3423 27.5325 14.6548 27.845C14.9674 28.1576 15.3913 28.3332 15.8333 28.3332H24.1667C24.6087 28.3332 25.0326 28.1576 25.3452 27.845C25.6577 27.5325 25.8333 27.1085 25.8333 26.6665V14.9998H14.1667ZM16.6667 14.9998V13.3332C16.6667 12.8911 16.8423 12.4672 17.1548 12.1547C17.4674 11.8421 17.8913 11.6665 18.3333 11.6665H21.6667C22.1087 11.6665 22.5326 11.8421 22.8452 12.1547C23.1577 12.4672 23.3333 12.8911 23.3333 13.3332V14.9998M18.3333 19.1665V24.1665M21.6667 19.1665V24.1665\"\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 </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData && !viewTeams&&teamsList.length>0\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"teamsList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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 <ng-container *ngIf=\"noData&&!showcreatebutton\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"showcreatebutton\" class=\"row\">\r\n <div class=\"ms-3 right-bar py-7 d-flex justify-content-center align-items-center flex-column\">\r\n <svg width=\"160\" height=\"120\" viewBox=\"0 0 160 120\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"82\" cy=\"52\" r=\"52\" fill=\"#EAECF0\" />\r\n <g filter=\"url(#filter0_dd_1030_48016)\">\r\n <path\r\n d=\"M47.7266 79.1098L80.9651 63.6104C82.6339 62.8322 83.3559 60.8485 82.5777 59.1797L62.9484 17.0845L49.6563 12.2466L22.4611 24.9279C20.7923 25.7061 20.0703 27.6898 20.8485 29.3586L43.2959 77.4971C44.074 79.166 46.0577 79.888 47.7266 79.1098Z\"\r\n fill=\"url(#paint0_linear_1030_48016)\" />\r\n <path d=\"M49.6567 12.2471L62.9489 17.085L53.8838 21.3121L49.6567 12.2471Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter1_dd_1030_48016)\">\r\n <path\r\n d=\"M63.6163 67.7831H100.291C102.132 67.7831 103.625 66.2904 103.625 64.4491V18.0022L93.6228 8H63.6163C61.7749 8 60.2822 9.49271 60.2822 11.3341V64.4491C60.2822 66.2904 61.7749 67.7831 63.6163 67.7831Z\"\r\n fill=\"url(#paint1_linear_1030_48016)\" />\r\n <path d=\"M93.6226 8L103.625 18.0022H93.6226V8Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <g filter=\"url(#filter2_dd_1030_48016)\">\r\n <path\r\n d=\"M82.4745 63.5909L115.713 79.0903C117.382 79.8685 119.366 79.1465 120.144 77.4777L139.773 35.3825L134.935 22.0903L107.74 9.40903C106.071 8.63085 104.087 9.35286 103.309 11.0217L80.8619 59.1602C80.0837 60.8291 80.8057 62.8128 82.4745 63.5909Z\"\r\n fill=\"url(#paint2_linear_1030_48016)\" />\r\n <path d=\"M134.936 22.0898L139.773 35.382L130.708 31.1549L134.936 22.0898Z\" fill=\"#D0D5DD\" />\r\n </g>\r\n <circle cx=\"27\" cy=\"11\" r=\"5\" fill=\"#F2F4F7\" />\r\n <circle cx=\"24\" cy=\"109\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"151\" cy=\"35\" r=\"7\" fill=\"#F2F4F7\" />\r\n <circle cx=\"140\" cy=\"8\" r=\"4\" fill=\"#F2F4F7\" />\r\n <g filter=\"url(#filter3_b_1030_48016)\">\r\n <rect x=\"58\" y=\"62\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#344054\" fill-opacity=\"0.4\" />\r\n <path\r\n d=\"M74.5 81.6816C72.8425 81.6816 71.5 80.2133 71.5 78.4004C71.5 76.5875 72.8425 75.1191 74.5 75.1191C76.1575 75.1191 77.5 76.5875 77.5 78.4004C77.5 80.2133 76.1575 81.6816 74.5 81.6816ZM89.6483 81.6816C87.9908 81.6816 86.6483 80.2133 86.6483 78.4004C86.6483 76.5875 87.9908 75.1191 89.6483 75.1191C91.3058 75.1191 92.6483 76.5875 92.6483 78.4004C92.6483 80.2133 91.3058 81.6816 89.6483 81.6816ZM85.509 84.3066C85.509 86.4805 83.8965 88.2441 81.909 88.2441C79.9215 88.2441 78.309 86.4805 78.309 84.3066C78.309 82.1328 79.9215 80.3691 81.909 80.3691C83.8965 80.3691 85.509 82.1328 85.509 84.3066Z\"\r\n fill=\"white\" />\r\n <path\r\n d=\"M74.0013 83.7559C71.7925 83.7559 70 85.7164 70 88.1322C70 88.6121 70.36 89.0059 70.7988 89.0059H78.8013H78.8275C77.8338 88.042 77.2038 86.6352 77.2038 85.0684C77.2038 84.7566 77.2263 84.449 77.275 84.1537C76.765 83.8994 76.1988 83.7559 75.6025 83.7559H74.0013Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M85.1725 89.0059H85.1987H93.2012C93.64 89.0059 94 88.6162 94 88.1322C94 85.7164 92.2075 83.7559 89.9987 83.7559H88.3975C87.8012 83.7559 87.235 83.8953 86.725 84.1537C86.77 84.4531 86.7963 84.7566 86.7963 85.0684C86.7963 86.6352 86.17 88.042 85.1725 89.0059Z\"\r\n fill=\"#D0D5DD\" />\r\n <path\r\n d=\"M79.7988 90.3183C77.0388 90.3183 74.8 92.767 74.8 95.7857C74.8 96.3928 75.25 96.8809 75.8013 96.8809H88.1987C88.7537 96.8809 89.2 96.3887 89.2 95.7857C89.2 92.767 86.9613 90.3183 84.2013 90.3183H79.7988Z\"\r\n fill=\"#D0D5DD\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_1030_48016\" x=\"-0.560547\" y=\"8.01953\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter1_dd_1030_48016\" x=\"40.2822\" y=\"8\" width=\"83.3428\" height=\"99.7832\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter2_dd_1030_48016\" x=\"59.4526\" y=\"8\" width=\"104.547\" height=\"112.499\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feOffset dy=\"8\" />\r\n <feGaussianBlur stdDeviation=\"4\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.03 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_1030_48016\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"erode\" in=\"SourceAlpha\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feOffset dy=\"20\" />\r\n <feGaussianBlur stdDeviation=\"12\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.08 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_1030_48016\" result=\"effect2_dropShadow_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect2_dropShadow_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <filter id=\"filter3_b_1030_48016\" x=\"50\" y=\"54\" width=\"64\" height=\"64\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feGaussianBlur in=\"BackgroundImageFix\" stdDeviation=\"4\" />\r\n <feComposite in2=\"SourceAlpha\" operator=\"in\" result=\"effect1_backgroundBlur_1030_48016\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_backgroundBlur_1030_48016\" result=\"shape\" />\r\n </filter>\r\n <linearGradient id=\"paint0_linear_1030_48016\" x1=\"45.7738\" y1=\"79.2396\" x2=\"19.2853\" y2=\"31.4523\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint1_linear_1030_48016\" x1=\"61.7916\" y1=\"67.0755\" x2=\"57.9807\" y2=\"12.571\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n <linearGradient id=\"paint2_linear_1030_48016\" x1=\"81.1199\" y1=\"62.1785\" x2=\"100.701\" y2=\"11.17\"\r\n gradientUnits=\"userSpaceOnUse\">\r\n <stop stop-color=\"#E4E7EC\" />\r\n <stop offset=\"1\" stop-color=\"#F9FAFB\" />\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n <div class=\"nodata-title\">Start by creating a team</div>\r\n <div class=\"nodata-sub mt-2\">Any team created will track here.</div>\r\n </div>\r\n \r\n <div class=\"d-flex justify-content-center align-items-center mt-3 mb-10\" role=\"group\">\r\n <button class=\"btn btn-outline w-25 me-3\">How to create?</button>\r\n <button [disabled]=\"!(gs.userAccess |async)?.Global_User_isAdd\" class=\"btn btn-primary w-25 ms-3\" id=\"alert-toast\" (click)=\"createTeam()\"><span class=\"mx-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M9.99984 4.16699V15.8337M4.1665 10.0003H15.8332\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>Create\r\n Team</button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"viewTeams\">\r\n <lib-viewteams-list [teamData]=\"this.selectedTeam\"></lib-viewteams-list>\r\n</div>\r\n", styles: [".inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:0!important;padding-top:12px;padding-right:6px}.left-move{justify-content:end}.img-src{width:25%;height:20%}.w-25{width:15%!important}td.description{overflow:hidden;text-overflow:ellipsis;max-width:100px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rotate{rotate:180deg;transition:1s}td{line-height:30px}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}\n"] }]
313
326
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ManageUsersService }, { type: i2.ExcelService }, { type: i3.GlobalStateService }, { type: i4.ToastService }, { type: i5.Router }, { type: i6.NgbModal }], propDecorators: { dataTo: [{
314
327
  type: Output
315
328
  }], tooltipContent: [{
@@ -319,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
319
332
  type: ViewChild,
320
333
  args: ['tooltipContents']
321
334
  }] } });
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdXNlcnMvc3JjL2xpYi9jb21wb25lbnRzLXYyL3RlYW1zLWxpc3QvdGVhbXMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdXNlcnMvc3JjL2xpYi9jb21wb25lbnRzLXYyL3RlYW1zLWxpc3QvdGVhbXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE0QixZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUtwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBc0MsTUFBTSxNQUFNLENBQUM7QUFHOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxrQkFBa0I7SUEwQlQ7SUFBMEM7SUFBMkM7SUFDaEc7SUFBK0I7SUFBeUI7SUFBc0I7SUExQjdFLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2QsY0FBYyxDQUFjO0lBQzNCLGVBQWUsQ0FBYTtJQUMxRCxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsY0FBYyxDQUFNO0lBQ3BCLFdBQVcsQ0FBTTtJQUNqQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDakIsVUFBVSxHQUFRO1FBQ2hCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEVBQUU7UUFDVCxVQUFVLEVBQUUsQ0FBQztLQUNkLENBQUM7SUFDRixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLE1BQU0s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QzNCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNO2dCQUNwQyxLQUFLLEVBQUUsRUFBRTtnQkFDVCxNQUFNLEVBQUUsQ0FBQztnQkFFVCxNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO3dHQXpTVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw0U0NoQi9CLCtzbENBaWJBOzs0RkRqYWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjswUEFLaEIsTUFBTTtzQkFBZixNQUFNO2dCQUNzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDRyxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRlYW1zQ3JlYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi90ZWFtcy1jcmVhdGlvbi90ZWFtcy1jcmVhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBNYW5hZ2VVc2Vyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy12Mi9tYW5hZ2UtdXNlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRlYW1zLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWFtcy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGVhbXMtbGlzdC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlYW1zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRhdGFUbyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JykgdG9vbHRpcENvbnRlbnQhOiBOZ2JUb29sdGlwO1xyXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50cycpIHRvb2x0aXBDb250ZW50cyE6IE5nYlRvb2x0aXBcclxuICBzaG93Y3JlYXRlYnV0dG9uOmJvb2xlYW4gPSAgZmFsc2U7XHJcbiAgJGhlYWRlckZpbHRlcnM6IGFueTtcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIHRlYW1zTGlzdDogYW55W10gPSBbXTtcclxuICByZXFkYXRhOiBhbnkgPSB7fVxyXG4gIHBhZ2luYXRpb246IGFueSA9IHtcclxuICAgIG9mZnNldDogMSxcclxuICAgIGxpbWl0OiAxMCxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IG51bWJlcltdID0gWzEwLCAyMCwgMzBdO1xyXG4gIHZpZXdUZWFtczpib29sZWFuID1mYWxzZVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlbGVjdGVkVGVhbTogYW55O1xyXG5cclxuIFxyXG5cclxuICAgIFxyXG4gIFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIHVzZXJTZXJ2aWNlOiBNYW5hZ2VVc2Vyc1NlcnZpY2UsICAgcHJpdmF0ZSBleGNlbFNlcnZpY2U6IEV4Y2VsU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgdHM6IFRvYXN0U2VydmljZSxwcml2YXRlIHJvdXRlcjogUm91dGVyLHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0Vmlld1RlYW0oZmFsc2UpO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS52aWV3VGVhbXMkLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy52aWV3VGVhbXMgPSB2YWx1ZTtcclxuICAgICAgaWYodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubG9hZFRhYmxlKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdzPy5kYXRhUmFuZ2VWYWx1ZT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcclxuICAgICAgICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICAgICAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzID0gdXNlckRhdGE7XHJcbiAgICAgICAgICB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCA9IHVzZXJEYXRhLmNsaWVudElkXHJcbiAgICAgICAgICBpZiAodXNlckRhdGE/LmNsaWVudElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVxZGF0YSA9IHtcclxuICAgICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hWYWx1ZSxcclxuICAgICAgICAgICAgICBleHBvcnQ6IGZhbHNlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuJGhlYWRlckZpbHRlcnMgPSBkYXRhO1xyXG4gICAgICAgICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IDE7XHJcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ubGltaXQgPSAxMDtcclxuICAgICAgICAgIHRoaXMucmVxZGF0YSA9IHtcclxuICAgICAgICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgICAgIGV4cG9ydDogZmFsc2VcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZXhwb3J0WExTWCgpIHtcclxuICAgICBsZXQgb2JqID0ge1xyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgICBsaW1pdDogMTAwMDAsXHJcbiAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgIGV4cG9ydDp0cnVlLFxyXG4gICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICB9O1xyXG4gICAgdGhpcy51c2VyU2VydmljZVxyXG4gICAgLmdldFRlYW1zTGlzdEV4cG9ydChvYmopXHJcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5leGNlbFNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgJ1RlYW1zICcpXHJcbiAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgIFxyXG4gICB9KTtcclxuICAgIFxyXG4gIH1cclxuICBjcmVhdGVUZWFtKCl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGVhbXNDcmVhdGlvbkNvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbGcnIH0pOyBcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnR5cGUgPSAnY3JlYXRlJzsgICBcclxuICAgICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRUZWFtc2RhdGEoZGF0YTphbnkpe1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFRlYW1zQ3JlYXRpb25Db21wb25lbnQseyBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ2xnJyB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnRlYW1EYXRhID0gZGF0YTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnR5cGUgPSAnZWRpdCc7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgICB9KVxyXG4gIH1cclxuICBkZWxldGVUZWFtKGRhdGE6YW55KXtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnLGJhY2tkcm9wOlwic3RhdGljXCIgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50ZWFtRGF0YSA9IGRhdGE7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQgPT09ICdzdWJtaXQnKXtcclxuICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZGVsZXRlVGVhbSh7dGVhbUlkOmRhdGEuX2lkfSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRzLmdldFByaW1hcnlUb2FzdCgnVGVhbSBEZWxldGVkIFN1Y2Nlc3NmdWxseScpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0ID0gMTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi5saW1pdCA9IDEwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXFkYXRhLm9mZnNldCA9MVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgICAgICAgICAgICB9fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlcWRhdGEuZXhwb3J0ID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5yZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5yZXFkYXRhLnNvcnRCeSA9IHRoaXMucmVxZGF0YS5zb3J0QnkgPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlcWRhdGEuc29ydENvbHVtTmFtZSA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5yZXFkYXRhLnNvcnRCeSA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBsb2FkVGFibGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgIC8vICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0PTE7XHJcbiAgICAvLyAgdGhpcy5wYWdpbmF0aW9uLmxpbWl0ID0xMDtcclxuICAgIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50ID0gMDtcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VGVhbXNMaXN0KHRoaXMucmVxZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShcclxuICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICBpZihyZXMuZGF0YS5yZXN1bHQubGVuZ3RoKXtcclxuICAgICAgICAgICAgdGhpcy50ZWFtc0xpc3QgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd2NyZWF0ZWJ1dHRvbiA9IGZhbHNlICBcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgICAgICAgIG9mZnNldDogdGhpcy5wYWdpbmF0aW9uLm9mZnNldCxcclxuICAgICAgICAgICAgICBsaW1pdDogdGhpcy5wYWdpbmF0aW9uLmxpbWl0LFxyXG4gICAgICAgICAgICAgIHRvdGFsQ291bnQ6IHJlcy5kYXRhLmNvdW50LFxyXG4gICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUby5lbWl0KCB0aGlzLnBhZ2luYXRpb24udG90YWxDb3VudCk7IFxyXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEuY291bnQgPCAxMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3Jlcy5kYXRhLmNvdW50XTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy50ZWFtc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVG8uZW1pdCggJycpOyBcclxuICAgICAgICAgICAgdGhpcy5zaG93Y3JlYXRlYnV0dG9uID0gdHJ1ZVxyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgIHRoaXMudGVhbXNMaXN0ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRvLmVtaXQoICcnKTsgXHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudGVhbXNMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5kYXRhVG8uZW1pdCggJycpOyBcclxuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICB0b3RhbENvdW50OiAwLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBwYWdpbmF0aW9uU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50IDwgMTApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFnaW5hdGlvbi5saW1pdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMucmVxZGF0YS5vZmZzZXQgPSBwYWdlT2Zmc2V0O1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IHBhZ2VPZmZzZXQ7XHJcbiAgICBpZih0aGlzLnNlYXJjaFZhbHVlID09PScnKXtcclxuICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICBsaW1pdDogdGhpcy5yZXFkYXRhLmxpbWl0LFxyXG4gICAgICAgb2Zmc2V0OiB0aGlzLnJlcWRhdGEub2Zmc2V0LFxyXG4gICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5yZXFkYXRhLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgICBzb3J0Qnk6dGhpcy5yZXFkYXRhLnNvcnRCeSxcclxuICAgICAgIGV4cG9ydDpmYWxzZVxyXG4gICAgIH07XHJcbiAgIH0gZWxzZSB7XHJcbiAgICAgdGhpcy5yZXFkYXRhID0ge1xyXG4gICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgbGltaXQ6IHRoaXMucmVxZGF0YS5saW1pdCxcclxuICAgICAgIG9mZnNldDogdGhpcy5yZXFkYXRhLm9mZnNldCxcclxuICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5yZXFkYXRhLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgICBzb3J0Qnk6dGhpcy5yZXFkYXRhLnNvcnRCeSxcclxuICAgICAgIGV4cG9ydDpmYWxzZVxyXG4gICAgIH07XHJcbiAgIH1cclxuICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgfVxyXG4gXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnJlcWRhdGEubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLmxpbWl0ID0gTnVtYmVyKHBhZ2VTaXplKTtcclxuICAgIHRoaXMucmVxZGF0YS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IDE7XHJcbiAgICBpZih0aGlzLnNlYXJjaFZhbHVlID09PScnKXtcclxuICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICBsaW1pdDogdGhpcy5yZXFkYXRhLmxpbWl0LFxyXG4gICAgICAgb2Zmc2V0OiB0aGlzLnJlcWRhdGEub2Zmc2V0LFxyXG4gICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5yZXFkYXRhLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgICBzb3J0Qnk6dGhpcy5yZXFkYXRhLnNvcnRCeSxcclxuICAgICAgIGV4cG9ydDpmYWxzZVxyXG4gICAgIH07XHJcbiAgIH0gZWxzZSB7XHJcbiAgICAgdGhpcy5yZXFkYXRhID0ge1xyXG4gICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgbGltaXQ6IHRoaXMucmVxZGF0YS5saW1pdCxcclxuICAgICAgIG9mZnNldDogdGhpcy5yZXFkYXRhLm9mZnNldCxcclxuICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgIHNvcnRDb2x1bU5hbWU6IHRoaXMucmVxZGF0YS5zb3J0Q29sdW1OYW1lLFxyXG4gICAgICAgc29ydEJ5OnRoaXMucmVxZGF0YS5zb3J0QnksXHJcbiAgICAgICBleHBvcnQ6ZmFsc2VcclxuICAgICB9O1xyXG4gICB9XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gIH1cclxuIFxyXG4gIHZpZXdUZWFtc2RhdGEoZGF0YTphbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUZWFtID0gZGF0YVxyXG4gICAgdGhpcy52aWV3VGVhbXMgPSB0cnVlO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5zZXRWaWV3VGVhbSh0cnVlKTtcclxuICB9XHJcbiAgc2VhcmNoRGF0YSgpIHtcclxuICAgIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLmxpbWl0ID0gMTA7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hWYWx1ZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5yZXFkYXRhID0ge1xyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgb2Zmc2V0OiAxLFxyXG5cclxuICAgICAgICBleHBvcnQ6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgZXhwb3J0OiBmYWxzZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIlwiICpuZ0lmPVwiIWxvYWRpbmcgICYmICAhdmlld1RlYW1zJiYhc2hvd2NyZWF0ZWJ1dHRvblwiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgcmlnaHRjb3JuZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMSBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNoYW5nZSk9XCJzZWFyY2hEYXRhKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YSBcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydFhMU1goKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgcC00IGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHxhc3luYyk/Lkdsb2JhbF9Vc2VyX2lzQWRkICYmIHRlYW1zTGlzdC5sZW5ndGg+MFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlVGVhbSgpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXgtMiByb3VuZGVkLTMgdGV4dC1ub3dyYXBcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDEgNC4xNjY2M1YxNS44MzMzTTQuMTY2NzUgOS45OTk5NkgxNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTIgdGV4dC13aGl0ZVwiPkNyZWF0ZSBUZWFtPC9zcGFuPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgbGVmdC1tb3ZlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2hhbmdlKT1cInNlYXJjaERhdGEoKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhIFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXhwb3J0WExTWCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBwLTQgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlVGVhbSgpXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXgtMiByb3VuZGVkLTMgdGV4dC1ub3dyYXBcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDEgNC4xNjY2M1YxNS44MzMzTTQuMTY2NzUgOS45OTk5NkgxNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTIgdGV4dC13aGl0ZVwiPkNyZWF0ZSBUZWFtPC9zcGFuPiA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGEgJiYgICF2aWV3VGVhbXMmJnRlYW1zTGlzdC5sZW5ndGg+MFwiIGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXAgXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCd0ZWFtTmFtZScpXCI+VGVhbSBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtuZ0NsYXNzXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICd0ZWFtTmFtZScgJiYgcmVxZGF0YT8uc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAndGVhbU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCd1c2Vyc2NvdW50JylcIj5Vc2Vyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbbmdDbGFzc109XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAndXNlcnNjb3VudCcgJiYgcmVxZGF0YT8uc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAndXNlcnNjb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkxlYWQgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3ZnIFtuZ0NsYXNzXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICdsZWFkTmFtZScgJiYgcmVxZGF0YT8uc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAnbGVhZE5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cImxpbmUtaGVpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7XCI+TGVhZCBFbWFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3ZnIFtuZ0NsYXNzXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICdsZWFkZW1haWwnICYmIHJlcWRhdGE/LnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ2xlYWRlbWFpbCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkZXNjcmlwdGlvbicpXCI+RGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiByZXFkYXRhPy5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICdkZXNjcmlwdGlvbicgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9XCJsaW5lLWhlaWdodDogMjFweCAhaW1wb3J0YW50O1wiPkFjdGlvbnM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB1c2VyIG9mIHRlYW1zTGlzdDtsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+PHNwYW4gY2xhc3M9XCJpbnB1dGNoZWNrXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbXQtMlwiPjwvc3Bhbj48L3RkPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3VzZXI/LnRlYW1OYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7dXNlcj8udXNlcnNjb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRkPnt7dXNlcj8ubGVhZE5hbWV9fTxzcGFuICpuZ0lmPVwidXNlcj8uVGVhbWxlYWRjb3VudD4wXCI+ICt7e3VzZXI/LlRlYW1sZWFkY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxkaXYgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyPy5sZWFkTmFtZVswXT91c2VyPy5sZWFkTmFtZVswXTpcIi0tXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcj8ubGVhZE5hbWUubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICt7eyB1c2VyLmxlYWROYW1lLmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMFwiPnt7IHVzZXIubGVhZE5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXIubGVhZGVtYWlsLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3t7IHVzZXIubGVhZGVtYWlsLmxlbmd0aCAtIDEgfX0gbW9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzeW1ib2wtbGFiZWwgYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LXN5bWJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnMtNCBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IGZ3LW5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dXNlcj8ubGVhZGVtYWlsLnNsaWNlKDAsMSkgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtMzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtc3ltYm9sXCIgKm5nSWY9XCJ1c2VyPy5sZWFkZW1haWwubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXI/LmxlYWRlbWFpbFswXT8uc3Vic3RyaW5nKDAsIDIpIHwgdXBwZXJjYXNlICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYXN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXI/LmxlYWRlbWFpbFswXT91c2VyPy5sZWFkZW1haWxbMF06XCItLVwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyPy5sZWFkZW1haWwubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3t7IHVzZXIubGVhZGVtYWlsLmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50cz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+e3sgdXNlci5sZWFkZW1haWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcj8uVGVhbWxlYWRjb3VudD4wXCI+K3t7dXNlcj8uVGVhbWxlYWRjb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3t1c2VyPy5kZXNjcmlwdGlvbiA/IHVzZXI/LmRlc2NyaXB0aW9uIDogXCItLVwifX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ2aWV3VGVhbXNkYXRhKHVzZXIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPVwiZXllXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJJY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMzMzc0IDEwLjAwMDJDMC44MzMzNzQgMTAuMDAwMiA0LjE2NjcxIDMuMzMzNSAxMCAzLjMzMzVDMTUuODMzNCAzLjMzMzUgMTkuMTY2NyAxMC4wMDAyIDE5LjE2NjcgMTAuMDAwMkMxOS4xNjY3IDEwLjAwMDIgMTUuODMzNCAxNi42NjY4IDEwIDE2LjY2NjhDNC4xNjY3MSAxNi42NjY4IDAuODMzMzc0IDEwLjAwMDIgMC44MzMzNzQgMTAuMDAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAgMTIuNTAwMkMxMS4zODA4IDEyLjUwMDIgMTIuNSAxMS4zODA5IDEyLjUgMTAuMDAwMkMxMi41IDguNjE5NDUgMTEuMzgwOCA3LjUwMDE2IDEwIDcuNTAwMTZDOC42MTkzMyA3LjUwMDE2IDcuNTAwMDQgOC42MTk0NSA3LjUwMDA0IDEwLjAwMDJDNy41MDAwNCAxMS4zODA5IDguNjE5MzMgMTIuNTAwMiAxMCAxMi41MDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1VzZXJfaXNFZGl0XCIgY2xhc3M9XCJtZS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImVkaXRUZWFtc2RhdGEodXNlcilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMTgxXzExMTYwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjQuMTY2NiAxMi40OTk5QzI0LjM4NTUgMTIuMjgxMSAyNC42NDUzIDEyLjEwNzQgMjQuOTMxMyAxMS45ODlDMjUuMjE3MyAxMS44NzA1IDI1LjUyMzggMTEuODA5NiAyNS44MzMzIDExLjgwOTZDMjYuMTQyOCAxMS44MDk2IDI2LjQ0OTMgMTEuODcwNSAyNi43MzUzIDExLjk4OUMyNy4wMjEzIDEyLjEwNzQgMjcuMjgxMSAxMi4yODExIDI3LjUgMTIuNDk5OUMyNy43MTg4IDEyLjcxODggMjcuODkyNCAxMi45Nzg2IDI4LjAxMDkgMTMuMjY0NkMyOC4xMjk0IDEzLjU1MDYgMjguMTkwMyAxMy44NTcxIDI4LjE5MDMgMTQuMTY2NkMyOC4xOTAzIDE0LjQ3NjEgMjguMTI5NCAxNC43ODI2IDI4LjAxMDkgMTUuMDY4NkMyNy44OTI0IDE1LjM1NDYgMjcuNzE4OCAxNS42MTQ0IDI3LjUgMTUuODMzM0wxNi4yNSAyNy4wODMzTDExLjY2NjYgMjguMzMzM0wxMi45MTY2IDIzLjc0OTlMMjQuMTY2NiAxMi40OTk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIxODFfMTExNjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHxhc3luYyk/Lkdsb2JhbF9Vc2VyX2lzRWRpdFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZGVsZXRlVGVhbSh1c2VyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuNSAxNC45OTk4SDE0LjE2NjdNMTQuMTY2NyAxNC45OTk4SDI3LjVNMTQuMTY2NyAxNC45OTk4VjI2LjY2NjVDMTQuMTY2NyAyNy4xMDg1IDE0LjM0MjMgMjcuNTMyNSAxNC42NTQ4IDI3Ljg0NUMxNC45Njc0IDI4LjE1NzYgMTUuMzkxMyAyOC4zMzMyIDE1LjgzMzMgMjguMzMzMkgyNC4xNjY3QzI0LjYwODcgMjguMzMzMiAyNS4wMzI2IDI4LjE1NzYgMjUuMzQ1MiAyNy44NDVDMjUuNjU3NyAyNy41MzI1IDI1LjgzMzMgMjcuMTA4NSAyNS44MzMzIDI2LjY2NjVWMTQuOTk5OEgxNC4xNjY3Wk0xNi42NjY3IDE0Ljk5OThWMTMuMzMzMkMxNi42NjY3IDEyLjg5MTEgMTYuODQyMyAxMi40NjcyIDE3LjE1NDggMTIuMTU0N0MxNy40Njc0IDExLjg0MjEgMTcuODkxMyAxMS42NjY1IDE4LjMzMzMgMTEuNjY2NUgyMS42NjY3QzIyLjEwODcgMTEuNjY2NSAyMi41MzI2IDExLjg0MjEgMjIuODQ1MiAxMi4xNTQ3QzIzLjE1NzcgMTIuNDY3MiAyMy4zMzMzIDEyLjg5MTEgMjMuMzMzMyAxMy4zMzMyVjE0Ljk5OThNMTguMzMzMyAxOS4xNjY1VjI0LjE2NjVNMjEuNjY2NyAxOS4xNjY1VjI0LjE2NjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhICAmJiAgIXZpZXdUZWFtcyYmdGVhbXNMaXN0Lmxlbmd0aD4wXCIgY2xhc3M9XCJjb2wteHhsLTEyIGNvbC1tZC0xMiBjb2wteGwtMTIgY29sLWxnLTEyIG15LTNcIj5cclxuICAgICAgICA8bGliLXBhZ2luYXRpb24gKm5nSWY9XCJ0ZWFtc0xpc3QubGVuZ3RoIT09MFwiIFtpdGVtc1BlclBhZ2VdPVwicGFnaW5hdGlvbi5saW1pdFwiIFtjdXJyZW50UGFnZV09XCJwYWdpbmF0aW9uLm9mZnNldFwiXHJcbiAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInBhZ2luYXRpb24udG90YWxDb3VudFwiIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25TaXplKClcIlxyXG4gICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lciBtYi0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhJiYhc2hvd2NyZWF0ZWJ1dHRvblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd2NyZWF0ZWJ1dHRvblwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTMgIHJpZ2h0LWJhciBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTYwXCIgaGVpZ2h0PVwiMTIwXCIgdmlld0JveD1cIjAgMCAxNjAgMTIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiODJcIiBjeT1cIjUyXCIgcj1cIjUyXCIgZmlsbD1cIiNFQUVDRjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00Ny43MjY2IDc5LjEwOThMODAuOTY1MSA2My42MTA0QzgyLjYzMzkgNjIuODMyMiA4My4zNTU5IDYwLjg0ODUgODIuNTc3NyA1OS4xNzk3TDYyLjk0ODQgMTcuMDg0NUw0OS42NTYzIDEyLjI0NjZMMjIuNDYxMSAyNC45Mjc5QzIwLjc5MjMgMjUuNzA2MSAyMC4wNzAzIDI3LjY4OTggMjAuODQ4NSAyOS4zNTg2TDQzLjI5NTkgNzcuNDk3MUM0NC4wNzQgNzkuMTY2IDQ2LjA1NzcgNzkuODg4IDQ3LjcyNjYgNzkuMTA5OFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwidXJsKCNwYWludDBfbGluZWFyXzEwMzBfNDgwMTYpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQ5LjY1NjcgMTIuMjQ3MUw2Mi45NDg5IDE3LjA4NUw1My44ODM4IDIxLjMxMjFMNDkuNjU2NyAxMi4yNDcxWlwiIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMV9kZF8xMDMwXzQ4MDE2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNjMuNjE2MyA2Ny43ODMxSDEwMC4yOTFDMTAyLjEzMiA2Ny43ODMxIDEwMy42MjUgNjYuMjkwNCAxMDMuNjI1IDY0LjQ0OTFWMTguMDAyMkw5My42MjI4IDhINjMuNjE2M0M2MS43NzQ5IDggNjAuMjgyMiA5LjQ5MjcxIDYwLjI4MjIgMTEuMzM0MVY2NC40NDkxQzYwLjI4MjIgNjYuMjkwNCA2MS43NzQ5IDY3Ljc4MzEgNjMuNjE2MyA2Ny43ODMxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MV9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOTMuNjIyNiA4TDEwMy42MjUgMTguMDAyMkg5My42MjI2VjhaXCIgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIyX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04Mi40NzQ1IDYzLjU5MDlMMTE1LjcxMyA3OS4wOTAzQzExNy4zODIgNzkuODY4NSAxMTkuMzY2IDc5LjE0NjUgMTIwLjE0NCA3Ny40Nzc3TDEzOS43NzMgMzUuMzgyNUwxMzQuOTM1IDIyLjA5MDNMMTA3Ljc0IDkuNDA5MDNDMTA2LjA3MSA4LjYzMDg1IDEwNC4wODcgOS4zNTI4NiAxMDMuMzA5IDExLjAyMTdMODAuODYxOSA1OS4xNjAyQzgwLjA4MzcgNjAuODI5MSA4MC44MDU3IDYyLjgxMjggODIuNDc0NSA2My41OTA5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50Ml9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTM0LjkzNiAyMi4wODk4TDEzOS43NzMgMzUuMzgyTDEzMC43MDggMzEuMTU0OUwxMzQuOTM2IDIyLjA4OThaXCIgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjI3XCIgY3k9XCIxMVwiIHI9XCI1XCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjI0XCIgY3k9XCIxMDlcIiByPVwiN1wiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNTFcIiBjeT1cIjM1XCIgcj1cIjdcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTQwXCIgY3k9XCI4XCIgcj1cIjRcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjNfYl8xMDMwXzQ4MDE2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI1OFwiIHk9XCI2MlwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiIzM0NDA1NFwiIGZpbGwtb3BhY2l0eT1cIjAuNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03NC41IDgxLjY4MTZDNzIuODQyNSA4MS42ODE2IDcxLjUgODAuMjEzMyA3MS41IDc4LjQwMDRDNzEuNSA3Ni41ODc1IDcyLjg0MjUgNzUuMTE5MSA3NC41IDc1LjExOTFDNzYuMTU3NSA3NS4xMTkxIDc3LjUgNzYuNTg3NSA3Ny41IDc4LjQwMDRDNzcuNSA4MC4yMTMzIDc2LjE1NzUgODEuNjgxNiA3NC41IDgxLjY4MTZaTTg5LjY0ODMgODEuNjgxNkM4Ny45OTA4IDgxLjY4MTYgODYuNjQ4MyA4MC4yMTMzIDg2LjY0ODMgNzguNDAwNEM4Ni42NDgzIDc2LjU4NzUgODcuOTkwOCA3NS4xMTkxIDg5LjY0ODMgNzUuMTE5MUM5MS4zMDU4IDc1LjExOTEgOTIuNjQ4MyA3Ni41ODc1IDkyLjY0ODMgNzguNDAwNEM5Mi42NDgzIDgwLjIxMzMgOTEuMzA1OCA4MS42ODE2IDg5LjY0ODMgODEuNjgxNlpNODUuNTA5IDg0LjMwNjZDODUuNTA5IDg2LjQ4MDUgODMuODk2NSA4OC4yNDQxIDgxLjkwOSA4OC4yNDQxQzc5LjkyMTUgODguMjQ0MSA3OC4zMDkgODYuNDgwNSA3OC4zMDkgODQuMzA2NkM3OC4zMDkgODIuMTMyOCA3OS45MjE1IDgwLjM2OTEgODEuOTA5IDgwLjM2OTFDODMuODk2NSA4MC4zNjkxIDg1LjUwOSA4Mi4xMzI4IDg1LjUwOSA4NC4zMDY2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03NC4wMDEzIDgzLjc1NTlDNzEuNzkyNSA4My43NTU5IDcwIDg1LjcxNjQgNzAgODguMTMyMkM3MCA4OC42MTIxIDcwLjM2IDg5LjAwNTkgNzAuNzk4OCA4OS4wMDU5SDc4LjgwMTNINzguODI3NUM3Ny44MzM4IDg4LjA0MiA3Ny4yMDM4IDg2LjYzNTIgNzcuMjAzOCA4NS4wNjg0Qzc3LjIwMzggODQuNzU2NiA3Ny4yMjYzIDg0LjQ0OSA3Ny4yNzUgODQuMTUzN0M3Ni43NjUgODMuODk5NCA3Ni4xOTg4IDgzLjc1NTkgNzUuNjAyNSA4My43NTU5SDc0LjAwMTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNODUuMTcyNSA4OS4wMDU5SDg1LjE5ODdIOTMuMjAxMkM5My42NCA4OS4wMDU5IDk0IDg4LjYxNjIgOTQgODguMTMyMkM5NCA4NS43MTY0IDkyLjIwNzUgODMuNzU1OSA4OS45OTg3IDgzLjc1NTlIODguMzk3NUM4Ny44MDEyIDgzLjc1NTkgODcuMjM1IDgzLjg5NTMgODYuNzI1IDg0LjE1MzdDODYuNzcgODQuNDUzMSA4Ni43OTYzIDg0Ljc1NjYgODYuNzk2MyA4NS4wNjg0Qzg2Ljc5NjMgODYuNjM1MiA4Ni4xNyA4OC4wNDIgODUuMTcyNSA4OS4wMDU5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTc5Ljc5ODggOTAuMzE4M0M3Ny4wMzg4IDkwLjMxODMgNzQuOCA5Mi43NjcgNzQuOCA5NS43ODU3Qzc0LjggOTYuMzkyOCA3NS4yNSA5Ni44ODA5IDc1LjgwMTMgOTYuODgwOUg4OC4xOTg3Qzg4Ljc1MzcgOTYuODgwOSA4OS4yIDk2LjM4ODcgODkuMiA5NS43ODU3Qzg5LjIgOTIuNzY3IDg2Ljk2MTMgOTAuMzE4MyA4NC4yMDEzIDkwLjMxODNINzkuNzk4OFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF8xMDMwXzQ4MDE2XCIgeD1cIi0wLjU2MDU0N1wiIHk9XCI4LjAxOTUzXCIgd2lkdGg9XCIxMDQuNTQ3XCIgaGVpZ2h0PVwiMTEyLjQ5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjIwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDggMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIxX2RkXzEwMzBfNDgwMTZcIiB4PVwiNDAuMjgyMlwiIHk9XCI4XCIgd2lkdGg9XCI4My4zNDI4XCIgaGVpZ2h0PVwiOTkuNzgzMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjIwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDggMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIyX2RkXzEwMzBfNDgwMTZcIiB4PVwiNTkuNDUyNlwiIHk9XCI4XCIgd2lkdGg9XCIxMDQuNTQ3XCIgaGVpZ2h0PVwiMTEyLjQ5OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDMgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCIgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJlcm9kZVwiIGluPVwiU291cmNlQWxwaGFcIiByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjIwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDggMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMTAzMF80ODAxNlwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIzX2JfMTAzMF80ODAxNlwiIHg9XCI1MFwiIHk9XCI1NFwiIHdpZHRoPVwiNjRcIiBoZWlnaHQ9XCI2NFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIGluPVwiQmFja2dyb3VuZEltYWdlRml4XCIgc3RkRGV2aWF0aW9uPVwiNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9XCJTb3VyY2VBbHBoYVwiIG9wZXJhdG9yPVwiaW5cIiByZXN1bHQ9XCJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xMDMwXzQ4MDE2XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MF9saW5lYXJfMTAzMF80ODAxNlwiIHgxPVwiNDUuNzczOFwiIHkxPVwiNzkuMjM5NlwiIHgyPVwiMTkuMjg1M1wiIHkyPVwiMzEuNDUyM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0U0RTdFQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0Y5RkFGQlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDFfbGluZWFyXzEwMzBfNDgwMTZcIiB4MT1cIjYxLjc5MTZcIiB5MT1cIjY3LjA3NTVcIiB4Mj1cIjU3Ljk4MDdcIiB5Mj1cIjEyLjU3MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwiI0U0RTdFQ1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI0Y5RkFGQlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cclxuICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJwYWludDJfbGluZWFyXzEwMzBfNDgwMTZcIiB4MT1cIjgxLjExOTlcIiB5MT1cIjYyLjE3ODVcIiB4Mj1cIjEwMC43MDFcIiB5Mj1cIjExLjE3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRTRFN0VDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjRjlGQUZCXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPlN0YXJ0IGJ5IGNyZWF0aW5nIGEgdGVhbTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YiBtdC0yXCI+QW55IHRlYW0gY3JlYXRlZCB3aWxsIHRyYWNrIGhlcmUuPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG10LTMgbWItMTBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTI1IG1lLTNcIj5Ib3cgdG8gY3JlYXRlPzwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1VzZXJfaXNBZGRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTI1IG1zLTNcIiBpZD1cImFsZXJ0LXRvYXN0XCIgKGNsaWNrKT1cImNyZWF0ZVRlYW0oKVwiPjxzcGFuIGNsYXNzPVwibXgtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkuOTk5ODQgNC4xNjY5OVYxNS44MzM3TTQuMTY2NSAxMC4wMDAzSDE1LjgzMzJcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+Q3JlYXRlXHJcbiAgICAgICAgICAgICAgICBUZWFtPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidmlld1RlYW1zXCI+XHJcbiAgICA8bGliLXZpZXd0ZWFtcy1saXN0IFt0ZWFtRGF0YV09XCJ0aGlzLnNlbGVjdGVkVGVhbVwiPjwvbGliLXZpZXd0ZWFtcy1saXN0PlxyXG48L2Rpdj5cclxuIl19
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdXNlcnMvc3JjL2xpYi9jb21wb25lbnRzLXYyL3RlYW1zLWxpc3QvdGVhbXMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdXNlcnMvc3JjL2xpYi9jb21wb25lbnRzLXYyL3RlYW1zLWxpc3QvdGVhbXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUE0QixZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUtwRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBc0MsTUFBTSxNQUFNLENBQUM7QUFHOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7O0FBTzlFLE1BQU0sT0FBTyxrQkFBa0I7SUEwQlQ7SUFBMEM7SUFBMkM7SUFDaEc7SUFBK0I7SUFBeUI7SUFBc0I7SUExQjdFLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2QsY0FBYyxDQUFjO0lBQzNCLGVBQWUsQ0FBYTtJQUMxRCxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsY0FBYyxDQUFNO0lBQ3BCLFdBQVcsQ0FBTTtJQUNqQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDakIsVUFBVSxHQUFRO1FBQ2hCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEVBQUU7UUFDVCxVQUFVLEVBQUUsQ0FBQztLQUNkLENBQUM7SUFDRixPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLE1BQU0s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LENBQUMsTUFBTTtnQkFDcEMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixNQUFNLEVBQUUsS0FBSzthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO3dHQXhUVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw0U0NoQi9CLGt0bENBaWJBOzs0RkRqYWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjswUEFLaEIsTUFBTTtzQkFBZixNQUFNO2dCQUNzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDRyxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRlYW1zQ3JlYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi90ZWFtcy1jcmVhdGlvbi90ZWFtcy1jcmVhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBNYW5hZ2VVc2Vyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy12Mi9tYW5hZ2UtdXNlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhjZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRlYW1zLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWFtcy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGVhbXMtbGlzdC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlYW1zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRhdGFUbyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JykgdG9vbHRpcENvbnRlbnQhOiBOZ2JUb29sdGlwO1xyXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50cycpIHRvb2x0aXBDb250ZW50cyE6IE5nYlRvb2x0aXBcclxuICBzaG93Y3JlYXRlYnV0dG9uOmJvb2xlYW4gPSAgZmFsc2U7XHJcbiAgJGhlYWRlckZpbHRlcnM6IGFueTtcclxuICBzZWFyY2hWYWx1ZTogYW55O1xyXG4gIHRlYW1zTGlzdDogYW55W10gPSBbXTtcclxuICByZXFkYXRhOiBhbnkgPSB7fVxyXG4gIHBhZ2luYXRpb246IGFueSA9IHtcclxuICAgIG9mZnNldDogMSxcclxuICAgIGxpbWl0OiAxMCxcclxuICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgfTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IG51bWJlcltdID0gWzEwLCAyMCwgMzBdO1xyXG4gIHZpZXdUZWFtczpib29sZWFuID1mYWxzZVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlbGVjdGVkVGVhbTogYW55O1xyXG5cclxuIFxyXG5cclxuICAgIFxyXG4gIFxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIHVzZXJTZXJ2aWNlOiBNYW5hZ2VVc2Vyc1NlcnZpY2UsICAgcHJpdmF0ZSBleGNlbFNlcnZpY2U6IEV4Y2VsU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgdHM6IFRvYXN0U2VydmljZSxwcml2YXRlIHJvdXRlcjogUm91dGVyLHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuICB1c2Vyczphbnk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgIFxyXG4gICAgdGhpcy51c2VyU2VydmljZS5zZXRWaWV3VGVhbShmYWxzZSk7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnZpZXdUZWFtcyQuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICB0aGlzLnZpZXdUZWFtcyA9IHZhbHVlO1xyXG4gICAgICBpZih2YWx1ZSl7XHJcbiAgICAgICAgdGhpcy5sb2FkVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ3M/LmRhdGFSYW5nZVZhbHVlPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgdXNlckRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyLWluZm9cIikgfHwgXCJ7fVwiKTtcclxuICAgICAgICAgIHRoaXMuJGhlYWRlckZpbHRlcnMgPSB1c2VyRGF0YTtcclxuICAgICAgICAgIHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50ID0gdXNlckRhdGEuY2xpZW50SWRcclxuICAgICAgICAgIGlmICh1c2VyRGF0YT8uY2xpZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZXFkYXRhID0ge1xyXG4gICAgICAgICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlLFxyXG4gICAgICAgICAgICAgIGV4cG9ydDogZmFsc2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy4kaGVhZGVyRmlsdGVycyA9IGRhdGE7XHJcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0ID0gMTtcclxuICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi5saW1pdCA9IDEwO1xyXG4gICAgICAgICAgdGhpcy5yZXFkYXRhID0ge1xyXG4gICAgICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hWYWx1ZSxcclxuICAgICAgICAgICAgZXhwb3J0OiBmYWxzZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG5cclxuICBleHBvcnRYTFNYKCkge1xyXG4gICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgIGxpbWl0OiAxMDAwMCxcclxuICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgZXhwb3J0OnRydWUsXHJcbiAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgIH07XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXHJcbiAgICAuZ2V0VGVhbXNMaXN0RXhwb3J0KG9iailcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmV4Y2VsU2VydmljZS5zYXZlQXNFeGNlbEZpbGUocmVzLCAnVGVhbXMgJylcclxuICBcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgXHJcbiAgIH0pO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRNYXNrZWRWYWx1ZSh2YWx1ZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHJvbGUgPT09ICdzdXBlcmFkbWluJykgcmV0dXJuIHZhbHVlO1xyXG4gICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUuaW5jbHVkZXMoJ0AnKSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IFtsb2NhbCwgZG9tYWluXSA9IHZhbHVlLnNwbGl0KCdAJyk7XHJcbiAgICBjb25zdCB2aXNpYmxlTGVuZ3RoID0gTWF0aC5taW4oMywgbG9jYWwubGVuZ3RoKTtcclxuICAgIGNvbnN0IHZpc2libGVQYXJ0ID0gbG9jYWwuc2xpY2UoMCwgdmlzaWJsZUxlbmd0aCk7XHJcbiAgICBjb25zdCBtYXNrZWRQYXJ0ID0gJyonLnJlcGVhdChsb2NhbC5sZW5ndGggLSB2aXNpYmxlTGVuZ3RoKTtcclxuXHJcbiAgICByZXR1cm4gYCR7dmlzaWJsZVBhcnR9JHttYXNrZWRQYXJ0fUAke2RvbWFpbn1gO1xyXG4gIH1cclxuICBjcmVhdGVUZWFtKCl7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGVhbXNDcmVhdGlvbkNvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbGcnIH0pOyBcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnR5cGUgPSAnY3JlYXRlJzsgICBcclxuICAgICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIGVkaXRUZWFtc2RhdGEoZGF0YTphbnkpe1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFRlYW1zQ3JlYXRpb25Db21wb25lbnQseyBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ2xnJyB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnRlYW1EYXRhID0gZGF0YTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnR5cGUgPSAnZWRpdCc7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRUYWJsZSgpO1xyXG4gICAgICB9KVxyXG4gIH1cclxuICBkZWxldGVUZWFtKGRhdGE6YW55KXtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCx7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnLGJhY2tkcm9wOlwic3RhdGljXCIgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50ZWFtRGF0YSA9IGRhdGE7XHJcbiAgICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQgPT09ICdzdWJtaXQnKXtcclxuICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZGVsZXRlVGVhbSh7dGVhbUlkOmRhdGEuX2lkfSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRzLmdldFByaW1hcnlUb2FzdCgnVGVhbSBEZWxldGVkIFN1Y2Nlc3NmdWxseScpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0ID0gMTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi5saW1pdCA9IDEwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXFkYXRhLm9mZnNldCA9MVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgICAgICAgICAgICB9fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlcWRhdGEuZXhwb3J0ID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5yZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5yZXFkYXRhLnNvcnRCeSA9IHRoaXMucmVxZGF0YS5zb3J0QnkgPT09IDEgPyAtMSA6IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlcWRhdGEuc29ydENvbHVtTmFtZSA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5yZXFkYXRhLnNvcnRCeSA9IDE7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvYWRUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBsb2FkVGFibGUoKSB7XHJcbiAgICB0aGlzLnVzZXJzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgfHwgJ3t9JylcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgLy8gIHRoaXMucGFnaW5hdGlvbi5vZmZzZXQ9MTtcclxuICAgIC8vICB0aGlzLnBhZ2luYXRpb24ubGltaXQgPTEwO1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLnRvdGFsQ291bnQgPSAwO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5nZXRUZWFtc0xpc3QodGhpcy5yZXFkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgIGlmKHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpe1xyXG4gICAgICAgICAgICB0aGlzLnRlYW1zTGlzdCA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgICAgdGhpcy5zaG93Y3JlYXRlYnV0dG9uID0gZmFsc2UgIFxyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0LFxyXG4gICAgICAgICAgICAgIGxpbWl0OiB0aGlzLnBhZ2luYXRpb24ubGltaXQsXHJcbiAgICAgICAgICAgICAgdG90YWxDb3VudDogcmVzLmRhdGEuY291bnQsXHJcbiAgICAgICAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRvLmVtaXQoIHRoaXMucGFnaW5hdGlvbi50b3RhbENvdW50KTsgXHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb3VudCA8IDEwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbcmVzLmRhdGEuY291bnRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnRlYW1zTGlzdCA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUby5lbWl0KCAnJyk7IFxyXG4gICAgICAgICAgICB0aGlzLnNob3djcmVhdGVidXR0b24gPSB0cnVlXHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50ZWFtc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVG8uZW1pdCggJycpOyBcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICBsaW1pdDogMTAsXHJcbiAgICAgICAgICAgICAgdG90YWxDb3VudDogMCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy50ZWFtc0xpc3QgPSBbXTtcclxuICAgICAgICB0aGlzLmRhdGFUby5lbWl0KCAnJyk7IFxyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICAgIHRvdGFsQ291bnQ6IDAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIHBhZ2luYXRpb25TaXplKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnRvdGFsQ291bnQgPCAxMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uLnRvdGFsQ291bnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWdpbmF0aW9uLmxpbWl0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5yZXFkYXRhLm9mZnNldCA9IHBhZ2VPZmZzZXQ7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0ID0gcGFnZU9mZnNldDtcclxuICAgIGlmKHRoaXMuc2VhcmNoVmFsdWUgPT09Jycpe1xyXG4gICAgIHRoaXMucmVxZGF0YSA9IHtcclxuICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgIGxpbWl0OiB0aGlzLnJlcWRhdGEubGltaXQsXHJcbiAgICAgICBvZmZzZXQ6IHRoaXMucmVxZGF0YS5vZmZzZXQsXHJcbiAgICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnJlcWRhdGEuc29ydENvbHVtTmFtZSxcclxuICAgICAgIHNvcnRCeTp0aGlzLnJlcWRhdGEuc29ydEJ5LFxyXG4gICAgICAgZXhwb3J0OmZhbHNlXHJcbiAgICAgfTtcclxuICAgfSBlbHNlIHtcclxuICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICBsaW1pdDogdGhpcy5yZXFkYXRhLmxpbWl0LFxyXG4gICAgICAgb2Zmc2V0OiB0aGlzLnJlcWRhdGEub2Zmc2V0LFxyXG4gICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnJlcWRhdGEuc29ydENvbHVtTmFtZSxcclxuICAgICAgIHNvcnRCeTp0aGlzLnJlcWRhdGEuc29ydEJ5LFxyXG4gICAgICAgZXhwb3J0OmZhbHNlXHJcbiAgICAgfTtcclxuICAgfVxyXG4gICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICB9XHJcbiBcclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMucmVxZGF0YS5saW1pdCA9IE51bWJlcihwYWdlU2l6ZSk7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xyXG4gICAgdGhpcy5yZXFkYXRhLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ub2Zmc2V0ID0gMTtcclxuICAgIGlmKHRoaXMuc2VhcmNoVmFsdWUgPT09Jycpe1xyXG4gICAgIHRoaXMucmVxZGF0YSA9IHtcclxuICAgICAgIGNsaWVudElkOiB0aGlzLiRoZWFkZXJGaWx0ZXJzLmNsaWVudCxcclxuICAgICAgIGxpbWl0OiB0aGlzLnJlcWRhdGEubGltaXQsXHJcbiAgICAgICBvZmZzZXQ6IHRoaXMucmVxZGF0YS5vZmZzZXQsXHJcbiAgICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnJlcWRhdGEuc29ydENvbHVtTmFtZSxcclxuICAgICAgIHNvcnRCeTp0aGlzLnJlcWRhdGEuc29ydEJ5LFxyXG4gICAgICAgZXhwb3J0OmZhbHNlXHJcbiAgICAgfTtcclxuICAgfSBlbHNlIHtcclxuICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICBsaW1pdDogdGhpcy5yZXFkYXRhLmxpbWl0LFxyXG4gICAgICAgb2Zmc2V0OiB0aGlzLnJlcWRhdGEub2Zmc2V0LFxyXG4gICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUsXHJcbiAgICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5yZXFkYXRhLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgICBzb3J0Qnk6dGhpcy5yZXFkYXRhLnNvcnRCeSxcclxuICAgICAgIGV4cG9ydDpmYWxzZVxyXG4gICAgIH07XHJcbiAgIH1cclxuICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgfVxyXG4gXHJcbiAgdmlld1RlYW1zZGF0YShkYXRhOmFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRlYW0gPSBkYXRhXHJcbiAgICB0aGlzLnZpZXdUZWFtcyA9IHRydWU7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFZpZXdUZWFtKHRydWUpO1xyXG4gIH1cclxuICBzZWFyY2hEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdpbmF0aW9uLm9mZnNldCA9IDE7XHJcbiAgICB0aGlzLnBhZ2luYXRpb24ubGltaXQgPSAxMDtcclxuICAgIGlmICh0aGlzLnNlYXJjaFZhbHVlID09PSAnJykge1xyXG4gICAgICB0aGlzLnJlcWRhdGEgPSB7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuJGhlYWRlckZpbHRlcnMuY2xpZW50LFxyXG4gICAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgICBvZmZzZXQ6IDEsXHJcblxyXG4gICAgICAgIGV4cG9ydDogZmFsc2VcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5sb2FkVGFibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVxZGF0YSA9IHtcclxuICAgICAgICBjbGllbnRJZDogdGhpcy4kaGVhZGVyRmlsdGVycy5jbGllbnQsXHJcbiAgICAgICAgbGltaXQ6IDEwLFxyXG4gICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hWYWx1ZSxcclxuICAgICAgICBleHBvcnQ6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMubG9hZFRhYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCIgKm5nSWY9XCIhbG9hZGluZyAgJiYgICF2aWV3VGVhbXMmJiFzaG93Y3JlYXRlYnV0dG9uXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhciByaWdodGNvcm5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2hhbmdlKT1cInNlYXJjaERhdGEoKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgLz5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbG9hZGluZyAmJiAhbm9EYXRhIFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXhwb3J0WExTWCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBwLTQgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1VzZXJfaXNBZGQgJiYgdGVhbXNMaXN0Lmxlbmd0aD4wXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjcmVhdGVUZWFtKClcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuMDAwMSA0LjE2NjYzVjE1LjgzMzNNNC4xNjY3NSA5Ljk5OTk2SDE1LjgzMzRcIiBzdHJva2U9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+Q3JlYXRlIFRlYW08L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBsZWZ0LW1vdmVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGEgXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIHAtNCBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjcmVhdGVUZWFtKClcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuMDAwMSA0LjE2NjYzVjE1LjgzMzNNNC4xNjY3NSA5Ljk5OTk2SDE1LjgzMzRcIiBzdHJva2U9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+Q3JlYXRlIFRlYW08L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YSAmJiAgIXZpZXdUZWFtcyYmdGVhbXNMaXN0Lmxlbmd0aD4wXCIgY2xhc3M9XCJjYXJkLWJvZHkgcC0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcCBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3BhbiBjbGFzcz1cImlucHV0Y2hlY2tcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3RlYW1OYW1lJylcIj5UZWFtIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ3RlYW1OYW1lJyAmJiByZXFkYXRhPy5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICd0ZWFtTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3VzZXJzY291bnQnKVwiPlVzZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtuZ0NsYXNzXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICd1c2Vyc2NvdW50JyAmJiByZXFkYXRhPy5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICd1c2Vyc2NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cImxpbmUtaGVpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7XCI+TGVhZCBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzdmcgW25nQ2xhc3NdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ2xlYWROYW1lJyAmJiByZXFkYXRhPy5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInJlcWRhdGE/LnNvcnRDb2x1bU5hbWUgPT09ICdsZWFkTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwibGluZS1oZWlnaHQ6IDIxcHggIWltcG9ydGFudDtcIj5MZWFkIEVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzdmcgW25nQ2xhc3NdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ2xlYWRlbWFpbCcgJiYgcmVxZGF0YT8uc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAnbGVhZGVtYWlsJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2Rlc2NyaXB0aW9uJylcIj5EZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBbbmdDbGFzc109XCJyZXFkYXRhPy5zb3J0Q29sdW1OYW1lID09PSAnZGVzY3JpcHRpb24nICYmIHJlcWRhdGE/LnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwicmVxZGF0YT8uc29ydENvbHVtTmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cImxpbmUtaGVpZ2h0OiAyMXB4ICFpbXBvcnRhbnQ7XCI+QWN0aW9uczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVzZXIgb2YgdGVhbXNMaXN0O2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0ZD48c3BhbiBjbGFzcz1cImlucHV0Y2hlY2tcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBtdC0yXCI+PC9zcGFuPjwvdGQ+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7dXNlcj8udGVhbU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3t1c2VyPy51c2Vyc2NvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dGQ+e3t1c2VyPy5sZWFkTmFtZX19PHNwYW4gKm5nSWY9XCJ1c2VyPy5UZWFtbGVhZGNvdW50PjBcIj4gK3t7dXNlcj8uVGVhbWxlYWRjb3VudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PGRpdiBjbGFzcz1cIm14LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmFzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXI/LmxlYWROYW1lWzBdP3VzZXI/LmxlYWROYW1lWzBdOlwiLS1cIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyPy5sZWFkTmFtZS5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgK3t7IHVzZXIubGVhZE5hbWUubGVuZ3RoIC0gMSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMTAwXCI+e3sgdXNlci5sZWFkTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlci5sZWFkZW1haWwubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAre3sgdXNlci5sZWFkZW1haWwubGVuZ3RoIC0gMSB9fSBtb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTM1cHggc3ltYm9sLWNpcmNsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtc3ltYm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t1c2VyPy5sZWFkZW1haWwuc2xpY2UoMCwxKSB8IHVwcGVyY2FzZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIiAqbmdJZj1cInVzZXI/LmxlYWRlbWFpbC5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZzLTQgYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSBmdy1ub3JtYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlcj8ubGVhZGVtYWlsWzBdPy5zdWJzdHJpbmcoMCwgMikgfCB1cHBlcmNhc2UgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ2V0TWFza2VkVmFsdWUodXNlcj8ubGVhZGVtYWlsWzBdICx1c2Vycz8ucm9sZSkgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXI/LmxlYWRlbWFpbC5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAre3sgdXNlci5sZWFkZW1haWwubGVuZ3RoIC0gMSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnRzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0xMDBcIj57eyB1c2VyLmxlYWRlbWFpbH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyPy5UZWFtbGVhZGNvdW50PjBcIj4re3t1c2VyPy5UZWFtbGVhZGNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e3VzZXI/LmRlc2NyaXB0aW9uID8gdXNlcj8uZGVzY3JpcHRpb24gOiBcIi0tXCJ9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInZpZXdUZWFtc2RhdGEodXNlcilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9XCJleWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD1cIkljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzMzNzQgMTAuMDAwMkMwLjgzMzM3NCAxMC4wMDAyIDQuMTY2NzEgMy4zMzM1IDEwIDMuMzMzNUMxNS44MzM0IDMuMzMzNSAxOS4xNjY3IDEwLjAwMDIgMTkuMTY2NyAxMC4wMDAyQzE5LjE2NjcgMTAuMDAwMiAxNS44MzM0IDE2LjY2NjggMTAgMTYuNjY2OEM0LjE2NjcxIDE2LjY2NjggMC44MzMzNzQgMTAuMDAwMiAwLjgzMzM3NCAxMC4wMDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMCAxMi41MDAyQzExLjM4MDggMTIuNTAwMiAxMi41IDExLjM4MDkgMTIuNSAxMC4wMDAyQzEyLjUgOC42MTk0NSAxMS4zODA4IDcuNTAwMTYgMTAgNy41MDAxNkM4LjYxOTMzIDcuNTAwMTYgNy41MDAwNCA4LjYxOTQ1IDcuNTAwMDQgMTAuMDAwMkM3LjUwMDA0IDExLjM4MDkgOC42MTkzMyAxMi41MDAyIDEwIDEyLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8YXN5bmMpPy5HbG9iYWxfVXNlcl9pc0VkaXRcIiBjbGFzcz1cIm1lLTMgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZWRpdFRlYW1zZGF0YSh1c2VyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIxODFfMTExNjApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNC4xNjY2IDEyLjQ5OTlDMjQuMzg1NSAxMi4yODExIDI0LjY0NTMgMTIuMTA3NCAyNC45MzEzIDExLjk4OUMyNS4yMTczIDExLjg3MDUgMjUuNTIzOCAxMS44MDk2IDI1LjgzMzMgMTEuODA5NkMyNi4xNDI4IDExLjgwOTYgMjYuNDQ5MyAxMS44NzA1IDI2LjczNTMgMTEuOTg5QzI3LjAyMTMgMTIuMTA3NCAyNy4yODExIDEyLjI4MTEgMjcuNSAxMi40OTk5QzI3LjcxODggMTIuNzE4OCAyNy44OTI0IDEyLjk3ODYgMjguMDEwOSAxMy4yNjQ2QzI4LjEyOTQgMTMuNTUwNiAyOC4xOTAzIDEzLjg1NzEgMjguMTkwMyAxNC4xNjY2QzI4LjE5MDMgMTQuNDc2MSAyOC4xMjk0IDE0Ljc4MjYgMjguMDEwOSAxNS4wNjg2QzI3Ljg5MjQgMTUuMzU0NiAyNy43MTg4IDE1LjYxNDQgMjcuNSAxNS44MzMzTDE2LjI1IDI3LjA4MzNMMTEuNjY2NiAyOC4zMzMzTDEyLjkxNjYgMjMuNzQ5OUwyNC4xNjY2IDEyLjQ5OTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjE4MV8xMTE2MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIDEwKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfGFzeW5jKT8uR2xvYmFsX1VzZXJfaXNFZGl0XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJkZWxldGVUZWFtKHVzZXIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi41IDE0Ljk5OThIMTQuMTY2N00xNC4xNjY3IDE0Ljk5OThIMjcuNU0xNC4xNjY3IDE0Ljk5OThWMjYuNjY2NUMxNC4xNjY3IDI3LjEwODUgMTQuMzQyMyAyNy41MzI1IDE0LjY1NDggMjcuODQ1QzE0Ljk2NzQgMjguMTU3NiAxNS4zOTEzIDI4LjMzMzIgMTUuODMzMyAyOC4zMzMySDI0LjE2NjdDMjQuNjA4NyAyOC4zMzMyIDI1LjAzMjYgMjguMTU3NiAyNS4zNDUyIDI3Ljg0NUMyNS42NTc3IDI3LjUzMjUgMjUuODMzMyAyNy4xMDg1IDI1LjgzMzMgMjYuNjY2NVYxNC45OTk4SDE0LjE2NjdaTTE2LjY2NjcgMTQuOTk5OFYxMy4zMzMyQzE2LjY2NjcgMTIuODkxMSAxNi44NDIzIDEyLjQ2NzIgMTcuMTU0OCAxMi4xNTQ3QzE3LjQ2NzQgMTEuODQyMSAxNy44OTEzIDExLjY2NjUgMTguMzMzMyAxMS42NjY1SDIxLjY2NjdDMjIuMTA4NyAxMS42NjY1IDIyLjUzMjYgMTEuODQyMSAyMi44NDUyIDEyLjE1NDdDMjMuMTU3NyAxMi40NjcyIDIzLjMzMzMgMTIuODkxMSAyMy4zMzMzIDEzLjMzMzJWMTQuOTk5OE0xOC4zMzMzIDE5LjE2NjVWMjQuMTY2NU0yMS42NjY3IDE5LjE2NjVWMjQuMTY2NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nICYmICFub0RhdGEgICYmICAhdmlld1RlYW1zJiZ0ZWFtc0xpc3QubGVuZ3RoPjBcIiBjbGFzcz1cImNvbC14eGwtMTIgY29sLW1kLTEyIGNvbC14bC0xMiBjb2wtbGctMTIgbXktM1wiPlxyXG4gICAgICAgIDxsaWItcGFnaW5hdGlvbiAqbmdJZj1cInRlYW1zTGlzdC5sZW5ndGghPT0wXCIgW2l0ZW1zUGVyUGFnZV09XCJwYWdpbmF0aW9uLmxpbWl0XCIgW2N1cnJlbnRQYWdlXT1cInBhZ2luYXRpb24ub2Zmc2V0XCJcclxuICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwicGFnaW5hdGlvbi50b3RhbENvdW50XCIgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnaW5hdGlvblNpemUoKVwiXHJcbiAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyIG1iLTEwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEmJiFzaG93Y3JlYXRlYnV0dG9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93Y3JlYXRlYnV0dG9uXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMyAgcmlnaHQtYmFyIHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNjBcIiBoZWlnaHQ9XCIxMjBcIiB2aWV3Qm94PVwiMCAwIDE2MCAxMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCI4MlwiIGN5PVwiNTJcIiByPVwiNTJcIiBmaWxsPVwiI0VBRUNGMFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfMTAzMF80ODAxNilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQ3LjcyNjYgNzkuMTA5OEw4MC45NjUxIDYzLjYxMDRDODIuNjMzOSA2Mi44MzIyIDgzLjM1NTkgNjAuODQ4NSA4Mi41Nzc3IDU5LjE3OTdMNjIuOTQ4NCAxNy4wODQ1TDQ5LjY1NjMgMTIuMjQ2NkwyMi40NjExIDI0LjkyNzlDMjAuNzkyMyAyNS43MDYxIDIwLjA3MDMgMjcuNjg5OCAyMC44NDg1IDI5LjM1ODZMNDMuMjk1OSA3Ny40OTcxQzQ0LjA3NCA3OS4xNjYgNDYuMDU3NyA3OS44ODggNDcuNzI2NiA3OS4xMDk4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ1cmwoI3BhaW50MF9saW5lYXJfMTAzMF80ODAxNilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNDkuNjU2NyAxMi4yNDcxTDYyLjk0ODkgMTcuMDg1TDUzLjg4MzggMjEuMzEyMUw0OS42NTY3IDEyLjI0NzFaXCIgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIxX2RkXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02My42MTYzIDY3Ljc4MzFIMTAwLjI5MUMxMDIuMTMyIDY3Ljc4MzEgMTAzLjYyNSA2Ni4yOTA0IDEwMy42MjUgNjQuNDQ5MVYxOC4wMDIyTDkzLjYyMjggOEg2My42MTYzQzYxLjc3NDkgOCA2MC4yODIyIDkuNDkyNzEgNjAuMjgyMiAxMS4zMzQxVjY0LjQ0OTFDNjAuMjgyMiA2Ni4yOTA0IDYxLjc3NDkgNjcuNzgzMSA2My42MTYzIDY3Ljc4MzFaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cInVybCgjcGFpbnQxX2xpbmVhcl8xMDMwXzQ4MDE2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05My42MjI2IDhMMTAzLjYyNSAxOC4wMDIySDkzLjYyMjZWOFpcIiBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjJfZGRfMTAzMF80ODAxNilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTgyLjQ3NDUgNjMuNTkwOUwxMTUuNzEzIDc5LjA5MDNDMTE3LjM4MiA3OS44Njg1IDExOS4zNjYgNzkuMTQ2NSAxMjAuMTQ0IDc3LjQ3NzdMMTM5Ljc3MyAzNS4zODI1TDEzNC45MzUgMjIuMDkwM0wxMDcuNzQgOS40MDkwM0MxMDYuMDcxIDguNjMwODUgMTA0LjA4NyA5LjM1Mjg2IDEwMy4zMDkgMTEuMDIxN0w4MC44NjE5IDU5LjE2MDJDODAuMDgzNyA2MC44MjkxIDgwLjgwNTcgNjIuODEyOCA4Mi40NzQ1IDYzLjU5MDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cInVybCgjcGFpbnQyX2xpbmVhcl8xMDMwXzQ4MDE2KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMzQuOTM2IDIyLjA4OThMMTM5Ljc3MyAzNS4zODJMMTMwLjcwOCAzMS4xNTQ5TDEzNC45MzYgMjIuMDg5OFpcIiBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMjdcIiBjeT1cIjExXCIgcj1cIjVcIiBmaWxsPVwiI0YyRjRGN1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMjRcIiBjeT1cIjEwOVwiIHI9XCI3XCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjE1MVwiIGN5PVwiMzVcIiByPVwiN1wiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNDBcIiBjeT1cIjhcIiByPVwiNFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyM19iXzEwMzBfNDgwMTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjU4XCIgeT1cIjYyXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjMzQ0MDU0XCIgZmlsbC1vcGFjaXR5PVwiMC40XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTc0LjUgODEuNjgxNkM3Mi44NDI1IDgxLjY4MTYgNzEuNSA4MC4yMTMzIDcxLjUgNzguNDAwNEM3MS41IDc2LjU4NzUgNzIuODQyNSA3NS4xMTkxIDc0LjUgNzUuMTE5MUM3Ni4xNTc1IDc1LjExOTEgNzcuNSA3Ni41ODc1IDc3LjUgNzguNDAwNEM3Ny41IDgwLjIxMzMgNzYuMTU3NSA4MS42ODE2IDc0LjUgODEuNjgxNlpNODkuNjQ4MyA4MS42ODE2Qzg3Ljk5MDggODEuNjgxNiA4Ni42NDgzIDgwLjIxMzMgODYuNjQ4MyA3OC40MDA0Qzg2LjY0ODMgNzYuNTg3NSA4Ny45OTA4IDc1LjExOTEgODkuNjQ4MyA3NS4xMTkxQzkxLjMwNTggNzUuMTE5MSA5Mi42NDgzIDc2LjU4NzUgOTIuNjQ4MyA3OC40MDA0QzkyLjY0ODMgODAuMjEzMyA5MS4zMDU4IDgxLjY4MTYgODkuNjQ4MyA4MS42ODE2Wk04NS41MDkgODQuMzA2NkM4NS41MDkgODYuNDgwNSA4My44OTY1IDg4LjI0NDEgODEuOTA5IDg4LjI0NDFDNzkuOTIxNSA4OC4yNDQxIDc4LjMwOSA4Ni40ODA1IDc4LjMwOSA4NC4zMDY2Qzc4LjMwOSA4Mi4xMzI4IDc5LjkyMTUgODAuMzY5MSA4MS45MDkgODAuMzY5MUM4My44OTY1IDgwLjM2OTEgODUuNTA5IDgyLjEzMjggODUuNTA5IDg0LjMwNjZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTc0LjAwMTMgODMuNzU1OUM3MS43OTI1IDgzLjc1NTkgNzAgODUuNzE2NCA3MCA4OC4xMzIyQzcwIDg4LjYxMjEgNzAuMzYgODkuMDA1OSA3MC43OTg4IDg5LjAwNTlINzguODAxM0g3OC44Mjc1Qzc3LjgzMzggODguMDQyIDc3LjIwMzggODYuNjM1MiA3Ny4yMDM4IDg1LjA2ODRDNzcuMjAzOCA4NC43NTY2IDc3LjIyNjMgODQuNDQ5IDc3LjI3NSA4NC4xNTM3Qzc2Ljc2NSA4My44OTk0IDc2LjE5ODggODMuNzU1OSA3NS42MDI1IDgzLjc1NTlINzQuMDAxM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04NS4xNzI1IDg5LjAwNTlIODUuMTk4N0g5My4yMDEyQzkzLjY0IDg5LjAwNTkgOTQgODguNjE2MiA5NCA4OC4xMzIyQzk0IDg1LjcxNjQgOTIuMjA3NSA4My43NTU5IDg5Ljk5ODcgODMuNzU1OUg4OC4zOTc1Qzg3LjgwMTIgODMuNzU1OSA4Ny4yMzUgODMuODk1MyA4Ni43MjUgODQuMTUzN0M4Ni43NyA4NC40NTMxIDg2Ljc5NjMgODQuNzU2NiA4Ni43OTYzIDg1LjA2ODRDODYuNzk2MyA4Ni42MzUyIDg2LjE3IDg4LjA0MiA4NS4xNzI1IDg5LjAwNTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNzkuNzk4OCA5MC4zMTgzQzc3LjAzODggOTAuMzE4MyA3NC44IDkyLjc2NyA3NC44IDk1Ljc4NTdDNzQuOCA5Ni4zOTI4IDc1LjI1IDk2Ljg4MDkgNzUuODAxMyA5Ni44ODA5SDg4LjE5ODdDODguNzUzNyA5Ni44ODA5IDg5LjIgOTYuMzg4NyA4OS4yIDk1Ljc4NTdDODkuMiA5Mi43NjcgODYuOTYxMyA5MC4zMTgzIDg0LjIwMTMgOTAuMzE4M0g3OS43OTg4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzEwMzBfNDgwMTZcIiB4PVwiLTAuNTYwNTQ3XCIgeT1cIjguMDE5NTNcIiB3aWR0aD1cIjEwNC41NDdcIiBoZWlnaHQ9XCIxMTIuNDk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wMyAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjFfZGRfMTAzMF80ODAxNlwiIHg9XCI0MC4yODIyXCIgeT1cIjhcIiB3aWR0aD1cIjgzLjM0MjhcIiBoZWlnaHQ9XCI5OS43ODMyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wMyAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjJfZGRfMTAzMF80ODAxNlwiIHg9XCI1OS40NTI2XCIgeT1cIjhcIiB3aWR0aD1cIjEwNC41NDdcIiBoZWlnaHQ9XCIxMTIuNDk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZXJvZGVcIiBpbj1cIlNvdXJjZUFscGhhXCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wMyAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIiB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImVyb2RlXCIgaW49XCJTb3VyY2VBbHBoYVwiIHJlc3VsdD1cImVmZmVjdDJfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMjBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wOCAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd18xMDMwXzQ4MDE2XCIgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjNfYl8xMDMwXzQ4MDE2XCIgeD1cIjUwXCIgeT1cIjU0XCIgd2lkdGg9XCI2NFwiIGhlaWdodD1cIjY0XCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiBzdGREZXZpYXRpb249XCI0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj1cIlNvdXJjZUFscGhhXCIgb3BlcmF0b3I9XCJpblwiIHJlc3VsdD1cImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfMTAzMF80ODAxNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzEwMzBfNDgwMTZcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwicGFpbnQwX2xpbmVhcl8xMDMwXzQ4MDE2XCIgeDE9XCI0NS43NzM4XCIgeTE9XCI3OS4yMzk2XCIgeDI9XCIxOS4yODUzXCIgeTI9XCIzMS40NTIzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRTRFN0VDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjRjlGQUZCXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50MV9saW5lYXJfMTAzMF80ODAxNlwiIHgxPVwiNjEuNzkxNlwiIHkxPVwiNjcuMDc1NVwiIHgyPVwiNTcuOTgwN1wiIHkyPVwiMTIuNTcxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9XCIjRTRFN0VDXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjRjlGQUZCXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cInBhaW50Ml9saW5lYXJfMTAzMF80ODAxNlwiIHgxPVwiODEuMTE5OVwiIHkxPVwiNjIuMTc4NVwiIHgyPVwiMTAwLjcwMVwiIHkyPVwiMTEuMTdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIiNFNEU3RUNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNGOUZBRkJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+U3RhcnQgYnkgY3JlYXRpbmcgYSB0ZWFtPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViIG10LTJcIj5BbnkgdGVhbSBjcmVhdGVkIHdpbGwgdHJhY2sgaGVyZS48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMyBtYi0xMFwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHctMjUgbWUtM1wiPkhvdyB0byBjcmVhdGU/PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiEoZ3MudXNlckFjY2VzcyB8YXN5bmMpPy5HbG9iYWxfVXNlcl9pc0FkZFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMjUgbXMtM1wiIGlkPVwiYWxlcnQtdG9hc3RcIiAoY2xpY2spPVwiY3JlYXRlVGVhbSgpXCI+PHNwYW4gY2xhc3M9XCJteC0yXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOS45OTk4NCA0LjE2Njk5VjE1LjgzMzdNNC4xNjY1IDEwLjAwMDNIMTUuODMzMlwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5DcmVhdGVcclxuICAgICAgICAgICAgICAgIFRlYW08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJ2aWV3VGVhbXNcIj5cclxuICAgIDxsaWItdmlld3RlYW1zLWxpc3QgW3RlYW1EYXRhXT1cInRoaXMuc2VsZWN0ZWRUZWFtXCI+PC9saWItdmlld3RlYW1zLWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0=