tango-app-ui-analyse-trax 3.3.1-alpha.73 → 3.3.1-alpha.74

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.
@@ -361,13 +361,15 @@ export class ActionCentreComponent {
361
361
  else {
362
362
  checklistType = item.checkListType || '--';
363
363
  }
364
- this.router.navigate(['/manage/trax/gallery'], {
365
- queryParams: {
366
- ChecklistDate: formattedDate,
367
- checklistType: checklistType,
368
- checklistId: item.sourceChecklistId,
369
- },
370
- });
364
+ let queryParams = {
365
+ ChecklistDate: formattedDate,
366
+ checklistType: checklistType,
367
+ checklistId: item.sourceChecklistId,
368
+ };
369
+ if (item.redo) {
370
+ queryParams.viewRedo = true;
371
+ }
372
+ this.router.navigate(['/manage/trax/gallery'], { queryParams });
371
373
  }
372
374
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }, { token: i2.GlobalStateService }, { token: i2.PageInfoService }, { token: i3.TraxService }, { token: i0.ChangeDetectorRef }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
373
375
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\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-4 mt-1\">\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\">\r\n </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 <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"navigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.redo\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <!-- <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span> -->\r\n <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': open.checkListType !== 'cctv',\r\n 'badge-light-warning': open.checkListType === 'cctv'\r\n }\">\r\n {{\r\n open.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (open.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (open.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (open.checkListType === 'task'\r\n ? 'Task'\r\n : (open.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n \r\n </div>\r\n\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\"(click)=\"navigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.redo\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <span *ngIf=\"!inprogress.redo && inprogress.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': inprogress.checkListType !== 'cctv',\r\n 'badge-light-warning': inprogress.checkListType === 'cctv'\r\n }\">\r\n {{\r\n inprogress.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (inprogress.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (inprogress.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (inprogress.checkListType === 'task'\r\n ? 'Task'\r\n : (inprogress.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"navigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.redo\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <span *ngIf=\"!done.redo && done.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': done.checkListType !== 'cctv',\r\n 'badge-light-warning': done.checkListType === 'cctv'\r\n }\">\r\n {{\r\n done.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (done.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (done.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (done.checkListType === 'task'\r\n ? 'Task'\r\n : (done.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i7.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i7.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i7.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i7.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i7.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i8.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: i9.ActivityLogComponent, selector: "lib-activity-log" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
@@ -376,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
376
378
  type: Component,
377
379
  args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\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-4 mt-1\">\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\">\r\n </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 <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"navigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.redo\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <!-- <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span> -->\r\n <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': open.checkListType !== 'cctv',\r\n 'badge-light-warning': open.checkListType === 'cctv'\r\n }\">\r\n {{\r\n open.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (open.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (open.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (open.checkListType === 'task'\r\n ? 'Task'\r\n : (open.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n \r\n </div>\r\n\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\"(click)=\"navigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.redo\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <span *ngIf=\"!inprogress.redo && inprogress.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': inprogress.checkListType !== 'cctv',\r\n 'badge-light-warning': inprogress.checkListType === 'cctv'\r\n }\">\r\n {{\r\n inprogress.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (inprogress.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (inprogress.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (inprogress.checkListType === 'task'\r\n ? 'Task'\r\n : (inprogress.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"navigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.redo\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <span *ngIf=\"!done.redo && done.checkListType\"\r\n class=\"cate-sub mx-1 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': done.checkListType !== 'cctv',\r\n 'badge-light-warning': done.checkListType === 'cctv'\r\n }\">\r\n {{\r\n done.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (done.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (done.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (done.checkListType === 'task'\r\n ? 'Task'\r\n : (done.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n \r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg 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=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"] }]
378
380
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.GlobalStateService }, { type: i2.PageInfoService }, { type: i3.TraxService }, { type: i0.ChangeDetectorRef }, { type: i4.Router }] });
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyxxQkFBcUI7SUFtRFo7SUFBd0I7SUFBZ0M7SUFBbUM7SUFDckc7SUFBMkM7SUFuRDdDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsSUFBSSxDQUFZO0lBQ2hCLFVBQVUsQ0FBTTtJQUNoQixnQkFBZ0IsR0FBUSxFQUFFLENBQUM7SUFDM0IsZUFBZSxHQUFZLElBQUksQ0FBQztJQUNoQyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsbUJBQW1CLEdBQVksSUFBSSxDQUFDO0lBQ3BDLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFDZixhQUFhLEdBQVcsRUFBRSxDQUFDO0lB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TUFBTSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7U0FDNUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDN0MsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBRSxhQUFhO2dCQUM1QixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDcEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQS9XVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENabEMsazF1REEra0JNOzs0RkRua0JPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tY2VudHJlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1jZW50cmUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25DZW50cmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlYXJjaElucHV0OiBhbnkgPSBcIlwiO1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgb3ZlcmFsbENhcmRzRGF0YTogYW55ID0ge307XHJcbiAgY2FyZERhdGFMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBjYXJkTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhcHByb3ZhbE9wZW5Mb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHByb3ZhbE9wZW5Ob0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHNvcnRDb2x1bU5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHNvcnRCeTogYW55ID0gJyc7XHJcbiAgc29ydERpcmVjdGlvbjogYW55ID0gJyc7XHJcbiAgdG90YWxJdGVtcyA9IDBcclxuICBwYWdpbmF0aW9uU2l6ZXM6IGFueVtdID0gW107XHJcbiAgcGFnZVNpemUgPSAxMFxyXG4gIE9wZW5BcHByb3ZhbExpc3REYXRhOiBhbnlbXSA9IFtdO1xyXG4gIElucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhOiBhbnlbXSA9IFtdO1xyXG4gIERvbmVBcHByb3ZhbExpc3REYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmVkTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXBwcm92ZWROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcmlvcml0eVR5cGU6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gIHNlbGVjdGVkU3RhdHVzOiBhbnk7XHJcbiAgc3RhdHVzc2VsZWN0Q29udHJvbCA9IFtcclxuICAgIHsgX2lkOiAnYWxsJywgbGFiZWw6ICdBbGwnIH0sXHJcbiAgICB7IF9pZDogJ2NoZWNrbGlzdCcsIGxhYmVsOiAnQ2hlY2tsaXN0JyB9LFxyXG4gICAgeyBfaWQ6ICd0YXNrJywgbGFiZWw6ICdUYXNrJyB9LFxyXG4gIF07XHJcbiAgZGF0YU9iamVjdDogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICBEZXNjcmlwdGlvbjogJ1ByaW9yaXR5JyxcclxuICAgICAgSXNzdWVzOiBbXHJcbiAgICAgICAgeyB0ZXh0OiAnSGlnaCcsIGlkOiAnaGlnaCcgfSxcclxuICAgICAgICB7IHRleHQ6ICdNZWRpdW0nLCBpZDogJ21lZGl1bScgfSxcclxuICAgICAgICB7IHRleHQ6ICdMb3cnLCBpZDogJ2xvdycgfSxcclxuICAgICAgXSxcclxuICAgIH0sXHJcbiAgXTtcclxuICBzZWFyY2hWYWx1ZTogc3RyaW5nO1xyXG4gIGxpbWl0OiBudW1iZXI7XHJcbiAgb2Zmc2V0OiBudW1iZXI7XHJcbiAgaXNUYXNrU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkYXlqcyA9IGRheWpzO1xyXG4gIGRhdGU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsIHByaXZhdGUgVHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7IH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCdhbGwnKTtcclxuXHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB0aGlzLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgICAgIH0pXHJcblxyXG5cclxuXHJcbiAgfVxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIkRhc2hib2FyZFwiKTtcclxuICAgIC8vIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJEYXNoYm9hcmRcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJUYW5nbyBUcmF4XCIsIHBhdGg6IFwiL21hbmFnZS90cmF4L2Rhc2hib2FyZFwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3ZlcmFsbEFjdGlvbkNlbnRlckRhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YShyZXF1ZXN0RGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBpZiAocmVzcG9uc2U/LmNvZGUgPT09IDIwMCAmJiByZXNwb25zZT8uc3RhdHVzID09PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IHJlc3BvbnNlLmRhdGE/LmNhcmREYXRhIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsQ2FyZHNEYXRhID0gW11cclxuICAgICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxPcGVuRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGZpbHRlcjogdGhpcy5wcmlvcml0eVR5cGUsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAocmVzcG9uc2U/LmNvZGUgPT09IDIwMCAmJiByZXNwb25zZT8uc3RhdHVzID09PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEub3BlbiB8fCBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmlucHJvZ3Jlc3MgfHwgW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gcmVzcG9uc2UuZGF0YS5kb25lIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2UuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpXHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gW107XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQ/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLy8gZ2V0QXBwcm92YWxJbnByb2dyZXNzRGF0YSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gdHJ1ZTtcclxuICAvLyAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gdHJ1ZTtcclxuICAvLyAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gIC8vICAgICBkYXRlOiBcIjIwMjQtMTItMDJcIixcclxuICAvLyAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAvLyAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gIC8vICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgLy8gICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgLy8gICAgIC8vIGxpbWl0OiB0aGlzLml0ZW1zUGVyUGFnZSwgICAgICAgICAgICAgICAgIFxyXG4gIC8vICAgICAvLyBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxyXG4gIC8vICAgICBzb3J0Qnk6IHRoaXMuc29ydERpcmVjdGlvbixcclxuICAvLyAgICAgc29ydENvbHVtbk5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAvLyAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgLy8gICAgIGZpbHRlcjogXCJcIixcclxuICAvLyAgICAgdHlwZTogJ2FsbCdcclxuICAvLyAgIH07XHJcblxyXG4gIC8vICAgdGhpcy5UcmF4U2VydmljZS5nZXRBcHByb3ZhbERhdGEocmVxdWVzdERhdGEpXHJcbiAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAvLyAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmlucHJvZ3Jlc3MgfHwgW107XHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZS5kYXRhLnRvdGFsQ291bnRcclxuICAvLyAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKClcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSBmYWxzZTtcclxuICAvLyAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSBmYWxzZTtcclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgY29uc29sZS5sb2coXCJlbHNlXCIpO1xyXG5cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgLy8gICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgZXJyb3IgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG4gIC8vIGdldEFwcHJvdmVkRGF0YSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgLy8gICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAvLyAgICAgZGF0ZTogXCIyMDI0LTEyLTAyXCIsXHJcbiAgLy8gICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgLy8gICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAvLyAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gIC8vICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gIC8vICAgICAvLyBsaW1pdDogdGhpcy5pdGVtc1BlclBhZ2UsICAgICAgICAgICAgICAgICBcclxuICAvLyAgICAgLy8gb2Zmc2V0OiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcclxuICAvLyAgICAgc29ydEJ5OiB0aGlzLnNvcnREaXJlY3Rpb24sXHJcbiAgLy8gICAgIHNvcnRDb2x1bW5OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgLy8gICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaElucHV0LFxyXG4gIC8vICAgICBmaWx0ZXI6IFwiXCIsXHJcbiAgLy8gICAgIHR5cGU6ICdhbGwnXHJcbiAgLy8gICB9O1xyXG5cclxuICAvLyAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QXBwcm92YWxEYXRhKHJlcXVlc3REYXRhKVxyXG4gIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAvLyAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmRvbmUgfHwgW107XHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZS5kYXRhLnRvdGFsQ291bnRcclxuICAvLyAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKClcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gZmFsc2U7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKFwiZWxzZVwiKTtcclxuXHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQ/Lmxlbmd0aCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAvLyAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9LCBlcnJvciA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAvLyAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCIsXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGF0dXMgPSB0aGlzLnN0YXR1c3NlbGVjdENvbnRyb2wuZmluZChpdGVtID0+IGl0ZW0uX2lkID09PSBldmVudCk7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFN0YXR1cykge1xyXG4gICAgICB0aGlzLmlzVGFza1NlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFN0YXR1cy5faWQgPT09ICd0YXNrJztcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZSA9PT0gXCJhbGxcIikge1xyXG4gICAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gW11cclxuICAgICAgfVxyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2wuc2V0VmFsdWUoXCJcIiwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pOyBcclxuXHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VhcmNoRmllbGQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlckRhdGEuc2VhcmNoID0gdGhpcy5zZWFyY2hJbnB1dDtcclxuICAgIC8vIHRoaXMuaGVhZGVyRGF0YS5leHBvcnQgPSBmYWxzZTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgfVxyXG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnRvdGFsSXRlbXM7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXJzKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChldmVudD8ubGVuZ3RoKSB7XHJcbiAgICAgIGV2ZW50LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50LkRlc2NyaXB0aW9uID09PSAnUHJpb3JpdHknKSB7XHJcbiAgICAgICAgICB0aGlzLnByaW9yaXR5VHlwZSA9IGVsZW1lbnQuSXNzdWVzLm1hcCgodmFsOiBhbnkpID0+IHZhbC5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICB9XHJcbiAgbmF2aWdhdGVUb0dhbGxlcnkoaXRlbTogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IGRheWpzKGl0ZW0ucHVibGlzaERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgbGV0IGNoZWNrbGlzdFR5cGU6IHN0cmluZztcclxuICBcclxuICAgIGlmIChpdGVtLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nKSB7XHJcbiAgICAgIGNoZWNrbGlzdFR5cGUgPSAnY3VzdG9tJztcclxuICAgIH0gZWxzZSBpZiAoWyd0YXNrJywgJ2NoZWNrbGlzdFRhc2snLCAnY2N0diddLmluY2x1ZGVzKGl0ZW0uY2hlY2tMaXN0VHlwZSkpIHtcclxuICAgICAgY2hlY2tsaXN0VHlwZSA9ICd0YXNrJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNoZWNrbGlzdFR5cGUgPSBpdGVtLmNoZWNrTGlzdFR5cGUgfHwgJy0tJztcclxuICAgIH1cclxuICBcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS90cmF4L2dhbGxlcnknXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIENoZWNrbGlzdERhdGU6IGZvcm1hdHRlZERhdGUsXHJcbiAgICAgICAgY2hlY2tsaXN0VHlwZTogY2hlY2tsaXN0VHlwZSxcclxuICAgICAgICBjaGVja2xpc3RJZDogaXRlbS5zb3VyY2VDaGVja2xpc3RJZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gb3Blbm5hdmlnYXRlVG9HYWxsZXJ5KG9wZW46IGFueSk6IHZvaWQge1xyXG4gIC8vICAgbGV0IGZvcm1hdHRlZERhdGUgPSBkYXlqcyhvcGVuLnB1Ymxpc2hEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxyXG4gIC8vICAgbGV0IGNoZWNrbGlzdFR5cGU6IHN0cmluZztcclxuXHJcbiAgLy8gICBpZiAob3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJykge1xyXG4gIC8vICAgICBjaGVja2xpc3RUeXBlID0gJ0NoZWNrbGlzdCc7XHJcbiAgLy8gICB9IGVsc2UgaWYgKFsndGFzaycsICdjaGVja2xpc3RUYXNrJywgJ2NjdHYnXS5pbmNsdWRlcyhvcGVuLmNoZWNrTGlzdFR5cGUpKSB7XHJcbiAgLy8gICAgIGNoZWNrbGlzdFR5cGUgPSAnVGFzayc7XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICBjaGVja2xpc3RUeXBlID0gb3Blbi5jaGVja0xpc3RUeXBlIHx8ICctLSc7XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgLy8gICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgLy8gICAgICAgQ2hlY2tsaXN0RGF0ZTogZm9ybWF0dGVkRGF0ZSxcclxuICAvLyAgICAgICAvLyBzdG9yZUlkOiBvcGVuLnN0b3JlX2lkLFxyXG4gIC8vICAgICAgIGNoZWNrbGlzdFR5cGU6IG9wZW4uY2hlY2tMaXN0VHlwZSxcclxuICAvLyAgICAgICBjaGVja2xpc3RJZDogb3Blbi5zb3VyY2VDaGVja2xpc3RJZCxcclxuICAvLyAgICAgfSxcclxuXHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj4ge3sgb3ZlcmFsbENhcmRzRGF0YS5jaGVja2xpc3RBcHByb3ZhbD8uY291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgb3ZlcmFsbENhcmRzRGF0YS5jaGVja2xpc3RBcHByb3ZhbD8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9udGV4dCBteC01IG10LTNcIj5DaGVja2xpc3Qgd2FpdGluZyBmb3JcclxuICAgICAgICAgICAgICBhcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj4ge3sgb3ZlcmFsbENhcmRzRGF0YS50YXNrQXBwcm92YWw/LmNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgIG92ZXJhbGxDYXJkc0RhdGEudGFza0FwcHJvdmFsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDogJy0tJyB9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPlRhc2sgd2FpdGluZyBmb3JcclxuICAgICAgICAgICAgICBhcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IG0tMCBteS0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+QXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5BbiBTdW1tYXJ5IG9mIGFsbCB0aGUgY2hlY2tsaXN0cyBhd2FpdGluZyBhcHByb3ZhbFxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy00IG10LTFcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8IS0tIFtkaXNhYmxlZF09XCJzZWFyY2hEaXNhYmxlZFwiIC0tPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNlYXJjaElucHV0XCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCB3LTQwMHB4IHBzLTE0IG10LTEgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXl1cC5lbnRlcik9XCJzZWFyY2hGaWVsZCgpXCIgLz5cclxuICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJpc1Rhc2tTZWxlY3RlZFwiIGNsYXNzPVwibWUtMyBtdC0xXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG5cclxuICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz1cIm10LTEgYm9yZGVybGVzcy1zZWxlY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXCIgW2lkRmllbGRdPVwiJ19pZCdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdGF0dXNzZWxlY3RDb250cm9sXCIgY2xhc3M9XCJ3LTIwMHB4XCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtM1wiPlxyXG4gICAgICAgICAgPCEtLSBvcGVuIGNhcmQgc3RhcnQgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPk9wZW4gPHNwYW4gKm5nSWY9XCJPcGVuQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tPcGVuQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92YWxPcGVuTG9hZGluZyAmJiAhYXBwcm92YWxPcGVuTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3BlbiBvZiBPcGVuQXBwcm92YWxMaXN0RGF0YVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvR2FsbGVyeShvcGVuKVwiIGNsYXNzPVwiYXBwcm92YWxib2R5IG1iLTQgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4uY2hlY2tMaXN0TmFtZSB8fCAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4ucmVkb1wiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBteC0xIG10LTFcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMS41IDIuMDAwMDRWNS4wMDAwNE0xMS41IDUuMDAwMDRIOC41TTExLjUgNS4wMDAwNEw5LjE4IDIuODIwMDRDOC42NDI2MyAyLjI4MjM5IDcuOTc3ODEgMS44ODk2NCA3LjI0NzYgMS42Nzg0MkM2LjUxNzM4IDEuNDY3MjEgNS43NDU1NSAxLjQ0NDQxIDUuMDA0MTQgMS42MTIxN0M0LjI2MjczIDEuNzc5OTIgMy41NzU5IDIuMTMyNzUgMy4wMDc3MyAyLjYzNzc1QzIuNDM5NTcgMy4xNDI3NCAyLjAwODU4IDMuNzgzNDMgMS43NTUgNC41MDAwNE0wLjUgMTBWNy4wMDAwNE0wLjUgNy4wMDAwNEgzLjVNMC41IDcuMDAwMDRMMi44MiA5LjE4MDA0QzMuMzU3MzcgOS43MTc2OCA0LjAyMjE5IDEwLjExMDQgNC43NTI0IDEwLjMyMTdDNS40ODI2MiAxMC41MzI5IDYuMjU0NDUgMTAuNTU1NyA2Ljk5NTg2IDEwLjM4NzlDNy43MzcyNyAxMC4yMjAyIDguNDI0MSA5Ljg2NzMyIDguOTkyMjcgOS4zNjIzM0M5LjU2MDQzIDguODU3MzQgOS45OTE0MiA4LjIxNjY0IDEwLjI0NSA3LjUwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+UmVkbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCIhb3Blbi5yZWRvICYmIG9wZW4uY2hlY2tMaXN0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgbXgtMSBiYWRnZSBiYWRnZS1saWdodC12aW9sZXQgbXQtMVwiPiB7eyBvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nID8gJ0NoZWNrbGlzdCcgOiAoKG9wZW4uY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykgfX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFvcGVuLnJlZG8gJiYgb3Blbi5jaGVja0xpc3RUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIG10LTEgYmFkZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXZpb2xldCc6IG9wZW4uY2hlY2tMaXN0VHlwZSAhPT0gJ2NjdHYnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NoZWNrbGlzdCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAob3Blbi5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NDVFYnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjaGVja2xpc3RUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NoZWNrbGlzdCBUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW4uY2hlY2tMaXN0VHlwZSA9PT0gJ3Rhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ1Rhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW4uY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykpKVxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3Blbj8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgb3Blbi5wcmlvcml0eVR5cGUgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4uY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyBvcGVuLnN1Ym1pdENvdW50ICE9PW51bGwgPyBvcGVuLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4uc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgb3Blbi5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBvcGVuLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBvcGVuLnN1Ym1pdENvdW50ICE9PW51bGwgPyBvcGVuLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgb3Blbi5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbE9wZW5Ob0RhdGEgJiYgIWFwcHJvdmFsT3BlbkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIE9wZW4gQ2hlY2tsaXN0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+SW5wcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBteC0yXCI+e3tJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyAmJiAhYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wcm9ncmVzcyBvZiBJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YVwiKGNsaWNrKT1cIm5hdmlnYXRlVG9HYWxsZXJ5KGlucHJvZ3Jlc3MpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5jaGVja0xpc3ROYW1lIHx8ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLnJlZG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWJsdWUgbXgtMSBtdC0xXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlJlZG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlucHJvZ3Jlc3MucmVkbyAmJiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtdmlvbGV0JzogaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlICE9PSAnY2N0dicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0IFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5wcm9ncmVzcz8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiBpbnByb2dyZXNzLnByaW9yaXR5VHlwZSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IGlucHJvZ3Jlc3MuY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGlucHJvZ3Jlc3Muc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wcm9ncmVzcy5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgaW5wcm9ncmVzcy5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3Muc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBpbnByb2dyZXNzLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgaW5wcm9ncmVzcy5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnByb2dyZXNzLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIElucHJvZ3Jlc3MgQ2hlY2tsaWxzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gaW5wcm9ncmVzcyBjYXJkIGVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+QXBwcm92ZWQgPHNwYW4gKm5nSWY9XCJEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92ZWRMb2FkaW5nICYmICFhcHByb3ZlZE5vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRvbmUgb2YgRG9uZUFwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwibmF2aWdhdGVUb0dhbGxlcnkoZG9uZSlcIiBjbGFzcz1cImFwcHJvdmFsYm9keSBtYi00IGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ3RleHQgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLmNoZWNrTGlzdE5hbWUgfHwgJy0tJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnJlZG9cIiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWJsdWUgbXgtMSBtdC0xXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlJlZG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWRvbmUucmVkbyAmJiBkb25lLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtdmlvbGV0JzogZG9uZS5jaGVja0xpc3RUeXBlICE9PSAnY2N0dicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgIGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0IFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZG9uZS5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZG9uZS5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnByaW9yaXR5VHlwZVwiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgZG9uZS5jcmVhdGVkQnlOYW1lIHx8ICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPnt7IGRvbmUuc3VibWl0Q291bnQgIT09bnVsbCA/IGRvbmUuc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgZG9uZS5zdG9yZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lLnN0b3JlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+UmVwZWF0cyB7eyBkb25lLnNjaGVkdWxlUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZS5zY2hlZHVsZVJlcGVhdGVkVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV8zMTc4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OFwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgc3Ryb2tlPVwiYmxhY2tcIiBzdHJva2Utd2lkdGg9XCIyXCIgbWFzaz1cInVybCgjcGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfMzE3OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgbXMtM1wiPnt7IGRvbmUucHVibGlzaERhdGUgfCBkYXRlOiBcIllZWVktTU0tZGRcIn19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+QXBwcm92ZWQge3sgZG9uZS5zdWJtaXRDb3VudCAhPT1udWxsID8gZG9uZS5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGRvbmUuYXBwcm92ZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgZG9uZS5hcHByb3ZlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmVkTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZlZE5vRGF0YSAmJiAhYXBwcm92ZWRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBBcHByb3ZlZCBDaGVja2xpc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8IS0tIEFwcHJvdmVkIGNhcmQgZW5kIC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IG5nYkFjY29yZGlvbj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkl0ZW0gW2NvbGxhcHNlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgPGgyIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImhlYWR0ZXh0XCIgbmdiQWNjb3JkaW9uQnV0dG9uPkFjdGl2aXR5IExvZzxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+PC9idXR0b24+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxsaWItYWN0aXZpdHktbG9nPjwvbGliLWFjdGl2aXR5LWxvZz5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyxxQkFBcUI7SUFtRFo7SUFBd0I7SUFBZ0M7SUFBbUM7SUFDckc7SUFBMkM7SUFuRDdDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsSUFBSSxDQUFZO0lBQ2hCLFVBQVUsQ0FBTTtJQUNoQixnQkFBZ0IsR0FBUSxFQUFFLENBQUM7SUFDM0IsZUFBZSxHQUFZLElBQUksQ0FBQztJQUNoQyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsbUJBQW1CLEdBQVksSUFBSSxDQUFDO0lBQ3BDLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFDZixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFDakIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUN4QixVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ2Isb0JBQW9CLEdBQVUsRUFBRSxDQUFDO0lBQ2pDLDBCQUEwQixHQUFVLEVBQUUsQ0FBQztJQUN2QyxvQkFBb0IsR0FBVSxFQUFFLENBQUM7SUFDakMseUJBQXlCLEdBQVksSUFBSSxDQUFDO0lBQzFDLHdCQUF3QixHQUFZLEtBQUssQ0FBQztJQUMxQyxlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsWUFBWSxHQUFRLEVBQUUsQ0FBQztJQUN2Qix5QkFBeUIsQ0FBYztJQUN2QyxjQUFjLENBQU07SUFDcEIsbUJBQW1CLEdBQUc7UUFDcEIsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7UUFDeEMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7S0FDL0IsQ0FBQztJQUNGLFVBQVUsR0FBUTtRQUNoQjtZQUNFLFdBQVcsRUFBRSxVQUFVO1lBQ3ZCLE1BQU0sRUFBRTtnQkFDTixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtnQkFDNUIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7Z0JBQ2hDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFO2FBQzNCO1NBQ0Y7S0FDRixDQUFDO0lBQ0YsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLE1BQU0sQ0FBUztJQUNmLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLElBQUksQ0FBTTtJQUVWLFlBQW9CLEVBQWUsRUFBUyxFQUFzQixFQUFVLFFBQXlCLEVBQVUsV0FBd0IsRUFDN0gsY0FBaUMsRUFBVSxNQUFjO1FBRC9DLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDN0gsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUMvRCxDQUFDO0lBQ0wsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4Qix5QkFBeUIsRUFBRSxJQUFJLENBQUMseUJBQXlCO1NBQzFELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWM7YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pELFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQTtJQUlOLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzNCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO1lBQzVGLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQzVGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFdBQVcsR0FBRztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3hHLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07U0FDakMsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNsSCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLFFBQVEsRUFBRSxJQUFJLEtBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxFQUNDLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3JDLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFL0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBRXJDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDeEcsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSztTQUMzQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO2FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztZQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLFFBQVEsRUFBRSxJQUFJLEtBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUM1RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO2dCQUNqRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO2dCQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtnQkFFekIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztvQkFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztpQkFDakM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztpQkFDaEM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztvQkFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztpQkFDdkM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztpQkFDdEM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7b0JBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztpQkFDNUI7Z0JBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFFL0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztnQkFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztnQkFFL0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztnQkFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztnQkFFckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUUzQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtvQkFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7aUJBQzNCO2dCQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQywwQkFBMEIsR0FBRyxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFBO2dCQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO2FBQ3BDO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxzQ0FBc0M7SUFDdEMsZ0NBQWdDO0lBQ2hDLDJDQUEyQztJQUMzQywwQ0FBMEM7SUFDMUMsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixnREFBZ0Q7SUFDaEQsNENBQTRDO0lBQzVDLDhHQUE4RztJQUM5Ryx1Q0FBdUM7SUFDdkMsb0RBQW9EO0lBQ3BELHVDQUF1QztJQUN2QyxrQ0FBa0M7SUFDbEMsMENBQTBDO0lBQzFDLHFDQUFxQztJQUNyQyxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLE9BQU87SUFFUCxrREFBa0Q7SUFDbEQsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxnREFBZ0Q7SUFDaEQsd0VBQXdFO0lBQ3hFLGtFQUFrRTtJQUNsRSxxREFBcUQ7SUFDckQsb0NBQW9DO0lBQ3BDLGtEQUFrRDtJQUNsRCxpREFBaUQ7SUFDakQsdUNBQXVDO0lBQ3ZDLGlCQUFpQjtJQUNqQiwrQkFBK0I7SUFFL0Isc0NBQXNDO0lBQ3RDLGtEQUFrRDtJQUNsRCxnREFBZ0Q7SUFDaEQsc0NBQXNDO0lBQ3RDLDBDQUEwQztJQUMxQyx1Q0FBdUM7SUFDdkMsWUFBWTtJQUNaLHFDQUFxQztJQUNyQyw4QkFBOEI7SUFDOUIsOENBQThDO0lBQzlDLFVBQVU7SUFDVixvQkFBb0I7SUFDcEIsbUNBQW1DO0lBQ25DLDRDQUE0QztJQUM1QyxVQUFVO0lBQ1YsSUFBSTtJQUNKLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsaUNBQWlDO0lBQ2pDLGdDQUFnQztJQUNoQywwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLGdEQUFnRDtJQUNoRCw0Q0FBNEM7SUFDNUMsOEdBQThHO0lBQzlHLHVDQUF1QztJQUN2QyxvREFBb0Q7SUFDcEQsdUNBQXVDO0lBQ3ZDLGtDQUFrQztJQUNsQywwQ0FBMEM7SUFDMUMscUNBQXFDO0lBQ3JDLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsT0FBTztJQUVQLGtEQUFrRDtJQUNsRCxzQ0FBc0M7SUFDdEMsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0Qyx3RUFBd0U7SUFDeEUsNERBQTREO0lBQzVELHFEQUFxRDtJQUNyRCxvQ0FBb0M7SUFDcEMsd0NBQXdDO0lBQ3hDLHVDQUF1QztJQUN2Qyx1Q0FBdUM7SUFDdkMsaUJBQWlCO0lBQ2pCLCtCQUErQjtJQUUvQixzQ0FBc0M7SUFDdEMsd0NBQXdDO0lBQ3hDLHNDQUFzQztJQUN0QyxzQ0FBc0M7SUFDdEMsMENBQTBDO0lBQzFDLHVDQUF1QztJQUN2QyxZQUFZO0lBQ1oscUNBQXFDO0lBQ3JDLDhCQUE4QjtJQUM5Qiw4Q0FBOEM7SUFDOUMsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixtQ0FBbUM7SUFDbkMsNENBQTRDO0lBQzVDLFVBQVU7SUFDVixJQUFJO0lBRUoseUJBQXlCLENBQUMsS0FBVTtRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUNsRixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUM7WUFDekQsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtnQkFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUE7YUFDdkI7WUFDRCxzRUFBc0U7WUFFdEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNqQztJQUVILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUM3QixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO29CQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQzlEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsSUFBUztRQUN6QixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxJQUFJLGFBQXFCLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFFBQVEsRUFBRTtZQUNuQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1NBQzFCO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN6RSxhQUFhLEdBQUcsTUFBTSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7U0FDNUM7UUFDRCxJQUFJLFdBQVcsR0FBUTtZQUNyQixhQUFhLEVBQUUsYUFBYTtZQUM1QixhQUFhLEVBQUUsYUFBYTtZQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUNwQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7d0dBalhVLHFCQUFxQjs0RkFBckIscUJBQXFCLHlEQ1psQyxrMXVEQStrQk07OzRGRG5rQk8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1jZW50cmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tY2VudHJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkNlbnRyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc2VhcmNoSW5wdXQ6IGFueSA9IFwiXCI7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBvdmVyYWxsQ2FyZHNEYXRhOiBhbnkgPSB7fTtcclxuICBjYXJkRGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNhcmROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmFsT3BlbkxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsT3Blbk5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczogYW55W10gPSBbXTtcclxuICBwYWdlU2l6ZSA9IDEwXHJcbiAgT3BlbkFwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgRG9uZUFwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYXBwcm92ZWRMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHByb3ZlZE5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaW9yaXR5VHlwZTogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgc2VsZWN0ZWRTdGF0dXM6IGFueTtcclxuICBzdGF0dXNzZWxlY3RDb250cm9sID0gW1xyXG4gICAgeyBfaWQ6ICdhbGwnLCBsYWJlbDogJ0FsbCcgfSxcclxuICAgIHsgX2lkOiAnY2hlY2tsaXN0JywgbGFiZWw6ICdDaGVja2xpc3QnIH0sXHJcbiAgICB7IF9pZDogJ3Rhc2snLCBsYWJlbDogJ1Rhc2snIH0sXHJcbiAgXTtcclxuICBkYXRhT2JqZWN0OiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIERlc2NyaXB0aW9uOiAnUHJpb3JpdHknLFxyXG4gICAgICBJc3N1ZXM6IFtcclxuICAgICAgICB7IHRleHQ6ICdIaWdoJywgaWQ6ICdoaWdoJyB9LFxyXG4gICAgICAgIHsgdGV4dDogJ01lZGl1bScsIGlkOiAnbWVkaXVtJyB9LFxyXG4gICAgICAgIHsgdGV4dDogJ0xvdycsIGlkOiAnbG93JyB9LFxyXG4gICAgICBdLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmc7XHJcbiAgbGltaXQ6IG51bWJlcjtcclxuICBvZmZzZXQ6IG51bWJlcjtcclxuICBpc1Rhc2tTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZGF0ZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsIHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSwgcHJpdmF0ZSBUcmF4U2VydmljZTogVHJheFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHsgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ2FsbCcpO1xyXG5cclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBzZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sOiB0aGlzLnNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2xcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZVN0YXR1c1NlbGVjdCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuZ2V0T3ZlcmFsbEFjdGlvbkNlbnRlckRhdGEoKTtcclxuICAgICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICAgICAgfSlcclxuXHJcblxyXG5cclxuICB9XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiRGFzaGJvYXJkXCIpO1xyXG4gICAgLy8gdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiVGFuZ28gVHJheFwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKHJlcXVlc3REYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsQ2FyZHNEYXRhID0gcmVzcG9uc2UuZGF0YT8uY2FyZERhdGEgfHwge307XHJcbiAgICAgICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICAgICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRBcHByb3ZhbE9wZW5EYXRhKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOiBhbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6IGFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hJbnB1dCxcclxuICAgICAgZmlsdGVyOiB0aGlzLnByaW9yaXR5VHlwZSxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sLnZhbHVlXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QXBwcm92YWxEYXRhKHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gcmVzcG9uc2UuZGF0YS5vcGVuIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuaW5wcm9ncmVzcyB8fCBbXTtcclxuICAgICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmRvbmUgfHwgW107XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZS5kYXRhLnRvdGFsQ291bnRcclxuICAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKClcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuXHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dD8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvLyBnZXRBcHByb3ZhbElucHJvZ3Jlc3NEYXRhKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgLy8gICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG4gIC8vICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgLy8gICAgIGRhdGU6IFwiMjAyNC0xMi0wMlwiLFxyXG4gIC8vICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gIC8vICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgLy8gICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAvLyAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAvLyAgICAgLy8gbGltaXQ6IHRoaXMuaXRlbXNQZXJQYWdlLCAgICAgICAgICAgICAgICAgXHJcbiAgLy8gICAgIC8vIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSAtIDEsXHJcbiAgLy8gICAgIHNvcnRCeTogdGhpcy5zb3J0RGlyZWN0aW9uLFxyXG4gIC8vICAgICBzb3J0Q29sdW1uTmFtZTogdGhpcy5zb3J0Q29sdW1OYW1lLFxyXG4gIC8vICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hJbnB1dCxcclxuICAvLyAgICAgZmlsdGVyOiBcIlwiLFxyXG4gIC8vICAgICB0eXBlOiAnYWxsJ1xyXG4gIC8vICAgfTtcclxuXHJcbiAgLy8gICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAvLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC8vICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuaW5wcm9ncmVzcyB8fCBbXTtcclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gIC8vICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcblxyXG4gIC8vICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQ/Lmxlbmd0aCkge1xyXG4gIC8vICAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAvLyAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9LCBlcnJvciA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAvLyAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcbiAgLy8gZ2V0QXBwcm92ZWREYXRhKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgLy8gICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IHRydWU7XHJcbiAgLy8gICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gdHJ1ZTtcclxuICAvLyAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gIC8vICAgICBkYXRlOiBcIjIwMjQtMTItMDJcIixcclxuICAvLyAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAvLyAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gIC8vICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgLy8gICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgLy8gICAgIC8vIGxpbWl0OiB0aGlzLml0ZW1zUGVyUGFnZSwgICAgICAgICAgICAgICAgIFxyXG4gIC8vICAgICAvLyBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxyXG4gIC8vICAgICBzb3J0Qnk6IHRoaXMuc29ydERpcmVjdGlvbixcclxuICAvLyAgICAgc29ydENvbHVtbk5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAvLyAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgLy8gICAgIGZpbHRlcjogXCJcIixcclxuICAvLyAgICAgdHlwZTogJ2FsbCdcclxuICAvLyAgIH07XHJcblxyXG4gIC8vICAgdGhpcy5UcmF4U2VydmljZS5nZXRBcHByb3ZhbERhdGEocmVxdWVzdERhdGEpXHJcbiAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAvLyAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuZG9uZSB8fCBbXTtcclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gIC8vICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAvLyAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSBmYWxzZTtcclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgY29uc29sZS5sb2coXCJlbHNlXCIpO1xyXG5cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG4gIC8vICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgLy8gICAgICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dD8ubGVuZ3RoKSB7XHJcbiAgLy8gICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSBbXVxyXG4gIC8vICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gIC8vICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0sIGVycm9yID0+IHtcclxuICAvLyAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSBbXVxyXG4gIC8vICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZVN0YXR1c1NlbGVjdChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIixcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXR1cyA9IHRoaXMuc3RhdHVzc2VsZWN0Q29udHJvbC5maW5kKGl0ZW0gPT4gaXRlbS5faWQgPT09IGV2ZW50KTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhdHVzKSB7XHJcbiAgICAgIHRoaXMuaXNUYXNrU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkU3RhdHVzLl9pZCA9PT0gJ3Rhc2snO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sLnZhbHVlID09PSBcImFsbFwiKSB7XHJcbiAgICAgICAgdGhpcy5wcmlvcml0eVR5cGUgPSBbXVxyXG4gICAgICB9XHJcbiAgICAgIC8vIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC5zZXRWYWx1ZShcIlwiLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7IFxyXG5cclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuZ2V0QXBwcm92YWxPcGVuRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWFyY2hGaWVsZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyRGF0YS5zZWFyY2ggPSB0aGlzLnNlYXJjaElucHV0O1xyXG4gICAgLy8gdGhpcy5oZWFkZXJEYXRhLmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gMTA7XHJcbiAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICB9XHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTtcclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMudG90YWxJdGVtcztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcnMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09ICdQcmlvcml0eScpIHtcclxuICAgICAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmlvcml0eVR5cGUgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QXBwcm92YWxPcGVuRGF0YSgpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZVRvR2FsbGVyeShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBmb3JtYXR0ZWREYXRlID0gZGF5anMoaXRlbS5wdWJsaXNoRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XHJcbiAgICBsZXQgY2hlY2tsaXN0VHlwZTogc3RyaW5nO1xyXG4gIFxyXG4gICAgaWYgKGl0ZW0uY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScpIHtcclxuICAgICAgY2hlY2tsaXN0VHlwZSA9ICdjdXN0b20nO1xyXG4gICAgfSBlbHNlIGlmIChbJ3Rhc2snLCAnY2hlY2tsaXN0VGFzaycsICdjY3R2J10uaW5jbHVkZXMoaXRlbS5jaGVja0xpc3RUeXBlKSkge1xyXG4gICAgICBjaGVja2xpc3RUeXBlID0gJ3Rhc2snO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2hlY2tsaXN0VHlwZSA9IGl0ZW0uY2hlY2tMaXN0VHlwZSB8fCAnLS0nO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW1zOiBhbnkgPSB7XHJcbiAgICAgIENoZWNrbGlzdERhdGU6IGZvcm1hdHRlZERhdGUsXHJcbiAgICAgIGNoZWNrbGlzdFR5cGU6IGNoZWNrbGlzdFR5cGUsXHJcbiAgICAgIGNoZWNrbGlzdElkOiBpdGVtLnNvdXJjZUNoZWNrbGlzdElkLFxyXG4gICAgfTtcclxuICAgIGlmIChpdGVtLnJlZG8pIHtcclxuICAgICAgcXVlcnlQYXJhbXMudmlld1JlZG8gPSB0cnVlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7IHF1ZXJ5UGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gb3Blbm5hdmlnYXRlVG9HYWxsZXJ5KG9wZW46IGFueSk6IHZvaWQge1xyXG4gIC8vICAgbGV0IGZvcm1hdHRlZERhdGUgPSBkYXlqcyhvcGVuLnB1Ymxpc2hEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxyXG4gIC8vICAgbGV0IGNoZWNrbGlzdFR5cGU6IHN0cmluZztcclxuXHJcbiAgLy8gICBpZiAob3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJykge1xyXG4gIC8vICAgICBjaGVja2xpc3RUeXBlID0gJ0NoZWNrbGlzdCc7XHJcbiAgLy8gICB9IGVsc2UgaWYgKFsndGFzaycsICdjaGVja2xpc3RUYXNrJywgJ2NjdHYnXS5pbmNsdWRlcyhvcGVuLmNoZWNrTGlzdFR5cGUpKSB7XHJcbiAgLy8gICAgIGNoZWNrbGlzdFR5cGUgPSAnVGFzayc7XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICBjaGVja2xpc3RUeXBlID0gb3Blbi5jaGVja0xpc3RUeXBlIHx8ICctLSc7XHJcbiAgLy8gICB9XHJcblxyXG4gIC8vICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgLy8gICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgLy8gICAgICAgQ2hlY2tsaXN0RGF0ZTogZm9ybWF0dGVkRGF0ZSxcclxuICAvLyAgICAgICAvLyBzdG9yZUlkOiBvcGVuLnN0b3JlX2lkLFxyXG4gIC8vICAgICAgIGNoZWNrbGlzdFR5cGU6IG9wZW4uY2hlY2tMaXN0VHlwZSxcclxuICAvLyAgICAgICBjaGVja2xpc3RJZDogb3Blbi5zb3VyY2VDaGVja2xpc3RJZCxcclxuICAvLyAgICAgfSxcclxuXHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj4ge3sgb3ZlcmFsbENhcmRzRGF0YS5jaGVja2xpc3RBcHByb3ZhbD8uY291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgb3ZlcmFsbENhcmRzRGF0YS5jaGVja2xpc3RBcHByb3ZhbD8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6ICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9udGV4dCBteC01IG10LTNcIj5DaGVja2xpc3Qgd2FpdGluZyBmb3JcclxuICAgICAgICAgICAgICBhcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj4ge3sgb3ZlcmFsbENhcmRzRGF0YS50YXNrQXBwcm92YWw/LmNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgIG92ZXJhbGxDYXJkc0RhdGEudGFza0FwcHJvdmFsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDogJy0tJyB9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPlRhc2sgd2FpdGluZyBmb3JcclxuICAgICAgICAgICAgICBhcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IG0tMCBteS0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+QXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5BbiBTdW1tYXJ5IG9mIGFsbCB0aGUgY2hlY2tsaXN0cyBhd2FpdGluZyBhcHByb3ZhbFxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy00IG10LTFcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8IS0tIFtkaXNhYmxlZF09XCJzZWFyY2hEaXNhYmxlZFwiIC0tPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInNlYXJjaElucHV0XCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCB3LTQwMHB4IHBzLTE0IG10LTEgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIChrZXl1cC5lbnRlcik9XCJzZWFyY2hGaWVsZCgpXCIgLz5cclxuICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJpc1Rhc2tTZWxlY3RlZFwiIGNsYXNzPVwibWUtMyBtdC0xXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG5cclxuICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz1cIm10LTEgYm9yZGVybGVzcy1zZWxlY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXCIgW2lkRmllbGRdPVwiJ19pZCdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdGF0dXNzZWxlY3RDb250cm9sXCIgY2xhc3M9XCJ3LTIwMHB4XCIgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHAtM1wiPlxyXG4gICAgICAgICAgPCEtLSBvcGVuIGNhcmQgc3RhcnQgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPk9wZW4gPHNwYW4gKm5nSWY9XCJPcGVuQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tPcGVuQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92YWxPcGVuTG9hZGluZyAmJiAhYXBwcm92YWxPcGVuTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3BlbiBvZiBPcGVuQXBwcm92YWxMaXN0RGF0YVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvR2FsbGVyeShvcGVuKVwiIGNsYXNzPVwiYXBwcm92YWxib2R5IG1iLTQgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4uY2hlY2tMaXN0TmFtZSB8fCAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4ucmVkb1wiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBteC0xIG10LTFcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMS41IDIuMDAwMDRWNS4wMDAwNE0xMS41IDUuMDAwMDRIOC41TTExLjUgNS4wMDAwNEw5LjE4IDIuODIwMDRDOC42NDI2MyAyLjI4MjM5IDcuOTc3ODEgMS44ODk2NCA3LjI0NzYgMS42Nzg0MkM2LjUxNzM4IDEuNDY3MjEgNS43NDU1NSAxLjQ0NDQxIDUuMDA0MTQgMS42MTIxN0M0LjI2MjczIDEuNzc5OTIgMy41NzU5IDIuMTMyNzUgMy4wMDc3MyAyLjYzNzc1QzIuNDM5NTcgMy4xNDI3NCAyLjAwODU4IDMuNzgzNDMgMS43NTUgNC41MDAwNE0wLjUgMTBWNy4wMDAwNE0wLjUgNy4wMDAwNEgzLjVNMC41IDcuMDAwMDRMMi44MiA5LjE4MDA0QzMuMzU3MzcgOS43MTc2OCA0LjAyMjE5IDEwLjExMDQgNC43NTI0IDEwLjMyMTdDNS40ODI2MiAxMC41MzI5IDYuMjU0NDUgMTAuNTU1NyA2Ljk5NTg2IDEwLjM4NzlDNy43MzcyNyAxMC4yMjAyIDguNDI0MSA5Ljg2NzMyIDguOTkyMjcgOS4zNjIzM0M5LjU2MDQzIDguODU3MzQgOS45OTE0MiA4LjIxNjY0IDEwLjI0NSA3LjUwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+UmVkbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCIhb3Blbi5yZWRvICYmIG9wZW4uY2hlY2tMaXN0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgbXgtMSBiYWRnZSBiYWRnZS1saWdodC12aW9sZXQgbXQtMVwiPiB7eyBvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nID8gJ0NoZWNrbGlzdCcgOiAoKG9wZW4uY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykgfX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFvcGVuLnJlZG8gJiYgb3Blbi5jaGVja0xpc3RUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIG10LTEgYmFkZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXZpb2xldCc6IG9wZW4uY2hlY2tMaXN0VHlwZSAhPT0gJ2NjdHYnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NoZWNrbGlzdCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAob3Blbi5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NDVFYnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjaGVja2xpc3RUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NoZWNrbGlzdCBUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW4uY2hlY2tMaXN0VHlwZSA9PT0gJ3Rhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ1Rhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW4uY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykpKVxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3Blbj8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgb3Blbi5wcmlvcml0eVR5cGUgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4uY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyBvcGVuLnN1Ym1pdENvdW50ICE9PW51bGwgPyBvcGVuLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4uc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgb3Blbi5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBvcGVuLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBvcGVuLnN1Ym1pdENvdW50ICE9PW51bGwgPyBvcGVuLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgb3Blbi5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbE9wZW5Ob0RhdGEgJiYgIWFwcHJvdmFsT3BlbkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIE9wZW4gQ2hlY2tsaXN0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+SW5wcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBteC0yXCI+e3tJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyAmJiAhYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wcm9ncmVzcyBvZiBJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YVwiKGNsaWNrKT1cIm5hdmlnYXRlVG9HYWxsZXJ5KGlucHJvZ3Jlc3MpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5jaGVja0xpc3ROYW1lIHx8ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLnJlZG9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWJsdWUgbXgtMSBtdC0xXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlJlZG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlucHJvZ3Jlc3MucmVkbyAmJiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtdmlvbGV0JzogaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlICE9PSAnY2N0dicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0IFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5wcm9ncmVzcz8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1kYW5nZXInOiBpbnByb2dyZXNzLnByaW9yaXR5VHlwZSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IGlucHJvZ3Jlc3MuY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGlucHJvZ3Jlc3Muc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wcm9ncmVzcy5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgaW5wcm9ncmVzcy5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3Muc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBpbnByb2dyZXNzLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBpbnByb2dyZXNzLnN1Ym1pdENvdW50ICE9PW51bGwgPyBpbnByb2dyZXNzLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgaW5wcm9ncmVzcy5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnByb2dyZXNzLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIElucHJvZ3Jlc3MgQ2hlY2tsaWxzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gaW5wcm9ncmVzcyBjYXJkIGVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+QXBwcm92ZWQgPHNwYW4gKm5nSWY9XCJEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92ZWRMb2FkaW5nICYmICFhcHByb3ZlZE5vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRvbmUgb2YgRG9uZUFwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwibmF2aWdhdGVUb0dhbGxlcnkoZG9uZSlcIiBjbGFzcz1cImFwcHJvdmFsYm9keSBtYi00IGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ3RleHQgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLmNoZWNrTGlzdE5hbWUgfHwgJy0tJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnJlZG9cIiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWJsdWUgbXgtMSBtdC0xXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlJlZG88L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWRvbmUucmVkbyAmJiBkb25lLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtdmlvbGV0JzogZG9uZS5jaGVja0xpc3RUeXBlICE9PSAnY2N0dicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgIGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0IFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZG9uZS5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZG9uZS5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnByaW9yaXR5VHlwZVwiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgZG9uZS5jcmVhdGVkQnlOYW1lIHx8ICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPnt7IGRvbmUuc3VibWl0Q291bnQgIT09bnVsbCA/IGRvbmUuc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgZG9uZS5zdG9yZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lLnN0b3JlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+UmVwZWF0cyB7eyBkb25lLnNjaGVkdWxlUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZS5zY2hlZHVsZVJlcGVhdGVkVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTEgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV8zMTc4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OFwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYuMTMwNTUgMC4wMDE0MjA0OUM1LjI1NzU3IC0wLjAxNzU3NzggNC4zOTA5NyAwLjE1NDE5MiAzLjU5MTI1IDAuNTA0NzM4QzIuNzkxNTIgMC44NTUyODQgMi4wNzc5NSAxLjM3NjE2IDEuNTAwMzQgMi4wMzA5OUMwLjkyMjcyNiAyLjY4NTgzIDAuNDk1MDA1IDMuNDU4ODUgMC4yNDcwMzMgNC4yOTYwOEMtMC4wMDA5Mzk1MzMgNS4xMzMzIC0wLjA2MzE4NjEgNi4wMTQ1NyAwLjA2NDYzODggNi44NzgzNEMwLjE5MjQ2NCA3Ljc0MjEyIDAuNTA3Mjc5IDguNTY3NTggMC45ODcxMDcgOS4yOTcxMUMxLjQ2NjkzIDEwLjAyNjYgMi4xMDAyMSAxMC42NDI2IDIuODQyNzIgMTEuMTAyMUMzLjU4NTIzIDExLjU2MTYgNC40MTkwOCAxMS44NTM1IDUuMjg2MDYgMTEuOTU3NEM2LjE1MzAzIDEyLjA2MTMgNy4wMzIyNCAxMS45NzQ3IDcuODYyMyAxMS43MDM3QzguMDA0MTIgMTEuNjU3MyA4LjEyMTczIDExLjU1NjUgOC4xODkyNCAxMS40MjM1QzguMjU2NzUgMTEuMjkwNCA4LjI2ODY0IDExLjEzNiA4LjIyMjMgMTAuOTk0MkM4LjE3NTk1IDEwLjg1MjMgOC4wNzUxNiAxMC43MzQ3IDcuOTQyMSAxMC42NjcyQzcuODA5MDUgMTAuNTk5NyA3LjY1NDYyIDEwLjU4NzggNy41MTI4IDEwLjYzNDJDNi42MTA3NyAxMC45Mjg3IDUuNjQyNCAxMC45NTM2IDQuNzI2NDQgMTAuNzA1OEMzLjgxMDQ4IDEwLjQ1OCAyLjk4Njc1IDkuOTQ4MjUgMi4zNTYyNyA5LjIzOTFDMS43MjU4IDguNTI5OTUgMS4zMTU5OCA3LjY1MjIxIDEuMTc3MDkgNi43MTM1NEMxLjAzODIgNS43NzQ4NyAxLjE3NjI3IDQuODE2MDcgMS41NzQzNiAzLjk1NDczQzEuOTcyNDYgMy4wOTMzOCAyLjYxMzI3IDIuMzY2OTQgMy40MTgyMiAxLjg2NDQ5QzQuMjIzMTcgMS4zNjIwNCA1LjE1NzI1IDEuMTA1NDMgNi4xMDU5MiAxLjEyNjEzQzcuMDU0NTggMS4xNDY4MyA3Ljk3NjU5IDEuNDQzOTMgOC43NTg4NSAxLjk4MTAxQzkuNTQxMTIgMi41MTgwOSAxMC4xNDk2IDMuMjcxNzggMTAuNTA5OCA0LjE0OTY3QzEwLjU2NjQgNC4yODc3MiAxMC42NzU1IDQuMzk3NjMgMTAuODEzMSA0LjQ1NTIyQzEwLjg4MTMgNC40ODM3NCAxMC45NTQ0IDQuNDk4NTYgMTEuMDI4MiA0LjQ5ODgzQzExLjEwMjEgNC40OTkxIDExLjE3NTMgNC40ODQ4MiAxMS4yNDM3IDQuNDU2OEMxMS4zMTIgNC40Mjg3OCAxMS4zNzQyIDQuMzg3NTcgMTEuNDI2NiA0LjMzNTUyQzExLjQ3OSA0LjI4MzQ3IDExLjUyMDcgNC4yMjE2MSAxMS41NDkyIDQuMTUzNDdDMTEuNTc3NyA0LjA4NTMyIDExLjU5MjYgNC4wMTIyMiAxMS41OTI4IDMuOTM4MzVDMTEuNTkzMSAzLjg2NDQ4IDExLjU3ODggMy43OTEyNyAxMS41NTA4IDMuNzIyOTJDMTEuMTA3NiAyLjY0MjM5IDEwLjM1ODYgMS43MTQ3IDkuMzk1OCAxLjA1MzY1QzguNDMyOTkgMC4zOTI1ODcgNy4yOTgxNyAwLjAyNjg5NDYgNi4xMzA1NSAwLjAwMTQyMDQ5Wk02LjU2MTggMi44MTI0MkM2LjU2MTggMi42NjMyNCA2LjUwMjUzIDIuNTIwMTYgNi4zOTcwNCAyLjQxNDY3QzYuMjkxNTUgMi4zMDkxOCA2LjE0ODQ4IDIuMjQ5OTIgNS45OTkzIDIuMjQ5OTJDNS44NTAxMSAyLjI0OTkyIDUuNzA3MDQgMi4zMDkxOCA1LjYwMTU1IDIuNDE0NjdDNS40OTYwNiAyLjUyMDE2IDUuNDM2OCAyLjY2MzI0IDUuNDM2OCAyLjgxMjQyVjUuNzY3NDJMMy45MTEzIDcuMjkyMTdDMy44NTYwMyA3LjM0MzY3IDMuODExNyA3LjQwNTc3IDMuNzgwOTYgNy40NzQ3N0MzLjc1MDIyIDcuNTQzNzcgMy43MzM2OCA3LjYxODI1IDMuNzMyMzUgNy42OTM3OEMzLjczMTAyIDcuNzY5MzEgMy43NDQ5MSA3Ljg0NDMzIDMuNzczMiA3LjkxNDM3QzMuODAxNDkgNy45ODQ0MSAzLjg0MzYgOC4wNDgwNCAzLjg5NzAyIDguMTAxNDVDMy45NTA0MyA4LjE1NDg2IDQuMDE0MDYgOC4xOTY5NyA0LjA4NDEgOC4yMjUyNkM0LjE1NDE0IDguMjUzNTUgNC4yMjkxNiA4LjI2NzQ1IDQuMzA0NjkgOC4yNjYxMkM0LjM4MDIxIDguMjY0NzggNC40NTQ3IDguMjQ4MjUgNC41MjM3IDguMjE3NTFDNC41OTI3IDguMTg2NzYgNC42NTQ4IDguMTQyNDQgNC43MDYzIDguMDg3MTdMNi4zOTY4IDYuMzk3NDJMNi41NjE4IDYuMjMyNDJWMi44MTI0MlpNMTEuMjQ5MyAxMS4yNDk5QzExLjI0OTMgMTEuNDQ4OCAxMS4xNzAzIDExLjYzOTYgMTEuMDI5NiAxMS43ODAzQzEwLjg4OSAxMS45MjA5IDEwLjY5ODIgMTEuOTk5OSAxMC40OTkzIDExLjk5OTlDMTAuMzAwNCAxMS45OTk5IDEwLjEwOTYgMTEuOTIwOSA5Ljk2ODk3IDExLjc4MDNDOS44MjgzMSAxMS42Mzk2IDkuNzQ5MyAxMS40NDg4IDkuNzQ5MyAxMS4yNDk5QzkuNzQ5MyAxMS4wNTEgOS44MjgzMSAxMC44NjAyIDkuOTY4OTcgMTAuNzE5NkMxMC4xMDk2IDEwLjU3ODkgMTAuMzAwNCAxMC40OTk5IDEwLjQ5OTMgMTAuNDk5OUMxMC42OTgyIDEwLjQ5OTkgMTAuODg5IDEwLjU3ODkgMTEuMDI5NiAxMC43MTk2QzExLjE3MDMgMTAuODYwMiAxMS4yNDkzIDExLjA1MSAxMS4yNDkzIDExLjI0OTlaTTExLjA2MTggNi41NjI0MkMxMS4wNjE4IDYuNDEzMjQgMTEuMDAyNSA2LjI3MDE2IDEwLjg5NyA2LjE2NDY3QzEwLjc5MTYgNi4wNTkxOSAxMC42NDg1IDUuOTk5OTIgMTAuNDk5MyA1Ljk5OTkyQzEwLjM1MDEgNS45OTk5MiAxMC4yMDcgNi4wNTkxOSAxMC4xMDE1IDYuMTY0NjdDOS45OTYwNiA2LjI3MDE2IDkuOTM2OCA2LjQxMzI0IDkuOTM2OCA2LjU2MjQyVjkuMTg3NDJDOS45MzY4IDkuMzM2NjEgOS45OTYwNiA5LjQ3OTY4IDEwLjEwMTUgOS41ODUxN0MxMC4yMDcgOS42OTA2NiAxMC4zNTAxIDkuNzQ5OTIgMTAuNDk5MyA5Ljc0OTkyQzEwLjY0ODUgOS43NDk5MiAxMC43OTE2IDkuNjkwNjYgMTAuODk3IDkuNTg1MTdDMTEuMDAyNSA5LjQ3OTY4IDExLjA2MTggOS4zMzY2MSAxMS4wNjE4IDkuMTg3NDJWNi41NjI0MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCIgc3Ryb2tlPVwiYmxhY2tcIiBzdHJva2Utd2lkdGg9XCIyXCIgbWFzaz1cInVybCgjcGF0aC0xLWluc2lkZS0xXzUxMTlfMzE3OClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfMzE3OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgbXMtM1wiPnt7IGRvbmUucHVibGlzaERhdGUgfCBkYXRlOiBcIllZWVktTU0tZGRcIn19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+QXBwcm92ZWQge3sgZG9uZS5zdWJtaXRDb3VudCAhPT1udWxsID8gZG9uZS5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGRvbmUuYXBwcm92ZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgZG9uZS5hcHByb3ZlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmVkTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZlZE5vRGF0YSAmJiAhYXBwcm92ZWRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBBcHByb3ZlZCBDaGVja2xpc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8IS0tIEFwcHJvdmVkIGNhcmQgZW5kIC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBteS0zXCI+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IG5nYkFjY29yZGlvbj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkl0ZW0gW2NvbGxhcHNlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgPGgyIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImhlYWR0ZXh0XCIgbmdiQWNjb3JkaW9uQnV0dG9uPkFjdGl2aXR5IExvZzxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+PC9idXR0b24+XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxsaWItYWN0aXZpdHktbG9nPjwvbGliLWFjdGl2aXR5LWxvZz5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19