vcomply-workflow-engine 3.3.6 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/esm2020/lib/more-option/more-option.component.mjs +9 -1
  2. package/esm2020/lib/sharedComponents/v-loader/loader/loader.component.mjs +2 -2
  3. package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +24 -5
  4. package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +14 -7
  5. package/esm2020/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +10 -4
  6. package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +8 -2
  7. package/esm2020/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +26 -10
  8. package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +7 -2
  9. package/esm2020/lib/workflow/shared/services/grc.service.mjs +5 -1
  10. package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +3 -3
  11. package/fesm2015/vcomply-workflow-engine.mjs +121 -49
  12. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  13. package/fesm2020/vcomply-workflow-engine.mjs +99 -28
  14. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  15. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +2 -0
  16. package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +2 -1
  17. package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +2 -1
  18. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +5 -1
  19. package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +2 -1
  20. package/package.json +1 -1
@@ -120,16 +120,19 @@ ListPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
120
120
  </app-group-users-list>
121
121
  <app-risk-category-risk-listing
122
122
  *ngIf="openedPopup === 'RISK_CATEGORY'"
123
+ [selectedRC]="listObject?.RC?.selectedData"
123
124
  [selectedCatAndRisk]="listObject[openedPopup]?.selectedData"
124
125
  (closeUsersList)="saveSelectedList($event)"
125
126
  ></app-risk-category-risk-listing>
126
127
 
127
128
  <app-program-responsibility-listing
128
129
  *ngIf="openedPopup === 'PROGRAM_RESPONSIBILITY'"
130
+ [MODE]="mode"
131
+ [selectedRC]="listObject?.RC?.selectedData"
129
132
  [selectedProgramAndResp]="listObject[openedPopup]?.selectedData"
130
133
  (closeList)="saveSelectedList($event)"
131
134
  ></app-program-responsibility-listing>
132
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RcListModule }, { kind: "component", type: i2.ResponsibilityCentersListComponent, selector: "app-responsibility-centers-list", inputs: ["responsibilityCentersList", "selectedResponsibilityCenters", "rcIdKey", "radioSelection", "pluralText", "singularText"], outputs: ["saveSelectedList", "closeRcList"] }, { kind: "component", type: GrcObjectListComponent, selector: "app-grc-object-list", inputs: ["grcObject", "currentPage", "loader", "tableCard", "selectedTab", "cardLoader", "onEditGRCId", "mode", "selectedGRC"], outputs: ["saveOtherGRC", "closeOtherGRC", "getOtherGRCObjects"] }, { kind: "component", type: GroupUsersListComponent, selector: "app-group-users-list", inputs: ["groupsEnabled", "usersList", "groupsList", "selectedUsers", "userIdKey", "groupIdKey", "openedFrom", "selectedGroups", "assigneeGroupsList", "disabledId", "fromResponsibility", "reviewerIds", "overseerIds", "assignorId", "loader", "isDisabledSelected"], outputs: ["saveSelectedList", "closeUsersList"] }, { kind: "component", type: RiskCategoryRiskListingComponent, selector: "app-risk-category-risk-listing", inputs: ["selectedTab", "selectedCatAndRisk"], outputs: ["closeUsersList"] }, { kind: "component", type: ProgramResponsibilityListingComponent, selector: "app-program-responsibility-listing", inputs: ["selectedProgramAndResp"], outputs: ["closeList"] }] });
135
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RcListModule }, { kind: "component", type: i2.ResponsibilityCentersListComponent, selector: "app-responsibility-centers-list", inputs: ["responsibilityCentersList", "selectedResponsibilityCenters", "rcIdKey", "radioSelection", "pluralText", "singularText"], outputs: ["saveSelectedList", "closeRcList"] }, { kind: "component", type: GrcObjectListComponent, selector: "app-grc-object-list", inputs: ["grcObject", "currentPage", "loader", "tableCard", "selectedTab", "cardLoader", "onEditGRCId", "mode", "selectedGRC"], outputs: ["saveOtherGRC", "closeOtherGRC", "getOtherGRCObjects"] }, { kind: "component", type: GroupUsersListComponent, selector: "app-group-users-list", inputs: ["groupsEnabled", "usersList", "groupsList", "selectedUsers", "userIdKey", "groupIdKey", "openedFrom", "selectedGroups", "assigneeGroupsList", "disabledId", "fromResponsibility", "reviewerIds", "overseerIds", "assignorId", "loader", "isDisabledSelected"], outputs: ["saveSelectedList", "closeUsersList"] }, { kind: "component", type: RiskCategoryRiskListingComponent, selector: "app-risk-category-risk-listing", inputs: ["selectedTab", "selectedCatAndRisk", "selectedRC"], outputs: ["closeUsersList"] }, { kind: "component", type: ProgramResponsibilityListingComponent, selector: "app-program-responsibility-listing", inputs: ["selectedProgramAndResp", "selectedRC", "MODE"], outputs: ["closeList"] }] });
133
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ListPopupComponent, decorators: [{
134
137
  type: Component,
135
138
  args: [{
@@ -182,12 +185,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
182
185
  </app-group-users-list>
183
186
  <app-risk-category-risk-listing
184
187
  *ngIf="openedPopup === 'RISK_CATEGORY'"
188
+ [selectedRC]="listObject?.RC?.selectedData"
185
189
  [selectedCatAndRisk]="listObject[openedPopup]?.selectedData"
186
190
  (closeUsersList)="saveSelectedList($event)"
187
191
  ></app-risk-category-risk-listing>
188
192
 
189
193
  <app-program-responsibility-listing
190
194
  *ngIf="openedPopup === 'PROGRAM_RESPONSIBILITY'"
195
+ [MODE]="mode"
196
+ [selectedRC]="listObject?.RC?.selectedData"
191
197
  [selectedProgramAndResp]="listObject[openedPopup]?.selectedData"
192
198
  (closeList)="saveSelectedList($event)"
193
199
  ></app-program-responsibility-listing>
@@ -203,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
203
209
  outputs: ['onSaveSelectedList', 'getOtherGRCObjects'],
204
210
  }]
205
211
  }], ctorParameters: function () { return []; } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9saXN0LXBvcHVwL2xpc3QtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFFdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7Ozs7QUFFbkksMENBQTBDO0FBdUUxQyxNQUFNLE9BQU8sa0JBQWtCO0lBc0M3QjtRQXJDQSxnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFDdEMsZUFBVSxHQUFlO1lBQ3ZCLEVBQUUsRUFBRTtnQkFDRixTQUFTLEVBQUUsS0FBSztnQkFDaEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsRUFBRTtnQkFDUixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNELGFBQWEsRUFB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LGdDQUFnQyx1SkFDaEMscUNBQXFDOzJGQTZENUIsa0JBQWtCO2tCQXRFOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsZ0NBQWdDO3dCQUNoQyxxQ0FBcUM7cUJBQ3RDO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0RUO29CQUNELE1BQU0sRUFBRTt3QkFDTixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJjTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0L3JjLWxpc3QubW9kdWxlJztcclxuaW1wb3J0IHsgTGlzdE9iamVjdCwgT3BlbmVkUG9wdXAsIFJDTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWRkLWdyYyc7XHJcbmltcG9ydCB7IEdyY09iamVjdExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtb2JqZWN0LWxpc3QvZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9ncm91cC11c2Vycy1saXN0L2dyb3VwLXVzZXJzLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xyXG5cclxuLy8gdGhpcyBjb21wb25lbnQgd2lsbCBvcGVuIGFsbCBsaXN0IHBvcHVwXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxpc3QtcG9wdXAnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmNMaXN0TW9kdWxlLFxyXG4gICAgR3JjT2JqZWN0TGlzdENvbXBvbmVudCxcclxuICAgIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50LFxyXG4gICAgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQsXHJcbiAgICBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0XHJcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdSQydcIlxyXG4gICAgICBbcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YVwiXHJcbiAgICAgIFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgW3JjSWRLZXldPVwiJ2l0ZW1faWQnXCJcclxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcclxuICAgICAgKGNsb3NlUmNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXHJcbiAgICA+PC9hcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0PlxyXG4gICAgPGFwcC1ncmMtb2JqZWN0LWxpc3RcclxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ09USEVSX0dSQ19PQkpFQ1RTJ1wiXHJcbiAgICAgIFtncmNPYmplY3RdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRhdGFcIlxyXG4gICAgICBbc2VsZWN0ZWRHUkNdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXHJcbiAgICAgIFtsb2FkZXJdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmlzTG9hZGluZ1wiXHJcbiAgICAgIFt0YWJsZUNhcmRdPVwidGFibGVDYXJkXCJcclxuICAgICAgW3NlbGVjdGVkVGFiXT1cIkdSQ1NlbGVjdGVkVGFiXCJcclxuICAgICAgW2NhcmRMb2FkZXJdPVwib3RoZXJHcmNDYXJkTG9hZGVyXCJcclxuICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgIFtvbkVkaXRHUkNJZF09XCJvbkVkaXRHUkNJZFwiXHJcbiAgICAgIChnZXRPdGhlckdSQ09iamVjdHMpPVwiZ2V0T3RoZXJHUkNPYmplY3RMaXN0KCRldmVudClcIlxyXG4gICAgICAoc2F2ZU90aGVyR1JDKT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXHJcbiAgICAgIChjbG9zZU90aGVyR1JDKT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtZ3JjLW9iamVjdC1saXN0PlxyXG4gICAgPGFwcC1ncm91cC11c2Vycy1saXN0XHJcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdPV05FUidcIlxyXG4gICAgICBbdXNlcnNMaXN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhPy5hc3NpZ25lZXNMaXN0ID8/IFtdXCJcclxuICAgICAgW2dyb3Vwc0xpc3RdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRhdGE/Lmdyb3Vwc0xpc3QgPz8gW11cIlxyXG4gICAgICBbc2VsZWN0ZWRVc2Vyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGFcIlxyXG4gICAgICBbbG9hZGVyXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5pc0xvYWRpbmdcIlxyXG4gICAgICBbdXNlcklkS2V5XT1cIidtZW1iZXJfaWQnXCJcclxuICAgICAgW2lzRGlzYWJsZWRTZWxlY3RlZF09XCJ0cnVlXCJcclxuICAgICAgW2Rpc2FibGVkSWRdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRpc2FibGVkSWRzXCJcclxuICAgICAgW2Zyb21SZXNwb25zaWJpbGl0eV09XCInQXNzaWduZWUnXCJcclxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcclxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXHJcbiAgICA+XHJcbiAgICA8L2FwcC1ncm91cC11c2Vycy1saXN0PlxyXG4gICAgPGFwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZ1xyXG4gICAgICAqbmdJZj1cIm9wZW5lZFBvcHVwID09PSAnUklTS19DQVRFR09SWSdcIlxyXG4gICAgICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5zZWxlY3RlZERhdGFcIlxyXG4gICAgICAoY2xvc2VVc2Vyc0xpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZz5cclxuXHJcbiAgICA8YXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZ1xyXG4gICAgICAqbmdJZj1cIm9wZW5lZFBvcHVwID09PSAnUFJPR1JBTV9SRVNQT05TSUJJTElUWSdcIlxyXG4gICAgICBbc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxyXG4gICAgPjwvYXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZz5cclxuICBgLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ29wZW5lZFBvcHVwJyxcclxuICAgICdsaXN0T2JqZWN0JyxcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ0dSQ1NlbGVjdGVkVGFiJyxcclxuICAgICdvbkVkaXRHUkNJZCcsXHJcbiAgICAnbW9kZScsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ29uU2F2ZVNlbGVjdGVkTGlzdCcsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgb3BlbmVkUG9wdXA6IE9wZW5lZFBvcHVwWyd0eXBlJ10gPSAnJztcclxuICBsaXN0T2JqZWN0OiBMaXN0T2JqZWN0ID0ge1xyXG4gICAgUkM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgT1dORVI6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgT1RIRVJfR1JDX09CSkVDVFM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgUklTS19DQVRFR09SWToge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7fSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBQUk9HUkFNX1JFU1BPTlNJQklMSVRZOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHt9LFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIHRhYmxlQ2FyZDogYW55ID0gW107XHJcbiAgR1JDU2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG4gIG90aGVyR3JjQ2FyZExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgb25FZGl0R1JDSWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBvblNhdmVTZWxlY3RlZExpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGdldE90aGVyR1JDT2JqZWN0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnc2F2ZVNlbGVjdGVkTGlzdCcsIHRoaXMubGlzdE9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU2VsZWN0ZWRMaXN0KHNlbGVjdGVkRGF0YTogbnVtYmVyW10pIHtcclxuICAgIHN3aXRjaCAodGhpcy5vcGVuZWRQb3B1cCkge1xyXG4gICAgICBjYXNlICdSQyc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9XHJcbiAgICAgICAgICB0aGlzLmxpc3RPYmplY3QuUkMuZGF0YS5maWx0ZXIoKHJjOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0YS5pbmNsdWRlcyhyYy5pdGVtX2lkKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnT1dORVInOlxyXG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSB0aGlzLmxpc3RPYmplY3RbXHJcbiAgICAgICAgICB0aGlzLm9wZW5lZFBvcHVwXHJcbiAgICAgICAgXS5kYXRhLmFzc2lnbmVlc0xpc3QuZmlsdGVyKCh1c2VyOiBhbnkpID0+XHJcbiAgICAgICAgICBzZWxlY3RlZERhdGEuaW5jbHVkZXModXNlci5teV9tZW1iZXJfaWQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnUklTS19DQVRFR09SWSc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YSA/PyBbXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnUFJPR1JBTV9SRVNQT05TSUJJTElUWSc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YSA/PyBbXTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnUkMnIHx8IHRoaXMub3BlbmVkUG9wdXAgPT09ICdPV05FUicpIHtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnT1RIRVJfR1JDX09CSkVDVFMnKSB7XHJcbiAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSBzZWxlY3RlZERhdGE7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uU2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMubGlzdE9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVEZVNlbGVjdG9yKCkge1xyXG4gICAgdGhpcy5vblNhdmVTZWxlY3RlZExpc3QuZW1pdCh0aGlzLmxpc3RPYmplY3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3RoZXJHUkNPYmplY3RMaXN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9saXN0LXBvcHVwL2xpc3QtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFFdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDdEgsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7Ozs7QUFFbkksMENBQTBDO0FBMEUxQyxNQUFNLE9BQU8sa0JBQWtCO0lBc0M3QjtRQXJDQSxnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFDdEMsZUFBVSxHQUFlO1lBQ3ZCLEVBQUUsRUFBRTtnQkFDRixTQUFTLEVBQUUsS0FBSztnQkFDaEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsRUFBRTtnQkFDUixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNELGFBQWEsRUFB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Q3ZCLGdDQUFnQyxxS0FDaEMscUNBQXFDOzJGQWdFNUIsa0JBQWtCO2tCQXpFOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsZ0NBQWdDO3dCQUNoQyxxQ0FBcUM7cUJBQ3RDO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbURUO29CQUNELE1BQU0sRUFBRTt3QkFDTixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsTUFBTTtxQkFDUDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJjTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0L3JjLWxpc3QubW9kdWxlJztcclxuaW1wb3J0IHsgTGlzdE9iamVjdCwgT3BlbmVkUG9wdXAsIFJDTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWRkLWdyYyc7XHJcbmltcG9ydCB7IEdyY09iamVjdExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtb2JqZWN0LWxpc3QvZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9ncm91cC11c2Vycy1saXN0L2dyb3VwLXVzZXJzLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xyXG5cclxuLy8gdGhpcyBjb21wb25lbnQgd2lsbCBvcGVuIGFsbCBsaXN0IHBvcHVwXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxpc3QtcG9wdXAnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmNMaXN0TW9kdWxlLFxyXG4gICAgR3JjT2JqZWN0TGlzdENvbXBvbmVudCxcclxuICAgIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50LFxyXG4gICAgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQsXHJcbiAgICBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0XHJcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdSQydcIlxyXG4gICAgICBbcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YVwiXHJcbiAgICAgIFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgW3JjSWRLZXldPVwiJ2l0ZW1faWQnXCJcclxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcclxuICAgICAgKGNsb3NlUmNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXHJcbiAgICA+PC9hcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0PlxyXG4gICAgPGFwcC1ncmMtb2JqZWN0LWxpc3RcclxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ09USEVSX0dSQ19PQkpFQ1RTJ1wiXHJcbiAgICAgIFtncmNPYmplY3RdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRhdGFcIlxyXG4gICAgICBbc2VsZWN0ZWRHUkNdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXHJcbiAgICAgIFtsb2FkZXJdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmlzTG9hZGluZ1wiXHJcbiAgICAgIFt0YWJsZUNhcmRdPVwidGFibGVDYXJkXCJcclxuICAgICAgW3NlbGVjdGVkVGFiXT1cIkdSQ1NlbGVjdGVkVGFiXCJcclxuICAgICAgW2NhcmRMb2FkZXJdPVwib3RoZXJHcmNDYXJkTG9hZGVyXCJcclxuICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgIFtvbkVkaXRHUkNJZF09XCJvbkVkaXRHUkNJZFwiXHJcbiAgICAgIChnZXRPdGhlckdSQ09iamVjdHMpPVwiZ2V0T3RoZXJHUkNPYmplY3RMaXN0KCRldmVudClcIlxyXG4gICAgICAoc2F2ZU90aGVyR1JDKT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXHJcbiAgICAgIChjbG9zZU90aGVyR1JDKT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtZ3JjLW9iamVjdC1saXN0PlxyXG4gICAgPGFwcC1ncm91cC11c2Vycy1saXN0XHJcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdPV05FUidcIlxyXG4gICAgICBbdXNlcnNMaXN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhPy5hc3NpZ25lZXNMaXN0ID8/IFtdXCJcclxuICAgICAgW2dyb3Vwc0xpc3RdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRhdGE/Lmdyb3Vwc0xpc3QgPz8gW11cIlxyXG4gICAgICBbc2VsZWN0ZWRVc2Vyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGFcIlxyXG4gICAgICBbbG9hZGVyXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5pc0xvYWRpbmdcIlxyXG4gICAgICBbdXNlcklkS2V5XT1cIidtZW1iZXJfaWQnXCJcclxuICAgICAgW2lzRGlzYWJsZWRTZWxlY3RlZF09XCJ0cnVlXCJcclxuICAgICAgW2Rpc2FibGVkSWRdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRpc2FibGVkSWRzXCJcclxuICAgICAgW2Zyb21SZXNwb25zaWJpbGl0eV09XCInQXNzaWduZWUnXCJcclxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcclxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXHJcbiAgICA+XHJcbiAgICA8L2FwcC1ncm91cC11c2Vycy1saXN0PlxyXG4gICAgPGFwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZ1xyXG4gICAgICAqbmdJZj1cIm9wZW5lZFBvcHVwID09PSAnUklTS19DQVRFR09SWSdcIlxyXG4gICAgICBbc2VsZWN0ZWRSQ109XCJsaXN0T2JqZWN0Py5SQz8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgW3NlbGVjdGVkQ2F0QW5kUmlza109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmc+XHJcblxyXG4gICAgPGFwcC1wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcclxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ1BST0dSQU1fUkVTUE9OU0lCSUxJVFknXCJcclxuICAgICAgW01PREVdPVwibW9kZVwiXHJcbiAgICAgIFtzZWxlY3RlZFJDXT1cImxpc3RPYmplY3Q/LlJDPy5zZWxlY3RlZERhdGFcIlxyXG4gICAgICBbc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxyXG4gICAgPjwvYXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZz5cclxuICBgLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ29wZW5lZFBvcHVwJyxcclxuICAgICdsaXN0T2JqZWN0JyxcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ0dSQ1NlbGVjdGVkVGFiJyxcclxuICAgICdvbkVkaXRHUkNJZCcsXHJcbiAgICAnbW9kZScsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ29uU2F2ZVNlbGVjdGVkTGlzdCcsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgb3BlbmVkUG9wdXA6IE9wZW5lZFBvcHVwWyd0eXBlJ10gPSAnJztcclxuICBsaXN0T2JqZWN0OiBMaXN0T2JqZWN0ID0ge1xyXG4gICAgUkM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgT1dORVI6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgT1RIRVJfR1JDX09CSkVDVFM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgUklTS19DQVRFR09SWToge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7fSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBQUk9HUkFNX1JFU1BPTlNJQklMSVRZOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHt9LFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIHRhYmxlQ2FyZDogYW55ID0gW107XHJcbiAgR1JDU2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG4gIG90aGVyR3JjQ2FyZExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XHJcbiAgb25FZGl0R1JDSWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBvblNhdmVTZWxlY3RlZExpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGdldE90aGVyR1JDT2JqZWN0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnc2F2ZVNlbGVjdGVkTGlzdCcsIHRoaXMubGlzdE9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU2VsZWN0ZWRMaXN0KHNlbGVjdGVkRGF0YTogbnVtYmVyW10pIHtcclxuICAgIHN3aXRjaCAodGhpcy5vcGVuZWRQb3B1cCkge1xyXG4gICAgICBjYXNlICdSQyc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9XHJcbiAgICAgICAgICB0aGlzLmxpc3RPYmplY3QuUkMuZGF0YS5maWx0ZXIoKHJjOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0YS5pbmNsdWRlcyhyYy5pdGVtX2lkKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnT1dORVInOlxyXG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSB0aGlzLmxpc3RPYmplY3RbXHJcbiAgICAgICAgICB0aGlzLm9wZW5lZFBvcHVwXHJcbiAgICAgICAgXS5kYXRhLmFzc2lnbmVlc0xpc3QuZmlsdGVyKCh1c2VyOiBhbnkpID0+XHJcbiAgICAgICAgICBzZWxlY3RlZERhdGEuaW5jbHVkZXModXNlci5teV9tZW1iZXJfaWQpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnUklTS19DQVRFR09SWSc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YSA/PyBbXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnUFJPR1JBTV9SRVNQT05TSUJJTElUWSc6XHJcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YSA/PyBbXTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnUkMnIHx8IHRoaXMub3BlbmVkUG9wdXAgPT09ICdPV05FUicpIHtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnT1RIRVJfR1JDX09CSkVDVFMnKSB7XHJcbiAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSBzZWxlY3RlZERhdGE7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uU2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMubGlzdE9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVEZVNlbGVjdG9yKCkge1xyXG4gICAgdGhpcy5vblNhdmVTZWxlY3RlZExpc3QuZW1pdCh0aGlzLmxpc3RPYmplY3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3RoZXJHUkNPYmplY3RMaXN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -44,6 +44,9 @@ export class ProgramResponsibilityListingComponent {
44
44
  this.selectedProgramIds = [];
45
45
  this.selectedCategoryIds = [];
46
46
  this.selectedResponsibilities = [];
47
+ this.selectedRCIds = [];
48
+ this.selectedRC = [];
49
+ this.MODE = 'CREATE';
47
50
  this.closeList = new EventEmitter();
48
51
  this.currentBusinessCycle = this.grcService?.getBusinessCycle();
49
52
  }
@@ -82,7 +85,7 @@ export class ProgramResponsibilityListingComponent {
82
85
  appList: [],
83
86
  riskIds: [],
84
87
  reviewerId: [],
85
- responsibilityCenter: [],
88
+ responsibilityCenter: this.getSelectedRCIds(this.selectedRC) ?? [],
86
89
  entrustedBy: [],
87
90
  entrustedTo: [],
88
91
  responsibilityCategory: [],
@@ -149,7 +152,7 @@ export class ProgramResponsibilityListingComponent {
149
152
  appList: [],
150
153
  riskIds: [],
151
154
  reviewerId: [],
152
- responsibilityCenter: [],
155
+ responsibilityCenter: this.getSelectedRCIds(this.selectedRC) ?? [],
153
156
  entrustedBy: [],
154
157
  entrustedTo: [],
155
158
  responsibilityCategory: [],
@@ -197,7 +200,7 @@ export class ProgramResponsibilityListingComponent {
197
200
  appList: [],
198
201
  riskIds: [],
199
202
  reviewerId: [],
200
- responsibilityCenter: [],
203
+ responsibilityCenter: this.getSelectedRCIds(this.selectedRC) ?? [],
201
204
  entrustedBy: [],
202
205
  entrustedTo: [],
203
206
  responsibilityCategory: [],
@@ -213,11 +216,12 @@ export class ProgramResponsibilityListingComponent {
213
216
  time_filter_type: '',
214
217
  // "scopeType": 'risk',
215
218
  type: 'risk',
219
+ callFrom: 'grc',
216
220
  filterData: {
217
221
  appList: [],
218
222
  riskIds: [],
219
223
  reviewerId: [],
220
- responsibilityCenter: [],
224
+ responsibilityCenter: this.getSelectedRCIds(this.selectedRC) ?? [],
221
225
  entrustedBy: [],
222
226
  entrustedTo: [],
223
227
  responsibilityCategory: [],
@@ -265,6 +269,7 @@ export class ProgramResponsibilityListingComponent {
265
269
  // }
266
270
  params = params.append('paginationType', 'small');
267
271
  params = params.append('pageType', 'risk');
272
+ params = params.append('callFrom', 'grc');
268
273
  let businessCycle = {
269
274
  start_date: this.currentBusinessCycle?.start_date,
270
275
  end_date: this.currentBusinessCycle?.end_date,
@@ -272,11 +277,12 @@ export class ProgramResponsibilityListingComponent {
272
277
  selected_cycle: this.currentBusinessCycle?.selected_cycle,
273
278
  time_filter_type: '',
274
279
  pageType: 'risk',
280
+ callFrom: 'grc',
275
281
  filterData: {
276
282
  appList: [],
277
283
  riskIds: [],
278
284
  reviewerId: [],
279
- responsibilityCenter: [],
285
+ responsibilityCenter: this.getSelectedRCIds(this.selectedRC) ?? [],
280
286
  entrustedBy: [],
281
287
  entrustedTo: [],
282
288
  responsibilityCategory: [],
@@ -325,6 +331,7 @@ export class ProgramResponsibilityListingComponent {
325
331
  name: within?.rc_name,
326
332
  };
327
333
  }),
334
+ subCategoryId: this.selectedCategory?.category_id,
328
335
  };
329
336
  });
330
337
  return data;
@@ -337,12 +344,12 @@ export class ProgramResponsibilityListingComponent {
337
344
  this.selectedProgramAndResp = event;
338
345
  this.getSelectedProgramIds(this.selectedProgramAndResp);
339
346
  this.getAllSelectedResponsibilities(this.selectedProgramAndResp);
340
- // this.getSelectedCategoryIds(this.selectedProgramAndResp);
347
+ this.getSelectedCategoryIds(this.selectedProgramAndResp);
341
348
  }
342
349
  getSelectedProgramIds(selectedData) {
343
350
  this.selectedProgramIds = [];
344
351
  selectedData?.forEach((selected) => {
345
- this.selectedCategoryIds = selected?.category;
352
+ // this.selectedCategoryIds = selected?.category || [];
346
353
  this.selectedProgramIds.push(selected?.program?.programId);
347
354
  });
348
355
  }
@@ -363,9 +370,14 @@ export class ProgramResponsibilityListingComponent {
363
370
  this.selectedResponsibilities.push(...item?.responsibility);
364
371
  });
365
372
  }
373
+ getSelectedRCIds(selectedRC) {
374
+ let selectedRCIds = [];
375
+ selectedRCIds = selectedRC?.map((rc) => rc?.rc_id);
376
+ return selectedRCIds;
377
+ }
366
378
  }
367
379
  ProgramResponsibilityListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProgramResponsibilityListingComponent, deps: [{ token: i1.GrcService }], target: i0.ɵɵFactoryTarget.Component });
368
- ProgramResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"] }, outputs: { closeList: "closeList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? selectedResponsibilities : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", 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\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "component", type: GrcCategoryListingComponent, selector: "app-grc-category-listing", inputs: ["tableCard", "headerText", "currentPage", "selectedTabIndex", "selectedCatAndRisk", "selectedCategoryIds", "categories", "programData"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "component", type: GrcSubCategoryListingComponent, selector: "app-grc-sub-category-listing", inputs: ["currentPage", "nameDisplayKey", "selectedCategoryIds", "activeProgram", "categories", "selectedProgramAndResp"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i4.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] });
380
+ ProgramResponsibilityListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ProgramResponsibilityListingComponent, isStandalone: true, selector: "app-program-responsibility-listing", inputs: { getSelectedProgramAndResp: ["selectedProgramAndResp", "getSelectedProgramAndResp"], selectedRC: "selectedRC", MODE: "MODE" }, outputs: { closeList: "closeList" }, viewQueries: [{ propertyName: "responsibilityListingComponent", first: true, predicate: ["dataListing"], descendants: true }], ngImport: i0, template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? selectedResponsibilities : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", 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\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i3.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "component", type: GrcCategoryListingComponent, selector: "app-grc-category-listing", inputs: ["tableCard", "headerText", "currentPage", "selectedTabIndex", "selectedCatAndRisk", "selectedCategoryIds", "categories", "programData"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "component", type: GrcResponsibilityListingComponent, selector: "app-grc-responsibility-listing", inputs: ["tableCard", "activeProgram", "headerText", "currentPage", "perPageLimit", "totalListData", "totalPages", "selectedListData", "selectedListDataIds", "MODE", "responsibilityData", "selectedProgramAndResp"], outputs: ["getUpdatedDataList", "changeSelectedProgramAndResp"] }, { kind: "component", type: GrcSubCategoryListingComponent, selector: "app-grc-sub-category-listing", inputs: ["currentPage", "nameDisplayKey", "activeProgram", "selectedCategoryIds", "categories", "selectedProgramAndResp"], outputs: ["activeSelectedCategory", "onCategoryPageChange"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i4.ListLoaderComponent, selector: "app-list-loader" }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] });
369
381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ProgramResponsibilityListingComponent, decorators: [{
370
382
  type: Component,
371
383
  args: [{ selector: 'app-program-responsibility-listing', standalone: true, imports: [
@@ -382,12 +394,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
382
394
  ListLoaderModule,
383
395
  NoDataModule,
384
396
  TableCardLoaderComponent,
385
- ], outputs: ['closeList'], template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? selectedResponsibilities : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", 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\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
397
+ ], outputs: ['closeList'], template: "<div class=\"program-responsibility-listing\" [class.animate]=\"animation\">\r\n <div class=\"program-responsibility-listing-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <h3 class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibilities</h3></div>\r\n <div class=\"program-responsibility-listing-body\">\r\n <app-table-card-loader *ngIf=\"programCountLoader\"></app-table-card-loader>\r\n <app-table-card\r\n *ngIf=\"!programCountLoader\"\r\n class=\"vx-w-100\"\r\n [tableCard]=\"programTypes\"\r\n [singleSelectedText]=\"'Responsibility Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'Responsibilities Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\">\r\n </app-table-card>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchRiskCategory (keyup.enter)=\"handleSearch($event.target.value)\" placeholder=\"Search Programs\" />\r\n </div>\r\n <div class=\"program-responsibility-listing-body-inner vx-mb-2 vx-d-flex\" [class.vx-justify-center]=\"(!programLoader && !programData?.data?.length)\">\r\n <ng-container *ngIf=\"(programLoader || programData?.data?.length)\">\r\n <div class=\"inner-item-left vx-pr-2\">\r\n\r\n <app-grc-category-listing *ngIf=\"!programLoader\" [headerText]=\"'Programs'\" [programData]=\"programData\" [selectedCatAndRisk]=\"selectedCatAndRisk\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"programCurrentPage\" [selectedTabIndex]=\"selectedTab\" [selectedCategoryIds]=\"selectedProgramIds\" (activeSelectedCategory)=\"activeSelectedProgram($event)\" (onCategoryPageChange)=\"onProgramPageChange($event)\"></app-grc-category-listing>\r\n \r\n <app-list-loader *ngIf=\"programLoader\"></app-list-loader>\r\n\r\n </div>\r\n\r\n <div class=\"inner-item-mid vx-pr-2\">\r\n <app-grc-sub-category-listing *ngIf=\"!categoryLoader && !programLoader\" [headerText]=\"'Programs'\" [categories]=\"categoryData\" [nameDisplayKey]=\"'item_name'\" [currentPage]=\"categoryCurrentPage\" [selectedCategoryIds]=\"selectedCategoryIds\" [activeProgram]=\"selectedProgram\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (activeSelectedCategory)=\"activeSelectedSubCategory($event)\" (onCategoryPageChange)=\"onSubCategoryPageChange($event)\"></app-grc-sub-category-listing>\r\n <app-list-loader *ngIf=\"categoryLoader || programLoader\"></app-list-loader>\r\n </div>\r\n\r\n <div class=\"inner-item-right\">\r\n <!-- <app-grc-responsibility-listing></app-grc-responsibility-listing> -->\r\n\r\n <app-grc-responsibility-listing #dataListing *ngIf=\"!responsibilityLoader && !categoryLoader && !programLoader && responsibilityData?.data?.length !== 0\" [headerText]=\"'Responsibilities'\" [MODE]=\"MODE\" [responsibilityData]=\"responsibilityData\" [activeProgram]=\"selectedProgram\" [activeCategory]=\"selectedCategory\" [selectedProgramAndResp]=\"selectedProgramAndResp\" (changeSelectedProgramAndResp)=\"changeSelectedProgramAndResp($event)\" [currentPage]=\"responsibilityCurrentPage\" [perPageLimit]=\"30\" [totalListData]=\"responsibilityData?.total_items\" [totalPages]=\"responsibilityData?.total_pages\" (getUpdatedDataList)=\"getUpdatedDataList($event)\" ></app-grc-responsibility-listing>\r\n \r\n <app-list-loader *ngIf=\"responsibilityLoader || categoryLoader || programLoader\"></app-list-loader>\r\n \r\n <app-no-data *ngIf=\"responsibilityData?.data?.length === 0 && !(responsibilityLoader || categoryLoader || programLoader)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n </ng-container>\r\n <app-no-data *ngIf=\"(!programLoader && !programData?.data?.length)\" [noDataImage]=\"CDN_LINK?.noData\" [noDataText]=\"'No data to display'\"></app-no-data>\r\n </div>\r\n <app-floating-bar [selectedData]=\"selectedResponsibilities?.length ? selectedResponsibilities : []\" (closeList)=\"close()\" (closeEvent)=\"save()\" [displayElementKey]=\"'ReportName'\" [singularText]=\"'Responsibility selected'\" [pluralText]=\"'Responsibilities selected'\" (deleteEvent)=\"deleteEvent($event)\"></app-floating-bar>\r\n </div>\r\n</div>", 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\";::ng-deep .program-responsibility-listing{position:fixed;inset:0 30px 0 0}::ng-deep .program-responsibility-listing:before{background:#1E5DD3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .program-responsibility-listing.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::ng-deep .program-responsibility-listing-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .program-responsibility-listing-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .program-responsibility-listing-body .search-block{position:relative}::ng-deep .program-responsibility-listing-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .program-responsibility-listing-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .program-responsibility-listing-body .search-block input::placeholder{color:#747576}::ng-deep .program-responsibility-listing-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .program-responsibility-listing-body-inner{height:calc(100vh - 17.5rem)}::ng-deep .program-responsibility-listing-body-inner .inner-item-left{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-mid{width:25%}::ng-deep .program-responsibility-listing-body-inner .inner-item-right{width:50%}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
386
398
  }], ctorParameters: function () { return [{ type: i1.GrcService }]; }, propDecorators: { getSelectedProgramAndResp: [{
387
399
  type: Input,
388
400
  args: ['selectedProgramAndResp']
401
+ }], selectedRC: [{
402
+ type: Input
403
+ }], MODE: [{
404
+ type: Input
389
405
  }], responsibilityListingComponent: [{
390
406
  type: ViewChild,
391
407
  args: ['dataListing']
392
408
  }] } });
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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cUM7a0JBdEJqRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsOEJBQThCO3dCQUM5QixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUN6QixXQUdRLENBQUMsV0FBVyxDQUFDO2lHQW1DZSx5QkFBeUI7c0JBQTdELEtBQUs7dUJBQUMsd0JBQXdCO2dCQVUvQiw4QkFBOEI7c0JBRDdCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9saXN0LWxvYWRlci9saXN0LWxvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBHcmNTdWJDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSRVNQT05TSUJJTElUWV9UQUJMRV9DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2xpbmstcmVzcG9uc2liaWxpdHkuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBHcmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZ3JjLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IExJTktTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZENvbXBvbmVudCxcclxuICAgIEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIEdyY1N1YkNhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcclxuICAgIExpc3RMb2FkZXJNb2R1bGUsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxuICBvdXRwdXRzOiBbJ2Nsb3NlTGlzdCddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJvZ3JhbVR5cGVzID0gUkVTUE9OU0lCSUxJVFlfVEFCTEVfQ0FSRDtcclxuICBDRE5fTElOSyA9IExJTktTO1xyXG4gIHNlbGVjdGVkVGFiOiAwIHwgMSB8IDIgfCAzID0gMTtcclxuXHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcblxyXG4gIHByb2dyYW1Mb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm9ncmFtQ291bnRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZXNwb25zaWJpbGl0eUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhdGVnb3J5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55W10gPSBbXTtcclxuICBwcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGUhOiBhbnk7XHJcbiAgc2VsZWN0ZWRQcm9ncmFtOiBhbnk7XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55O1xyXG4gIHByb2dyYW1DdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBjYXRlZ29yeUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcHJvZ3JhbURhdGE6IGFueTtcclxuICBjYXRlZ29yeURhdGE6IGFueTtcclxuICByZXNwb25zaWJpbGl0eURhdGE6IGFueSA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcbiAgc2VsZWN0ZWRQcm9ncmFtSWRzOiBhbnlbXSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBwcm9ncmFtQ2FsbCE6IFN1YnNjcmlwdGlvbjtcclxuICBjYXRlZ29yeUNhbGwhOiBTdWJzY3JpcHRpb247XHJcbiAgcmVzcG9uc2liaWxpdHlDYWxsITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3AnKSBzZXQgZ2V0U2VsZWN0ZWRQcm9ncmFtQW5kUmVzcChkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGRhdGEgfHwgW107XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgICB0aGlzLmdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGF0YUxpc3RpbmcnKVxyXG4gIHJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCE6IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmNTZXJ2aWNlOiBHcmNTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gdGhpcy5ncmNTZXJ2aWNlPy5nZXRCdXNpbmVzc0N5Y2xlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuXHJcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmNsb3NlTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9ncmFtc0xpc3QoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnByb2dyYW1DYWxsKSB7XHJcbiAgICAgIHRoaXMucHJvZ3JhbUNhbGwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXHJcbiAgICAgICAgYTogJycsXHJcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYWdlTm86IHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlIHx8IDEsXHJcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAtMSB9LFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxyXG4gICAgICAgIHR5cGVBcnI6IFt0aGlzLnNlbGVjdGVkVGFiXSxcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLnByb2dyYW1DYWxsID0gdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLnByb2dyYW1EYXRhLmRhdGEgPSByZXMuZGF0YSA/PyBbXTtcclxuICAgICAgICB0aGlzLnByb2dyYW1EYXRhID0geyAuLi5yZXMgfTtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHJlcz8uZGF0YVswXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Qcm9ncmFtUGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1YkNhdGVnb3J5UGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vIHx8IDE7XHJcbiAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQodGhpcy5zZWxlY3RlZFByb2dyYW0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQuZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShldmVudCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gZXZlbnQ7XHJcbiAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcclxuICAgICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICAgICAgdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQcm9ncmFtc0NvdW50KHBhcmFtc09iamVjdD86IGFueSkge1xyXG4gICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHtcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIHR5cGU6ICcnLFxyXG4gICAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxyXG4gICAgICAgIGE6ICcnLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgICAgcmlza0lkczogW10sXHJcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcclxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZU5vOiAxLFxyXG4gICAgICAgIHNvcnRPYmo6IHsgc29ydEJ5OiAnJywgdHlwZTogJycgfSxcclxuICAgICAgICBwYWdlTmFtZTogJ2NhdGVnb3J5JyxcclxuICAgICAgICB0eXBlQXJyOiBbMSwgMiwgMywgMF0sXHJcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxyXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICAgIHN0YXRlOiBbMiwgM10sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdENvdW50KHJlcXVlc3QpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUNvdW50TG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMF0uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmFjdGl2ZSArIHJlcz8ucmVndWxhdGlvbkNvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMV0uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5zdGFuZGFyZENvdW50Py5hY3RpdmUgKyByZXM/LnN0YW5kYXJkQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1syXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LmludGVybmFsQ291bnQ/LmFjdGl2ZSArIHJlcz8uaW50ZXJuYWxDb3VudD8uY29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzNdLmNvdW50ID1cclxuICAgICAgICAgIHJlcz8ub3RoZXJDb3VudD8uYWN0aXZlICsgcmVzPy5vdGhlckNvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHByb2dyYW06IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlDYWxsKSB7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlDYWxsLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IHByb2dyYW07XHJcbiAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMucmVzZXRDb250cm9sVmFyaWFibGUoKTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICAgIGlkOiBwcm9ncmFtPy5faWQsXHJcbiAgICAgIHNjb3BlVHlwZTogJ3Jpc2snLFxyXG4gICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcclxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIGZpbHRlckRhdGE6IHtcclxuICAgICAgICBhcHBMaXN0OiBbXSxcclxuICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICByZXZpZXdlcklkOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogW10sXHJcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcclxuICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcclxuICAgICAgfSxcclxuICAgICAgcGFnZTogdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlIHx8IDEsXHJcbiAgICAgIC8vIHNvcnRpbmdDb3VudDogdGhpcy5jYXRlZ29yeVNvcnRWYWx1ZSxcclxuICAgICAgbmFtZTogJ25hbWUnLFxyXG4gICAgICBidXNpbmVzc0N5Y2xlOiB7XHJcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcclxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxyXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICAgIC8vIFwic2NvcGVUeXBlXCI6ICdyaXNrJyxcclxuICAgICAgICB0eXBlOiAncmlzaycsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmNhdGVnb3J5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRTdWJDYXRlZ29yeUxpc3QoaGVhZGVycykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0geyAuLi5yZXMgfTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSByZXM/LmRhdGFbMF07XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRQcm9ncmFtKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gZXZlbnQ/LmNhdGVnb3J5O1xyXG4gICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcclxuICAgIC8vIHRoaXMuZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRTdWJDYXRlZ29yeShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XHJcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzTGlzdChldmVudD86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlDYWxsKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLnJlc3BDb3VudCA9IGV2ZW50LnNvcnRWYWx1ZTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdpc0J1c2luZXNzQ3ljbGUnLCAndHJ1ZScpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFyZW50SWQnLCB0aGlzLnNlbGVjdGVkUHJvZ3JhbT8uY2F0ZWdvcnlfaWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VObycsIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA/PyAxKTtcclxuICAgIC8vIGlmIChbMSwgLTFdLmluY2x1ZGVzKHRoaXMuY29udHJvbFNvcnRWYWx1ZSkpIHtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydEJ5JywgJ0RhdGEuUmVwb3J0TmFtZScpO1xyXG4gICAgLy8gfVxyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VUeXBlJywgJ3Jpc2snKTtcclxuICAgIGxldCBidXNpbmVzc0N5Y2xlID0ge1xyXG4gICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxyXG4gICAgICBwYWdlVHlwZTogJ3Jpc2snLFxyXG4gICAgICBmaWx0ZXJEYXRhOiB7XHJcbiAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgcmlza0lkczogW10sXHJcbiAgICAgICAgcmV2aWV3ZXJJZDogW10sXHJcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IFtdLFxyXG4gICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcclxuICAgICAgICBlbnRydXN0ZWRUbzogW10sXHJcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsID0gdGhpcy5ncmNTZXJ2aWNlXHJcbiAgICAgIC5nZXRSZXNwb25zaWJpbGl0eUJ5Q2F0ZWdvcnlJZChwYXJhbXMsIGJ1c2luZXNzQ3ljbGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGEgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YVsnZGF0YSddID0gdGhpcy5zZXREYXRhTGlzdFN0cnVjdHVyZShcclxuICAgICAgICAgICAgcmVzPy5kYXRhXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlZERhdGFMaXN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm87XHJcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhTGlzdFN0cnVjdHVyZShyZXM6IGFueSkge1xyXG4gICAgY29uc3QgZGF0YSA9IHJlcz8ubWFwKChyZXNwb25zaWJpbGl0eTogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4ucmVzcG9uc2liaWxpdHksXHJcbiAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LlJlcG9ydE5hbWUsXHJcbiAgICAgICAgY29udHJvbElkOiByZXNwb25zaWJpbGl0eT8uQ29udHJvbElkLFxyXG4gICAgICAgIF9pZDogcmVzcG9uc2liaWxpdHk/LkVuY3J5cHRlZFJlcG9ydElkLFxyXG4gICAgICAgIGVudHJ1c3RlZEJ5OiB7XHJcbiAgICAgICAgICBuYW1lOiByZXNwb25zaWJpbGl0eT8uQXNzaWduQnksXHJcbiAgICAgICAgICBlbWFpbDogcmVzcG9uc2liaWxpdHk/LkFzc2lnbkJ5RW1haWwsXHJcbiAgICAgICAgICBwcm9maWxlUGljOiByZXNwb25zaWJpbGl0eT8ubWVtYmVyX3BpYyA/PyAnJyxcclxuICAgICAgICAgIHNob3J0TmFtZTogcmVzcG9uc2liaWxpdHk/Lm1lbWJlcl9zaG9ydF9uYW1lLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IHtcclxuICAgICAgICAgIG5hbWU6IHJlc3BvbnNpYmlsaXR5Py5Bc3NpZ25UbyxcclxuICAgICAgICAgIGVtYWlsOiByZXNwb25zaWJpbGl0eT8uQXNzaWduVG8sXHJcbiAgICAgICAgICBwcm9maWxlUGljOiByZXNwb25zaWJpbGl0eT8uZW1wbG95ZWVfcGljID8/ICcnLFxyXG4gICAgICAgICAgc2hvcnROYW1lOiByZXNwb25zaWJpbGl0eT8uZW1wbG95ZWVfc2hvcnRfbmFtZSxcclxuICAgICAgICAgIEVudHJ1c3RlZFRvTWVtYmVyczogcmVzcG9uc2liaWxpdHk/LkVudHJ1c3RlZFRvTWVtYmVycyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHdpdGhpbkRhdGE6IHJlc3BvbnNpYmlsaXR5Py5SQ19kZXRhaWxzX2FycmF5Py5tYXAoKHdpdGhpbjogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuYW1lOiB3aXRoaW4/LnJjX25hbWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZFByb2dyYW1JZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgICAvLyB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUlkcyhzZWxlY3RlZERhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZD8uY2F0ZWdvcnk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzLnB1c2goc2VsZWN0ZWQ/LnByb2dyYW0/LnByb2dyYW1JZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xyXG4gICAgcHJvZ3JhbUluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChcclxuICAgICAgKGNhdDogYW55KSA9PiBjYXQ/LnByb2dyYW0/LnByb2dyYW1JZCA9PT0gdGhpcy5zZWxlY3RlZFByb2dyYW0/LnByb2dyYW1JZFxyXG4gICAgKTtcclxuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IHNlbGVjdGVkRGF0YVtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA9IFtdO1xyXG4gICAgc2VsZWN0ZWREYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcy5wdXNoKC4uLml0ZW0/LnJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSZXNwb25zaWJpbGl0aWVzPC9oMz48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxyXG4gICAgICAgIDxhcHAtdGFibGUtY2FyZC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtQ291bnRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cclxuICAgICAgICA8YXBwLXRhYmxlLWNhcmRcclxuICAgICAgICAgICAgKm5nSWY9XCIhcHJvZ3JhbUNvdW50TG9hZGVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXHJcbiAgICAgICAgICAgIFt0YWJsZUNhcmRdPVwicHJvZ3JhbVR5cGVzXCJcclxuICAgICAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdHkgU2VsZWN0ZWQnXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcclxuICAgICAgICAgICAgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICAjc2VhcmNoUmlza0NhdGVnb3J5IChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBQcm9ncmFtc1wiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1ib2R5LWlubmVyIHZ4LW1iLTIgdngtZC1mbGV4XCIgW2NsYXNzLnZ4LWp1c3RpZnktY2VudGVyXT1cIighcHJvZ3JhbUxvYWRlciAmJiAhcHJvZ3JhbURhdGE/LmRhdGE/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihwcm9ncmFtTG9hZGVyIHx8IHByb2dyYW1EYXRhPy5kYXRhPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1sZWZ0IHZ4LXByLTJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLW1pZCB2eC1wci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhY2F0ZWdvcnlMb2FkZXIgJiYgIXByb2dyYW1Mb2FkZXJcIiAgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtjYXRlZ29yaWVzXT1cImNhdGVnb3J5RGF0YVwiICBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiAgW2N1cnJlbnRQYWdlXT1cImNhdGVnb3J5Q3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZENhdGVnb3J5SWRzXCIgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblN1YkNhdGVnb3J5UGFnZUNoYW5nZSgkZXZlbnQpXCI+PC9hcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJjYXRlZ29yeUxvYWRlciB8fCBwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmICFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlciAmJiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCAhPT0gMFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtyZXNwb25zaWJpbGl0eURhdGFdPVwicmVzcG9uc2liaWxpdHlEYXRhXCIgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW2FjdGl2ZUNhdGVnb3J5XT1cInNlbGVjdGVkQ2F0ZWdvcnlcIiBbc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcF09XCJzZWxlY3RlZFByb2dyYW1BbmRSZXNwXCIgKGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApPVwiY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCgkZXZlbnQpXCIgW2N1cnJlbnRQYWdlXT1cInJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2VcIiBbcGVyUGFnZUxpbWl0XT1cIjMwXCIgW3RvdGFsTGlzdERhdGFdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9pdGVtc1wiIFt0b3RhbFBhZ2VzXT1cInJlc3BvbnNpYmlsaXR5RGF0YT8udG90YWxfcGFnZXNcIiAoZ2V0VXBkYXRlZERhdGFMaXN0KT1cImdldFVwZGF0ZWREYXRhTGlzdCgkZXZlbnQpXCIgPjwvYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICEocmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlcilcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiKCFwcm9ncmFtTG9hZGVyICYmICFwcm9ncmFtRGF0YT8uZGF0YT8ubGVuZ3RoKVwiIFtub0RhdGFJbWFnZV09XCJDRE5fTElOSz8ubm9EYXRhXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtZmxvYXRpbmctYmFyICAgW3NlbGVjdGVkRGF0YV09XCJzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXM/Lmxlbmd0aCA/IHNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA6IFtdXCIgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ1JlcG9ydE5hbWUnXCIgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXRpZXMgc2VsZWN0ZWQnXCIgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIj48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
409
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFFaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFekYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQXdCMUQsTUFBTSxPQUFPLHFDQUFxQztJQWdEaEQsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQS9DMUMsaUJBQVksR0FBRyx5QkFBeUIsQ0FBQztRQUN6QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQWtCLENBQUMsQ0FBQztRQUUvQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNwQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsMkJBQXNCLEdBQVUsRUFBRSxDQUFDO1FBQ25DLDhCQUF5QixHQUFVLEVBQUUsQ0FBQztRQUN0QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUkxQix1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFDL0Isd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBQ2hDLDhCQUF5QixHQUFXLENBQUMsQ0FBQztRQUd0Qyx1QkFBa0IsR0FBUTtZQUN4QixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7UUFDRix1QkFBa0IsR0FBVSxFQUFFLENBQUM7UUFDL0Isd0JBQW1CLEdBQVUsRUFBRSxDQUFDO1FBQ2hDLDZCQUF3QixHQUFVLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQVlwQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBRTVDLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU1oRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFoQkQsSUFBcUMseUJBQXlCLENBQUMsSUFBUztRQUN0RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBYUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFUixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVztRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxFQUFFO2dCQUNSLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixDQUFDLEVBQUUsRUFBRTtnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxVQUFVLEVBQUUsRUFBRTtvQkFDZCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xFLFdBQVcsRUFBRSxFQUFFO29CQUNmLFdBQVcsRUFBRSxFQUFFO29CQUNmLHNCQUFzQixFQUFFLEVBQUU7aUJBQzNCO2dCQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksQ0FBQztnQkFDcEMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFVBQVU7Z0JBQ2pELFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUTtnQkFDN0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGtCQUFrQjtnQkFDakUsY0FBYyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxjQUFjO2dCQUN6RCxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2Q7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQiwwQ0FBMEM7Z0JBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFVO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsOEJBQThCLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRTtZQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFrQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxFQUFFO2dCQUNSLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixDQUFDLEVBQUUsRUFBRTtnQkFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQzdCLFVBQVUsRUFBRTtvQkFDVixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxVQUFVLEVBQUUsRUFBRTtvQkFDZCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xFLFdBQVcsRUFBRSxFQUFFO29CQUNmLFdBQVcsRUFBRSxFQUFFO29CQUNmLHNCQUFzQixFQUFFLEVBQUU7aUJBQzNCO2dCQUNELE1BQU0sRUFBRSxDQUFDO2dCQUNULE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDakMsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVO2dCQUNqRCxRQUFRLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVE7Z0JBQzdDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0I7Z0JBQ2pFLGNBQWMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsY0FBYztnQkFDekQsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNkO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RELElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQ3hCLEdBQUcsRUFBRSxlQUFlLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQ3hCLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQ3hCLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQ3hCLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO2dCQUN2RCxJQUFJO1lBQ04sQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFZO1FBQ2pDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsK0JBQStCO1FBQy9CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHO1lBQ2hCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLGNBQWMsRUFBRSxPQUFPO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsVUFBVSxFQUFFLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO2dCQUNsRSxXQUFXLEVBQUUsRUFBRTtnQkFDZixXQUFXLEVBQUUsRUFBRTtnQkFDZixzQkFBc0IsRUFBRSxFQUFFO2FBQzNCO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDO1lBQ25DLHdDQUF3QztZQUN4QyxJQUFJLEVBQUUsTUFBTTtZQUNaLGFBQWEsRUFBRTtnQkFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFVBQVU7Z0JBQ2pELFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUTtnQkFDN0Msa0JBQWtCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGtCQUFrQjtnQkFDakUsY0FBYyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxjQUFjO2dCQUN6RCxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQix1QkFBdUI7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxVQUFVLEVBQUUsRUFBRTtvQkFDZCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7b0JBQ2xFLFdBQVcsRUFBRSxFQUFFO29CQUNmLFdBQVcsRUFBRSxFQUFFO29CQUNmLHNCQUFzQixFQUFFLEVBQUU7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN4RSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDakMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCw0REFBNEQ7SUFDOUQsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQVc7UUFDakMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO1FBQ0Qsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMseUJBQXlCLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsaURBQWlEO1FBQ2pELGdFQUFnRTtRQUNoRSx5REFBeUQ7UUFDekQsSUFBSTtRQUNKLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxhQUFhLEdBQUc7WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVO1lBQ2pELFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUTtZQUM3QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsa0JBQWtCO1lBQ2pFLGNBQWMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsY0FBYztZQUN6RCxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFVBQVUsRUFBRSxFQUFFO2dCQUNkLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtnQkFDbEUsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLEVBQUU7Z0JBQ2Ysc0JBQXNCLEVBQUUsRUFBRTthQUMzQjtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVU7YUFDdEMsNkJBQTZCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQzthQUNwRCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3pELEdBQUcsRUFBRSxJQUFJLENBQ1YsQ0FBQztnQkFDRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztZQUNwQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssRUFBRSxNQUFNLENBQUM7UUFDL0MsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVE7UUFDM0IsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGNBQW1CLEVBQUUsRUFBRTtZQUM1QyxPQUFPO2dCQUNMLEdBQUcsY0FBYztnQkFDakIsSUFBSSxFQUFFLGNBQWMsRUFBRSxVQUFVO2dCQUNoQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVM7Z0JBQ3BDLEdBQUcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCO2dCQUN0QyxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRO29CQUM5QixLQUFLLEVBQUUsY0FBYyxFQUFFLGFBQWE7b0JBQ3BDLFVBQVUsRUFBRSxjQUFjLEVBQUUsVUFBVSxJQUFJLEVBQUU7b0JBQzVDLFNBQVMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCO2lCQUM3QztnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRO29CQUM5QixLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVE7b0JBQy9CLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxJQUFJLEVBQUU7b0JBQzlDLFNBQVMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CO29CQUM5QyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsa0JBQWtCO2lCQUN2RDtnQkFDRCxVQUFVLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUNoRSxPQUFPO3dCQUNMLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTztxQkFDdEIsQ0FBQztnQkFDSixDQUFDLENBQUM7Z0JBQ0YsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXO2FBQ2xELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQVU7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsWUFBaUI7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDdEMsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxZQUFpQjtRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUNuQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEtBQUssSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQzFFLENBQUM7UUFDRixJQUFJLFlBQVksS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsQ0FBQztTQUNqRTthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxZQUFpQjtRQUM5QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQ25DLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWlCO1FBQ2hDLElBQUksYUFBYSxHQUFVLEVBQUUsQ0FBQztRQUM5QixhQUFhLEdBQUcsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O2tJQTdZVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQywwWUNoRGxELGlqSkErQ00sc3lERGpCRixZQUFZLGtJQUNaLGFBQWEsOEJBQ2IsZUFBZSw4QkFDZixhQUFhLDhCQUNiLGlCQUFpQix5akJBQ2pCLGdCQUFnQiwrQkFDaEIsa0JBQWtCLDRLQUNsQiwyQkFBMkIsb1JBQzNCLGlDQUFpQyxtV0FDakMsOEJBQThCLGdRQUM5QixnQkFBZ0IsZ0hBQ2hCLFlBQVksaVRBQ1osd0JBQXdCOzJGQU1mLHFDQUFxQztrQkF0QmpELFNBQVM7K0JBQ0Usb0NBQW9DLGNBQ2xDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsaUNBQWlDO3dCQUNqQyw4QkFBOEI7d0JBQzlCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWix3QkFBd0I7cUJBQ3pCLFdBR1EsQ0FBQyxXQUFXLENBQUM7aUdBb0NlLHlCQUF5QjtzQkFBN0QsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBTXRCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtOLDhCQUE4QjtzQkFEN0IsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtY2F0ZWdvcnktbGlzdGluZy9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdyY1N1YkNhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1zdWItY2F0ZWdvcnktbGlzdGluZy9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJFU1BPTlNJQklMSVRZX1RBQkxFX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbGluay1yZXNwb25zaWJpbGl0eS5jb25zdGFudCc7XHJcbmltcG9ydCB7IEdyY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ncmMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvdGFibGUtY2FyZC1sb2FkZXIvdGFibGUtY2FyZC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxyXG4gICAgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxyXG4gICAgTGlzdExvYWRlck1vZHVsZSxcclxuICAgIE5vRGF0YU1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxyXG4gIG91dHB1dHM6IFsnY2xvc2VMaXN0J10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcm9ncmFtVHlwZXMgPSBSRVNQT05TSUJJTElUWV9UQUJMRV9DQVJEO1xyXG4gIENETl9MSU5LID0gTElOS1M7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAxO1xyXG5cclxuICBhbmltYXRpb24gPSBmYWxzZTtcclxuXHJcbiAgcHJvZ3JhbUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1Db3VudExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlc3BvbnNpYmlsaXR5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2F0ZWdvcnlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnlbXSA9IFtdO1xyXG4gIHByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueVtdID0gW107XHJcbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcclxuICBzZWxlY3RlZFByb2dyYW06IGFueTtcclxuICBzZWxlY3RlZENhdGVnb3J5OiBhbnk7XHJcbiAgcHJvZ3JhbUN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG4gIGNhdGVnb3J5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBwcm9ncmFtRGF0YTogYW55O1xyXG4gIGNhdGVnb3J5RGF0YTogYW55O1xyXG4gIHJlc3BvbnNpYmlsaXR5RGF0YTogYW55ID0ge1xyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuICBzZWxlY3RlZFByb2dyYW1JZHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeUlkczogYW55W10gPSBbXTtcclxuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWRSQ0lkczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgcHJvZ3JhbUNhbGwhOiBTdWJzY3JpcHRpb247XHJcbiAgY2F0ZWdvcnlDYWxsITogU3Vic2NyaXB0aW9uO1xyXG4gIHJlc3BvbnNpYmlsaXR5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZFByb2dyYW1BbmRSZXNwJykgc2V0IGdldFNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBkYXRhIHx8IFtdO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQzogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xyXG5cclxuICBjbG9zZUxpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdkYXRhTGlzdGluZycpXHJcbiAgcmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50ITogR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyY1NlcnZpY2U6IEdyY1NlcnZpY2UpIHtcclxuICAgIHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGUgPSB0aGlzLmdyY1NlcnZpY2U/LmdldEJ1c2luZXNzQ3ljbGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG5cclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUxpc3QuZW1pdCh0aGlzLnByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1zTGlzdChldmVudD86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucHJvZ3JhbUNhbGwpIHtcclxuICAgICAgdGhpcy5wcm9ncmFtQ2FsbC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB7XHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICB0eXBlOiAnJyxcclxuICAgICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcclxuICAgICAgICBhOiAnJyxcclxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICBmaWx0ZXJEYXRhOiB7XHJcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcclxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgICAgcmV2aWV3ZXJJZDogW10sXHJcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXHJcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgICBlbnRydXN0ZWRUbzogW10sXHJcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBhZ2VObzogdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgICBzb3J0T2JqOiB7IHNvcnRCeTogJycsIHR5cGU6IC0xIH0sXHJcbiAgICAgICAgcGFnZU5hbWU6ICdjYXRlZ29yeScsXHJcbiAgICAgICAgdHlwZUFycjogW3RoaXMuc2VsZWN0ZWRUYWJdLFxyXG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXHJcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxyXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxyXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcclxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcclxuICAgICAgICBzdGF0ZTogWzIsIDNdLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIHRoaXMucHJvZ3JhbUNhbGwgPSB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMucHJvZ3JhbURhdGEuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbURhdGEgPSB7IC4uLnJlcyB9O1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQocmVzPy5kYXRhWzBdKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblByb2dyYW1QYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObyB8fCAxO1xyXG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uU3ViQ2F0ZWdvcnlQYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcclxuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZCh0aGlzLnNlbGVjdGVkUHJvZ3JhbSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudC5kZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkVGFiKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcclxuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xyXG4gICAgICB0aGlzLmdldFByb2dyYW1zQ291bnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1zQ291bnQocGFyYW1zT2JqZWN0PzogYW55KSB7XHJcbiAgICB0aGlzLnByb2dyYW1Db3VudExvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgdHlwZTogJycsXHJcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXHJcbiAgICAgICAgYTogJycsXHJcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYWdlTm86IDEsXHJcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAnJyB9LFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxyXG4gICAgICAgIHR5cGVBcnI6IFsxLCAyLCAzLCAwXSxcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0Q291bnQocmVxdWVzdCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1swXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LnJlZ3VsYXRpb25Db3VudD8uYWN0aXZlICsgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1sxXS5jb3VudCA9XHJcbiAgICAgICAgICByZXM/LnN0YW5kYXJkQ291bnQ/LmFjdGl2ZSArIHJlcz8uc3RhbmRhcmRDb3VudD8uY29tcGxldGVkO1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzJdLmNvdW50ID1cclxuICAgICAgICAgIHJlcz8uaW50ZXJuYWxDb3VudD8uYWN0aXZlICsgcmVzPy5pbnRlcm5hbENvdW50Py5jb21wbGV0ZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbM10uY291bnQgPVxyXG4gICAgICAgICAgcmVzPy5vdGhlckNvdW50Py5hY3RpdmUgKyByZXM/Lm90aGVyQ291bnQ/LmNvbXBsZXRlZDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3J5QnlQcm9ncmFtSWQocHJvZ3JhbTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jYXRlZ29yeUNhbGwpIHtcclxuICAgICAgdGhpcy5jYXRlZ29yeUNhbGwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gcHJvZ3JhbTtcclxuICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSB0cnVlO1xyXG4gICAgLy8gdGhpcy5yZXNldENvbnRyb2xWYXJpYWJsZSgpO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgICAgaWQ6IHByb2dyYW0/Ll9pZCxcclxuICAgICAgc2NvcGVUeXBlOiAncmlzaycsXHJcbiAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxyXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgICBwYWdlOiB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgLy8gc29ydGluZ0NvdW50OiB0aGlzLmNhdGVnb3J5U29ydFZhbHVlLFxyXG4gICAgICBuYW1lOiAnbmFtZScsXHJcbiAgICAgIGJ1c2luZXNzQ3ljbGU6IHtcclxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxyXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcclxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXHJcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgICAgLy8gXCJzY29wZVR5cGVcIjogJ3Jpc2snLFxyXG4gICAgICAgIHR5cGU6ICdyaXNrJyxcclxuICAgICAgICBjYWxsRnJvbTogJ2dyYycsXHJcbiAgICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgICAgYXBwTGlzdDogW10sXHJcbiAgICAgICAgICByaXNrSWRzOiBbXSxcclxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxyXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLmNhdGVnb3J5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZS5nZXRTdWJDYXRlZ29yeUxpc3QoaGVhZGVycykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlEYXRhID0geyAuLi5yZXMgfTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSByZXM/LmRhdGFbMF07XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRQcm9ncmFtKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gZXZlbnQ/LmNhdGVnb3J5O1xyXG4gICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHRoaXMuc2VsZWN0ZWRQcm9ncmFtKTtcclxuICAgIC8vIHRoaXMuZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlU2VsZWN0ZWRTdWJDYXRlZ29yeShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XHJcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzTGlzdChldmVudD86IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlDYWxsKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLnJlc3BDb3VudCA9IGV2ZW50LnNvcnRWYWx1ZTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdpc0J1c2luZXNzQ3ljbGUnLCAndHJ1ZScpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFyZW50SWQnLCB0aGlzLnNlbGVjdGVkUHJvZ3JhbT8uY2F0ZWdvcnlfaWQpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VObycsIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA/PyAxKTtcclxuICAgIC8vIGlmIChbMSwgLTFdLmluY2x1ZGVzKHRoaXMuY29udHJvbFNvcnRWYWx1ZSkpIHtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcclxuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydEJ5JywgJ0RhdGEuUmVwb3J0TmFtZScpO1xyXG4gICAgLy8gfVxyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2VUeXBlJywgJ3Jpc2snKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhbGxGcm9tJywgJ2dyYycpO1xyXG4gICAgbGV0IGJ1c2luZXNzQ3ljbGUgPSB7XHJcbiAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXHJcbiAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcclxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcclxuICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXHJcbiAgICAgIHBhZ2VUeXBlOiAncmlzaycsXHJcbiAgICAgIGNhbGxGcm9tOiAnZ3JjJyxcclxuICAgICAgZmlsdGVyRGF0YToge1xyXG4gICAgICAgIGFwcExpc3Q6IFtdLFxyXG4gICAgICAgIHJpc2tJZHM6IFtdLFxyXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcclxuICAgICAgICBlbnRydXN0ZWRCeTogW10sXHJcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbCA9IHRoaXMuZ3JjU2VydmljZVxyXG4gICAgICAuZ2V0UmVzcG9uc2liaWxpdHlCeUNhdGVnb3J5SWQocGFyYW1zLCBidXNpbmVzc0N5Y2xlKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhID0gcmVzO1xyXG4gICAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGFbJ2RhdGEnXSA9IHRoaXMuc2V0RGF0YUxpc3RTdHJ1Y3R1cmUoXHJcbiAgICAgICAgICAgIHJlcz8uZGF0YVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZWREYXRhTGlzdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vO1xyXG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YUxpc3RTdHJ1Y3R1cmUocmVzOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGEgPSByZXM/Lm1hcCgocmVzcG9uc2liaWxpdHk6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnJlc3BvbnNpYmlsaXR5LFxyXG4gICAgICAgIG5hbWU6IHJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lLFxyXG4gICAgICAgIGNvbnRyb2xJZDogcmVzcG9uc2liaWxpdHk/LkNvbnRyb2xJZCxcclxuICAgICAgICBfaWQ6IHJlc3BvbnNpYmlsaXR5Py5FbmNyeXB0ZWRSZXBvcnRJZCxcclxuICAgICAgICBlbnRydXN0ZWRCeToge1xyXG4gICAgICAgICAgbmFtZTogcmVzcG9uc2liaWxpdHk/LkFzc2lnbkJ5LFxyXG4gICAgICAgICAgZW1haWw6IHJlc3BvbnNpYmlsaXR5Py5Bc3NpZ25CeUVtYWlsLFxyXG4gICAgICAgICAgcHJvZmlsZVBpYzogcmVzcG9uc2liaWxpdHk/Lm1lbWJlcl9waWMgPz8gJycsXHJcbiAgICAgICAgICBzaG9ydE5hbWU6IHJlc3BvbnNpYmlsaXR5Py5tZW1iZXJfc2hvcnRfbmFtZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVudHJ1c3RlZFRvOiB7XHJcbiAgICAgICAgICBuYW1lOiByZXNwb25zaWJpbGl0eT8uQXNzaWduVG8sXHJcbiAgICAgICAgICBlbWFpbDogcmVzcG9uc2liaWxpdHk/LkFzc2lnblRvLFxyXG4gICAgICAgICAgcHJvZmlsZVBpYzogcmVzcG9uc2liaWxpdHk/LmVtcGxveWVlX3BpYyA/PyAnJyxcclxuICAgICAgICAgIHNob3J0TmFtZTogcmVzcG9uc2liaWxpdHk/LmVtcGxveWVlX3Nob3J0X25hbWUsXHJcbiAgICAgICAgICBFbnRydXN0ZWRUb01lbWJlcnM6IHJlc3BvbnNpYmlsaXR5Py5FbnRydXN0ZWRUb01lbWJlcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB3aXRoaW5EYXRhOiByZXNwb25zaWJpbGl0eT8uUkNfZGV0YWlsc19hcnJheT8ubWFwKCh3aXRoaW46IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmFtZTogd2l0aGluPy5yY19uYW1lLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBzdWJDYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZFByb2dyYW1JZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XHJcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUlkcyhzZWxlY3RlZERhdGE6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMgPSBbXTtcclxuICAgIHNlbGVjdGVkRGF0YT8uZm9yRWFjaCgoc2VsZWN0ZWQ6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBzZWxlY3RlZD8uY2F0ZWdvcnkgfHwgW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzLnB1c2goc2VsZWN0ZWQ/LnByb2dyYW0/LnByb2dyYW1JZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xyXG4gICAgcHJvZ3JhbUluZGV4ID0gc2VsZWN0ZWREYXRhLmZpbmRJbmRleChcclxuICAgICAgKGNhdDogYW55KSA9PiBjYXQ/LnByb2dyYW0/LnByb2dyYW1JZCA9PT0gdGhpcy5zZWxlY3RlZFByb2dyYW0/LnByb2dyYW1JZFxyXG4gICAgKTtcclxuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IHNlbGVjdGVkRGF0YVtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA9IFtdO1xyXG4gICAgc2VsZWN0ZWREYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcy5wdXNoKC4uLml0ZW0/LnJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSQ0lkcyhzZWxlY3RlZFJDOiBhbnlbXSkge1xyXG4gICAgbGV0IHNlbGVjdGVkUkNJZHM6IGFueVtdID0gW107XHJcbiAgICBzZWxlY3RlZFJDSWRzID0gc2VsZWN0ZWRSQz8ubWFwKChyYzogYW55KSA9PiByYz8ucmNfaWQpO1xyXG5cclxuICAgIHJldHVybiBzZWxlY3RlZFJDSWRzO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSZXNwb25zaWJpbGl0aWVzPC9oMz48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxyXG4gICAgICAgIDxhcHAtdGFibGUtY2FyZC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtQ291bnRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cclxuICAgICAgICA8YXBwLXRhYmxlLWNhcmRcclxuICAgICAgICAgICAgKm5nSWY9XCIhcHJvZ3JhbUNvdW50TG9hZGVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXHJcbiAgICAgICAgICAgIFt0YWJsZUNhcmRdPVwicHJvZ3JhbVR5cGVzXCJcclxuICAgICAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdHkgU2VsZWN0ZWQnXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcclxuICAgICAgICAgICAgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICAjc2VhcmNoUmlza0NhdGVnb3J5IChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBQcm9ncmFtc1wiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1ib2R5LWlubmVyIHZ4LW1iLTIgdngtZC1mbGV4XCIgW2NsYXNzLnZ4LWp1c3RpZnktY2VudGVyXT1cIighcHJvZ3JhbUxvYWRlciAmJiAhcHJvZ3JhbURhdGE/LmRhdGE/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihwcm9ncmFtTG9hZGVyIHx8IHByb2dyYW1EYXRhPy5kYXRhPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1sZWZ0IHZ4LXByLTJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLW1pZCB2eC1wci0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhY2F0ZWdvcnlMb2FkZXIgJiYgIXByb2dyYW1Mb2FkZXJcIiAgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtjYXRlZ29yaWVzXT1cImNhdGVnb3J5RGF0YVwiICBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiAgW2N1cnJlbnRQYWdlXT1cImNhdGVnb3J5Q3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZENhdGVnb3J5SWRzXCIgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblN1YkNhdGVnb3J5UGFnZUNoYW5nZSgkZXZlbnQpXCI+PC9hcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJjYXRlZ29yeUxvYWRlciB8fCBwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGFwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyICYmICFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlciAmJiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCAhPT0gMFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtNT0RFXT1cIk1PREVcIiBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiIFthY3RpdmVQcm9ncmFtXT1cInNlbGVjdGVkUHJvZ3JhbVwiIFthY3RpdmVDYXRlZ29yeV09XCJzZWxlY3RlZENhdGVnb3J5XCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKT1cImNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoJGV2ZW50KVwiIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlXCIgW3BlclBhZ2VMaW1pdF09XCIzMFwiIFt0b3RhbExpc3REYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YT8udG90YWxfaXRlbXNcIiBbdG90YWxQYWdlc109XCJyZXNwb25zaWJpbGl0eURhdGE/LnRvdGFsX3BhZ2VzXCIgKGdldFVwZGF0ZWREYXRhTGlzdCk9XCJnZXRVcGRhdGVkRGF0YUxpc3QoJGV2ZW50KVwiID48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJyZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhKHJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXIpXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIighcHJvZ3JhbUxvYWRlciAmJiAhcHJvZ3JhbURhdGE/LmRhdGE/Lmxlbmd0aClcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLWZsb2F0aW5nLWJhciAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzPy5sZW5ndGggPyBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgOiBbXVwiICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIiAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIidSZXBvcnROYW1lJ1wiIFtzaW5ndWxhclRleHRdPVwiJ1Jlc3BvbnNpYmlsaXR5IHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIHNlbGVjdGVkJ1wiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==