vcomply-workflow-engine 2.9.68 → 2.9.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +136 -74
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +1 -1
  4. package/esm2015/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.js +1 -1
  5. package/esm2015/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.js +1 -1
  6. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
  7. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  8. package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +11 -3
  9. package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +18 -18
  10. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +13 -6
  11. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +5 -5
  12. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngsummary.json +1 -1
  13. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.js +2 -2
  14. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngfactory.js +1 -1
  15. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +2 -2
  16. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +2 -2
  17. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.js +2 -2
  18. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.ngfactory.js +2 -2
  19. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  20. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +1 -1
  21. package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.js +2 -2
  22. package/esm2015/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.ngfactory.js +3 -3
  23. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +2 -2
  24. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +2 -2
  25. package/esm2015/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.js +1 -1
  26. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  27. package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.js +3 -3
  28. package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngfactory.js +2 -2
  29. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.js +5 -3
  30. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngfactory.js +3 -3
  31. package/esm2015/lib/sharedComponents/users-radio-list/users-radio-list.component.ngsummary.json +1 -1
  32. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +1 -1
  33. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +1 -1
  34. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +1 -1
  35. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +1 -1
  36. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  37. package/esm2015/lib/workflow-policy/workflow-policy.component.js +12 -11
  38. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +135 -133
  39. package/esm2015/lib/workflow-program/create-program-ui/file-pill/file-pill.component.js +1 -1
  40. package/esm2015/lib/workflow-program/create-program-ui/form-field/form-field.component.js +1 -1
  41. package/esm2015/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.js +1 -1
  42. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +74 -31
  43. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +5 -5
  44. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
  45. package/esm2015/lib/workflow-program/workflow-program.component.js +1 -1
  46. package/esm2015/lib/workflow-risk/workflow-risk.component.js +1 -1
  47. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  48. package/fesm2015/vcomply-workflow-engine.js +135 -74
  49. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  50. package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +3 -2
  51. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -0
  52. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +8 -7
  53. package/package.json +1 -1
  54. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -47,6 +47,9 @@ export class ApprovalCreateFormComponent {
47
47
  if ((_a = this.editWorkflowLevel) === null || _a === void 0 ? void 0 : _a.editLevel) {
48
48
  this.editApproval((_b = this.editWorkflowLevel) === null || _b === void 0 ? void 0 : _b.editLevel, (_c = this.editWorkflowLevel) === null || _c === void 0 ? void 0 : _c.index);
49
49
  }
50
+ if (this.enableCreateForm) {
51
+ this.enableApprovalCreate = true;
52
+ }
50
53
  }
51
54
  createApprovalAction(event) {
52
55
  if (event.toLowerCase() === 'approval') {
@@ -82,10 +85,13 @@ export class ApprovalCreateFormComponent {
82
85
  this.enablePolicyCategory = event;
83
86
  }
84
87
  closeSelectApprover() {
88
+ var _a;
85
89
  this.enableApprovalLevel = false;
90
+ this.approvalWorkflows = this.approvalWorkflows.filter((workflow) => { var _a; return (_a = workflow.approvers) === null || _a === void 0 ? void 0 : _a.length; });
91
+ this.levels = ((_a = this.approvalWorkflows) === null || _a === void 0 ? void 0 : _a.length) + 1;
86
92
  }
87
93
  selectedApprover(event) {
88
- var _a, _b;
94
+ var _a, _b, _c;
89
95
  this.selectApprovalPayload = event;
90
96
  if (this.editIndex !== -1) {
91
97
  (_a = this.approvalWorkflows) === null || _a === void 0 ? void 0 : _a.splice(this.editIndex, 1);
@@ -96,6 +102,8 @@ export class ApprovalCreateFormComponent {
96
102
  else {
97
103
  this.approvalWorkflows.push(event[0]);
98
104
  }
105
+ this.approvalWorkflows = this.approvalWorkflows.filter((workflow) => { var _a; return (_a = workflow.approvers) === null || _a === void 0 ? void 0 : _a.length; });
106
+ this.levels = ((_c = this.approvalWorkflows) === null || _c === void 0 ? void 0 : _c.length) + 1;
99
107
  this.enableApprovalLevel = false;
100
108
  }
101
109
  deleteLevel(index) {
@@ -220,7 +228,7 @@ export class ApprovalCreateFormComponent {
220
228
  ApprovalCreateFormComponent.decorators = [
221
229
  { type: Component, args: [{
222
230
  selector: 'app-approval-create-form',
223
- template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name',true)\"\r\n (focusout)=\"approvalNameSelection('name',false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\" [appTooltip]=\"workflowName\" placement=\"bottom-left\"\r\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n {{workflowName}}\r\n </div>\r\n <button (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n >&#xe9ae;</i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n {{ approvalWorkflow?.type }}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i (click)=\"deselectUser(approvalWorkflow?.approvers[0],i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1\"\r\n >&#xe9ae;</i\r\n >\r\n <div *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length\r\n ? \"Final\"\r\n : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1 && approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"deselectUser(approver,i)\" class=\"icons\">&#xe90d;</i>\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j+1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe9ae;</i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
231
+ template: "<div class=\"approval-workflow-dialog\">\r\n <div\r\n class=\"approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n <button (click)=\"closeCreateForm()\" class=\"back-btn vx-p-0 vx-m-0\">\r\n <i class=\"icons vx-mr-1\">&#xe91d;</i></button\r\n >Select Approval Workflow\r\n </div>\r\n </div>\r\n <div class=\"approval-workflow-dialog-body\">\r\n <app-no-data\r\n *ngIf=\"!approverWorkFlowList.length && !enableApprovalCreate\"\r\n [noDataImage]=\"\r\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval-workflow.svg'\r\n \"\r\n [noDataText]=\"\r\n 'You did not set any approval workflow.<br>Click on the <strong>Create An Approval Workflow</strong> button to begin.'\r\n \"\r\n [noDataButton]=\"'CREATE AN APPROVAL WORKFLOW'\"\r\n [button]=\"'approval'\"\r\n (buttonAction)=\"createApprovalAction($event)\"\r\n ></app-no-data>\r\n\r\n <div\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n class=\"approval-workflow-dialog-body-inner vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n <div class=\"approval-workflow-form\">\r\n <!-- Workflow Name -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n WORKFLOW NAME <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <input *ngIf=\"!workflowName?.length || approvalName === 'name'\"\r\n (keydown)=\"approvalName = 'name'\"\r\n (focusin)=\"approvalNameSelection('name',true)\"\r\n (focusout)=\"approvalNameSelection('name',false)\"\r\n class=\"textField\"\r\n type=\"text\"\r\n [(ngModel)]=\"workflowName\"\r\n placeholder=\"Name of the approval workflow\"\r\n />\r\n <div *ngIf=\"workflowName?.length && approvalName !== 'name'\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div class=\"selectBoxText vx-fs-13 vx-paragraph-txt\" [appTooltip]=\"workflowName\" placement=\"bottom-left\"\r\n delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">\r\n {{workflowName}}\r\n </div>\r\n <button (click)=\"approvalNameSelection('name', true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n <div class=\"vx-mt-2\">\r\n <marx-editor\r\n [editorConfig]=\"description\"\r\n [(ngModel)]=\"createDescription\"\r\n ></marx-editor>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Policy Category -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n SELECT POLICY CATEGORY\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"filteredCategory?.length === 0\"\r\n (click)=\"enableCategory(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select the policy category that this approval<br />workflow\r\n applies to\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"filteredCategory?.length > 0\"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let category of filteredCategory | slice : 0 : 1;\r\n let catIndex = index\r\n \"\r\n >\r\n <i\r\n (click)=\"removeCategory(category)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ category?.item_name }}</span\r\n >\r\n </ng-container>\r\n <button\r\n *ngIf=\"filteredCategory?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"policyOwnerPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ filteredCategory?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #policyOwnerPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of filteredCategory | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"category?.item_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"removeCategory(category)\" class=\"icons\"\r\n >&#xe90d;</i\r\n >\r\n {{ category?.item_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n <button\r\n filteredCategory\r\n (click)=\"enableCategory(true)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Approval Workflow -->\r\n <div class=\"approval-workflow-form-row vx-mb-5\">\r\n <div class=\"form-left\">\r\n <img\r\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\"\r\n />\r\n </div>\r\n <div class=\"form-right\">\r\n <div\r\n class=\"label-heading vx-fs-11 vx-fw-500 vx-tt-uppercase vx-tt-uppercase vx-mb-2\"\r\n >\r\n APPROVERS & APPROVAL WORKFLOW\r\n <span class=\"required vx-fs-14 vx-fw-500\">*</span>\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflows?.length === 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"selectBoxEnable vx-pl-3 vx-pr-3 vx-d-flex vx-align-center\"\r\n [class.disabled]=\"false\"\r\n >\r\n <div\r\n class=\"selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4\"\r\n >\r\n Select approvers and select the order of approval\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalWorkflows?.length > 0\">\r\n <div\r\n *ngFor=\"\r\n let approvalWorkflow of approvalWorkflows;\r\n let i = index\r\n \"\r\n class=\"selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\r\n >\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"level-left vx-d-flex vx-align-center\">\r\n <div class=\"vx-d-block\">\r\n <div\r\n class=\"level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3\"\r\n [appTooltip]=\"approvalWorkflow?.alias_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ approvalWorkflow?.alias_name }}\r\n </div>\r\n <div\r\n class=\"vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3\"\r\n >\r\n <!-- {{ approvalWorkflow?.type }} -->\r\n {{(approvalWorkflow?.type | lowercase) === \"roundrobin\"\r\n ? \"ROUND-ROBIN\"\r\n : (approvalWorkflow?.type | lowercase) === \"anyone\"\r\n ? \"ANY ONE\"\r\n : approvalWorkflow?.type}}\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2\"\r\n >\r\n <i (click)=\"deselectUser(approvalWorkflow?.approvers[0],i)\"\r\n class=\"icons cross vx-fs-12 vx-paragraph-txt vx-mr-1\"\r\n >&#xe9ae;</i\r\n >\r\n <div *ngIf=\"\r\n approvalWorkflow?.type?.toLowerCase() === 'sequential' &&\r\n approvalWorkflow?.approvers?.length < 2\r\n \"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n {{\r\n 1 == approvalWorkflow?.approvers?.length\r\n ? \"Final\"\r\n : 1\r\n }}\r\n </div>\r\n <div\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1 && approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >\r\n 1\r\n </div>\r\n <span\r\n class=\"chipName vx-fs-11 vx-label-txt\"\r\n [appTooltip]=\"approvalWorkflow?.approvers[0]?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ approvalWorkflow?.approvers[0]?.member_name }}</span\r\n >\r\n <button\r\n *ngIf=\"approvalWorkflow?.approvers?.length > 1\"\r\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\r\n appPopover\r\n (click)=\"workflowPopover.popover()\"\r\n placement=\"right\"\r\n >\r\n + {{ approvalWorkflow?.approvers?.length - 1 }}\r\n </button>\r\n </div>\r\n <app-popover #workflowPopover [dontCloseonClick]=\"true\">\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li\r\n *ngFor=\"\r\n let approver of approvalWorkflow?.approvers\r\n | slice : 1;\r\n let j = index\r\n \"\r\n >\r\n <div class=\"avatar-card\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"approver?.member_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n <i (click)=\"deselectUser(approver,i)\" class=\"icons\">&#xe90d;</i>\r\n <span *ngIf=\"approvalWorkflow?.type?.toLowerCase() === 'sequential'\"\r\n class=\"workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center\"\r\n >{{\r\n j+1 ===\r\n approvalWorkflow?.approvers?.length - 1\r\n ? \"Final\"\r\n : j + 2\r\n }}</span\r\n >\r\n {{ approver?.member_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <button\r\n (click)=\"editApproval(approvalWorkflow, i)\"\r\n class=\"editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe90c;</i> EDIT\r\n </button>\r\n <button\r\n (click)=\"deleteLevel(i)\"\r\n class=\"deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\">&#xe9ae;</i> DELETE\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <button\r\n *ngIf=\"approvalWorkflows?.length > 0\"\r\n (click)=\"addLevelsClicked(true)\"\r\n class=\"addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1\"\r\n >\r\n + ADD MORE LEVELS\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <vui-floating-bar\r\n *ngIf=\"enableApprovalCreate || enableCreateForm\"\r\n [nextDisabled]=\"\r\n workflowName?.trim() === '' ||\r\n approvalWorkflows?.length === 0 ||\r\n filteredCategory?.length === 0\r\n \"\r\n (closeList)=\"closeCreateForm()\"\r\n (closeEvent)=\"nextClick()\"\r\n ></vui-floating-bar>\r\n </div>\r\n</div>\r\n\r\n<!-- [selectedItems]=\"policyForm.selectedCategories\" -->\r\n\r\n<app-select-approvers\r\n *ngIf=\"enableApprovalLevel\"\r\n [allApprovers]=\"allApprovers\"\r\n (closeSelectApprover)=\"closeSelectApprover()\"\r\n (selectedApprover)=\"selectedApprover($event)\"\r\n [levels]=\"levels\"\r\n [editApprovalData]=\"editApprovalData\"\r\n></app-select-approvers>\r\n\r\n<app-checkbox-list\r\n *ngIf=\"enablePolicyCategory\"\r\n [config]=\"categoryConfig\"\r\n [twoColumn]=\"false\"\r\n [itemsList]=\"selectedCategory\"\r\n [identifierKey]=\"'_id'\"\r\n [displayKey]=\"'item_name'\"\r\n [tooltipKey]=\"'item_name'\"\r\n (saveList)=\"saveCategoryList($event)\"\r\n (closeList)=\"closeCategoryList()\"\r\n [selectedItems]=\"filteredCategory\"\r\n>\r\n</app-checkbox-list>\r\n",
224
232
  styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .approval-workflow-dialog{position:fixed;top:0;right:500px;bottom:0;left:0}::ng-deep .approval-workflow-dialog:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .approval-workflow-dialog-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .approval-workflow-dialog-head button.back-btn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .approval-workflow-dialog-body-inner{height:calc(100vh - 10.75rem);overflow:hidden;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem;width:calc(100% + .5rem)}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-track{background-color:#fff;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .approval-workflow-dialog-body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form{width:30.75rem;max-height:calc(100vh - 10.75rem)}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row{position:relative}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left{position:absolute;top:30px;left:0}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-left img{width:2.5rem;height:2.5rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right{padding-left:3.75rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right .label-heading .required{color:#eb2424;position:relative;top:-.125rem}::ng-deep .approval-workflow-dialog-body-inner .approval-workflow-form-row .form-right button.addMoreBtn{background:transparent;border-radius:0;border:none}::ng-deep .approval-workflow-dialog-body vui-floating-bar .reviewer-floating-bar{padding:0!important}\n"]
225
233
  },] }
226
234
  ];
@@ -239,4 +247,4 @@ ApprovalCreateFormComponent.propDecorators = {
239
247
  saveApprovalWorkflow: [{ type: Output }],
240
248
  closeCreateClicked: [{ type: Output }]
241
249
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sMkJBQTJCO0lBcUN0QyxZQUNVLFdBQXdCLEVBQ3hCLGFBQTRCO1FBRDVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdEN0Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUFHO1lBQ2YsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixvQkFBb0IsRUFBRSxtQkFBbUI7WUFDekMsa0JBQWtCLEVBQUUscUJBQXFCO1lBQ3pDLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxhQUFhLEVBQUUs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QUFDLFFBQWEsRUFBRSxFQUFFLFdBQUMsT0FBQSxNQUFBLFFBQVEsQ0FBQyxTQUFTLDBDQUFFLE1BQU0sQ0FBQSxFQUFBLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLE1BQU0sSUFBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQVMsRUFBRSxLQUFjO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7WUEzUUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLHE5Z0JBQW9EOzthQUVyRDs7O1lBUFEsV0FBVztZQUNYLGFBQWE7OzttQkFpQ25CLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLO2dDQUNMLEtBQUs7bUNBRUwsTUFBTTtpQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICd2Y29tcGx5LWVkaXRvcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFwcHJvdmFsLWNyZWF0ZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcHJvdmFsLWNyZWF0ZS1mb3JtLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbENyZWF0ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGVuYWJsZUFwcHJvdmFsQ3JlYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlQXBwcm92YWxMZXZlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVuYWJsZVBvbGljeUNhdGVnb3J5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmcgPSAnJztcclxuICBzZWxlY3RBcHByb3ZhbFBheWxvYWQ6IGFueVtdID0gW107XHJcbiAgY3JlYXRlQXBwcm92YWxQYXlsb2FkOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsV29ya2Zsb3dzOiBhbnlbXSA9IFtdO1xyXG4gIGZpbHRlcmVkQ2F0ZWdvcnk6IGFueVtdID0gW107XHJcbiAgbGV2ZWxzOiBudW1iZXIgPSAxO1xyXG4gIGNhdGVnb3J5Q29uZmlnID0ge1xyXG4gICAgcGFuZWxUaXRsZTogJ1NlbGVjdCBDYXRlZ29yeScsXHJcbiAgICBmbG9hdGluZ1RleHRTaW5ndWxhcjogJ0NhdGVnb3J5IHNlbGVjdGVkJyxcclxuICAgIGZsb2F0aW5nVGV4dFBsdXJhbDogJ0NhdGVnb3JpZXMgc2VsZWN0ZWQnLFxyXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggQ2F0ZWdvcnknLFxyXG4gICAgc2VhcmNoRW5hYmxlZDogdHJ1ZSxcclxuICAgIHNlbGVjdEFsbEVuYWJsZWQ6IHRydWUsXHJcbiAgICB3b3JrZmxvdzogJ3BvbGljeScsXHJcbiAgfTtcclxuICBzZWxlY3RlZENhdDogYW55W10gPSBbXTtcclxuICBlZGl0QXBwcm92YWxEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGVkaXRJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgY3JlYXRlRGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZDogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbE5hbWUhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgYXBwcm92ZXJEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCkgYXBwcm92ZXJXb3JrRmxvd0xpc3QhOiBhbnk7XHJcbiAgQElucHV0KCkgZW5hYmxlQ3JlYXRlRm9ybSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWxsQXBwcm92ZXJzITogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnkhOiBhbnk7XHJcbiAgQElucHV0KCkgZWRpdFdvcmtmbG93TGV2ZWw6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHNhdmVBcHByb3ZhbFdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUNyZWF0ZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGRlc2NyaXB0aW9uOiBFZGl0b3JDb25maWcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIGEgZGVzY3JpcHRpb24gZm9yIHRoaXMgcG9saWN5JyxcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVBcHByb3ZlcigpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZWRpdFdvcmtmbG93TGV2ZWw/LmVkaXRMZXZlbCkge1xyXG4gICAgICB0aGlzLmVkaXRBcHByb3ZhbChcclxuICAgICAgICB0aGlzLmVkaXRXb3JrZmxvd0xldmVsPy5lZGl0TGV2ZWwsXHJcbiAgICAgICAgdGhpcy5lZGl0V29ya2Zsb3dMZXZlbD8uaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZUFwcHJvdmFsQWN0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50b0xvd2VyQ2FzZSgpID09PSAnYXBwcm92YWwnKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlQXBwcm92YWxDcmVhdGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkTGV2ZWxzQ2xpY2tlZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmVuYWJsZUFwcHJvdmFsTGV2ZWwgPSBldmVudDtcclxuICAgIGlmIChldmVudCkgdGhpcy5sZXZlbHMrKztcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3J5SWQoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQgPSBjYXRlZ29yeS5tYXAoKGNhdDogYW55KSA9PiBjYXQuaXRlbV9pZCk7XHJcbiAgfVxyXG5cclxuICBzYXZlQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXQgPSBldmVudDtcclxuICAgIHRoaXMuZmlsdGVyU2VsZWN0ZWRDYXRlZ29yeShldmVudCk7XHJcbiAgICB0aGlzLmVuYWJsZVBvbGljeUNhdGVnb3J5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJTZWxlY3RlZENhdGVnb3J5KHNlbGVjdGVkQ2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5maWx0ZXJlZENhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cclxuICAgICAgc2VsZWN0ZWRDYXRlZ29yeS5pbmNsdWRlcyhjYXRlZ29yeS5faWQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUlkKHRoaXMuZmlsdGVyZWRDYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDYXRlZ29yeShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBjYXRlZ29yeUluZGV4ID0gdGhpcy5maWx0ZXJlZENhdGVnb3J5LmZpbmRJbmRleChcclxuICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5pdGVtX2lkID09PSBldmVudD8uaXRlbV9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuZmlsdGVyZWRDYXRlZ29yeT8uc3BsaWNlKGNhdGVnb3J5SW5kZXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDYXRlZ29yeUxpc3QoKSB7XHJcbiAgICB0aGlzLmVuYWJsZVBvbGljeUNhdGVnb3J5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBlbmFibGVDYXRlZ29yeShldmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5lbmFibGVQb2xpY3lDYXRlZ29yeSA9IGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgY2xvc2VTZWxlY3RBcHByb3ZlcigpIHtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRBcHByb3ZlcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdEFwcHJvdmFsUGF5bG9hZCA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDAsIGV2ZW50WzBdKTtcclxuICAgICAgdGhpcy5lZGl0SW5kZXggPSAtMTtcclxuICAgICAgdGhpcy5lZGl0QXBwcm92YWxEYXRhID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLnB1c2goZXZlbnRbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTGV2ZWwoaW5kZXg6IGFueSkge1xyXG4gICAgLy8gQXBwcm92ZXIgTGV2ZWwgZGVsZXRlXHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5hcHByb3ZhbFdvcmtmbG93cyA9PT0+JywgdGhpcy5hcHByb3ZhbFdvcmtmbG93cyk7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLmxldmVscyA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCArIDE7XHJcbiAgICBmb3IgKGxldCBpID0gaW5kZXg7IGkgPCB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzW2luZGV4XVsnbGV2ZWwxJ10gPT09XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF1bJ2FsaWFzX25hbWUnXVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzW2luZGV4XVsnYWxpYXNfbmFtZSddID0gYExldmVsICR7aSArIDF9YDtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZygnIGBMZXZlbCAke2kgKyAxfWAgPT0+JywgYExldmVsICR7aSArIDF9YCk7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydsZXZlbDEnXSA9IGBMZXZlbCAke2kgKyAxfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0xldmVsKCkge1xyXG4gICAgaWYgKHRoaXMubGV2ZWxzID09PSAwKSB7XHJcbiAgICAgIHRoaXMubGV2ZWxzID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXRBcHByb3ZhbChhcHByb3ZhbDogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRBcHByb3ZhbERhdGEgPSBbYXBwcm92YWxdO1xyXG4gICAgdGhpcy5lZGl0SW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZW5hYmxlQXBwcm92YWxMZXZlbCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNyZWF0ZUZvcm0oKSB7XHJcbiAgICB0aGlzLmNsb3NlQ3JlYXRlQ2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZXh0Q2xpY2soKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1lbWJlck5hbWVLZXkoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU1lbWJlck5hbWVLZXkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5tYXAoXHJcbiAgICAgICh7XHJcbiAgICAgICAgYXBwcm92ZXJzLFxyXG4gICAgICAgIC4uLnJlc3RcclxuICAgICAgfToge1xyXG4gICAgICAgIGFwcHJvdmVyczogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT47XHJcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgICB9KSA9PiAoe1xyXG4gICAgICAgIC4uLnJlc3QsXHJcbiAgICAgICAgYXBwcm92ZXJzOiBhcHByb3ZlcnMubWFwKFxyXG4gICAgICAgICAgKHsgbWVtYmVyX25hbWUsIC4uLnJlc3QgfTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gKHsgLi4ucmVzdCB9KVxyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZW5lcmF0ZVBheWxvYWQoKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUGF5bG9hZCgpIHtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHdvcmtmbG93X21vZHVsZTogJ1BPTElDWScsXHJcbiAgICAgIHdvcmtmbG93X25hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxyXG4gICAgICBjYXRlZ29yeV9pZDogdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQsXHJcbiAgICAgIGFwcHJvdmFsX3dvcmtmbG93OiB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLFxyXG4gICAgICBjcmVhdGVkX2J5OiB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCksXHJcbiAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpLFxyXG4gICAgICBkZWxldGVfZmxhZzogMCxcclxuICAgICAgSXNfYXBwcm92YWw6IDEsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB7XHJcbiAgICAgICAgYXR0YWNobWVudHM6IFtdLFxyXG4gICAgICAgIHRleHQ6IHRoaXMuY3JlYXRlRGVzY3JpcHRpb24sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMuX2VkaXRXb3JrZmxvdyhwYXlsb2FkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlTmV3V29ya2Zsb3cocGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVOZXdXb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcclxuICAgIHRoaXMucG9saWN5U2VydmljZS5jcmVhdGVBcHByb3ZhbFdvcmtmbG93KHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCh0cnVlKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9lZGl0V29ya2Zsb3cocGF5bG9hZDogYW55KSB7XHJcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcclxuICAgICAgLmVkaXRBcHByb3ZhbFdvcmtmbG93KHBheWxvYWQsIHRoaXMuYXBwcm92ZXJEZXRhaWxzLl9pZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNhdmVBcHByb3ZhbFdvcmtmbG93LmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwb3B1bGF0ZUFwcHJvdmVyKCkge1xyXG4gICAgY29uc29sZS5sb2coJyB0aGlzLmFwcHJvdmVyRGV0YWlscyA9PT4nLCB0aGlzLmFwcHJvdmVyRGV0YWlscyk7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93X25hbWUsIGFwcHJvdmFsX3dvcmtmbG93LCBkZXNjcmlwdGlvbiwgY2F0ZWdvcnlfYXJyIH0gPVxyXG4gICAgICB0aGlzLmFwcHJvdmVyRGV0YWlscztcclxuICAgIHRoaXMud29ya2Zsb3dOYW1lID0gd29ya2Zsb3dfbmFtZTtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MgPSBhcHByb3ZhbF93b3JrZmxvdztcclxuICAgIHRoaXMuY3JlYXRlRGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbj8udGV4dCA/PyAnJztcclxuICAgIGNvbnN0IGNhdGVnb3J5RGV0YWlscyA9IGNhdGVnb3J5X2Fyci5tYXAoKGNhdGVnb3J5OiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpdGVtX2lkOiBjYXRlZ29yeT8uY2FsX2NhdGVnb3J5X2lkLFxyXG4gICAgICAgIGl0ZW1fbmFtZTogY2F0ZWdvcnk/LmNhdGVnb3J5X25hbWUsXHJcbiAgICAgICAgX2lkOiBjYXRlZ29yeT8uX2lkLFxyXG4gICAgICAgIHBhcmVudF9pdGVtczogW10sXHJcbiAgICAgICAgcGFyZW50X2l0ZW1faWRzOiBbXSxcclxuICAgICAgICBjdXN0b21fdGFnczogW10sXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkID0gY2F0ZWdvcnlfYXJyLm1hcChcclxuICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5jYWxfY2F0ZWdvcnlfaWRcclxuICAgICk7XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkgPSBjYXRlZ29yeURldGFpbHM7XHJcbiAgfVxyXG5cclxuICBjbG9zZUZvcm0oKSB7XHJcbiAgICB0aGlzLnNhdmVBcHByb3ZhbFdvcmtmbG93LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGRlc2VsZWN0VXNlcihhcHByb3ZlcjogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICBjb25zdCByZW1vdmVJbmRleCA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdPy5hcHByb3ZlcnMuZmluZEluZGV4KFxyXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZT8ubWVtYmVyX2lkID09PSBhcHByb3Zlcj8ubWVtYmVyX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF0/LmFwcHJvdmVycy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93cyA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3MuZmlsdGVyKFxyXG4gICAgICAod29ya2Zsb3c6IGFueSkgPT4gd29ya2Zsb3cuYXBwcm92ZXJzPy5sZW5ndGhcclxuICAgICk7XHJcbiAgICB0aGlzLmxldmVscyA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCArIDE7XHJcbiAgfVxyXG5cclxuICBhcHByb3ZhbE5hbWVTZWxlY3Rpb24odHlwZTogYW55LCBldmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5hcHByb3ZhbE5hbWUgPSBldmVudCA/IHR5cGUgOiAnJztcclxuICB9XHJcbn1cclxuIl19
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9hcHByb3ZhbC13b3JrZmxvdy9hcHByb3ZhbC1jcmVhdGUtZm9ybS9hcHByb3ZhbC1jcmVhdGUtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sMkJBQTJCO0lBcUN0QyxZQUNVLFdBQXdCLEVBQ3hCLGFBQTRCO1FBRDVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdEN0Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMsMEJBQXFCLEdBQVUsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFVLEVBQUUsQ0FBQztRQUM5QixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixtQkFBYyxHQUFHO1lBQ2YsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixvQkFBb0IsRUFBRSxtQkFBbUI7WUFDekMsa0JBQWtCLEVBQUUscUJBQXFCO1lBQ3pDLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxhQUFhLEVBQUUs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Q25CLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSzsrQkFDTCxLQUFLO2dDQUNMLEtBQUs7bUNBRUwsTUFBTTtpQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICd2Y29tcGx5LWVkaXRvcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFwcHJvdmFsLWNyZWF0ZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcHJvdmFsLWNyZWF0ZS1mb3JtLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbENyZWF0ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGVuYWJsZUFwcHJvdmFsQ3JlYXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZW5hYmxlQXBwcm92YWxMZXZlbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVuYWJsZVBvbGljeUNhdGVnb3J5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmcgPSAnJztcclxuICBzZWxlY3RBcHByb3ZhbFBheWxvYWQ6IGFueVtdID0gW107XHJcbiAgY3JlYXRlQXBwcm92YWxQYXlsb2FkOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsV29ya2Zsb3dzOiBhbnlbXSA9IFtdO1xyXG4gIGZpbHRlcmVkQ2F0ZWdvcnk6IGFueVtdID0gW107XHJcbiAgbGV2ZWxzOiBudW1iZXIgPSAxO1xyXG4gIGNhdGVnb3J5Q29uZmlnID0ge1xyXG4gICAgcGFuZWxUaXRsZTogJ1NlbGVjdCBDYXRlZ29yeScsXHJcbiAgICBmbG9hdGluZ1RleHRTaW5ndWxhcjogJ0NhdGVnb3J5IHNlbGVjdGVkJyxcclxuICAgIGZsb2F0aW5nVGV4dFBsdXJhbDogJ0NhdGVnb3JpZXMgc2VsZWN0ZWQnLFxyXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggQ2F0ZWdvcnknLFxyXG4gICAgc2VhcmNoRW5hYmxlZDogdHJ1ZSxcclxuICAgIHNlbGVjdEFsbEVuYWJsZWQ6IHRydWUsXHJcbiAgICB3b3JrZmxvdzogJ3BvbGljeScsXHJcbiAgfTtcclxuICBzZWxlY3RlZENhdDogYW55W10gPSBbXTtcclxuICBlZGl0QXBwcm92YWxEYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGVkaXRJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgY3JlYXRlRGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZDogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbE5hbWUhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCkgYXBwcm92ZXJEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCkgYXBwcm92ZXJXb3JrRmxvd0xpc3QhOiBhbnk7XHJcbiAgQElucHV0KCkgZW5hYmxlQ3JlYXRlRm9ybSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWxsQXBwcm92ZXJzITogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnkhOiBhbnk7XHJcbiAgQElucHV0KCkgZWRpdFdvcmtmbG93TGV2ZWw6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHNhdmVBcHByb3ZhbFdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUNyZWF0ZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGRlc2NyaXB0aW9uOiBFZGl0b3JDb25maWcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIGEgZGVzY3JpcHRpb24gZm9yIHRoaXMgcG9saWN5JyxcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ0VESVQnKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVBcHByb3ZlcigpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZWRpdFdvcmtmbG93TGV2ZWw/LmVkaXRMZXZlbCkge1xyXG4gICAgICB0aGlzLmVkaXRBcHByb3ZhbChcclxuICAgICAgICB0aGlzLmVkaXRXb3JrZmxvd0xldmVsPy5lZGl0TGV2ZWwsXHJcbiAgICAgICAgdGhpcy5lZGl0V29ya2Zsb3dMZXZlbD8uaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmVuYWJsZUNyZWF0ZUZvcm0pIHtcclxuICAgICAgdGhpcy5lbmFibGVBcHByb3ZhbENyZWF0ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVBcHByb3ZhbEFjdGlvbihldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudG9Mb3dlckNhc2UoKSA9PT0gJ2FwcHJvdmFsJykge1xyXG4gICAgICB0aGlzLmVuYWJsZUFwcHJvdmFsQ3JlYXRlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZExldmVsc0NsaWNrZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZXZlbnQ7XHJcbiAgICBpZiAoZXZlbnQpIHRoaXMubGV2ZWxzKys7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yeUlkKGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkID0gY2F0ZWdvcnkubWFwKChjYXQ6IGFueSkgPT4gY2F0Lml0ZW1faWQpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUNhdGVnb3J5TGlzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ID0gZXZlbnQ7XHJcbiAgICB0aGlzLmZpbHRlclNlbGVjdGVkQ2F0ZWdvcnkoZXZlbnQpO1xyXG4gICAgdGhpcy5lbmFibGVQb2xpY3lDYXRlZ29yeSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyU2VsZWN0ZWRDYXRlZ29yeShzZWxlY3RlZENhdGVnb3J5OiBhbnkpIHtcclxuICAgIHRoaXMuZmlsdGVyZWRDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XHJcbiAgICAgIHNlbGVjdGVkQ2F0ZWdvcnkuaW5jbHVkZXMoY2F0ZWdvcnkuX2lkKVxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlJZCh0aGlzLmZpbHRlcmVkQ2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2F0ZWdvcnkoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2F0ZWdvcnlJbmRleCA9IHRoaXMuZmlsdGVyZWRDYXRlZ29yeS5maW5kSW5kZXgoXHJcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uaXRlbV9pZCA9PT0gZXZlbnQ/Lml0ZW1faWRcclxuICAgICk7XHJcbiAgICB0aGlzLmZpbHRlcmVkQ2F0ZWdvcnk/LnNwbGljZShjYXRlZ29yeUluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgdGhpcy5lbmFibGVQb2xpY3lDYXRlZ29yeSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZW5hYmxlQ2F0ZWdvcnkoZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZW5hYmxlUG9saWN5Q2F0ZWdvcnkgPSBldmVudDtcclxuICB9XHJcblxyXG4gIGNsb3NlU2VsZWN0QXBwcm92ZXIoKSB7XHJcbiAgICB0aGlzLmVuYWJsZUFwcHJvdmFsTGV2ZWwgPSBmYWxzZTtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MgPSB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLmZpbHRlcihcclxuICAgICAgKHdvcmtmbG93OiBhbnkpID0+IHdvcmtmbG93LmFwcHJvdmVycz8ubGVuZ3RoXHJcbiAgICApO1xyXG4gICAgdGhpcy5sZXZlbHMgPSB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5sZW5ndGggKyAxO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRBcHByb3ZlcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdEFwcHJvdmFsUGF5bG9hZCA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMuZWRpdEluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzPy5zcGxpY2UodGhpcy5lZGl0SW5kZXgsIDAsIGV2ZW50WzBdKTtcclxuICAgICAgdGhpcy5lZGl0SW5kZXggPSAtMTtcclxuICAgICAgdGhpcy5lZGl0QXBwcm92YWxEYXRhID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLnB1c2goZXZlbnRbMF0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93cyA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3MuZmlsdGVyKFxyXG4gICAgICAod29ya2Zsb3c6IGFueSkgPT4gd29ya2Zsb3cuYXBwcm92ZXJzPy5sZW5ndGhcclxuICAgICk7XHJcbiAgICB0aGlzLmxldmVscyA9IHRoaXMuYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCArIDE7XHJcblxyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMZXZlbChpbmRleDogYW55KSB7XHJcbiAgICAvLyBBcHByb3ZlciBMZXZlbCBkZWxldGVcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID09PT4nLCB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzKTtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMubGV2ZWxzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cz8ubGVuZ3RoICsgMTtcclxuICAgIGZvciAobGV0IGkgPSBpbmRleDsgaSA8IHRoaXMuYXBwcm92YWxXb3JrZmxvd3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydsZXZlbDEnXSA9PT1cclxuICAgICAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzW2luZGV4XVsnYWxpYXNfbmFtZSddXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3NbaW5kZXhdWydhbGlhc19uYW1lJ10gPSBgTGV2ZWwgJHtpICsgMX1gO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKCcgYExldmVsICR7aSArIDF9YCA9PT4nLCBgTGV2ZWwgJHtpICsgMX1gKTtcclxuICAgICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF1bJ2xldmVsMSddID0gYExldmVsICR7aSArIDF9YDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrTGV2ZWwoKSB7XHJcbiAgICBpZiAodGhpcy5sZXZlbHMgPT09IDApIHtcclxuICAgICAgdGhpcy5sZXZlbHMgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdEFwcHJvdmFsKGFwcHJvdmFsOiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdEFwcHJvdmFsRGF0YSA9IFthcHByb3ZhbF07XHJcbiAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5lbmFibGVBcHByb3ZhbExldmVsID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlQ3JlYXRlRm9ybSgpIHtcclxuICAgIHRoaXMuY2xvc2VDcmVhdGVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5leHRDbGljaygpIHtcclxuICAgIHRoaXMucmVtb3ZlTWVtYmVyTmFtZUtleSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTWVtYmVyTmFtZUtleSgpIHtcclxuICAgIHRoaXMuYXBwcm92YWxXb3JrZmxvd3MgPSB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzLm1hcChcclxuICAgICAgKHtcclxuICAgICAgICBhcHByb3ZlcnMsXHJcbiAgICAgICAgLi4ucmVzdFxyXG4gICAgICB9OiB7XHJcbiAgICAgICAgYXBwcm92ZXJzOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PjtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAgIH0pID0+ICh7XHJcbiAgICAgICAgLi4ucmVzdCxcclxuICAgICAgICBhcHByb3ZlcnM6IGFwcHJvdmVycy5tYXAoXHJcbiAgICAgICAgICAoeyBtZW1iZXJfbmFtZSwgLi4ucmVzdCB9OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiAoeyAuLi5yZXN0IH0pXHJcbiAgICAgICAgKSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLmdlbmVyYXRlUGF5bG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVQYXlsb2FkKCkge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgd29ya2Zsb3dfbW9kdWxlOiAnUE9MSUNZJyxcclxuICAgICAgd29ya2Zsb3dfbmFtZTogdGhpcy53b3JrZmxvd05hbWUsXHJcbiAgICAgIGNhdGVnb3J5X2lkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZCxcclxuICAgICAgYXBwcm92YWxfd29ya2Zsb3c6IHRoaXMuYXBwcm92YWxXb3JrZmxvd3MsXHJcbiAgICAgIGNyZWF0ZWRfYnk6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKSxcclxuICAgICAgb3JnYW5pc2F0aW9uX2lkOiB0aGlzLmF1dGhTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbklkKCksXHJcbiAgICAgIGRlbGV0ZV9mbGFnOiAwLFxyXG4gICAgICBJc19hcHByb3ZhbDogMSxcclxuICAgICAgZGVzY3JpcHRpb246IHtcclxuICAgICAgICBhdHRhY2htZW50czogW10sXHJcbiAgICAgICAgdGV4dDogdGhpcy5jcmVhdGVEZXNjcmlwdGlvbixcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcclxuICAgICAgdGhpcy5fZWRpdFdvcmtmbG93KHBheWxvYWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jcmVhdGVOZXdXb3JrZmxvdyhwYXlsb2FkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZU5ld1dvcmtmbG93KHBheWxvYWQ6IGFueSkge1xyXG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmNyZWF0ZUFwcHJvdmFsV29ya2Zsb3cocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zYXZlQXBwcm92YWxXb3JrZmxvdy5lbWl0KHRydWUpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VkaXRXb3JrZmxvdyhwYXlsb2FkOiBhbnkpIHtcclxuICAgIHRoaXMucG9saWN5U2VydmljZVxyXG4gICAgICAuZWRpdEFwcHJvdmFsV29ya2Zsb3cocGF5bG9hZCwgdGhpcy5hcHByb3ZlckRldGFpbHMuX2lkKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHBvcHVsYXRlQXBwcm92ZXIoKSB7XHJcbiAgICBjb25zb2xlLmxvZygnIHRoaXMuYXBwcm92ZXJEZXRhaWxzID09PicsIHRoaXMuYXBwcm92ZXJEZXRhaWxzKTtcclxuICAgIGNvbnN0IHsgd29ya2Zsb3dfbmFtZSwgYXBwcm92YWxfd29ya2Zsb3csIGRlc2NyaXB0aW9uLCBjYXRlZ29yeV9hcnIgfSA9XHJcbiAgICAgIHRoaXMuYXBwcm92ZXJEZXRhaWxzO1xyXG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSB3b3JrZmxvd19uYW1lO1xyXG4gICAgdGhpcy5hcHByb3ZhbFdvcmtmbG93cyA9IGFwcHJvdmFsX3dvcmtmbG93O1xyXG4gICAgdGhpcy5jcmVhdGVEZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uPy50ZXh0ID8/ICcnO1xyXG4gICAgY29uc3QgY2F0ZWdvcnlEZXRhaWxzID0gY2F0ZWdvcnlfYXJyLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGl0ZW1faWQ6IGNhdGVnb3J5Py5jYWxfY2F0ZWdvcnlfaWQsXHJcbiAgICAgICAgaXRlbV9uYW1lOiBjYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZSxcclxuICAgICAgICBfaWQ6IGNhdGVnb3J5Py5faWQsXHJcbiAgICAgICAgcGFyZW50X2l0ZW1zOiBbXSxcclxuICAgICAgICBwYXJlbnRfaXRlbV9pZHM6IFtdLFxyXG4gICAgICAgIGN1c3RvbV90YWdzOiBbXSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWQgPSBjYXRlZ29yeV9hcnIubWFwKFxyXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT4gY2F0ZWdvcnk/LmNhbF9jYXRlZ29yeV9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuZmlsdGVyZWRDYXRlZ29yeSA9IGNhdGVnb3J5RGV0YWlscztcclxuICB9XHJcblxyXG4gIGNsb3NlRm9ybSgpIHtcclxuICAgIHRoaXMuc2F2ZUFwcHJvdmFsV29ya2Zsb3cuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZGVzZWxlY3RVc2VyKGFwcHJvdmVyOiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIGNvbnN0IHJlbW92ZUluZGV4ID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93c1tpbmRleF0/LmFwcHJvdmVycy5maW5kSW5kZXgoXHJcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgPT09IGFwcHJvdmVyPy5tZW1iZXJfaWRcclxuICAgICk7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzW2luZGV4XT8uYXBwcm92ZXJzLnNwbGljZShyZW1vdmVJbmRleCwgMSk7XHJcbiAgICB0aGlzLmFwcHJvdmFsV29ya2Zsb3dzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cy5maWx0ZXIoXHJcbiAgICAgICh3b3JrZmxvdzogYW55KSA9PiB3b3JrZmxvdy5hcHByb3ZlcnM/Lmxlbmd0aFxyXG4gICAgKTtcclxuICAgIHRoaXMubGV2ZWxzID0gdGhpcy5hcHByb3ZhbFdvcmtmbG93cz8ubGVuZ3RoICsgMTtcclxuICB9XHJcblxyXG4gIGFwcHJvdmFsTmFtZVNlbGVjdGlvbih0eXBlOiBhbnksIGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsTmFtZSA9IGV2ZW50ID8gdHlwZSA6ICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -81,7 +81,7 @@ function View_ApprovalCreateFormComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i
81
81
  var pd_0 = (_co.enableCategory(true) !== false);
82
82
  ad = (pd_0 && ad);
83
83
  } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 3, "div", [["class", "selectBoxPlacehoder vx-fs-13 vx-paragraph-txt vx-lh-4"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, [" Select the policy category that this approval"])), (_l()(), i1.ɵeld(3, 0, null, null, 0, "br", [], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["workflow applies to "]))], null, function (_ck, _v) { var currVal_0 = false; _ck(_v, 0, 0, currVal_0); }); }
84
- function View_ApprovalCreateFormComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "i", [["class", "icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
84
+ function View_ApprovalCreateFormComponent_7(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, null, null, null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "i", [["class", "icons cross vx-fs-12 vx-paragraph-txt vx-mr-1"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
85
85
  var pd_0 = (_co.removeCategory(_v.context.$implicit) !== false);
86
86
  ad = (pd_0 && ad);
87
87
  } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, "span", [["class", "chipName vx-fs-11 vx-label-txt"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
@@ -155,7 +155,7 @@ function View_ApprovalCreateFormComponent_15(_l) { return i1.ɵvid(0, [(_l()(),
155
155
  var pd_2 = (i1.ɵnov(_v, 1).onMouseOver() !== false);
156
156
  ad = (pd_2 && ad);
157
157
  } if (("click" === en)) {
158
- var pd_3 = (i1.ɵnov(_v.parent, 22).popover() !== false);
158
+ var pd_3 = (i1.ɵnov(_v.parent, 24).popover() !== false);
159
159
  ad = (pd_3 && ad);
160
160
  } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i6.PopoverDirective, [i1.ElementRef, i7.PopoverService], { placement: [0, "placement"] }, null), (_l()(), i1.ɵted(2, null, [" + ", " "]))], function (_ck, _v) { var currVal_0 = "right"; _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var currVal_1 = (((_v.parent.context.$implicit == null) ? null : ((_v.parent.context.$implicit.approvers == null) ? null : _v.parent.context.$implicit.approvers.length)) - 1); _ck(_v, 2, 0, currVal_1); }); }
161
161
  function View_ApprovalCreateFormComponent_17(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "span", [["class", "workflowLavel vx-fs-11 vx-fw-500 vx-pl-1 vx-pr-1 vx-lh-4 vx-mr-1 vx-text-center"]], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, ["", ""]))], null, function (_ck, _v) { var currVal_0 = (((_v.parent.context.index + 1) === (((_v.parent.parent.context.$implicit == null) ? null : ((_v.parent.parent.context.$implicit.approvers == null) ? null : _v.parent.parent.context.$implicit.approvers.length)) - 1)) ? "Final" : (_v.parent.context.index + 2)); _ck(_v, 1, 0, currVal_0); }); }
@@ -178,7 +178,7 @@ function View_ApprovalCreateFormComponent_16(_l) { return i1.ɵvid(0, [(_l()(),
178
178
  var pd_0 = (_co.deselectUser(_v.context.$implicit, _v.parent.context.index) !== false);
179
179
  ad = (pd_0 && ad);
180
180
  } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE90D"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_17)), i1.ɵdid(7, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵted(8, null, [" ", " "]))], function (_ck, _v) { var currVal_0 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.member_name); var currVal_1 = "bottom-left"; var currVal_2 = "black"; var currVal_3 = false; _ck(_v, 3, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_4 = (((_v.parent.context.$implicit == null) ? null : ((_v.parent.context.$implicit.type == null) ? null : _v.parent.context.$implicit.type.toLowerCase())) === "sequential"); _ck(_v, 7, 0, currVal_4); }, function (_ck, _v) { var currVal_5 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.member_name); _ck(_v, 8, 0, currVal_5); }); }
181
- function View_ApprovalCreateFormComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 36, "div", [["class", "selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 26, "div", [["class", "vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 6, "div", [["class", "level-left vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 5, "div", [["class", "vx-d-block"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, "div", [["class", "level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
181
+ function View_ApprovalCreateFormComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 38, "div", [["class", "selectBoxSuccess vx-pl-2 vx-pr-3 vx-d-flex vx-align-center vx-justify-between vx-mb-2"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 28, "div", [["class", "vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 8, "div", [["class", "level-left vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 7, "div", [["class", "vx-d-block"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, "div", [["class", "level-name vx-fs-9 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-lh-3"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
182
182
  var pd_0 = (i1.ɵnov(_v, 5).onMouseEnter() !== false);
183
183
  ad = (pd_0 && ad);
184
184
  } if (("mouseover" === en)) {
@@ -193,34 +193,34 @@ function View_ApprovalCreateFormComponent_12(_l) { return i1.ɵvid(0, [(_l()(),
193
193
  } if (("click" === en)) {
194
194
  var pd_4 = (i1.ɵnov(_v, 5).onClick() !== false);
195
195
  ad = (pd_4 && ad);
196
- } return ad; }, null, null)), i1.ɵdid(5, 81920, null, 0, i5.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(6, null, [" ", " "])), (_l()(), i1.ɵeld(7, 0, null, null, 1, "div", [["class", "vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3"]], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [" ", " "])), (_l()(), i1.ɵeld(9, 0, null, null, 11, "div", [["class", "chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 1, "i", [["class", "icons cross vx-fs-12 vx-paragraph-txt vx-mr-1 vx-ml-1"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
196
+ } return ad; }, null, null)), i1.ɵdid(5, 81920, null, 0, i5.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(6, null, [" ", " "])), (_l()(), i1.ɵeld(7, 0, null, null, 3, "div", [["class", "vx-fs-9 vx-fw-500 vx-label-txt vx-tt-uppercase vx-lh-3"]], null, null, null, null, null)), (_l()(), i1.ɵted(8, null, [" ", " "])), i1.ɵppd(9, 1), i1.ɵppd(10, 1), (_l()(), i1.ɵeld(11, 0, null, null, 11, "div", [["class", "chipContainer vx-d-flex vx-align-center vx-pl-1 vx-pr-2 vx-ml-2"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, "i", [["class", "icons cross vx-fs-12 vx-paragraph-txt vx-mr-1"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
197
197
  var pd_0 = (_co.deselectUser(((_v.context.$implicit == null) ? null : _v.context.$implicit.approvers[0]), _v.context.index) !== false);
198
198
  ad = (pd_0 && ad);
199
- } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_13)), i1.ɵdid(13, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_14)), i1.ɵdid(15, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(16, 0, null, null, 2, "span", [["class", "chipName vx-fs-11 vx-label-txt"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
200
- var pd_0 = (i1.ɵnov(_v, 17).onMouseEnter() !== false);
199
+ } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_13)), i1.ɵdid(15, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_14)), i1.ɵdid(17, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(18, 0, null, null, 2, "span", [["class", "chipName vx-fs-11 vx-label-txt"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
200
+ var pd_0 = (i1.ɵnov(_v, 19).onMouseEnter() !== false);
201
201
  ad = (pd_0 && ad);
202
202
  } if (("mouseover" === en)) {
203
- var pd_1 = (i1.ɵnov(_v, 17).onMouseOver() !== false);
203
+ var pd_1 = (i1.ɵnov(_v, 19).onMouseOver() !== false);
204
204
  ad = (pd_1 && ad);
205
205
  } if (("mouseleave" === en)) {
206
- var pd_2 = (i1.ɵnov(_v, 17).onMouseLeave() !== false);
206
+ var pd_2 = (i1.ɵnov(_v, 19).onMouseLeave() !== false);
207
207
  ad = (pd_2 && ad);
208
208
  } if (("mouseout" === en)) {
209
- var pd_3 = (i1.ɵnov(_v, 17).onMouseOut() !== false);
209
+ var pd_3 = (i1.ɵnov(_v, 19).onMouseOut() !== false);
210
210
  ad = (pd_3 && ad);
211
211
  } if (("click" === en)) {
212
- var pd_4 = (i1.ɵnov(_v, 17).onClick() !== false);
212
+ var pd_4 = (i1.ɵnov(_v, 19).onClick() !== false);
213
213
  ad = (pd_4 && ad);
214
- } return ad; }, null, null)), i1.ɵdid(17, 81920, null, 0, i5.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(18, null, ["", ""])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_15)), i1.ɵdid(20, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(21, 0, null, null, 6, "app-popover", [], null, [["window", "resize"]], function (_v, en, $event) { var ad = true; if (("window:resize" === en)) {
215
- var pd_0 = (i1.ɵnov(_v, 22).sizeChange($event) !== false);
214
+ } return ad; }, null, null)), i1.ɵdid(19, 81920, null, 0, i5.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(20, null, ["", ""])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_15)), i1.ɵdid(22, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(23, 0, null, null, 6, "app-popover", [], null, [["window", "resize"]], function (_v, en, $event) { var ad = true; if (("window:resize" === en)) {
215
+ var pd_0 = (i1.ɵnov(_v, 24).sizeChange($event) !== false);
216
216
  ad = (pd_0 && ad);
217
- } return ad; }, i9.View_PopoverComponent_0, i9.RenderType_PopoverComponent)), i1.ɵdid(22, 114688, [["workflowPopover", 4]], 0, i10.PopoverComponent, [i7.PopoverService], { dontCloseonClick: [0, "dontCloseonClick"] }, null), (_l()(), i1.ɵeld(23, 0, null, 0, 4, "div", [["class", "wf-action-list"]], null, null, null, null, null)), (_l()(), i1.ɵeld(24, 0, null, null, 3, "ul", [["class", "action-item"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ApprovalCreateFormComponent_16)), i1.ɵdid(26, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), i1.ɵpid(0, i8.SlicePipe, []), (_l()(), i1.ɵeld(28, 0, null, null, 8, "div", [["class", "vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(29, 0, null, null, 3, "button", [["class", "editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
217
+ } return ad; }, i9.View_PopoverComponent_0, i9.RenderType_PopoverComponent)), i1.ɵdid(24, 114688, [["workflowPopover", 4]], 0, i10.PopoverComponent, [i7.PopoverService], { dontCloseonClick: [0, "dontCloseonClick"] }, null), (_l()(), i1.ɵeld(25, 0, null, 0, 4, "div", [["class", "wf-action-list"]], null, null, null, null, null)), (_l()(), i1.ɵeld(26, 0, null, null, 3, "ul", [["class", "action-item"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_ApprovalCreateFormComponent_16)), i1.ɵdid(28, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), i1.ɵpid(0, i8.SlicePipe, []), (_l()(), i1.ɵeld(30, 0, null, null, 8, "div", [["class", "vx-d-flex vx-align-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(31, 0, null, null, 3, "button", [["class", "editBtn vx-fs-11 vx-fw-600 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-d-flex vx-align-center"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
218
218
  var pd_0 = (_co.editApproval(_v.context.$implicit, _v.context.index) !== false);
219
219
  ad = (pd_0 && ad);
220
- } return ad; }, null, null)), (_l()(), i1.ɵeld(30, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE90C"])), (_l()(), i1.ɵted(-1, null, [" EDIT "])), (_l()(), i1.ɵeld(33, 0, null, null, 3, "button", [["class", "deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
220
+ } return ad; }, null, null)), (_l()(), i1.ɵeld(32, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE90C"])), (_l()(), i1.ɵted(-1, null, [" EDIT "])), (_l()(), i1.ɵeld(35, 0, null, null, 3, "button", [["class", "deleteBtn vx-fs-11 vx-fw-600 vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-4 vx-d-flex vx-align-center"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
221
221
  var pd_0 = (_co.deleteLevel(_v.context.index) !== false);
222
222
  ad = (pd_0 && ad);
223
- } return ad; }, null, null)), (_l()(), i1.ɵeld(34, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"])), (_l()(), i1.ɵted(-1, null, [" DELETE "]))], function (_ck, _v) { var currVal_0 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.alias_name); var currVal_1 = "bottom-left"; var currVal_2 = "black"; var currVal_3 = false; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_6 = ((((_v.context.$implicit == null) ? null : ((_v.context.$implicit.type == null) ? null : _v.context.$implicit.type.toLowerCase())) === "sequential") && (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) < 2)); _ck(_v, 13, 0, currVal_6); var currVal_7 = ((((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) > 1) && (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.type == null) ? null : _v.context.$implicit.type.toLowerCase())) === "sequential")); _ck(_v, 15, 0, currVal_7); var currVal_8 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers[0] == null) ? null : _v.context.$implicit.approvers[0].member_name)); var currVal_9 = "bottom-left"; var currVal_10 = "black"; var currVal_11 = false; _ck(_v, 17, 0, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_13 = (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) > 1); _ck(_v, 20, 0, currVal_13); var currVal_14 = true; _ck(_v, 22, 0, currVal_14); var currVal_15 = i1.ɵunv(_v, 26, 0, i1.ɵnov(_v, 27).transform(((_v.context.$implicit == null) ? null : _v.context.$implicit.approvers), 1)); _ck(_v, 26, 0, currVal_15); }, function (_ck, _v) { var currVal_4 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.alias_name); _ck(_v, 6, 0, currVal_4); var currVal_5 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.type); _ck(_v, 8, 0, currVal_5); var currVal_12 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers[0] == null) ? null : _v.context.$implicit.approvers[0].member_name)); _ck(_v, 18, 0, currVal_12); }); }
223
+ } return ad; }, null, null)), (_l()(), i1.ɵeld(36, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"])), (_l()(), i1.ɵted(-1, null, [" DELETE "]))], function (_ck, _v) { var currVal_0 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.alias_name); var currVal_1 = "bottom-left"; var currVal_2 = "black"; var currVal_3 = false; _ck(_v, 5, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_6 = ((((_v.context.$implicit == null) ? null : ((_v.context.$implicit.type == null) ? null : _v.context.$implicit.type.toLowerCase())) === "sequential") && (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) < 2)); _ck(_v, 15, 0, currVal_6); var currVal_7 = ((((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) > 1) && (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.type == null) ? null : _v.context.$implicit.type.toLowerCase())) === "sequential")); _ck(_v, 17, 0, currVal_7); var currVal_8 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers[0] == null) ? null : _v.context.$implicit.approvers[0].member_name)); var currVal_9 = "bottom-left"; var currVal_10 = "black"; var currVal_11 = false; _ck(_v, 19, 0, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_13 = (((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers == null) ? null : _v.context.$implicit.approvers.length)) > 1); _ck(_v, 22, 0, currVal_13); var currVal_14 = true; _ck(_v, 24, 0, currVal_14); var currVal_15 = i1.ɵunv(_v, 28, 0, i1.ɵnov(_v, 29).transform(((_v.context.$implicit == null) ? null : _v.context.$implicit.approvers), 1)); _ck(_v, 28, 0, currVal_15); }, function (_ck, _v) { var currVal_4 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.alias_name); _ck(_v, 6, 0, currVal_4); var currVal_5 = ((i1.ɵunv(_v, 8, 0, _ck(_v, 9, 0, i1.ɵnov(_v.parent.parent.parent, 0), ((_v.context.$implicit == null) ? null : _v.context.$implicit.type))) === "roundrobin") ? "ROUND-ROBIN" : ((i1.ɵunv(_v, 8, 0, _ck(_v, 10, 0, i1.ɵnov(_v.parent.parent.parent, 0), ((_v.context.$implicit == null) ? null : _v.context.$implicit.type))) === "anyone") ? "ANY ONE" : ((_v.context.$implicit == null) ? null : _v.context.$implicit.type))); _ck(_v, 8, 0, currVal_5); var currVal_12 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.approvers[0] == null) ? null : _v.context.$implicit.approvers[0].member_name)); _ck(_v, 20, 0, currVal_12); }); }
224
224
  function View_ApprovalCreateFormComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_12)), i1.ɵdid(2, 278528, null, 0, i8.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.approvalWorkflows; _ck(_v, 2, 0, currVal_0); }, null); }
225
225
  function View_ApprovalCreateFormComponent_18(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "button", [["class", "addMoreBtn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-mt-1"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
226
226
  var pd_0 = (_co.addLevelsClicked(true) !== false);
@@ -251,11 +251,11 @@ function View_ApprovalCreateFormComponent_21(_l) { return i1.ɵvid(0, [(_l()(),
251
251
  var pd_1 = (_co.closeCategoryList() !== false);
252
252
  ad = (pd_1 && ad);
253
253
  } return ad; }, i17.View_CheckboxListComponent_0, i17.RenderType_CheckboxListComponent)), i1.ɵdid(1, 114688, null, 0, i18.CheckboxListComponent, [], { itemsList: [0, "itemsList"], selectedItems: [1, "selectedItems"], identifierKey: [2, "identifierKey"], displayKey: [3, "displayKey"], tooltipKey: [4, "tooltipKey"], config: [5, "config"], twoColumn: [6, "twoColumn"] }, { closeList: "closeList", saveList: "saveList" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.selectedCategory; var currVal_1 = _co.filteredCategory; var currVal_2 = "_id"; var currVal_3 = "item_name"; var currVal_4 = "item_name"; var currVal_5 = _co.categoryConfig; var currVal_6 = false; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3, currVal_4, currVal_5, currVal_6); }, null); }
254
- export function View_ApprovalCreateFormComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 13, "div", [["class", "approval-workflow-dialog"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, "div", [["class", "approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 4, "div", [["class", "vx-fs-14 vx-fw-500 vx-label-txt"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 2, "button", [["class", "back-btn vx-p-0 vx-m-0"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
254
+ export function View_ApprovalCreateFormComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0, i8.LowerCasePipe, []), (_l()(), i1.ɵeld(1, 0, null, null, 13, "div", [["class", "approval-workflow-dialog"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 5, "div", [["class", "approval-workflow-dialog-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 4, "div", [["class", "vx-fs-14 vx-fw-500 vx-label-txt"]], null, null, null, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 2, "button", [["class", "back-btn vx-p-0 vx-m-0"]], null, [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
255
255
  var pd_0 = (_co.closeCreateForm() !== false);
256
256
  ad = (pd_0 && ad);
257
- } return ad; }, null, null)), (_l()(), i1.ɵeld(4, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE91D"])), (_l()(), i1.ɵted(-1, null, ["Select Approval Workflow "])), (_l()(), i1.ɵeld(7, 0, null, null, 6, "div", [["class", "approval-workflow-dialog-body"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_1)), i1.ɵdid(9, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_2)), i1.ɵdid(11, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_19)), i1.ɵdid(13, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_20)), i1.ɵdid(15, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_21)), i1.ɵdid(17, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.approverWorkFlowList.length && !_co.enableApprovalCreate); _ck(_v, 9, 0, currVal_0); var currVal_1 = (_co.enableApprovalCreate || _co.enableCreateForm); _ck(_v, 11, 0, currVal_1); var currVal_2 = (_co.enableApprovalCreate || _co.enableCreateForm); _ck(_v, 13, 0, currVal_2); var currVal_3 = _co.enableApprovalLevel; _ck(_v, 15, 0, currVal_3); var currVal_4 = _co.enablePolicyCategory; _ck(_v, 17, 0, currVal_4); }, null); }
257
+ } return ad; }, null, null)), (_l()(), i1.ɵeld(5, 0, null, null, 1, "i", [["class", "icons vx-mr-1"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE91D"])), (_l()(), i1.ɵted(-1, null, ["Select Approval Workflow "])), (_l()(), i1.ɵeld(8, 0, null, null, 6, "div", [["class", "approval-workflow-dialog-body"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_1)), i1.ɵdid(10, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_2)), i1.ɵdid(12, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_19)), i1.ɵdid(14, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_20)), i1.ɵdid(16, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_ApprovalCreateFormComponent_21)), i1.ɵdid(18, 16384, null, 0, i8.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.approverWorkFlowList.length && !_co.enableApprovalCreate); _ck(_v, 10, 0, currVal_0); var currVal_1 = (_co.enableApprovalCreate || _co.enableCreateForm); _ck(_v, 12, 0, currVal_1); var currVal_2 = (_co.enableApprovalCreate || _co.enableCreateForm); _ck(_v, 14, 0, currVal_2); var currVal_3 = _co.enableApprovalLevel; _ck(_v, 16, 0, currVal_3); var currVal_4 = _co.enablePolicyCategory; _ck(_v, 18, 0, currVal_4); }, null); }
258
258
  export function View_ApprovalCreateFormComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-approval-create-form", [], null, null, null, View_ApprovalCreateFormComponent_0, RenderType_ApprovalCreateFormComponent)), i1.ɵdid(1, 114688, null, 0, i19.ApprovalCreateFormComponent, [i20.AuthService, i21.PolicyService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
259
259
  var ApprovalCreateFormComponentNgFactory = i1.ɵccf("app-approval-create-form", i19.ApprovalCreateFormComponent, View_ApprovalCreateFormComponent_Host_0, { mode: "mode", approverDetails: "approverDetails", approverWorkFlowList: "approverWorkFlowList", enableCreateForm: "enableCreateForm", allApprovers: "allApprovers", selectedCategory: "selectedCategory", editWorkflowLevel: "editWorkflowLevel" }, { saveApprovalWorkflow: "saveApprovalWorkflow", closeCreateClicked: "closeCreateClicked" }, []);
260
260
  export { ApprovalCreateFormComponentNgFactory as ApprovalCreateFormComponentNgFactory };
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXBwcm92YWwtd29ya2Zsb3cvYXBwcm92YWwtY3JlYXRlLWZvcm0vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXBwcm92YWwtd29ya2Zsb3cvYXBwcm92YWwtY3JlYXRlLWZvcm0vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzRUNXSSwrSUFXZSxZQURiOzt3QkFBNkM7TUFWL0MsMFJBV2UsMkJBVGIsMEdBRUMsRUFDRCxzSUFFQyxFQUNELDZDQUE4QyxFQUM5QywwQkFBcUIsRUFUdkIsWUFXZSxFQVRiLFNBRUMsRUFDRCxTQUVDLEVBQ0QsU0FBOEMsRUFDOUMsU0FBcUI7c0VBc0JmOzs7Ozs7Ozs7Ozt3QkFRRTtNQVBBOzt3QkFBaUM7TUFDakM7O3dCQUE4QztNQUM5Qzs7d0JBQWdEO01BR2hEOzt3QkFBMEI7TUFONUIseWlCQVFFLGlEQUZBLG1CQUEwQixlQU41QixZQVFFLEVBRkEsU0FBMEIsMkJBTjVCLDBaQVFFO3NFQUNGLHNLQVlNLEtBVE47Ozs7Ozs7Ozs7Ozs7Ozt1UEFHUSxJQUY0QyxrQ0FFbEQsTUFDQSw4T0FJUyxZQUpEOzt3QkFBNkM7TUFBckQsd0JBSVMsS0FEUCxvR0FBcUMsS0FBWixtQ0FBUSxNQUFJLG1DQUN2QyxtREFSbUQsbUJBQTJCLGVBQUMsNkJBQXVCLEVBQzVGLHVCQUFZLEVBQUMs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Q2pCLG1CQUFxQyxtQkFOdkMsWUFPd0IsRUFMdEIsU0FBNkIsRUFHN0IsU0FBaUIsRUFDakIsU0FBcUM7dUVBR3ZDLHNLQVlvQixZQUpsQjs7d0JBQXFDO01BQ3JDOzt3QkFBaUM7TUFUbkMsOFpBWW9CLG1EQVJsQixtQkFBOEIsbUJBTTlCLG1CQUFrQyxtQkFMbEMscUJBQXVCLEVBQ3ZCLDJCQUEwQixFQUMxQiwyQkFBMEIsRUFMMUIsbUJBQXlCLGlCQUN6QixxQkFBbUIsRUFIckIsWUFZb0IsRUFSbEIsU0FBOEIsRUFNOUIsU0FBa0MsRUFMbEMsU0FBdUIsRUFDdkIsU0FBMEIsRUFDMUIsU0FBMEIsRUFMMUIsU0FBeUIsRUFDekIsU0FBbUI7NkVBN1dyQixrSEE2Vk0sS0E1VkosbUxBUU0sS0FMSix3SEFJTSxLQUhKLHNLQUVDLFlBRk87O3dCQUEyQjtNQUFuQyx3QkFFQyxLQURDLG9HQUFxQyxLQUFaLG1DQUFRLE1BQ2xDLHNEQUNILE1BRUYsc0hBa1ZNLEtBalZKLDJMQVdlLElBRWYsNExBd1RNLElBRU4sNkxBU29CLElBTXhCLDZMQU93QixJQUV4Qiw2TEFZb0IsaURBMVdkLHlEQUE2RCx3QkFEL0QsWUFXZSxFQVZiLFNBQTZELEdBYTdELGdEQUFnRCxvQkFEbEQsYUF3VE0sRUF2VEosU0FBZ0QsR0EwVGhELGdEQUFnRCxvQkFEbEQsYUFTb0IsRUFSbEIsU0FBZ0QsR0FlcEQsbUJBQTJCLHNCQUQ3QixhQU93QixFQU50QixTQUEyQixHQVMzQixtQkFBNEIsdUJBRDlCLGFBWW9CLEVBWGxCLFNBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiPGRpdiBjbGFzcz1cImFwcHJvdmFsLXdvcmtmbG93LWRpYWxvZ1wiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXBwcm92YWwtd29ya2Zsb3ctZGlhbG9nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZUNyZWF0ZUZvcm0oKVwiIGNsYXNzPVwiYmFjay1idG4gdngtcC0wIHZ4LW0tMFwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtbXItMVwiPiYjeGU5MWQ7PC9pPjwvYnV0dG9uXHJcbiAgICAgID5TZWxlY3QgQXBwcm92YWwgV29ya2Zsb3dcclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1kaWFsb2ctYm9keVwiPlxyXG4gICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICpuZ0lmPVwiIWFwcHJvdmVyV29ya0Zsb3dMaXN0Lmxlbmd0aCAmJiAhZW5hYmxlQXBwcm92YWxDcmVhdGVcIlxyXG4gICAgICBbbm9EYXRhSW1hZ2VdPVwiXHJcbiAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hcHByb3ZhbC13b3JrZmxvdy5zdmcnXHJcbiAgICAgIFwiXHJcbiAgICAgIFtub0RhdGFUZXh0XT1cIlxyXG4gICAgICAgICdZb3UgZGlkIG5vdCBzZXQgYW55IGFwcHJvdmFsIHdvcmtmbG93Ljxicj5DbGljayBvbiB0aGUgPHN0cm9uZz5DcmVhdGUgQW4gQXBwcm92YWwgV29ya2Zsb3c8L3N0cm9uZz4gYnV0dG9uIHRvIGJlZ2luLidcclxuICAgICAgXCJcclxuICAgICAgW25vRGF0YUJ1dHRvbl09XCInQ1JFQVRFIEFOIEFQUFJPVkFMIFdPUktGTE9XJ1wiXHJcbiAgICAgIFtidXR0b25dPVwiJ2FwcHJvdmFsJ1wiXHJcbiAgICAgIChidXR0b25BY3Rpb24pPVwiY3JlYXRlQXBwcm92YWxBY3Rpb24oJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtbm8tZGF0YT5cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiZW5hYmxlQXBwcm92YWxDcmVhdGUgfHwgZW5hYmxlQ3JlYXRlRm9ybVwiXHJcbiAgICAgIGNsYXNzPVwiYXBwcm92YWwtd29ya2Zsb3ctZGlhbG9nLWJvZHktaW5uZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1mb3JtXCI+XHJcbiAgICAgICAgPCEtLSBXb3JrZmxvdyBOYW1lIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1mb3JtLXJvdyB2eC1tYi01XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmdcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbC1oZWFkaW5nIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgV09SS0ZMT1cgTkFNRSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE0IHZ4LWZ3LTUwMFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCIhd29ya2Zsb3dOYW1lPy5sZW5ndGggfHwgYXBwcm92YWxOYW1lID09PSAnbmFtZSdcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cImFwcHJvdmFsTmFtZSA9ICduYW1lJ1wiXHJcbiAgICAgICAgICAgICAgKGZvY3VzaW4pPVwiYXBwcm92YWxOYW1lU2VsZWN0aW9uKCduYW1lJyx0cnVlKVwiXHJcbiAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cImFwcHJvdmFsTmFtZVNlbGVjdGlvbignbmFtZScsZmFsc2UpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInRleHRGaWVsZFwiXHJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwid29ya2Zsb3dOYW1lXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWUgb2YgdGhlIGFwcHJvdmFsIHdvcmtmbG93XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndvcmtmbG93TmFtZT8ubGVuZ3RoICYmIGFwcHJvdmFsTmFtZSAhPT0gJ25hbWUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdEJveFN1Y2Nlc3MgdngtcGwtMiB2eC1wci0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0Qm94VGV4dCB2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCIgW2FwcFRvb2x0aXBdPVwid29ya2Zsb3dOYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAge3t3b3JrZmxvd05hbWV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFwcHJvdmFsTmFtZVNlbGVjdGlvbignbmFtZScsIHRydWUpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZWRpdEJ0biB2eC1mcy0xMSB2eC1mdy02MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkwYzs8L2k+IEVESVRcclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1tdC0yXCI+XHJcbiAgICAgICAgICAgICAgPG1hcngtZWRpdG9yXHJcbiAgICAgICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3JlYXRlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgID48L21hcngtZWRpdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIFBvbGljeSBDYXRlZ29yeSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtd29ya2Zsb3ctZm9ybS1yb3cgdngtbWItNVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tbGVmdFwiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z1wiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsLWhlYWRpbmcgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC10dC11cHBlcmNhc2UgdngtbWItMlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBTRUxFQ1QgUE9MSUNZIENBVEVHT1JZXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNCB2eC1mdy01MDBcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZmlsdGVyZWRDYXRlZ29yeT8ubGVuZ3RoID09PSAwXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlQ2F0ZWdvcnkodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Qm94RW5hYmxlIHZ4LXBsLTMgdngtcHItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hQbGFjZWhvZGVyIHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IHRoZSBwb2xpY3kgY2F0ZWdvcnkgdGhhdCB0aGlzIGFwcHJvdmFsPGJyIC8+d29ya2Zsb3dcclxuICAgICAgICAgICAgICAgIGFwcGxpZXMgdG9cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZENhdGVnb3J5Py5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdEJveFN1Y2Nlc3MgdngtcGwtMiB2eC1wci0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcENvbnRhaW5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTEgdngtcHItMlwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2F0ZWdvcnkgb2YgZmlsdGVyZWRDYXRlZ29yeSB8IHNsaWNlIDogMCA6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNhdEluZGV4ID0gaW5kZXhcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoY2F0ZWdvcnkpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHQgdngtbXItMSB2eC1tbC0xXCJcclxuICAgICAgICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeT8uaXRlbV9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgY2F0ZWdvcnk/Lml0ZW1fbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZENhdGVnb3J5Py5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00XCJcclxuICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicG9saWN5T3duZXJQb3BvdmVyLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgK3t7IGZpbHRlcmVkQ2F0ZWdvcnk/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcG9saWN5T3duZXJQb3BvdmVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgZmlsdGVyZWRDYXRlZ29yeSB8IHNsaWNlIDogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiY2F0ZWdvcnk/Lml0ZW1fbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoY2F0ZWdvcnkpXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+JiN4ZTkwZDs8L2lcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnk/Lml0ZW1fbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZENhdGVnb3J5XHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlQ2F0ZWdvcnkodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0QnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTBjOzwvaT4gRURJVFxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIEFwcHJvdmFsIFdvcmtmbG93IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1mb3JtLXJvdyB2eC1tYi01XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXBwcm92YWwuc3ZnXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibGFiZWwtaGVhZGluZyB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIEFQUFJPVkVSUyAmIEFQUFJPVkFMIFdPUktGTE9XXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNCB2eC1mdy01MDBcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZExldmVsc0NsaWNrZWQodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Qm94RW5hYmxlIHZ4LXBsLTMgdngtcHItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hQbGFjZWhvZGVyIHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IGFwcHJvdmVycyBhbmQgc2VsZWN0IHRoZSBvcmRlciBvZiBhcHByb3ZhbFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsV29ya2Zsb3dzPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgIGxldCBhcHByb3ZhbFdvcmtmbG93IG9mIGFwcHJvdmFsV29ya2Zsb3dzO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hTdWNjZXNzIHZ4LXBsLTIgdngtcHItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0yXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtbGVmdCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsZXZlbC1uYW1lIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJhcHByb3ZhbFdvcmtmbG93Py5hbGlhc19uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFwcHJvdmFsV29ya2Zsb3c/LmFsaWFzX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LWZzLTkgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbGgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFwcHJvdmFsV29ya2Zsb3c/LnR5cGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcENvbnRhaW5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTEgdngtcHItMiB2eC1tbC0yXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIChjbGljayk9XCJkZXNlbGVjdFVzZXIoYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzWzBdLGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xIHZ4LW1sLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPiYjeGU5YWU7PC9pXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHByb3ZhbFdvcmtmbG93Py50eXBlPy50b0xvd2VyQ2FzZSgpID09PSAnc2VxdWVudGlhbCcgJiZcclxuICAgICAgICAgICAgICAgICAgICBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnM/Lmxlbmd0aCA8IDJcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3dMYXZlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbXItMSB2eC10ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAxID09IGFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVycz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJGaW5hbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogMVxyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzPy5sZW5ndGggPiAxICYmIGFwcHJvdmFsV29ya2Zsb3c/LnR5cGU/LnRvTG93ZXJDYXNlKCkgPT09ICdzZXF1ZW50aWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndvcmtmbG93TGF2ZWwgdngtZnMtMTEgdngtZnctNTAwIHZ4LXBsLTEgdngtcHItMSB2eC1saC00IHZ4LW1yLTEgdngtdGV4dC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlwTmFtZSB2eC1mcy0xMSB2eC1sYWJlbC10eHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzWzBdPy5tZW1iZXJfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgID57eyBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnNbMF0/Lm1lbWJlcl9uYW1lIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzPy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRCdG4gdngtZnMtOSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbGgtNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwid29ya2Zsb3dQb3BvdmVyLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKyB7eyBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnM/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjd29ya2Zsb3dQb3BvdmVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFwcHJvdmVyIG9mIGFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNsaWNlIDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBqID0gaW5kZXhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiYXBwcm92ZXI/Lm1lbWJlcl9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIChjbGljayk9XCJkZXNlbGVjdFVzZXIoYXBwcm92ZXIsaSlcIiAgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFwcHJvdmFsV29ya2Zsb3c/LnR5cGU/LnRvTG93ZXJDYXNlKCkgPT09ICdzZXF1ZW50aWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3b3JrZmxvd0xhdmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNCB2eC1tci0xIHZ4LXRleHQtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGorMSA9PT1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVycz8ubGVuZ3RoIC0gMVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiRmluYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGogKyAyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBhcHByb3Zlcj8ubWVtYmVyX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRBcHByb3ZhbChhcHByb3ZhbFdvcmtmbG93LCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0QnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtbXItMVwiPiYjeGU5MGM7PC9pPiBFRElUXHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUxldmVsKGkpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlbGV0ZUJ0biB2eC1mcy0xMSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbWwtNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtbXItMVwiPiYjeGU5YWU7PC9pPiBERUxFVEVcclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhcHByb3ZhbFdvcmtmbG93cz8ubGVuZ3RoID4gMFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZExldmVsc0NsaWNrZWQodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWRkTW9yZUJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbXQtMVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICArIEFERCBNT1JFIExFVkVMU1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDx2dWktZmxvYXRpbmctYmFyXHJcbiAgICAgICpuZ0lmPVwiZW5hYmxlQXBwcm92YWxDcmVhdGUgfHwgZW5hYmxlQ3JlYXRlRm9ybVwiXHJcbiAgICAgIFtuZXh0RGlzYWJsZWRdPVwiXHJcbiAgICAgICAgd29ya2Zsb3dOYW1lPy50cmltKCkgPT09ICcnIHx8XHJcbiAgICAgICAgYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCA9PT0gMCB8fFxyXG4gICAgICAgIGZpbHRlcmVkQ2F0ZWdvcnk/Lmxlbmd0aCA9PT0gMFxyXG4gICAgICBcIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlQ3JlYXRlRm9ybSgpXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwibmV4dENsaWNrKClcIlxyXG4gICAgPjwvdnVpLWZsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIFtzZWxlY3RlZEl0ZW1zXT1cInBvbGljeUZvcm0uc2VsZWN0ZWRDYXRlZ29yaWVzXCIgLS0+XHJcblxyXG48YXBwLXNlbGVjdC1hcHByb3ZlcnNcclxuICAqbmdJZj1cImVuYWJsZUFwcHJvdmFsTGV2ZWxcIlxyXG4gIFthbGxBcHByb3ZlcnNdPVwiYWxsQXBwcm92ZXJzXCJcclxuICAoY2xvc2VTZWxlY3RBcHByb3Zlcik9XCJjbG9zZVNlbGVjdEFwcHJvdmVyKClcIlxyXG4gIChzZWxlY3RlZEFwcHJvdmVyKT1cInNlbGVjdGVkQXBwcm92ZXIoJGV2ZW50KVwiXHJcbiAgW2xldmVsc109XCJsZXZlbHNcIlxyXG4gIFtlZGl0QXBwcm92YWxEYXRhXT1cImVkaXRBcHByb3ZhbERhdGFcIlxyXG4+PC9hcHAtc2VsZWN0LWFwcHJvdmVycz5cclxuXHJcbjxhcHAtY2hlY2tib3gtbGlzdFxyXG4gICpuZ0lmPVwiZW5hYmxlUG9saWN5Q2F0ZWdvcnlcIlxyXG4gIFtjb25maWddPVwiY2F0ZWdvcnlDb25maWdcIlxyXG4gIFt0d29Db2x1bW5dPVwiZmFsc2VcIlxyXG4gIFtpdGVtc0xpc3RdPVwic2VsZWN0ZWRDYXRlZ29yeVwiXHJcbiAgW2lkZW50aWZpZXJLZXldPVwiJ19pZCdcIlxyXG4gIFtkaXNwbGF5S2V5XT1cIidpdGVtX25hbWUnXCJcclxuICBbdG9vbHRpcEtleV09XCInaXRlbV9uYW1lJ1wiXHJcbiAgKHNhdmVMaXN0KT1cInNhdmVDYXRlZ29yeUxpc3QoJGV2ZW50KVwiXHJcbiAgKGNsb3NlTGlzdCk9XCJjbG9zZUNhdGVnb3J5TGlzdCgpXCJcclxuICBbc2VsZWN0ZWRJdGVtc109XCJmaWx0ZXJlZENhdGVnb3J5XCJcclxuPlxyXG48L2FwcC1jaGVja2JveC1saXN0PlxyXG4iXX0=
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXBwcm92YWwtd29ya2Zsb3cvYXBwcm92YWwtY3JlYXRlLWZvcm0vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXBwcm92YWwtd29ya2Zsb3cvYXBwcm92YWwtY3JlYXRlLWZvcm0vYXBwcm92YWwtY3JlYXRlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzRUNXSSwrSUFXZSxZQURiOzt3QkFBNkM7TUFWL0MsMFJBV2UsMkJBVGIsMEdBRUMsRUFDRCxzSUFFQyxFQUNELDZDQUE4QyxFQUM5QywwQkFBcUIsRUFUdkIsWUFXZSxFQVRiLFNBRUMsRUFDRCxTQUVDLEVBQ0QsU0FBOEMsRUFDOUMsU0FBcUI7c0VBc0JmOzs7Ozs7Ozs7Ozt3QkFRRTtNQVBBOzt3QkFBaUM7TUFDakM7O3dCQUE4QztNQUM5Qzs7d0JBQWdEO01BR2hEOzt3QkFBMEI7TUFONUIseWlCQVFFLGlEQUZBLG1CQUEwQixlQU41QixZQVFFLEVBRkEsU0FBMEIsMkJBTjVCLDBaQVFFO3NFQUNGLHNLQVlNLEtBVE47Ozs7Ozs7Ozs7Ozs7Ozt1UEFHUSxJQUY0QyxrQ0FFbEQsTUFDQSw4T0FJUyxZQUpEOzt3QkFBNkM7TUFBckQsd0JBSVMsS0FEUCxvR0FBcUMsS0FBWixtQ0FBUSxNQUFJLG1DQUN2QyxtREFSbUQsbUJBQTJCLGVBQUMsNkJBQXVCLEVBQzVGLHVCQUFZLEVBQUMs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aUIsU0FDakIsbUJBQXFDLG1CQU52QyxZQU93QixFQUx0QixTQUE2QixFQUc3QixTQUFpQixFQUNqQixTQUFxQzt1RUFHdkMsc0tBWW9CLFlBSmxCOzt3QkFBcUM7TUFDckM7O3dCQUFpQztNQVRuQyw4WkFZb0IsbURBUmxCLG1CQUE4QixtQkFNOUIsbUJBQWtDLG1CQUxsQyxxQkFBdUIsRUFDdkIsMkJBQTBCLEVBQzFCLDJCQUEwQixFQUwxQixtQkFBeUIsaUJBQ3pCLHFCQUFtQixFQUhyQixZQVlvQixFQVJsQixTQUE4QixFQU05QixTQUFrQyxFQUxsQyxTQUF1QixFQUN2QixTQUEwQixFQUMxQixTQUEwQixFQUwxQixTQUF5QixFQUN6QixTQUFtQjsrR0FsWHJCLGtIQWtXTSxLQWpXSixtTEFRTSxLQUxKLHdIQUlNLEtBSEosc0tBRUMsWUFGTzs7d0JBQTJCO01BQW5DLHdCQUVDLEtBREMsb0dBQXFDLEtBQVosbUNBQVEsTUFDbEMsc0RBQ0gsTUFFRixzSEF1Vk0sS0F0VkosNExBV2UsSUFFZiw0TEE2VE0sSUFFTiw2TEFTb0IsSUFNeEIsNkxBT3dCLElBRXhCLDZMQVlvQixpREEvV2QseURBQTZELHdCQUQvRCxhQVdlLEVBVmIsU0FBNkQsR0FhN0QsZ0RBQWdELG9CQURsRCxhQTZUTSxFQTVUSixTQUFnRCxHQStUaEQsZ0RBQWdELG9CQURsRCxhQVNvQixFQVJsQixTQUFnRCxHQWVwRCxtQkFBMkIsc0JBRDdCLGFBT3dCLEVBTnRCLFNBQTJCLEdBUzNCLG1CQUE0Qix1QkFEOUIsYUFZb0IsRUFYbEIsU0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IGNsYXNzPVwiYXBwcm92YWwtd29ya2Zsb3ctZGlhbG9nXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1kaWFsb2ctaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+XHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlQ3JlYXRlRm9ybSgpXCIgY2xhc3M9XCJiYWNrLWJ0biB2eC1wLTAgdngtbS0wXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkxZDs8L2k+PC9idXR0b25cclxuICAgICAgPlNlbGVjdCBBcHByb3ZhbCBXb3JrZmxvd1xyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXdvcmtmbG93LWRpYWxvZy1ib2R5XCI+XHJcbiAgICA8YXBwLW5vLWRhdGFcclxuICAgICAgKm5nSWY9XCIhYXBwcm92ZXJXb3JrRmxvd0xpc3QubGVuZ3RoICYmICFlbmFibGVBcHByb3ZhbENyZWF0ZVwiXHJcbiAgICAgIFtub0RhdGFJbWFnZV09XCJcclxuICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLXdvcmtmbG93LnN2ZydcclxuICAgICAgXCJcclxuICAgICAgW25vRGF0YVRleHRdPVwiXHJcbiAgICAgICAgJ1lvdSBkaWQgbm90IHNldCBhbnkgYXBwcm92YWwgd29ya2Zsb3cuPGJyPkNsaWNrIG9uIHRoZSA8c3Ryb25nPkNyZWF0ZSBBbiBBcHByb3ZhbCBXb3JrZmxvdzwvc3Ryb25nPiBidXR0b24gdG8gYmVnaW4uJ1xyXG4gICAgICBcIlxyXG4gICAgICBbbm9EYXRhQnV0dG9uXT1cIidDUkVBVEUgQU4gQVBQUk9WQUwgV09SS0ZMT1cnXCJcclxuICAgICAgW2J1dHRvbl09XCInYXBwcm92YWwnXCJcclxuICAgICAgKGJ1dHRvbkFjdGlvbik9XCJjcmVhdGVBcHByb3ZhbEFjdGlvbigkZXZlbnQpXCJcclxuICAgID48L2FwcC1uby1kYXRhPlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJlbmFibGVBcHByb3ZhbENyZWF0ZSB8fCBlbmFibGVDcmVhdGVGb3JtXCJcclxuICAgICAgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1kaWFsb2ctYm9keS1pbm5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXdvcmtmbG93LWZvcm1cIj5cclxuICAgICAgICA8IS0tIFdvcmtmbG93IE5hbWUgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXdvcmtmbG93LWZvcm0tcm93IHZ4LW1iLTVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWxlZnRcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGF0LnN2Z1wiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsLWhlYWRpbmcgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC10dC11cHBlcmNhc2UgdngtbWItMlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBXT1JLRkxPVyBOQU1FIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQgdngtZnMtMTQgdngtZnctNTAwXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiF3b3JrZmxvd05hbWU/Lmxlbmd0aCB8fCBhcHByb3ZhbE5hbWUgPT09ICduYW1lJ1wiXHJcbiAgICAgICAgICAgICAgKGtleWRvd24pPVwiYXBwcm92YWxOYW1lID0gJ25hbWUnXCJcclxuICAgICAgICAgICAgICAoZm9jdXNpbik9XCJhcHByb3ZhbE5hbWVTZWxlY3Rpb24oJ25hbWUnLHRydWUpXCJcclxuICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiYXBwcm92YWxOYW1lU2VsZWN0aW9uKCduYW1lJyxmYWxzZSlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGV4dEZpZWxkXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ3b3JrZmxvd05hbWVcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSBvZiB0aGUgYXBwcm92YWwgd29ya2Zsb3dcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwid29ya2Zsb3dOYW1lPy5sZW5ndGggJiYgYXBwcm92YWxOYW1lICE9PSAnbmFtZSdcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Qm94U3VjY2VzcyB2eC1wbC0yIHZ4LXByLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RCb3hUZXh0IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJ3b3JrZmxvd05hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICB7e3dvcmtmbG93TmFtZX19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYXBwcm92YWxOYW1lU2VsZWN0aW9uKCduYW1lJywgdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0QnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTBjOzwvaT4gRURJVFxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIj5cclxuICAgICAgICAgICAgICA8bWFyeC1lZGl0b3JcclxuICAgICAgICAgICAgICAgIFtlZGl0b3JDb25maWddPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjcmVhdGVEZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgPjwvbWFyeC1lZGl0b3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gUG9saWN5IENhdGVnb3J5IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1mb3JtLXJvdyB2eC1tYi01XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2F0ZWdvcnkuc3ZnXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibGFiZWwtaGVhZGluZyB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIFNFTEVDVCBQT0xJQ1kgQ0FURUdPUllcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkIHZ4LWZzLTE0IHZ4LWZ3LTUwMFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZENhdGVnb3J5Py5sZW5ndGggPT09IDBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJlbmFibGVDYXRlZ29yeSh0cnVlKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hFbmFibGUgdngtcGwtMyB2eC1wci0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdEJveFBsYWNlaG9kZXIgdngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1saC00XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBTZWxlY3QgdGhlIHBvbGljeSBjYXRlZ29yeSB0aGF0IHRoaXMgYXBwcm92YWw8YnIgLz53b3JrZmxvd1xyXG4gICAgICAgICAgICAgICAgYXBwbGllcyB0b1xyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cImZpbHRlcmVkQ2F0ZWdvcnk/Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Qm94U3VjY2VzcyB2eC1wbC0yIHZ4LXByLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlwQ29udGFpbmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMSB2eC1wci0yXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjYXRlZ29yeSBvZiBmaWx0ZXJlZENhdGVnb3J5IHwgc2xpY2UgOiAwIDogMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2F0SW5kZXggPSBpbmRleFxyXG4gICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVDYXRlZ29yeShjYXRlZ29yeSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcclxuICAgICAgICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJjYXRlZ29yeT8uaXRlbV9uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgY2F0ZWdvcnk/Lml0ZW1fbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaWx0ZXJlZENhdGVnb3J5Py5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00XCJcclxuICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicG9saWN5T3duZXJQb3BvdmVyLnBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgK3t7IGZpbHRlcmVkQ2F0ZWdvcnk/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcG9saWN5T3duZXJQb3BvdmVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgZmlsdGVyZWRDYXRlZ29yeSB8IHNsaWNlIDogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiY2F0ZWdvcnk/Lml0ZW1fbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAoY2xpY2spPVwicmVtb3ZlQ2F0ZWdvcnkoY2F0ZWdvcnkpXCIgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+JiN4ZTkwZDs8L2lcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnk/Lml0ZW1fbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZENhdGVnb3J5XHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlQ2F0ZWdvcnkodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0QnRuIHZ4LWZzLTExIHZ4LWZ3LTYwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTBjOzwvaT4gRURJVFxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIEFwcHJvdmFsIFdvcmtmbG93IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC13b3JrZmxvdy1mb3JtLXJvdyB2eC1tYi01XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXBwcm92YWwuc3ZnXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibGFiZWwtaGVhZGluZyB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIEFQUFJPVkVSUyAmIEFQUFJPVkFMIFdPUktGTE9XXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZCB2eC1mcy0xNCB2eC1mdy01MDBcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZExldmVsc0NsaWNrZWQodHJ1ZSlcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Qm94RW5hYmxlIHZ4LXBsLTMgdngtcHItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hQbGFjZWhvZGVyIHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbGgtNFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IGFwcHJvdmVycyBhbmQgc2VsZWN0IHRoZSBvcmRlciBvZiBhcHByb3ZhbFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsV29ya2Zsb3dzPy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgIGxldCBhcHByb3ZhbFdvcmtmbG93IG9mIGFwcHJvdmFsV29ya2Zsb3dzO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RCb3hTdWNjZXNzIHZ4LXBsLTIgdngtcHItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0yXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtbGVmdCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsZXZlbC1uYW1lIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXBhcmFncmFwaC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LWxoLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJhcHByb3ZhbFdvcmtmbG93Py5hbGlhc19uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFwcHJvdmFsV29ya2Zsb3c/LmFsaWFzX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LWZzLTkgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbGgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0ge3sgYXBwcm92YWxXb3JrZmxvdz8udHlwZSB9fSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3soYXBwcm92YWxXb3JrZmxvdz8udHlwZSB8IGxvd2VyY2FzZSkgPT09IFwicm91bmRyb2JpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJST1VORC1ST0JJTlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGFwcHJvdmFsV29ya2Zsb3c/LnR5cGUgfCBsb3dlcmNhc2UpID09PSBcImFueW9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJBTlkgT05FXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBhcHByb3ZhbFdvcmtmbG93Py50eXBlfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcENvbnRhaW5lciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXBsLTEgdngtcHItMiB2eC1tbC0yXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIChjbGljayk9XCJkZXNlbGVjdFVzZXIoYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzWzBdLGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgID4mI3hlOWFlOzwvaVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwcm92YWxXb3JrZmxvdz8udHlwZT8udG9Mb3dlckNhc2UoKSA9PT0gJ3NlcXVlbnRpYWwnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzPy5sZW5ndGggPCAyXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndvcmtmbG93TGF2ZWwgdngtZnMtMTEgdngtZnctNTAwIHZ4LXBsLTEgdngtcHItMSB2eC1saC00IHZ4LW1yLTEgdngtdGV4dC1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgMSA9PSBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnM/Lmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiRmluYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IDFcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVycz8ubGVuZ3RoID4gMSAmJiBhcHByb3ZhbFdvcmtmbG93Py50eXBlPy50b0xvd2VyQ2FzZSgpID09PSAnc2VxdWVudGlhbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3b3JrZmxvd0xhdmVsIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNCB2eC1tci0xIHZ4LXRleHQtY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAxXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVyc1swXT8ubWVtYmVyX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+e3sgYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzWzBdPy5tZW1iZXJfbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFwcHJvdmFsV29ya2Zsb3c/LmFwcHJvdmVycz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIndvcmtmbG93UG9wb3Zlci5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICsge3sgYXBwcm92YWxXb3JrZmxvdz8uYXBwcm92ZXJzPy5sZW5ndGggLSAxIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3dvcmtmbG93UG9wb3ZlciBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcHByb3ZlciBvZiBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzbGljZSA6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaiA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImFwcHJvdmVyPy5tZW1iZXJfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAoY2xpY2spPVwiZGVzZWxlY3RVc2VyKGFwcHJvdmVyLGkpXCIgIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhcHByb3ZhbFdvcmtmbG93Py50eXBlPy50b0xvd2VyQ2FzZSgpID09PSAnc2VxdWVudGlhbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid29ya2Zsb3dMYXZlbCB2eC1mcy0xMSB2eC1mdy01MDAgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbXItMSB2eC10ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqKzEgPT09XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHByb3ZhbFdvcmtmbG93Py5hcHByb3ZlcnM/Lmxlbmd0aCAtIDFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBcIkZpbmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBqICsgMlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYXBwcm92ZXI/Lm1lbWJlcl9uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0QXBwcm92YWwoYXBwcm92YWxXb3JrZmxvdywgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWRpdEJ0biB2eC1mcy0xMSB2eC1mdy02MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTBjOzwvaT4gRURJVFxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVMZXZlbChpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWxldGVCdG4gdngtZnMtMTEgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1sLTQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOWFlOzwvaT4gREVMRVRFXHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxXb3JrZmxvd3M/Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRMZXZlbHNDbGlja2VkKHRydWUpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImFkZE1vcmVCdG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW10LTFcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgKyBBREQgTU9SRSBMRVZFTFNcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8dnVpLWZsb2F0aW5nLWJhclxyXG4gICAgICAqbmdJZj1cImVuYWJsZUFwcHJvdmFsQ3JlYXRlIHx8IGVuYWJsZUNyZWF0ZUZvcm1cIlxyXG4gICAgICBbbmV4dERpc2FibGVkXT1cIlxyXG4gICAgICAgIHdvcmtmbG93TmFtZT8udHJpbSgpID09PSAnJyB8fFxyXG4gICAgICAgIGFwcHJvdmFsV29ya2Zsb3dzPy5sZW5ndGggPT09IDAgfHxcclxuICAgICAgICBmaWx0ZXJlZENhdGVnb3J5Py5sZW5ndGggPT09IDBcclxuICAgICAgXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZUNyZWF0ZUZvcm0oKVwiXHJcbiAgICAgIChjbG9zZUV2ZW50KT1cIm5leHRDbGljaygpXCJcclxuICAgID48L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSBbc2VsZWN0ZWRJdGVtc109XCJwb2xpY3lGb3JtLnNlbGVjdGVkQ2F0ZWdvcmllc1wiIC0tPlxyXG5cclxuPGFwcC1zZWxlY3QtYXBwcm92ZXJzXHJcbiAgKm5nSWY9XCJlbmFibGVBcHByb3ZhbExldmVsXCJcclxuICBbYWxsQXBwcm92ZXJzXT1cImFsbEFwcHJvdmVyc1wiXHJcbiAgKGNsb3NlU2VsZWN0QXBwcm92ZXIpPVwiY2xvc2VTZWxlY3RBcHByb3ZlcigpXCJcclxuICAoc2VsZWN0ZWRBcHByb3Zlcik9XCJzZWxlY3RlZEFwcHJvdmVyKCRldmVudClcIlxyXG4gIFtsZXZlbHNdPVwibGV2ZWxzXCJcclxuICBbZWRpdEFwcHJvdmFsRGF0YV09XCJlZGl0QXBwcm92YWxEYXRhXCJcclxuPjwvYXBwLXNlbGVjdC1hcHByb3ZlcnM+XHJcblxyXG48YXBwLWNoZWNrYm94LWxpc3RcclxuICAqbmdJZj1cImVuYWJsZVBvbGljeUNhdGVnb3J5XCJcclxuICBbY29uZmlnXT1cImNhdGVnb3J5Q29uZmlnXCJcclxuICBbdHdvQ29sdW1uXT1cImZhbHNlXCJcclxuICBbaXRlbXNMaXN0XT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxyXG4gIFtpZGVudGlmaWVyS2V5XT1cIidfaWQnXCJcclxuICBbZGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiXHJcbiAgW3Rvb2x0aXBLZXldPVwiJ2l0ZW1fbmFtZSdcIlxyXG4gIChzYXZlTGlzdCk9XCJzYXZlQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxyXG4gIChjbG9zZUxpc3QpPVwiY2xvc2VDYXRlZ29yeUxpc3QoKVwiXHJcbiAgW3NlbGVjdGVkSXRlbXNdPVwiZmlsdGVyZWRDYXRlZ29yeVwiXHJcbj5cclxuPC9hcHAtY2hlY2tib3gtbGlzdD5cclxuIl19