@lowcodeunit/applications-flow-common 1.39.59-merge → 1.39.62-merge

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 (38) hide show
  1. package/esm2020/lib/controls/connected-source/connected-source.component.mjs +2 -2
  2. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +15 -9
  3. package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +3 -3
  4. package/esm2020/lib/controls/edit-enterprise-form/edit-enterprise-form.component.mjs +3 -3
  5. package/esm2020/lib/controls/edit-project-form/edit-project-form.component.mjs +2 -2
  6. package/esm2020/lib/controls/emulated-devices-toggle/emulated-devices-toggle.component.mjs +5 -2
  7. package/esm2020/lib/controls/feed-comment-form/feed-comment-form.component.mjs +2 -2
  8. package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +2 -2
  9. package/esm2020/lib/controls/source-control-form/source-control-form.component.mjs +6 -3
  10. package/esm2020/lib/controls/state-config-form/state-config-form.component.mjs +2 -2
  11. package/esm2020/lib/dialogs/add-team-member-dialog/add-team-member-dialog.component.mjs +8 -8
  12. package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +2 -2
  13. package/esm2020/lib/dialogs/edit-application-dialog/edit-application-dialog.component.mjs +2 -2
  14. package/esm2020/lib/dialogs/edit-enterprise-dialog/edit-enterprise-dialog.component.mjs +3 -3
  15. package/esm2020/lib/dialogs/edit-project-dialog/edit-project-dialog.component.mjs +2 -2
  16. package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +7 -4
  17. package/esm2020/lib/dialogs/new-application-dialog/new-application-dialog.component.mjs +2 -2
  18. package/esm2020/lib/dialogs/processor-details-dialog/processor-details-dialog.component.mjs +2 -2
  19. package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +2 -2
  20. package/esm2020/lib/elements/applications-card/applications-card.component.mjs +3 -3
  21. package/esm2020/lib/elements/base-form/base-form.component.mjs +2 -2
  22. package/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +2 -2
  23. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +2 -2
  24. package/esm2020/lib/elements/feed-header/feed-header.component.mjs +5 -5
  25. package/esm2020/lib/elements/form-card/form-card.component.mjs +2 -2
  26. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +8 -8
  27. package/esm2020/lib/elements/project-card/project-card.component.mjs +4 -6
  28. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +2 -2
  29. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +2 -2
  30. package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +2 -2
  31. package/esm2020/lib/elements/question-card/question-card.component.mjs +2 -2
  32. package/esm2020/lib/services/eac.service.mjs +5 -5
  33. package/esm2020/lib/services/project.service.mjs +21 -15
  34. package/fesm2015/lowcodeunit-applications-flow-common.mjs +106 -86
  35. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
  36. package/fesm2020/lowcodeunit-applications-flow-common.mjs +101 -82
  37. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
  38. package/package.json +1 -1
@@ -32,7 +32,7 @@ export class ConnectedSourceComponent {
32
32
  this.setupSourceFormGroup();
33
33
  }
34
34
  SourceSubmit() {
35
- console.log('submitting source values: ', this.SourceFormGroup.value);
35
+ // console.log('submitting source values: ', this.SourceFormGroup.value);
36
36
  this.SaveFormEvent.emit(this.SourceFormGroup.value);
37
37
  }
38
38
  setupSourceFormGroup() {
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
64
64
  type: Output,
65
65
  args: ['save-form-event']
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9jb250cm9scy9jb25uZWN0ZWQtc291cmNlL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvY29ubmVjdGVkLXNvdXJjZS9jb25uZWN0ZWQtc291cmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLFlBQXNCLE1BQWtCLEVBQVksUUFBcUI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFwQkQsd0VBQXdFO0lBQ3hFLDhDQUE4QztJQUM5QyxJQUFJO0lBRUoscURBQXFEO0lBQ3JELHFEQUFxRDtJQUNyRCxJQUFJO0lBRUosSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQVlNLFFBQVE7UUFDWCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLGVBQWU7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQzNCLHFCQUFxQixFQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQztJQUNOLENBQUM7O3FIQTNEUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2VUNWckMscXBIQWtHQTsyRkR4RmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHNCQUFzQjsySEFNekIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixvQkFBb0I7c0JBRDFCLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUl4QixPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUztnQkFJVCxhQUFhO3NCQURuQixNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtY29ubmVjdGVkLXNvdXJjZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGVkU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2N1cnJlbnQtc291cmNlJylcbiAgICBwdWJsaWMgQ3VycmVudFNvdXJjZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCdzb3VyY2UtY29udHJvbHMnKVxuICAgIHB1YmxpYyBTb3VyY2VDb250cm9sczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNTb3VyY2VDb250cm9sIH07XG5cbiAgICBASW5wdXQoJ3NvdXJjZS1jb250cm9sLWxvb2t1cHMnKVxuICAgIHB1YmxpYyBTb3VyY2VDb250cm9sTG9va3VwczogQXJyYXk8c3RyaW5nPjtcblxuICAgIEBJbnB1dCgnbG9hZGluZycpXG4gICAgcHVibGljIExvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+O1xuXG4gICAgLy8gcHVibGljIGdldCBTb3VyY2VDb250cm9scygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ1NvdXJjZUNvbnRyb2wgfSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzIHx8IHt9O1xuICAgIC8vIH1cblxuICAgIC8vIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbExvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgLy8gICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLlNvdXJjZUNvbnRyb2xzIHx8IHt9KTtcbiAgICAvLyB9XG5cbiAgICBwdWJsaWMgZ2V0IFNvdXJjZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLlNvdXJjZUZvcm1Hcm91cD8uY29udHJvbHMuc291cmNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBTb3VyY2VGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBTa2VsZXRvbkVmZmVjdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSwgcHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAgICAgdGhpcy5Ta2VsZXRvbkVmZmVjdCA9ICd3YXZlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBTb3VyY2VGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU291cmNlU3VibWl0KCkge1xuICAgICAgICBjb25zb2xlLmxvZygnc3VibWl0dGluZyBzb3VyY2UgdmFsdWVzOiAnLCB0aGlzLlNvdXJjZUZvcm1Hcm91cC52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQodGhpcy5Tb3VyY2VGb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cFNvdXJjZUZvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5Tb3VyY2VGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHt9KTtcblxuICAgICAgICB0aGlzLnNldHVwU291cmNlRm9ybSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cFNvdXJjZUZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU291cmNlRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICAnc291cmNlQ29udHJvbExvb2t1cCcsXG4gICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5DdXJyZW50U291cmNlIHx8ICcnLCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIGNsYXNzPVwic291cmNlLWZvcm1cIlxuICAgIFtmb3JtR3JvdXBdPVwiU291cmNlRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU291cmNlU3VibWl0KClcIlxuPlxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImZsb3ctY2FyZFwiPlxuICAgICAgICA8IS0tIFNLRUxFVE9OIExPQURJTkcgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkIFNvdXJjZSBDb250cm9sXG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+WFhYPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIHNrZWxldG9uLXRleHRcbiAgICAgICAgICAgICAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgICAgICBTYXZlIENvbm5lY3RlZCBTb3VyY2VcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gRU5EIFNLRUxFVE9OIExPQURJTkcgLS0+XG5cbiAgICAgICAgPCEtLSBCRUdJTiBBQ1RVQUwgQ09OVEVOVCAtLT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPiBDb25uZWN0ZWQgU291cmNlIENvbnRyb2wgPC9tYXQtY2FyZC10aXRsZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29ubmVjdGluZyBhIHNvdXJjZSBjb250cm9sIHdpbGwgdXBkYXRlIHRoZSBmZWVkIHRvIG9ubHkgc2hvdyBpdGVtcyBmcm9tIHRoZSBjb25udGVjdGVkIHNvdXJjZSBjb250cm9sLCBhbmQgd2lsbCBhbGxvdyBmb3IgYXV0b21hdGljIHVwZGF0aW5nLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZUNvbnRyb2xMb29rdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU291cmNlIENvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3JjQ3RybExvb2t1cCBvZiBTb3VyY2VDb250cm9sTG9va3Vwc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzcmNDdHJsTG9va3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlQ29udHJvbHNbc3JjQ3RybExvb2t1cF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNyY0N0cmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNyY0N0cmwuTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICFTb3VyY2VGb3JtR3JvdXAudmFsaWQgfHwgIVNvdXJjZUZvcm1Hcm91cC5kaXJ0eVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBTYXZlIENvbm5lY3RlZCBTb3VyY2VcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtY2FyZD5cbjwvZm9ybT5cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGVkLXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9jb250cm9scy9jb25uZWN0ZWQtc291cmNlL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvY29ubmVjdGVkLXNvdXJjZS9jb25uZWN0ZWQtc291cmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLFlBQXNCLE1BQWtCLEVBQVksUUFBcUI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFwQkQsd0VBQXdFO0lBQ3hFLDhDQUE4QztJQUM5QyxJQUFJO0lBRUoscURBQXFEO0lBQ3JELHFEQUFxRDtJQUNyRCxJQUFJO0lBRUosSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQVlNLFFBQVE7UUFDWCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sWUFBWTtRQUNmLHlFQUF5RTtRQUV6RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVTLGVBQWU7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQzNCLHFCQUFxQixFQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDdEQsQ0FBQztJQUNOLENBQUM7O3FIQTNEUSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw2VUNWckMscXBIQWtHQTsyRkR4RmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHNCQUFzQjsySEFNekIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLGNBQWM7c0JBRHBCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixvQkFBb0I7c0JBRDFCLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUl4QixPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUztnQkFJVCxhQUFhO3NCQURuQixNQUFNO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtY29ubmVjdGVkLXNvdXJjZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Nvbm5lY3RlZC1zb3VyY2UuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGVkU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2N1cnJlbnQtc291cmNlJylcbiAgICBwdWJsaWMgQ3VycmVudFNvdXJjZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCdzb3VyY2UtY29udHJvbHMnKVxuICAgIHB1YmxpYyBTb3VyY2VDb250cm9sczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNTb3VyY2VDb250cm9sIH07XG5cbiAgICBASW5wdXQoJ3NvdXJjZS1jb250cm9sLWxvb2t1cHMnKVxuICAgIHB1YmxpYyBTb3VyY2VDb250cm9sTG9va3VwczogQXJyYXk8c3RyaW5nPjtcblxuICAgIEBJbnB1dCgnbG9hZGluZycpXG4gICAgcHVibGljIExvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+O1xuXG4gICAgLy8gcHVibGljIGdldCBTb3VyY2VDb250cm9scygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ1NvdXJjZUNvbnRyb2wgfSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzIHx8IHt9O1xuICAgIC8vIH1cblxuICAgIC8vIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbExvb2t1cHMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgLy8gICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLlNvdXJjZUNvbnRyb2xzIHx8IHt9KTtcbiAgICAvLyB9XG5cbiAgICBwdWJsaWMgZ2V0IFNvdXJjZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLlNvdXJjZUZvcm1Hcm91cD8uY29udHJvbHMuc291cmNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBTb3VyY2VGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBTa2VsZXRvbkVmZmVjdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSwgcHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAgICAgdGhpcy5Ta2VsZXRvbkVmZmVjdCA9ICd3YXZlJztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBTb3VyY2VGb3JtR3JvdXAoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU291cmNlU3VibWl0KCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnc3VibWl0dGluZyBzb3VyY2UgdmFsdWVzOiAnLCB0aGlzLlNvdXJjZUZvcm1Hcm91cC52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQodGhpcy5Tb3VyY2VGb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cFNvdXJjZUZvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5Tb3VyY2VGb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHt9KTtcblxuICAgICAgICB0aGlzLnNldHVwU291cmNlRm9ybSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cFNvdXJjZUZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU291cmNlRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICAnc291cmNlQ29udHJvbExvb2t1cCcsXG4gICAgICAgICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5DdXJyZW50U291cmNlIHx8ICcnLCBbXSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIGNsYXNzPVwic291cmNlLWZvcm1cIlxuICAgIFtmb3JtR3JvdXBdPVwiU291cmNlRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU291cmNlU3VibWl0KClcIlxuPlxuICAgIDxtYXQtY2FyZCBjbGFzcz1cImZsb3ctY2FyZFwiPlxuICAgICAgICA8IS0tIFNLRUxFVE9OIExPQURJTkcgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkIFNvdXJjZSBDb250cm9sXG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+WFhYPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIHNrZWxldG9uLXRleHRcbiAgICAgICAgICAgICAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgICAgICBTYXZlIENvbm5lY3RlZCBTb3VyY2VcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gRU5EIFNLRUxFVE9OIExPQURJTkcgLS0+XG5cbiAgICAgICAgPCEtLSBCRUdJTiBBQ1RVQUwgQ09OVEVOVCAtLT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPiBDb25uZWN0ZWQgU291cmNlIENvbnRyb2wgPC9tYXQtY2FyZC10aXRsZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiQ29ubmVjdGluZyBhIHNvdXJjZSBjb250cm9sIHdpbGwgdXBkYXRlIHRoZSBmZWVkIHRvIG9ubHkgc2hvdyBpdGVtcyBmcm9tIHRoZSBjb25udGVjdGVkIHNvdXJjZSBjb250cm9sLCBhbmQgd2lsbCBhbGxvdyBmb3IgYXV0b21hdGljIHVwZGF0aW5nLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZUNvbnRyb2xMb29rdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU291cmNlIENvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3JjQ3RybExvb2t1cCBvZiBTb3VyY2VDb250cm9sTG9va3Vwc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzcmNDdHJsTG9va3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlQ29udHJvbHNbc3JjQ3RybExvb2t1cF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNyY0N0cmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNyY0N0cmwuTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgZnhGbGV4PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICFTb3VyY2VGb3JtR3JvdXAudmFsaWQgfHwgIVNvdXJjZUZvcm1Hcm91cC5kaXJ0eVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBTYXZlIENvbm5lY3RlZCBTb3VyY2VcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtY2FyZD5cbjwvZm9ybT5cbiJdfQ==
@@ -61,11 +61,11 @@ export class DevopsSourceControlFormComponent {
61
61
  this.destroyFormControls();
62
62
  }
63
63
  ngOnInit() {
64
- console.log('source control lookup', this.EditingSourceControlLookup);
64
+ // console.log('source control lookup', this.EditingSourceControlLookup);
65
65
  if (this.EditingSourceControlLookup === null) {
66
66
  this.CreateNewSourceControl();
67
67
  }
68
- console.log('source control', this.EditingSourceControl);
68
+ // console.log('source control', this.EditingSourceControl);
69
69
  if (this.EditingSourceControl != null) {
70
70
  this.DevOpsSourceControlFormGroup = this.formBuilder.group({});
71
71
  this.setupFormControls();
@@ -93,13 +93,16 @@ export class DevopsSourceControlFormComponent {
93
93
  if (this.DevOpsActions) {
94
94
  this.DevOpsActionLookups = Object.keys(this.DevOpsActions || {});
95
95
  }
96
- console.log('devopsAction lookups: ', this.DevOpsActionLookups);
96
+ // console.log('devopsAction lookups: ', this.DevOpsActionLookups);
97
97
  if (this.Environment?.Sources && this.EditingSourceControlLookup) {
98
98
  this.EditingSourceControl =
99
99
  this.Environment?.Sources[this.EditingSourceControlLookup];
100
100
  }
101
101
  if (!!this.DevOpsActionLookupFormControl?.value) {
102
- console.log('DevOpsActionLookupFormControl: ', this.DevOpsActionLookupFormControl?.value);
102
+ // console.log(
103
+ // 'DevOpsActionLookupFormControl: ',
104
+ // this.DevOpsActionLookupFormControl?.value
105
+ // );
103
106
  this.DevOpsActionLookup = this.DevOpsActionLookupFormControl?.value;
104
107
  }
105
108
  if (!!this.EditingSourceControl?.DevOpsActionTriggerLookups) {
@@ -109,7 +112,7 @@ export class DevopsSourceControlFormComponent {
109
112
  else {
110
113
  this.DevOpsActionLookup = null;
111
114
  }
112
- console.log('devops action lookup = ', this.DevOpsActionLookup);
115
+ // console.log('devops action lookup = ', this.DevOpsActionLookup);
113
116
  // console.log('form value', this.DevOpsActionLookupFormControl.value);
114
117
  }
115
118
  // API Methods
@@ -203,7 +206,10 @@ export class DevopsSourceControlFormComponent {
203
206
  this.EditingSourceControlLookup = scLookup;
204
207
  }
205
208
  SubmitSourceControl() {
206
- console.log('source control submitted: ', this.DevOpsSourceControlFormGroup.value);
209
+ // console.log(
210
+ // 'source control submitted: ',
211
+ // this.DevOpsSourceControlFormGroup.value
212
+ // );
207
213
  // console.log("saving source: ", this.EnvironmentLookup)
208
214
  this.SaveSourceControl();
209
215
  }
@@ -231,7 +237,7 @@ export class DevopsSourceControlFormComponent {
231
237
  };
232
238
  const scLookup = `github://${source.Organization}/${source.Repository}`;
233
239
  saveEnvReq.Environment.Sources[scLookup] = source;
234
- console.log('save SC: ', saveEnvReq);
240
+ // console.log('save SC: ', saveEnvReq);
235
241
  let resp = this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
236
242
  resp.then((res) => {
237
243
  this.SaveStatusEvent.emit(res);
@@ -357,7 +363,7 @@ export class DevopsSourceControlFormComponent {
357
363
  }
358
364
  setupFormControls() {
359
365
  this.destroyFormControls();
360
- console.log('Source Control: ', this.EditingSourceControl);
366
+ // console.log('Source Control: ', this.EditingSourceControl);
361
367
  this.DevOpsSourceControlFormGroup.addControl('devOpsActionLookup', new FormControl(this.DevOpsActionLookup || '', []));
362
368
  this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'organization'].join(''), new FormControl(this.EditingSourceControl.Organization ?? '', Validators.required));
363
369
  this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'repository'].join(''), new FormControl(this.EditingSourceControl.Repository ?? '', Validators.required));
@@ -395,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
395
401
  type: ViewChild,
396
402
  args: ['branches']
397
403
  }] } });
398
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0gsV0FBVyxFQUVYLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBcUMsSUFBSSxFQUFVLE1BQU0sYUFBYSxDQUFDO0FBWTlFLE9BQU8sRUFJSCxxQkFBcUIsR0FDeEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGdDQUFnQztJQW1IekMsZ0JBQWdCO0lBQ2hCLFlBQ2MsV0FBb0MsRUFDcEMsTUFBa0IsRUFDbEIsV0FBd0I7UUFGeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOdEIsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFRekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FB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O3NCQURyQixNQUFNO3VCQUFDLG1CQUFtQjtnQkFJcEIsYUFBYTtzQkFEbkIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEJhc2VNb2RlbGVkUmVzcG9uc2UsIEJhc2VSZXNwb25zZSwgR3VpZCwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFYUNBcnRpZmFjdCxcbiAgICBFYUNEZXZPcHNBY3Rpb24sXG4gICAgRWFDRW52aXJvbm1lbnRBc0NvZGUsXG4gICAgRWFDU291cmNlQ29udHJvbCxcbn0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBwbGljYXRpb25zLWZsb3cuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEVhQ1NlcnZpY2UsXG4gICAgU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEdpdEh1YkJyYW5jaCxcbiAgICBHaXRIdWJPcmdhbml6YXRpb24sXG4gICAgR2l0SHViUmVwb3NpdG9yeSxcbiAgICBQcm9qZWN0SG9zdGluZ0RldGFpbHMsXG59IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gICAgLy8gIEZpZWxkc1xuXG4gICAgQElucHV0KCdlZGl0aW5nLXNvdXJjZS1jb250cm9sLWxvb2t1cCcpXG4gICAgcHVibGljIEVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2Vudmlyb25tZW50JylcbiAgICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gICAgQElucHV0KCdlbnZpcm9ubWVudC1sb29rdXAnKVxuICAgIHB1YmxpYyBFbnZpcm9ubWVudExvb2t1cDogc3RyaW5nO1xuXG4gICAgQElucHV0KCdsb2FkaW5nJylcbiAgICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoJ3NhdmUtc3RhdHVzLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZVN0YXR1c0V2ZW50OiBFdmVudEVtaXR0ZXI8U3RhdHVzPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2JyYW5jaGVzJylcbiAgICBwdWJsaWMgQnJhbmNoZXNJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIC8vT3B0aW9uYWwgaW5wdXQgbm90IGJlaW5nIHVzZWQgc2V0dGluZyB0b1xuICAgIC8vIEBJbnB1dCgnYnVpbGQtcGF0aCcpXG4gICAgcHVibGljIEJ1aWxkUGF0aDogc3RyaW5nO1xuXG4gICAgLy9PcHRpb25hbCBub3QgYmVpbmcgdXNlZFxuICAgIC8vIEBJbnB1dCgnYnVpbGQtcGF0aC1kaXNhYmxlZCcpXG4gICAgcHVibGljIEJ1aWxkUGF0aERpc2FibGVkOiBib29sZWFuO1xuXG4gICAgLy8gdGhpcyBpbnB1dCBpcyBub3QgYmVpbmcgdXNlZCBhbnl3aGVyZVxuICAgIC8vIEBJbnB1dCgnc291cmNlLWNvbnRyb2wtcm9vdCcpXG4gICAgcHVibGljIFNvdXJjZUNvbnRyb2xSb290OiBzdHJpbmc7XG5cbiAgICAvL25vdCBiZWluZyB1c2VkIHNldCB0byB0cnVlIGJ5IGRlZmF1bHRcbiAgICAvLyBASW5wdXQoJ3VzZS1icmFuY2hlcycpXG4gICAgcHVibGljIFVzZUJyYW5jaGVzOiBib29sZWFuO1xuXG4gICAgLy9ub3QgYmVpbmcgdXNlZCBzZXQgdG8gZmFsc2UgYnkgZGVmYXVsdFxuICAgIC8vIEBJbnB1dCgndXNlLWJ1aWxkLXBhdGgnKVxuICAgIHB1YmxpYyBVc2VCdWlsZFBhdGg6IGJvb2xlYW47XG5cbiAgICAvLyAgUHJvcGVydGllc1xuXG4gICAgcHVibGljIGdldCBCcmFuY2hlc0Zvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LmdldChcbiAgICAgICAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnJhbmNoZXMnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBCdWlsZFBhdGhGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5nZXQoXG4gICAgICAgICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ2J1aWxkUGF0aCdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LmdldCgnZGV2T3BzQWN0aW9uTG9va3VwJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBNYWluQnJhbmNoRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8uZ2V0KFxuICAgICAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdtYWluQnJhbmNoJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgT3JnYW5pemF0aW9uRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8uZ2V0KFxuICAgICAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBSZXBvc2l0b3J5Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8uZ2V0KFxuICAgICAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5J1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBBcnRpZmFjdDogRWFDQXJ0aWZhY3Q7XG5cbiAgICBwdWJsaWMgQXJ0aWZhY3RMb29rdXA6IHN0cmluZztcblxuICAgIHB1YmxpYyBBcnRpZmFjdExvb2t1cHM6IEFycmF5PHN0cmluZz47XG5cbiAgICBwdWJsaWMgQnJhbmNoT3B0aW9uczogR2l0SHViQnJhbmNoW107XG5cbiAgICBwdWJsaWMgQnVpbGRQYXRoT3B0aW9uczogc3RyaW5nW107XG5cbiAgICBwdWJsaWMgQ3JlYXRpbmdSZXBvc2l0b3J5OiBib29sZWFuO1xuXG4gICAgcHVibGljIERldk9wc0FjdGlvbjogRWFDRGV2T3BzQWN0aW9uO1xuXG4gICAgcHVibGljIERldk9wc0FjdGlvbnM6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDRGV2T3BzQWN0aW9uIH07XG5cbiAgICBwdWJsaWMgRGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgRGV2T3BzQWN0aW9uTG9va3VwczogQXJyYXk8c3RyaW5nPjtcblxuICAgIHB1YmxpYyBEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgRWRpdGluZ1NvdXJjZUNvbnRyb2w6IEVhQ1NvdXJjZUNvbnRyb2w7XG5cbiAgICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuICAgIHB1YmxpYyBPcmdhbml6YXRpb25PcHRpb25zOiBHaXRIdWJPcmdhbml6YXRpb25bXTtcblxuICAgIHB1YmxpYyBSZXBvc2l0b3J5T3B0aW9uczogR2l0SHViUmVwb3NpdG9yeVtdO1xuXG4gICAgcHVibGljIFNlbGVjdGVkQnJhbmNoZXM6IHN0cmluZ1tdO1xuXG4gICAgcHVibGljIFNrZWxldG9uRWZmZWN0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgU2VwYXJhdG9yS2V5c0NvZGVzID0gW0VOVEVSLCBDT01NQV0gYXMgY29uc3Q7XG5cbiAgICAvLyAgQ29uc3RydWN0b3JzXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXJcbiAgICApIHtcbiAgICAgICAgdGhpcy5TYXZlU3RhdHVzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbCA9IHt9O1xuXG4gICAgICAgIHRoaXMuQnVpbGRQYXRoID0gbnVsbDtcblxuICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzID0gbmV3IFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgPSAnJztcblxuICAgICAgICB0aGlzLlNrZWxldG9uRWZmZWN0ID0gJ3dhdmUnO1xuXG4gICAgICAgIHRoaXMuVXNlQnJhbmNoZXMgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuVXNlQnVpbGRQYXRoID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gIExpZmUgQ3ljbGVcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95Rm9ybUNvbnRyb2xzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZygnc291cmNlIGNvbnRyb2wgbG9va3VwJywgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cCk7XG5cbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXAgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuQ3JlYXRlTmV3U291cmNlQ29udHJvbCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKCdzb3VyY2UgY29udHJvbCcsIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wpO1xuXG4gICAgICAgIGlmICh0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pO1xuXG4gICAgICAgICAgICB0aGlzLnNldHVwRm9ybUNvbnRyb2xzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLlJlZnJlc2hPcmdhbml6YXRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAodGhpcy5FbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0cyAmJiB0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5BcnRpZmFjdCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRW52aXJvbm1lbnQ/LkFydGlmYWN0c1t0aGlzLkFydGlmYWN0TG9va3VwXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuRW52aXJvbm1lbnQ/LkRldk9wc0FjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbnMgPSB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnM7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5EZXZPcHNBY3Rpb25Mb29rdXApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb24gPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5BcnRpZmFjdExvb2t1cHMgPSB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5BcnRpZmFjdExvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuRGV2T3BzQWN0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBzID0gT2JqZWN0LmtleXModGhpcy5EZXZPcHNBY3Rpb25zIHx8IHt9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdkZXZvcHNBY3Rpb24gbG9va3VwczogJywgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBzKTtcblxuICAgICAgICBpZiAodGhpcy5FbnZpcm9ubWVudD8uU291cmNlcyAmJiB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwKSB7XG4gICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sID1cbiAgICAgICAgICAgICAgICB0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzW3RoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBGb3JtQ29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgICdEZXZPcHNBY3Rpb25Mb29rdXBGb3JtQ29udHJvbDogJyxcbiAgICAgICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sPy52YWx1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwID0gdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBGb3JtQ29udHJvbD8udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5EZXZPcHNBY3Rpb25UcmlnZ2VyTG9va3Vwcykge1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXAgPVxuICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkRldk9wc0FjdGlvblRyaWdnZXJMb29rdXBzWzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXAgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKCdkZXZvcHMgYWN0aW9uIGxvb2t1cCA9ICcsIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2Zvcm0gdmFsdWUnLCB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAgQVBJIE1ldGhvZHNcbiAgICBwdWJsaWMgQWRkQnJhbmNoT3B0aW9uKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZEJyYW5jaE9wdGlvbihldmVudC52YWx1ZSk7XG5cbiAgICAgICAgZXZlbnQuaW5wdXQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgQnJhbmNoT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRCcmFuY2hPcHRpb24oZXZlbnQub3B0aW9uLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQnJhbmNoZXNDaGFuZ2VkKGJyYW5jaGVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQnVpbGRQYXRoQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIC8vZG8gc29tZXRoaW5nPz9cbiAgICB9XG5cbiAgICBwdWJsaWMgQ3JlYXRlTmV3U291cmNlQ29udHJvbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5TZXRFZGl0aW5nU291cmNlQ29udHJvbChHdWlkLkNyZWF0ZVJhdygpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQ3JlYXRlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIENhbmNlbENyZWF0ZVJlcG9zaXRvcnkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuQ3JlYXRpbmdSZXBvc2l0b3J5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIExvZygpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2Zvcm0gdmFsdWUnLCB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgRGV2T3BzQWN0aW9uTG9va3VwQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwID0gZXZlbnQudmFsdWU7XG4gICAgICAgIHRoaXMuY29uZmlndXJlRGV2T3BzQWN0aW9uKCk7XG4gICAgfVxuXG4gICAgcHVibGljIE1haW5CcmFuY2hDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIE9yZ2FuaXphdGlvbkNoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sO1xuXG4gICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnJlc2V0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuQnJhbmNoZXNGb3JtQ29udHJvbC5yZXNldCgpO1xuXG4gICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBSZWZyZXNoT3JnYW5pemF0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5saXN0T3JnYW5pemF0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnJlc2V0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuQnJhbmNoZXNGb3JtQ29udHJvbD8ucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBSZW1vdmVCcmFuY2hPcHRpb24ob3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuaW5kZXhPZihvcHRpb24pO1xuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZW1pdEJyYW5jaGVzQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBSZXBvc2l0b3J5Q2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlcG8gPSB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbDtcblxuICAgICAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnJlc2V0KCk7XG5cbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgICAgICAgICB0aGlzLmxpc3RCcmFuY2hlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RCdWlsZFBhdGhzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgU2F2ZVJlcG9zaXRvcnkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3Qgb3JnID0gdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZTtcblxuICAgICAgICBjb25zdCByZXBvTmFtZSA9IHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgICAgICAgIC5DcmVhdGVSZXBvc2l0b3J5KG9yZywgcmVwb05hbWUpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdFJlcG9zaXRvcmllcyhyZXBvTmFtZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyAgVE9ETzogIE5lZWQgdG8gc3VyZmFjZSBhbiBlcnJvciB0byB0aGUgdXNlci4uLlxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBTZXRFZGl0aW5nU291cmNlQ29udHJvbChzY0xvb2t1cDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXAgPSBzY0xvb2t1cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3VibWl0U291cmNlQ29udHJvbCgpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAnc291cmNlIGNvbnRyb2wgc3VibWl0dGVkOiAnLFxuICAgICAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwic2F2aW5nIHNvdXJjZTogXCIsIHRoaXMuRW52aXJvbm1lbnRMb29rdXApXG4gICAgICAgIHRoaXMuU2F2ZVNvdXJjZUNvbnRyb2woKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU2F2ZVNvdXJjZUNvbnRyb2woKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgLy8uLi50aGlzLkVudmlyb25tZW50LFxuICAgICAgICAgICAgICAgIFNvdXJjZXM6IHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBFbnZpcm9ubWVudExvb2t1cDogdGhpcy5FbnZpcm9ubWVudExvb2t1cCxcbiAgICAgICAgICAgIC8vRW50ZXJwcmlzZURhdGFUb2tlbnM6IHt9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBzb3VyY2U6IEVhQ1NvdXJjZUNvbnRyb2wgPSB7XG4gICAgICAgICAgICAuLi50aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLFxuICAgICAgICAgICAgQnJhbmNoZXM6IHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyxcbiAgICAgICAgICAgIE1haW5CcmFuY2g6IHRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHNvdXJjZSA9IHtcbiAgICAgICAgICAgIC4uLnNvdXJjZSxcbiAgICAgICAgICAgIFR5cGU6ICdHaXRIdWInLFxuICAgICAgICAgICAgTmFtZTogYEAke3RoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWV9LyR7dGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWV9YCxcbiAgICAgICAgICAgIERldk9wc0FjdGlvblRyaWdnZXJMb29rdXBzOiBbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdLFxuICAgICAgICAgICAgT3JnYW5pemF0aW9uOiB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgUmVwb3NpdG9yeTogdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2NMb29rdXAgPSBgZ2l0aHViOi8vJHtzb3VyY2UuT3JnYW5pemF0aW9ufS8ke3NvdXJjZS5SZXBvc2l0b3J5fWA7XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5Tb3VyY2VzW3NjTG9va3VwXSA9IHNvdXJjZTtcblxuICAgICAgICBjb25zb2xlLmxvZygnc2F2ZSBTQzogJywgc2F2ZUVudlJlcSk7XG5cbiAgICAgICAgbGV0IHJlc3AgPSB0aGlzLmVhY1N2Yy5TYXZlRW52aXJvbm1lbnRBc0NvZGUoc2F2ZUVudlJlcSk7XG5cbiAgICAgICAgcmVzcC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZVN0YXR1c0V2ZW50LmVtaXQocmVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gIEhlbHBlcnNcblxuICAgIHByb3RlY3RlZCBhZGRCcmFuY2hPcHRpb24odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSB8fCAnJykudHJpbSgpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuaW5kZXhPZih2YWx1ZSkgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLkJyYW5jaGVzSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cbiAgICAgICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbmZpZ3VyZURldk9wc0FjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sLnNldFZhbHVlKFxuICAgICAgICAgICAgICAgIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwXG4gICAgICAgICAgICApO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzdHJveUZvcm1Db250cm9scygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woXG4gICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ21haW5CcmFuY2gnXS5qb2luKCcnKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnJhbmNoZXMnXS5qb2luKCcnKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJylcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSBbXTtcblxuICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LnJlbW92ZUNvbnRyb2woXG4gICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5yZW1vdmVDb250cm9sKFxuICAgICAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdyZXBvc2l0b3J5J10uam9pbignJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZW1pdEJyYW5jaGVzQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoIXRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLmluZGV4T2YoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnZhbHVlXG4gICAgICAgICAgICAgICAgKSA8IDApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgIChicmFuY2gpID0+IGJyYW5jaCA9PT0gJ21haW4nIHx8IGJyYW5jaCA9PT0gJ21hc3RlcidcbiAgICAgICAgICAgICAgICApIHx8IHRoaXMuU2VsZWN0ZWRCcmFuY2hlc1swXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5qb2luKCcsJykpO1xuXG4gICAgICAgIHRoaXMuQnJhbmNoZXNDaGFuZ2VkKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyB8fCBbXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxpc3RCcmFuY2hlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgICAgICAgICAgICAuTGlzdEJyYW5jaGVzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxHaXRIdWJCcmFuY2hbXT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5CcmFuY2hPcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkJyYW5jaGVzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuQnJhbmNoZXM7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5CcmFuY2hPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnJhbmNoZXNGb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkJyYW5jaE9wdGlvbnNbMF0uTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW3RoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdEJyYW5jaGVzQ2hhbmdlZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEJ1aWxkUGF0aHMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBsaXN0QnVpbGRQYXRocygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuVXNlQnVpbGRQYXRoKSB7XG4gICAgICAgICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAgICAgICAgICAgLkxpc3RCdWlsZFBhdGhzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxzdHJpbmdbXT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5CdWlsZFBhdGhPcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuQnVpbGRQYXRoT3B0aW9ucz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkJ1aWxkUGF0aEZvcm1Db250cm9sLnNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnVpbGRQYXRoT3B0aW9uc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxpc3RPcmdhbml6YXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgICAgICAgIC5MaXN0T3JnYW5pemF0aW9ucygpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxHaXRIdWJPcmdhbml6YXRpb25bXT4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25PcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ09yZ2FuaXphdGlvbiBPcHRpb25zOiAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25PcHRpb25zXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/Lk9yZ2FuaXphdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5Pcmdhbml6YXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5SZXBvc2l0b3J5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbGlzdFJlcG9zaXRvcmllcyhhY3RpdmVSZXBvOiBzdHJpbmcgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAgICAgLkxpc3RSZXBvc2l0b3JpZXModGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1YlJlcG9zaXRvcnlbXT4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlPcHRpb25zID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVSZXBvKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wuc2V0VmFsdWUoYWN0aXZlUmVwbyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEJ1aWxkUGF0aHMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLlJlcG9zaXRvcnlPcHRpb25zPy5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYXBwc0Zsb3dTdmMuTG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8UHJvamVjdEhvc3RpbmdEZXRhaWxzPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWd1cmVEZXZPcHNBY3Rpb24oKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldHVwRm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lGb3JtQ29udHJvbHMoKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnU291cmNlIENvbnRyb2w6ICcsIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wpO1xuXG4gICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ2Rldk9wc0FjdGlvbkxvb2t1cCcsXG4gICAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5EZXZPcHNBY3Rpb25Mb29rdXAgfHwgJycsIFtdKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdvcmdhbml6YXRpb24nXS5qb2luKCcnKSxcbiAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLk9yZ2FuaXphdGlvbiA/PyAnJyxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ3JlcG9zaXRvcnknXS5qb2luKCcnKSxcbiAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLlJlcG9zaXRvcnkgPz8gJycsXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ2JyYW5jaGVzJ10uam9pbignJyksXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sPy5CcmFuY2hlcyA/PyAnJyxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkJyYW5jaGVzO1xuXG4gICAgICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ21haW5CcmFuY2gnXS5qb2luKCcnKSxcbiAgICAgICAgICAgICAgICBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuTWFpbkJyYW5jaCA/PyAnJyxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5Vc2VCdWlsZFBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnVpbGRQYXRoJ10uam9pbignJyksXG4gICAgICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKHRoaXMuQnVpbGRQYXRoID8/ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWNhcmRcIlxuICAgIFtmb3JtR3JvdXBdPVwiRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cFwiXG4gICAgKG5nU3VibWl0KT1cIlN1Ym1pdFNvdXJjZUNvbnRyb2woKVwiXG4gICAgKGNsaWNrKT1cIkxvZygpXCJcbj5cbiAgICA8IS0tIDxtYXQtY2FyZCBjbGFzcz1cInNwcmVhZFwiIGNsYXNzPVwic2MtY2FyZFwiPiAtLT5cbiAgICA8IS0tIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICA8bWF0LWNhcmQtdGl0bGU+IFNvdXJjZSBDb250cm9sIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4IG1hdFRvb2x0aXA9XCJDb25maWd1cmUgc291cmNlIGNvbnRyb2wsIERldk9wcyBDSS9DRCwgYW5kIGFydGlmYWN0cy5cIj5cbiAgICAgICAgaW5mb19vdXRsaW5lXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPiAtLT5cblxuICAgIDwhLS0gPG1hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cbiAgICAgICAgPGxjdS1sb2FkZXIgW2xvYWRpbmddPVwiTG9hZGluZ1wiPjwvbGN1LWxvYWRlcj5cblxuICAgICAgICA8IS0tIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIiBcbiAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz4gLS0+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUxvYWRpbmdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGV2T3BzQWN0aW9uTG9va3VwXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZXZPcHMgQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJEZXZPcHNBY3Rpb25Mb29rdXBDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRldk9wc0FjdGlvbkxvb2t1cCBvZiBEZXZPcHNBY3Rpb25Mb29rdXBzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGV2T3BzQWN0aW9uTG9va3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZXZPcHNBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImRldk9wc0FjdGlvbi5OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkZXZPcHNBY3Rpb24uTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlwiPi0tIENyZWF0ZSBOZXcgLS08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCIgKm5nSWY9XCJPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgfHwgIUxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50IG1hcmdpbi1ib3R0b21cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiT3JnYW5pemF0aW9uT3B0aW9ucz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+Y29ycG9yYXRlX2ZhcmU8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdvcmdhbml6YXRpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJPcmdhbml6YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIk9yZ2FuaXphdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9yZ09wdCBvZiBPcmdhbml6YXRpb25PcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3JnT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcmdPcHQuTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJSZWZyZXNoT3JnYW5pemF0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlZnJlc2ggT3JnYW5pemF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi8ub2F1dGgvR2l0SHViT0F1dGg/b2F1dGgtZm9yY2UtZWRpdD10cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmUtYXV0aG9yaXplIE9yZ2FuaXphdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXVuY2hcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgICAgIElmIHlvdSBkb24ndCBoYXZlIGFuIG9yZ2FuaXphdGlvbiBvciB3b3VsZCBsaWtlIHRvIGNyZWF0ZSBhXG4gICAgICAgICAgICAgICAgICAgIG5ldyBvbmUsXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL2FjY291bnQvb3JnYW5pemF0aW9ucy9uZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcmltYXJ5LWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgaGVyZVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZFwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAoT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkICYmICFMb2FkaW5nKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5kZXNjcmlwdGlvbjwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnUmVwb3NpdG9yeSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdSZXBvc2l0b3J5IChzZWxlY3Qgb3JnYW5pemF0aW9uIGZpcnN0KSdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIU9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGluZyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJSZXBvc2l0b3J5Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhQ3JlYXRpbmdSZXBvc2l0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJlcG9PcHQgb2YgUmVwb3NpdG9yeU9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJyZXBvT3B0Lk5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyByZXBvT3B0Lk5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUmVwb3NpdG9yeSAoY3JlYXRlcyBuZXcgaWYgZG9lcyBub3QgZXhpc3QpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdyZXBvc2l0b3J5J1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgW2Z4SGlkZV09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ3JlYXRlUmVwb3NpdG9yeSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Z4SGlkZV09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICFDcmVhdGluZ1JlcG9zaXRvcnkgJiYgT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBhZGRfY2lyY2xlXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlNhdmVSZXBvc2l0b3J5KClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIkNyZWF0aW5nUmVwb3NpdG9yeSAmJiBSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggY29sb3I9XCJwcmltYXJ5XCI+IHNhdmUgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIkNhbmNlbENyZWF0ZVJlcG9zaXRvcnkoKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXg+IGNhbmNlbCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjYXJkXCJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKEJyYW5jaGVzRm9ybUNvbnRyb2w/LnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFMb2FkaW5nKSkgJiZcbiAgICAgICAgICAgICAgICAhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmXG4gICAgICAgICAgICAgICAgVXNlQnJhbmNoZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwib3JnLWljb25cIiBtYXRQcmVmaXg+YWNjb3VudF90cmVlPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VsZWN0ZWQgQnJhbmNoZXM8L21hdC1sYWJlbD5cblxuICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJCcmFuY2hPcHRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgI2JyYW5jaE9wdGlvbnM9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJhbmNoT3B0IG9mIEJyYW5jaE9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJicmFuY2hPcHQuTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJyYW5jaE9wdC5OYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cblxuICAgICAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0ICNzZWxlY3RlZEJyYW5jaGVzPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJSZW1vdmVCcmFuY2hPcHRpb24oc2VsQnJhbmNoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VsQnJhbmNoIG9mIFNlbGVjdGVkQnJhbmNoZXNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWxCcmFuY2ggfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNoaXA+XG5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOZXcgQnJhbmNoLi4uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnYnJhbmNoZXMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNicmFuY2hlc1xuICAgICAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJicmFuY2hPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwic2VsZWN0ZWRCcmFuY2hlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwiU2VwYXJhdG9yS2V5c0NvZGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRBZGRPbkJsdXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiQWRkQnJhbmNoT3B0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L21hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoIHdpdGgtaGludFwiXG4gICAgICAgICAgICAgICAgW2Z4U2hvd109XCJTZWxlY3RlZEJyYW5jaGVzPy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5hY2NvdW50X3RyZWU8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdtYWluQnJhbmNoJ1wiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWFpbiBCcmFuY2hcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiTWFpbkJyYW5jaENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2ggb2YgU2VsZWN0ZWRCcmFuY2hlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImJyYW5jaFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJyYW5jaCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJSZWZyZXNoT3JnYW5pemF0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvLm9hdXRoL0dpdEh1Yk9BdXRoP29hdXRoLWZvcmNlLWVkaXQ9dHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIlJlLWF1dGhvcml6ZSBPcmdhbml6YXRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgbGF1bmNoXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICAgICAgICBJZiB5b3UgZG9uJ3QgaGF2ZSBhbiBvcmdhbml6YXRpb24gb3Igd291bGQgbGlrZSB0byBjcmVhdGUgYVxuICAgICAgICAgICAgICAgICAgICBuZXcgb25lLFxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9hY2NvdW50L29yZ2FuaXphdGlvbnMvbmV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByaW1hcnktbGlua1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0IGhlcmVcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNhcmRcIlxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAoQnVpbGRQYXRoRm9ybUNvbnRyb2w/LnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgIChPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFMb2FkaW5nKSkgJiZcbiAgICAgICAgICAgICAgICAhQ3JlYXRpbmdSZXBvc2l0b3J5ICYmXG4gICAgICAgICAgICAgICAgVXNlQnVpbGRQYXRoXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aCB3aXRoLWhpbnRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5idWlsZDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ2J1aWxkUGF0aCdcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkJ1aWxkIFBhdGhcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiTG9hZGluZyB8fCBCdWlsZFBhdGhEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiQnVpbGRQYXRoQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJ1aWxkUGF0aCBvZiBCdWlsZFBhdGhPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYnVpbGRQYXRoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnVpbGRQYXRoIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgICAgICAgVGhlIGJ1aWxkIHBhdGggaWRlbnRpZmllcyB3aGljaCBidWlsZCBhY3Rpb24gdG8gdXNlIGZvciB5b3VyXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uXG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ByZWFkXCI+XG4gICAgICAgICAgICAgICAgPGxjdS1sb2FkZXIgc3R5bGU9XCJtYXJnaW46IGF1dG9cIiBbbG9hZGluZ109XCJ0cnVlXCI+PC9sY3UtbG9hZGVyPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGluZyBvcmdhbml6YXRpb25zXG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPGg0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBMb2FkaW5nIHJlcG9zaXRvcmllc1xuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuXG4gICAgICAgICAgICAgICAgICAgIDxoNFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIUJyYW5jaGVzRm9ybUNvbnRyb2w/LnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBMb2FkaW5nIGJyYW5jaGVzXG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPGg0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSZXBvc2l0b3J5Rm9ybUNvbnRyb2w/LnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5jaGVzRm9ybUNvbnRyb2w/LnZhbGlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFCdWlsZFBhdGhGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIExvYWRpbmcgYnVpbGQgcGF0aHNcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIDwvZGl2PiAtLT5cblxuICAgIDwhLS0gPC9tYXQtY2FyZC1jb250ZW50PiAtLT5cbiAgICA8IS0tIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+IC0tPlxuXG4gICAgPCEtLSA8YnV0dG9uIFxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBcbiAgICAgICAgKm5nSWY9XCIhTG9hZGluZ1wiXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIiBcbiAgICAgICAgZnhGbGV4PVwiMTAwJVwiIFxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLnZhbGlkIHx8ICFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmRpcnR5XCI+XG4gICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgICAgU2F2ZSBTb3VyY2UgQ29udHJvbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8bGN1LWxvYWRlciBbbG9hZGluZ109XCJMb2FkaW5nXCI+PC9sY3UtbG9hZGVyPiAtLT5cblxuICAgIDwhLS0gPC9tYXQtY2FyZC1hY3Rpb25zPiAtLT5cbiAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuPC9mb3JtPlxuIl19
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0vZGV2b3BzLXNvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0gsV0FBVyxFQUVYLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBcUMsSUFBSSxFQUFVLE1BQU0sYUFBYSxDQUFDO0FBWTlFLE9BQU8sRUFJSCxxQkFBcUIsR0FDeEIsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPN0MsTUFBTSxPQUFPLGdDQUFnQztJQW1IekMsZ0JBQWdCO0lBQ2hCLFlBQ2MsV0FBb0MsRUFDcEMsTUFBa0IsRUFDbEIsV0FBd0I7UUFGeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOdEIsdUJBQWtCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFVLENBQUM7UUFRekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FB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QUFDLG9CQUFvQixDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQzFDLFVBQVUsQ0FBQyxRQUFRLENBQ3RCLENBQ0osQ0FBQztTQUNMO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQ3hDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDOUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUM3RCxDQUFDO1NBQ0w7SUFDTCxDQUFDOzs2SEE3bkJRLGdDQUFnQztpSEFBaEMsZ0NBQWdDLGdmQzlDN0MscWllQThaQTsyRkRoWGEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNJLGdDQUFnQztpS0FVbkMsMEJBQTBCO3NCQURoQyxLQUFLO3VCQUFDLCtCQUErQjtnQkFJL0IsV0FBVztzQkFEakIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGlCQUFpQjtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSXBCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQUlULGVBQWU7c0JBRHJCLE1BQU07dUJBQUMsbUJBQW1CO2dCQUlwQixhQUFhO3NCQURuQixTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Q2hpcElucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgQmFzZVJlc3BvbnNlLCBHdWlkLCBTdGF0dXMgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEVhQ0FydGlmYWN0LFxuICAgIEVhQ0Rldk9wc0FjdGlvbixcbiAgICBFYUNFbnZpcm9ubWVudEFzQ29kZSxcbiAgICBFYUNTb3VyY2VDb250cm9sLFxufSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgRWFDU2VydmljZSxcbiAgICBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3QsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgR2l0SHViQnJhbmNoLFxuICAgIEdpdEh1Yk9yZ2FuaXphdGlvbixcbiAgICBHaXRIdWJSZXBvc2l0b3J5LFxuICAgIFByb2plY3RIb3N0aW5nRGV0YWlscyxcbn0gZnJvbSAnLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgICAvLyAgRmllbGRzXG5cbiAgICBASW5wdXQoJ2VkaXRpbmctc291cmNlLWNvbnRyb2wtbG9va3VwJylcbiAgICBwdWJsaWMgRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXA6IHN0cmluZztcblxuICAgIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICAgIHB1YmxpYyBFbnZpcm9ubWVudDogRWFDRW52aXJvbm1lbnRBc0NvZGU7XG5cbiAgICBASW5wdXQoJ2Vudmlyb25tZW50LWxvb2t1cCcpXG4gICAgcHVibGljIEVudmlyb25tZW50TG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2xvYWRpbmcnKVxuICAgIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1zdGF0dXMtZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlU3RhdHVzRXZlbnQ6IEV2ZW50RW1pdHRlcjxTdGF0dXM+O1xuXG4gICAgQFZpZXdDaGlsZCgnYnJhbmNoZXMnKVxuICAgIHB1YmxpYyBCcmFuY2hlc0lucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLy9PcHRpb25hbCBpbnB1dCBub3QgYmVpbmcgdXNlZCBzZXR0aW5nIHRvXG4gICAgLy8gQElucHV0KCdidWlsZC1wYXRoJylcbiAgICBwdWJsaWMgQnVpbGRQYXRoOiBzdHJpbmc7XG5cbiAgICAvL09wdGlvbmFsIG5vdCBiZWluZyB1c2VkXG4gICAgLy8gQElucHV0KCdidWlsZC1wYXRoLWRpc2FibGVkJylcbiAgICBwdWJsaWMgQnVpbGRQYXRoRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvLyB0aGlzIGlucHV0IGlzIG5vdCBiZWluZyB1c2VkIGFueXdoZXJlXG4gICAgLy8gQElucHV0KCdzb3VyY2UtY29udHJvbC1yb290JylcbiAgICBwdWJsaWMgU291cmNlQ29udHJvbFJvb3Q6IHN0cmluZztcblxuICAgIC8vbm90IGJlaW5nIHVzZWQgc2V0IHRvIHRydWUgYnkgZGVmYXVsdFxuICAgIC8vIEBJbnB1dCgndXNlLWJyYW5jaGVzJylcbiAgICBwdWJsaWMgVXNlQnJhbmNoZXM6IGJvb2xlYW47XG5cbiAgICAvL25vdCBiZWluZyB1c2VkIHNldCB0byBmYWxzZSBieSBkZWZhdWx0XG4gICAgLy8gQElucHV0KCd1c2UtYnVpbGQtcGF0aCcpXG4gICAgcHVibGljIFVzZUJ1aWxkUGF0aDogYm9vbGVhbjtcblxuICAgIC8vICBQcm9wZXJ0aWVzXG5cbiAgICBwdWJsaWMgZ2V0IEJyYW5jaGVzRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8uZ2V0KFxuICAgICAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCArICdicmFuY2hlcydcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IEJ1aWxkUGF0aEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LmdldChcbiAgICAgICAgICAgIHRoaXMuU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8uZ2V0KCdkZXZPcHNBY3Rpb25Mb29rdXAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE1haW5CcmFuY2hGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5nZXQoXG4gICAgICAgICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ21haW5CcmFuY2gnXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBPcmdhbml6YXRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5nZXQoXG4gICAgICAgICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ29yZ2FuaXphdGlvbidcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFJlcG9zaXRvcnlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5nZXQoXG4gICAgICAgICAgICB0aGlzLlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIEFydGlmYWN0OiBFYUNBcnRpZmFjdDtcblxuICAgIHB1YmxpYyBBcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgcHVibGljIEFydGlmYWN0TG9va3VwczogQXJyYXk8c3RyaW5nPjtcblxuICAgIHB1YmxpYyBCcmFuY2hPcHRpb25zOiBHaXRIdWJCcmFuY2hbXTtcblxuICAgIHB1YmxpYyBCdWlsZFBhdGhPcHRpb25zOiBzdHJpbmdbXTtcblxuICAgIHB1YmxpYyBDcmVhdGluZ1JlcG9zaXRvcnk6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgRGV2T3BzQWN0aW9uOiBFYUNEZXZPcHNBY3Rpb247XG5cbiAgICBwdWJsaWMgRGV2T3BzQWN0aW9uczogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNEZXZPcHNBY3Rpb24gfTtcblxuICAgIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuICAgIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXBzOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgcHVibGljIERldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBFZGl0aW5nU291cmNlQ29udHJvbDogRWFDU291cmNlQ29udHJvbDtcblxuICAgIHB1YmxpYyBIb3N0aW5nRGV0YWlsczogUHJvamVjdEhvc3RpbmdEZXRhaWxzO1xuXG4gICAgcHVibGljIE9yZ2FuaXphdGlvbk9wdGlvbnM6IEdpdEh1Yk9yZ2FuaXphdGlvbltdO1xuXG4gICAgcHVibGljIFJlcG9zaXRvcnlPcHRpb25zOiBHaXRIdWJSZXBvc2l0b3J5W107XG5cbiAgICBwdWJsaWMgU2VsZWN0ZWRCcmFuY2hlczogc3RyaW5nW107XG5cbiAgICBwdWJsaWMgU2tlbGV0b25FZmZlY3Q6IHN0cmluZztcblxuICAgIHB1YmxpYyByZWFkb25seSBTZXBhcmF0b3JLZXlzQ29kZXMgPSBbRU5URVIsIENPTU1BXSBhcyBjb25zdDtcblxuICAgIC8vICBDb25zdHJ1Y3RvcnNcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGFwcHNGbG93U3ZjOiBBcHBsaWNhdGlvbnNGbG93U2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlclxuICAgICkge1xuICAgICAgICB0aGlzLlNhdmVTdGF0dXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sID0ge307XG5cbiAgICAgICAgdGhpcy5CdWlsZFBhdGggPSBudWxsO1xuXG4gICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSBuZXcgUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG5cbiAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICAgICAgdGhpcy5Tb3VyY2VDb250cm9sUm9vdCA9ICcnO1xuXG4gICAgICAgIHRoaXMuU2tlbGV0b25FZmZlY3QgPSAnd2F2ZSc7XG5cbiAgICAgICAgdGhpcy5Vc2VCcmFuY2hlcyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5Vc2VCdWlsZFBhdGggPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyAgTGlmZSBDeWNsZVxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lGb3JtQ29udHJvbHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdzb3VyY2UgY29udHJvbCBsb29rdXAnLCB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sTG9va3VwKTtcblxuICAgICAgICBpZiAodGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5DcmVhdGVOZXdTb3VyY2VDb250cm9sKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3NvdXJjZSBjb250cm9sJywgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSk7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0dXBGb3JtQ29udHJvbHMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuUmVmcmVzaE9yZ2FuaXphdGlvbnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLkVudmlyb25tZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzICYmIHRoaXMuQXJ0aWZhY3RMb29rdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLkFydGlmYWN0ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FbnZpcm9ubWVudD8uQXJ0aWZhY3RzW3RoaXMuQXJ0aWZhY3RMb29rdXBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5FbnZpcm9ubWVudD8uRGV2T3BzQWN0aW9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMuRGV2T3BzQWN0aW9ucyA9IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucztcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLkRldk9wc0FjdGlvbkxvb2t1cCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnNbdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLkFydGlmYWN0TG9va3VwcyA9IHRoaXMuRGV2T3BzQWN0aW9uPy5BcnRpZmFjdExvb2t1cHM7XG5cbiAgICAgICAgICAgICAgICB0aGlzLkFydGlmYWN0TG9va3VwID0gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5EZXZPcHNBY3Rpb25zKSB7XG4gICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cHMgPSBPYmplY3Qua2V5cyh0aGlzLkRldk9wc0FjdGlvbnMgfHwge30pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2Rldm9wc0FjdGlvbiBsb29rdXBzOiAnLCB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cHMpO1xuXG4gICAgICAgIGlmICh0aGlzLkVudmlyb25tZW50Py5Tb3VyY2VzICYmIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2xMb29rdXApIHtcbiAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wgPVxuICAgICAgICAgICAgICAgIHRoaXMuRW52aXJvbm1lbnQ/LlNvdXJjZXNbdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXG4gICAgICAgICAgICAvLyAgICAgJ0Rldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sOiAnLFxuICAgICAgICAgICAgLy8gICAgIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAvLyApO1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXAgPSB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cEZvcm1Db250cm9sPy52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkRldk9wc0FjdGlvblRyaWdnZXJMb29rdXBzKSB7XG4gICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cCA9XG4gICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uRGV2T3BzQWN0aW9uVHJpZ2dlckxvb2t1cHNbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLkRldk9wc0FjdGlvbkxvb2t1cCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2Rldm9wcyBhY3Rpb24gbG9va3VwID0gJywgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXApO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnZm9ybSB2YWx1ZScsIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2wudmFsdWUpO1xuICAgIH1cblxuICAgIC8vICBBUEkgTWV0aG9kc1xuICAgIHB1YmxpYyBBZGRCcmFuY2hPcHRpb24oZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWRkQnJhbmNoT3B0aW9uKGV2ZW50LnZhbHVlKTtcblxuICAgICAgICBldmVudC5pbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBCcmFuY2hPcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZEJyYW5jaE9wdGlvbihldmVudC5vcHRpb24udmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBCcmFuY2hlc0NoYW5nZWQoYnJhbmNoZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBCdWlsZFBhdGhDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgLy9kbyBzb21ldGhpbmc/P1xuICAgIH1cblxuICAgIHB1YmxpYyBDcmVhdGVOZXdTb3VyY2VDb250cm9sKCk6IHZvaWQge1xuICAgICAgICB0aGlzLlNldEVkaXRpbmdTb3VyY2VDb250cm9sKEd1aWQuQ3JlYXRlUmF3KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBDcmVhdGVSZXBvc2l0b3J5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQ2FuY2VsQ3JlYXRlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5DcmVhdGluZ1JlcG9zaXRvcnkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgTG9nKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnZm9ybSB2YWx1ZScsIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2wudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXBDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXAgPSBldmVudC52YWx1ZTtcbiAgICAgICAgdGhpcy5jb25maWd1cmVEZXZPcHNBY3Rpb24oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgTWFpbkJyYW5jaENoYW5nZWQoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgT3JnYW5pemF0aW9uQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9yZyA9IHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w7XG5cbiAgICAgICAgdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnJlc2V0KCk7XG5cbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFJlZnJlc2hPcmdhbml6YXRpb25zKCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzLkxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmxpc3RPcmdhbml6YXRpb25zKCk7XG5cbiAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbD8ucmVzZXQoKTtcblxuICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbD8ucmVzZXQoKTtcblxuICAgICAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sPy5yZXNldCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIFJlbW92ZUJyYW5jaE9wdGlvbihvcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFJlcG9zaXRvcnlDaGFuZ2VkKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVwbyA9IHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sO1xuXG4gICAgICAgIGlmICh0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICAgICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wucmVzZXQoKTtcblxuICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gW107XG5cbiAgICAgICAgICAgIHRoaXMubGlzdEJyYW5jaGVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdEJ1aWxkUGF0aHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlUmVwb3NpdG9yeSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBvcmcgPSB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IHJlcG9OYW1lID0gdGhpcy5SZXBvc2l0b3J5Rm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAgICAgLkNyZWF0ZVJlcG9zaXRvcnkob3JnLCByZXBvTmFtZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0UmVwb3NpdG9yaWVzKHJlcG9OYW1lKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLkNyZWF0aW5nUmVwb3NpdG9yeSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICBUT0RPOiAgTmVlZCB0byBzdXJmYWNlIGFuIGVycm9yIHRvIHRoZSB1c2VyLi4uXG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFNldEVkaXRpbmdTb3VyY2VDb250cm9sKHNjTG9va3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbExvb2t1cCA9IHNjTG9va3VwO1xuICAgIH1cblxuICAgIHB1YmxpYyBTdWJtaXRTb3VyY2VDb250cm9sKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcbiAgICAgICAgLy8gICAgICdzb3VyY2UgY29udHJvbCBzdWJtaXR0ZWQ6ICcsXG4gICAgICAgIC8vICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAudmFsdWVcbiAgICAgICAgLy8gKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJzYXZpbmcgc291cmNlOiBcIiwgdGhpcy5FbnZpcm9ubWVudExvb2t1cClcbiAgICAgICAgdGhpcy5TYXZlU291cmNlQ29udHJvbCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlU291cmNlQ29udHJvbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2F2ZUVudlJlcTogU2F2ZUVudmlyb25tZW50QXNDb2RlRXZlbnRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAgICAgICAvLy4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgICAgICAgICAgU291cmNlczogdGhpcy5FbnZpcm9ubWVudC5Tb3VyY2VzIHx8IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEVudmlyb25tZW50TG9va3VwOiB0aGlzLkVudmlyb25tZW50TG9va3VwLFxuICAgICAgICAgICAgLy9FbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IHNvdXJjZTogRWFDU291cmNlQ29udHJvbCA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wsXG4gICAgICAgICAgICBCcmFuY2hlczogdGhpcy5TZWxlY3RlZEJyYW5jaGVzLFxuICAgICAgICAgICAgTWFpbkJyYW5jaDogdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgc291cmNlID0ge1xuICAgICAgICAgICAgLi4uc291cmNlLFxuICAgICAgICAgICAgVHlwZTogJ0dpdEh1YicsXG4gICAgICAgICAgICBOYW1lOiBgQCR7dGhpcy5Pcmdhbml6YXRpb25Gb3JtQ29udHJvbC52YWx1ZX0vJHt0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZX1gLFxuICAgICAgICAgICAgRGV2T3BzQWN0aW9uVHJpZ2dlckxvb2t1cHM6IFt0aGlzLkRldk9wc0FjdGlvbkxvb2t1cF0sXG4gICAgICAgICAgICBPcmdhbml6YXRpb246IHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBSZXBvc2l0b3J5OiB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzY0xvb2t1cCA9IGBnaXRodWI6Ly8ke3NvdXJjZS5Pcmdhbml6YXRpb259LyR7c291cmNlLlJlcG9zaXRvcnl9YDtcblxuICAgICAgICBzYXZlRW52UmVxLkVudmlyb25tZW50LlNvdXJjZXNbc2NMb29rdXBdID0gc291cmNlO1xuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdzYXZlIFNDOiAnLCBzYXZlRW52UmVxKTtcblxuICAgICAgICBsZXQgcmVzcCA9IHRoaXMuZWFjU3ZjLlNhdmVFbnZpcm9ubWVudEFzQ29kZShzYXZlRW52UmVxKTtcblxuICAgICAgICByZXNwLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5TYXZlU3RhdHVzRXZlbnQuZW1pdChyZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAgSGVscGVyc1xuXG4gICAgcHJvdGVjdGVkIGFkZEJyYW5jaE9wdGlvbih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHZhbHVlID0gKHZhbHVlIHx8ICcnKS50cmltKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5pbmRleE9mKHZhbHVlKSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuQnJhbmNoZXNJbnB1dC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcblxuICAgICAgICB0aGlzLmVtaXRCcmFuY2hlc0NoYW5nZWQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlndXJlRGV2T3BzQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwRm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXN0cm95Rm9ybUNvbnRyb2xzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAucmVtb3ZlQ29udHJvbChcbiAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnbWFpbkJyYW5jaCddLmpvaW4oJycpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5yZW1vdmVDb250cm9sKFxuICAgICAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdicmFuY2hlcyddLmpvaW4oJycpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5yZW1vdmVDb250cm9sKFxuICAgICAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdidWlsZFBhdGgnXS5qb2luKCcnKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cD8ucmVtb3ZlQ29udHJvbChcbiAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnb3JnYW5pemF0aW9uJ10uam9pbignJylcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXA/LnJlbW92ZUNvbnRyb2woXG4gICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ3JlcG9zaXRvcnknXS5qb2luKCcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbWl0QnJhbmNoZXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICghdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wudmFsdWUgfHxcbiAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuaW5kZXhPZihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5NYWluQnJhbmNoRm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgICAgICAgICApIDwgMClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLk1haW5CcmFuY2hGb3JtQ29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgKGJyYW5jaCkgPT4gYnJhbmNoID09PSAnbWFpbicgfHwgYnJhbmNoID09PSAnbWFzdGVyJ1xuICAgICAgICAgICAgICAgICkgfHwgdGhpcy5TZWxlY3RlZEJyYW5jaGVzWzBdXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICAgIHRoaXMuTWFpbkJyYW5jaEZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLkJyYW5jaGVzRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5TZWxlY3RlZEJyYW5jaGVzLmpvaW4oJywnKSk7XG5cbiAgICAgICAgdGhpcy5CcmFuY2hlc0NoYW5nZWQodGhpcy5TZWxlY3RlZEJyYW5jaGVzIHx8IFtdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbGlzdEJyYW5jaGVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5Vc2VCcmFuY2hlcykge1xuICAgICAgICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAgICAgICAgIC5MaXN0QnJhbmNoZXMoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnZhbHVlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1YkJyYW5jaFtdPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkJyYW5jaE9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uQnJhbmNoZXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRCcmFuY2hlcyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5CcmFuY2hlcztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLkJyYW5jaE9wdGlvbnM/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5CcmFuY2hlc0Zvcm1Db250cm9sLnNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnJhbmNoT3B0aW9uc1swXS5OYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLlNlbGVjdGVkQnJhbmNoZXMgPSBbdGhpcy5CcmFuY2hPcHRpb25zWzBdLk5hbWVdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0QnJhbmNoZXNDaGFuZ2VkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0QnVpbGRQYXRocygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGxpc3RCdWlsZFBhdGhzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5Vc2VCdWlsZFBhdGgpIHtcbiAgICAgICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuYXBwc0Zsb3dTdmNcbiAgICAgICAgICAgICAgICAuTGlzdEJ1aWxkUGF0aHMoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuT3JnYW5pemF0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVwb3NpdG9yeUZvcm1Db250cm9sLnZhbHVlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPHN0cmluZ1tdPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkJ1aWxkUGF0aE9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5CdWlsZFBhdGhPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnVpbGRQYXRoRm9ybUNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5CdWlsZFBhdGhPcHRpb25zWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbGlzdE9yZ2FuaXphdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5hcHBzRmxvd1N2Y1xuICAgICAgICAgICAgLkxpc3RPcmdhbml6YXRpb25zKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlOiBCYXNlTW9kZWxlZFJlc3BvbnNlPEdpdEh1Yk9yZ2FuaXphdGlvbltdPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbk9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgICAgICAgICAnT3JnYW5pemF0aW9uIE9wdGlvbnM6ICcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbk9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uT3JnYW5pemF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdTb3VyY2VDb250cm9sLk9yZ2FuaXphdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RSZXBvc2l0b3JpZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LlJlcG9zaXRvcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsaXN0UmVwb3NpdG9yaWVzKGFjdGl2ZVJlcG86IHN0cmluZyA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAgICAgICAuTGlzdFJlcG9zaXRvcmllcyh0aGlzLk9yZ2FuaXphdGlvbkZvcm1Db250cm9sLnZhbHVlKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8R2l0SHViUmVwb3NpdG9yeVtdPikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuUmVwb3NpdG9yeU9wdGlvbnMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVJlcG8pIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLlJlcG9zaXRvcnlGb3JtQ29udHJvbC5zZXRWYWx1ZShhY3RpdmVSZXBvKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0QnJhbmNoZXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLlVzZUJyYW5jaGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0QnVpbGRQYXRocygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuUmVwb3NpdG9yeU9wdGlvbnM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQ3JlYXRpbmdSZXBvc2l0b3J5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuU2VsZWN0ZWRCcmFuY2hlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5hcHBzRmxvd1N2Yy5Mb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxQcm9qZWN0SG9zdGluZ0RldGFpbHM+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZ3VyZURldk9wc0FjdGlvbigpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBGb3JtQ29udHJvbHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveUZvcm1Db250cm9scygpO1xuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdTb3VyY2UgQ29udHJvbDogJywgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbCk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICAnZGV2T3BzQWN0aW9uTG9va3VwJyxcbiAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbCh0aGlzLkRldk9wc0FjdGlvbkxvb2t1cCB8fCAnJywgW10pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICBbdGhpcy5Tb3VyY2VDb250cm9sUm9vdCwgJ29yZ2FuaXphdGlvbiddLmpvaW4oJycpLFxuICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuT3JnYW5pemF0aW9uID8/ICcnLFxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLkRldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAncmVwb3NpdG9yeSddLmpvaW4oJycpLFxuICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKFxuICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2wuUmVwb3NpdG9yeSA/PyAnJyxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuVXNlQnJhbmNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnYnJhbmNoZXMnXS5qb2luKCcnKSxcbiAgICAgICAgICAgICAgICBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ1NvdXJjZUNvbnRyb2w/LkJyYW5jaGVzID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgdGhpcy5TZWxlY3RlZEJyYW5jaGVzID0gdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbD8uQnJhbmNoZXM7XG5cbiAgICAgICAgICAgIHRoaXMuRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICAgICAgIFt0aGlzLlNvdXJjZUNvbnRyb2xSb290LCAnbWFpbkJyYW5jaCddLmpvaW4oJycpLFxuICAgICAgICAgICAgICAgIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nU291cmNlQ29udHJvbC5NYWluQnJhbmNoID8/ICcnLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLlVzZUJ1aWxkUGF0aCkge1xuICAgICAgICAgICAgdGhpcy5EZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAgICAgICAgICAgW3RoaXMuU291cmNlQ29udHJvbFJvb3QsICdidWlsZFBhdGgnXS5qb2luKCcnKSxcbiAgICAgICAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5CdWlsZFBhdGggPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICBjbGFzcz1cImZvcm0tY2FyZFwiXG4gICAgW2Zvcm1Hcm91cF09XCJEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU3VibWl0U291cmNlQ29udHJvbCgpXCJcbiAgICAoY2xpY2spPVwiTG9nKClcIlxuPlxuICAgIDwhLS0gPG1hdC1jYXJkIGNsYXNzPVwic3ByZWFkXCIgY2xhc3M9XCJzYy1jYXJkXCI+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgIDxtYXQtY2FyZC10aXRsZT4gU291cmNlIENvbnRyb2wgPC9tYXQtY2FyZC10aXRsZT5cblxuICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG5cbiAgICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggbWF0VG9vbHRpcD1cIkNvbmZpZ3VyZSBzb3VyY2UgY29udHJvbCwgRGV2T3BzIENJL0NELCBhbmQgYXJ0aWZhY3RzLlwiPlxuICAgICAgICBpbmZvX291dGxpbmVcbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+IC0tPlxuXG4gICAgPCEtLSA8bWF0LWNhcmQtY29udGVudD4gLS0+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiTG9hZGluZ1wiPlxuICAgICAgICA8bGN1LWxvYWRlciBbbG9hZGluZ109XCJMb2FkaW5nXCI+PC9sY3UtbG9hZGVyPlxuXG4gICAgICAgIDwhLS0gPHNrZWxldG9uLWJsb2NrIFxuICAgICAgICAgIGNsYXNzPVwicy1ibG9ja1wiXG4gICAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiIFxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgXG4gICAgICAgICAgY2xhc3M9XCJzLWJsb2NrXCJcbiAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIiAgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBcbiAgICAgICAgICBjbGFzcz1cInMtYmxvY2tcIlxuICAgICAgICAgIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIiAgXG4gICAgICAgID48L3NrZWxldG9uLWJsb2NrPiAtLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhTG9hZGluZ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXZPcHNBY3Rpb25Mb29rdXBcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRldk9wcyBBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIkRldk9wc0FjdGlvbkxvb2t1cENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGV2T3BzQWN0aW9uTG9va3VwIG9mIERldk9wc0FjdGlvbkxvb2t1cHNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJkZXZPcHNBY3Rpb25Mb29rdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldk9wc0FjdGlvbnNbZGV2T3BzQWN0aW9uTG9va3VwXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRldk9wc0FjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZGV2T3BzQWN0aW9uLk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRldk9wc0FjdGlvbi5OYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiXCI+LS0gQ3JlYXRlIE5ldyAtLTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIiAqbmdJZj1cIk9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCB8fCAhTG9hZGluZ1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtZnVsbC13aWR0aCB3aXRoLWhpbnQgbWFyZ2luLWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJPcmdhbml6YXRpb25PcHRpb25zPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5jb3Jwb3JhdGVfZmFyZTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ29yZ2FuaXphdGlvbidcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk9yZ2FuaXphdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiT3JnYW5pemF0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3JnT3B0IG9mIE9yZ2FuaXphdGlvbk9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcmdPcHQuTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9yZ09wdC5OYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlJlZnJlc2hPcmdhbml6YXRpb25zKClcIlxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmVmcmVzaCBPcmdhbml6YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiLy5vYXV0aC9HaXRIdWJPQXV0aD9vYXV0aC1mb3JjZS1lZGl0PXRydWVcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJSZS1hdXRob3JpemUgT3JnYW5pemF0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdW5jaFxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgIDxtYXQtaGludD5cbiAgICAgICAgICAgICAgICAgICAgSWYgeW91IGRvbid0IGhhdmUgYW4gb3JnYW5pemF0aW9uIG9yIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGFcbiAgICAgICAgICAgICAgICAgICAgbmV3IG9uZSxcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vYWNjb3VudC9vcmdhbml6YXRpb25zL25ld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByaW1hcnktbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydCBoZXJlXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJjYXJkXCJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgIChPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWQgJiYgIUxvYWRpbmcpXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmRlc2NyaXB0aW9uPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAncmVwb3NpdG9yeSdcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdSZXBvc2l0b3J5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ1JlcG9zaXRvcnkgKHNlbGVjdCBvcmdhbml6YXRpb24gZmlyc3QpJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAhT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBMb2FkaW5nIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIlJlcG9zaXRvcnlDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFDcmVhdGluZ1JlcG9zaXRvcnlcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVwb09wdCBvZiBSZXBvc2l0b3J5T3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInJlcG9PcHQuTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJlcG9PcHQuTmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSZXBvc2l0b3J5IChjcmVhdGVzIG5ldyBpZiBkb2VzIG5vdCBleGlzdClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ3JlcG9zaXRvcnknXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJDcmVhdGluZ1JlcG9zaXRvcnlcIlxuICAgICAgICAgICAgICAgICAgICBbZnhIaWRlXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDcmVhdGVSZXBvc2l0b3J5KClcIlxuICAgICAgICAgICAgICAgICAgICBbZnhIaWRlXT1cIkxvYWRpbmcgfHwgSG9zdGluZ0RldGFpbHM/LkxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIUNyZWF0aW5nUmVwb3NpdG9yeSAmJiBPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIGFkZF9jaXJjbGVcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiU2F2ZVJlcG9zaXRvcnkoKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiQ3JlYXRpbmdSZXBvc2l0b3J5ICYmIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeCBjb2xvcj1cInByaW1hcnlcIj4gc2F2ZSA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiQ2FuY2VsQ3JlYXRlUmVwb3NpdG9yeSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJDcmVhdGluZ1JlcG9zaXRvcnlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeD4gY2FuY2VsIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNhcmRcIlxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAoQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIUxvYWRpbmcpKSAmJlxuICAgICAgICAgICAgICAgICFDcmVhdGluZ1JlcG9zaXRvcnkgJiZcbiAgICAgICAgICAgICAgICBVc2VCcmFuY2hlc1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvcmctaWNvblwiIG1hdFByZWZpeD5hY2NvdW50X3RyZWU8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZWxlY3RlZCBCcmFuY2hlczwvbWF0LWxhYmVsPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIkJyYW5jaE9wdGlvblNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAjYnJhbmNoT3B0aW9ucz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBicmFuY2hPcHQgb2YgQnJhbmNoT3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImJyYW5jaE9wdC5OYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnJhbmNoT3B0Lk5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3QgI3NlbGVjdGVkQnJhbmNoZXM+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2hpcFxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cIlJlbW92ZUJyYW5jaE9wdGlvbihzZWxCcmFuY2gpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxCcmFuY2ggb2YgU2VsZWN0ZWRCcmFuY2hlc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlbEJyYW5jaCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hpcD5cblxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5ldyBCcmFuY2guLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJTb3VyY2VDb250cm9sUm9vdCArICdicmFuY2hlcydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2JyYW5jaGVzXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImJyYW5jaE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJzZWxlY3RlZEJyYW5jaGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJTZXBhcmF0b3JLZXlzQ29kZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJBZGRCcmFuY2hPcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiTG9hZGluZyB8fCBIb3N0aW5nRGV0YWlscz8uTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGggd2l0aC1oaW50XCJcbiAgICAgICAgICAgICAgICBbZnhTaG93XT1cIlNlbGVjdGVkQnJhbmNoZXM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmFjY291bnRfdHJlZTwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIlNvdXJjZUNvbnRyb2xSb290ICsgJ21haW5CcmFuY2gnXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYWluIEJyYW5jaFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEhvc3RpbmdEZXRhaWxzPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJNYWluQnJhbmNoQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJyYW5jaCBvZiBTZWxlY3RlZEJyYW5jaGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiYnJhbmNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnJhbmNoIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cblxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlJlZnJlc2hPcmdhbml6YXRpb25zKClcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi8ub2F1dGgvR2l0SHViT0F1dGg/b2F1dGgtZm9yY2UtZWRpdD10cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUmUtYXV0aG9yaXplIE9yZ2FuaXphdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXVuY2hcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgICAgICAgIElmIHlvdSBkb24ndCBoYXZlIGFuIG9yZ2FuaXphdGlvbiBvciB3b3VsZCBsaWtlIHRvIGNyZWF0ZSBhXG4gICAgICAgICAgICAgICAgICAgIG5ldyBvbmUsXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL2FjY291bnQvb3JnYW5pemF0aW9ucy9uZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJpbWFyeS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgaGVyZVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZFwiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChCdWlsZFBhdGhGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKE9yZ2FuaXphdGlvbkZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3NpdG9yeUZvcm1Db250cm9sPy52YWxpZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIUxvYWRpbmcpKSAmJlxuICAgICAgICAgICAgICAgICFDcmVhdGluZ1JlcG9zaXRvcnkgJiZcbiAgICAgICAgICAgICAgICBVc2VCdWlsZFBhdGhcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoIHdpdGgtaGludFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm9yZy1pY29uXCIgbWF0UHJlZml4PmJ1aWxkPC9tYXQtaWNvbj5cblxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU291cmNlQ29udHJvbFJvb3QgKyAnYnVpbGRQYXRoJ1wiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQnVpbGQgUGF0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJMb2FkaW5nIHx8IEJ1aWxkUGF0aERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJCdWlsZFBhdGhDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnVpbGRQYXRoIG9mIEJ1aWxkUGF0aE9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJidWlsZFBhdGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBidWlsZFBhdGggfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICAgICAgICBUaGUgYnVpbGQgcGF0aCBpZGVudGlmaWVzIHdoaWNoIGJ1aWxkIGFjdGlvbiB0byB1c2UgZm9yIHlvdXJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbi5cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIkxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcHJlYWRcIj5cbiAgICAgICAgICAgICAgICA8bGN1LWxvYWRlciBzdHlsZT1cIm1hcmdpbjogYXV0b1wiIFtsb2FkaW5nXT1cInRydWVcIj48L2xjdS1sb2FkZXI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFPcmdhbml6YXRpb25Gb3JtQ29udHJvbD8udmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBMb2FkaW5nIG9yZ2FuaXphdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cblxuICAgICAgICAgICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JnYW5pemF0aW9uRm9ybUNvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIVJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIExvYWRpbmcgcmVwb3NpdG9yaWVzXG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG5cbiAgICAgICAgICAgICAgICAgICAgPGg0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIExvYWRpbmcgYnJhbmNoZXNcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cblxuICAgICAgICAgICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJlcG9zaXRvcnlGb3JtQ29udHJvbD8udmFsaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJhbmNoZXNGb3JtQ29udHJvbD8udmFsaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIUJ1aWxkUGF0aEZvcm1Db250cm9sPy52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgTG9hZGluZyBidWlsZCBwYXRoc1xuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gPC9kaXY+IC0tPlxuXG4gICAgPCEtLSA8L21hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj4gLS0+XG5cbiAgICA8IS0tIDxidXR0b24gXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAqbmdJZj1cIiFMb2FkaW5nXCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICBmeEZsZXg9XCIxMDAlXCIgXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIFxuICAgICAgICBbZGlzYWJsZWRdPVwiIURldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAudmFsaWQgfHwgIURldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgPG1hdC1pY29uPnNhdmU8L21hdC1pY29uPlxuICAgICAgICBTYXZlIFNvdXJjZSBDb250cm9sXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxsY3UtbG9hZGVyIFtsb2FkaW5nXT1cIkxvYWRpbmdcIj48L2xjdS1sb2FkZXI+IC0tPlxuXG4gICAgPCEtLSA8L21hdC1jYXJkLWFjdGlvbnM+IC0tPlxuICAgIDwhLS0gPC9tYXQtY2FyZD4gLS0+XG48L2Zvcm0+XG4iXX0=
@@ -33,10 +33,10 @@ export class EditApplicationFormComponent {
33
33
  // } else {
34
34
  // this.ApplicationFormGroup.enable();
35
35
  // }
36
- console.log('loading: ', this.Loading);
36
+ // console.log('loading: ', this.Loading);
37
37
  }
38
38
  SubmitApplicationControl() {
39
- console.log('application form: ', this.ApplicationFormGroup.value);
39
+ // console.log('application form: ', this.ApplicationFormGroup.value);
40
40
  this.SaveApplication();
41
41
  }
42
42
  SaveApplication() {
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
138
138
  type: Output,
139
139
  args: ['save-form-event']
140
140
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1hcHBsaWNhdGlvbi1mb3JtL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFZeEIsTUFBTSxPQUFPLDRCQUE0QjtJQTJDckMsWUFBc0IsUUFBcUIsRUFBWSxNQUFrQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVU7WUFDWCw4RUFBOEUsQ0FBQztJQUN2RixDQUFDO0lBeEJELElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFR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dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFYUNBcHBsaWNhdGlvbkFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEVhQ1NlcnZpY2UsXG4gICAgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGN1LWVkaXQtYXBwbGljYXRpb24tZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgnYXBwbGljYXRpb24tbG9va3VwJylcbiAgICBwdWJsaWMgQXBwbGljYXRpb25Mb29rdXA6IHN0cmluZztcblxuICAgIEBJbnB1dCgnY3VycmVudC1yb3V0ZScpXG4gICAgcHVibGljIEN1cnJlbnRSb3V0ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCdpcy1kaXNhYmxlZCcpXG4gICAgcHVibGljIElzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKVxuICAgIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gICAgQElucHV0KCdoYXMtc2F2ZS1idXR0b24nKVxuICAgIHB1YmxpYyBIYXNTYXZlQnV0dG9uOiBib29sZWFuO1xuXG4gICAgQElucHV0KCdwcm9qZWN0LWxvb2t1cCcpXG4gICAgcHVibGljIFByb2plY3RMb29rdXA6IHN0cmluZztcblxuICAgIEBJbnB1dCgnbG9hZGluZycpXG4gICAgcHVibGljIExvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+O1xuXG4gICAgcHVibGljIGdldCBEZXNjcmlwdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwPy5jb250cm9scy5kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cD8uY29udHJvbHMubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFJvdXRlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXA/LmNvbnRyb2xzLnJvdXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBBcHBsaWNhdGlvbkZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIFJvdXRlRXJyb3I6IHN0cmluZztcblxuICAgIHB1YmxpYyBSb3V0ZVJlZ2V4OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybUJsZHI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAgICAgdGhpcy5IYXNTYXZlQnV0dG9uID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLlJvdXRlUmVnZXggPVxuICAgICAgICAgICAgJyheL3sxfShbQS1aYS16MC05Xy1dKikkKXwoXigvezF9KFtBLVphLXowLTlfLV0rKSgoL3sxfSkoW0EtWmEtejAtOV8tXSspKSopJCknO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuc2V0dXBBcHBsaWNhdGlvbkZvcm0oKTtcbiAgICAgICAgLy8gaWYgKHRoaXMuSXNEaXNhYmxlZCkge1xuICAgICAgICAvLyAgICAgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgICAgICAvLyB9XG4gICAgICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nOiAnLCB0aGlzLkxvYWRpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTdWJtaXRBcHBsaWNhdGlvbkNvbnRyb2woKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdhcHBsaWNhdGlvbiBmb3JtOiAnLCB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgdGhpcy5TYXZlQXBwbGljYXRpb24oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU2F2ZUFwcGxpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhcHA6IEVhQ0FwcGxpY2F0aW9uQXNDb2RlID0gdGhpcy5FZGl0aW5nQXBwbGljYXRpb247XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiQVBQPVwiLCBhcHApO1xuICAgICAgICBhcHAuQXBwbGljYXRpb24gPSB7XG4gICAgICAgICAgICBOYW1lOiB0aGlzLk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBQcmlvcml0eVNoaWZ0OlxuICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5BcHBsaWNhdGlvbj8uUHJpb3JpdHlTaGlmdCB8fCAwLFxuICAgICAgICB9O1xuXG4gICAgICAgIGFwcC5Mb29rdXBDb25maWcuUGF0aFJlZ2V4ID0gYCR7dGhpcy5Sb3V0ZUZvcm1Db250cm9sLnZhbHVlfS4qYDtcblxuICAgICAgICBzd2l0Y2ggKGFwcC5Qcm9jZXNzb3IuVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnREZTJzpcbiAgICAgICAgICAgICAgICBhcHAuUHJvY2Vzc29yLkJhc2VIcmVmID1cbiAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5Sb3V0ZUZvcm1Db250cm9sLnZhbHVlfS9gLnJlcGxhY2UoJy8vJywgJy8nKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIGFwcC5Mb29rdXBDb25maWcuUGF0aFJlZ2V4ID0gYC8ke2FwcC5Mb29rdXBDb25maWcuUGF0aFJlZ2V4fWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzYXZlQXBwUmVxOiBTYXZlQXBwbGljYXRpb25Bc0NvZGVFdmVudFJlcXVlc3QgPSB7XG4gICAgICAgICAgICBQcm9qZWN0TG9va3VwOiB0aGlzLlByb2plY3RMb29rdXAsXG4gICAgICAgICAgICBBcHBsaWNhdGlvbjogYXBwLFxuICAgICAgICAgICAgQXBwbGljYXRpb25Mb29rdXA6IHRoaXMuQXBwbGljYXRpb25Mb29rdXAsXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3Byb2Nlc3NvciBkZXRhaWxzIGJlaW5nIHN1Ym1pdHRlZDogJywgYXBwLlByb2Nlc3Nvcik7XG5cbiAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKHNhdmVBcHBSZXEpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQocmVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIFZlcmlmeVJvdXRlKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcInJvdXRlOiBcIiwgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5jb250cm9scy5yb3V0ZSk7XG4gICAgICAgIGxldCByZWdFeCA9IG5ldyBSZWdFeHAodGhpcy5Sb3V0ZVJlZ2V4KTtcbiAgICAgICAgaWYgKCFyZWdFeC50ZXN0KHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuY29udHJvbHMucm91dGUudmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIklOVkFMSURcIik7XG4gICAgICAgICAgICB0aGlzLlJvdXRlRXJyb3IgPSAnUm91dGUgSGFzIEludmFsaWQgU3ludGF4Lic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIlZBTElEXCIpXG4gICAgICAgICAgICB0aGlzLlJvdXRlRXJyb3IgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9IRUxQRVJTXG4gICAgcHJvdGVjdGVkIHNldHVwQXBwbGljYXRpb25Gb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5FZGl0aW5nQXBwbGljYXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uPy5OYW1lLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uPy5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQ3VycmVudFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuQ3VycmVudFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Mb29rdXBDb25maWc/LlBhdGhSZWdleC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4qJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgfHwgJy8nLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybih0aGlzLlJvdXRlUmVnZXgpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5OiBbXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uUHJpb3JpdHkgfHwgMTAwMDAsXG4gICAgICAgICAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWNhcmRcIlxuICAgIFtmb3JtR3JvdXBdPVwiQXBwbGljYXRpb25Gb3JtR3JvdXBcIlxuICAgIChuZ1N1Ym1pdCk9XCJTdWJtaXRBcHBsaWNhdGlvbkNvbnRyb2woKVwiXG4+XG4gICAgPCEtLSA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWQgZmxvdy1jYXJkXCI+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJFZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uXCI+XG4gICAgICAgICAgICBFZGl0IEFwcGxpY2F0aW9uOlxuICAgICAgICAgICAge3sgRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5OYW1lIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb25cIj5cbiAgICAgICAgICAgIENyZWF0ZSBhbiBBcHBsaWNhdGlvblxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+IC0tPlxuXG4gICAgPCEtLSA8bWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUxvYWRpbmdcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJyZXNpemU6IG5vbmVcIlxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSb3V0ZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicm91dGVcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJWZXJpZnlSb3V0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIlJvdXRlRXJyb3JcIj57eyBSb3V0ZUVycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIDwvbWF0LWNhcmQtY29udGVudD4gLS0+XG4gICAgPCEtLSA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuXG4gICAgICAgIDxidXR0b24gXG4gICAgICAgICpuZ0lmPVwiSGFzU2F2ZUJ1dHRvbiAmJiAhTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjEwMCVcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIUFwcGxpY2F0aW9uRm9ybUdyb3VwLnZhbGlkIHx8ICFBcHBsaWNhdGlvbkZvcm1Hcm91cC5kaXJ0eVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cbiAgICAgICAgICBTYXZlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bGN1LWxvYWRlciAqbmdJZj1cIkhhc1NhdmVCdXR0b25cIiBbbG9hZGluZ109XCJMb2FkaW5nXCI+PC9sY3UtbG9hZGVyPlxuICAgICAgICBcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+IC0tPlxuICAgIDwhLS0gPC9tYXQtY2FyZD4gLS0+XG48L2Zvcm0+XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1hcHBsaWNhdGlvbi1mb3JtL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFZeEIsTUFBTSxPQUFPLDRCQUE0QjtJQTJDckMsWUFBc0IsUUFBcUIsRUFBWSxNQUFrQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVU7WUFDWCw4RUFBOEUsQ0FBQztJQUN2RixDQUFDO0lBeEJELElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN2QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFR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aUJBQ3RCO2dCQUNELEtBQUssRUFBRTtvQkFDSCxJQUFJLENBQUMsWUFBWTt3QkFDYixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7d0JBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQ3BELElBQUksRUFDSixFQUFFLENBQ0wsSUFBSSxHQUFHO29CQUNkLFVBQVUsQ0FBQyxPQUFPLENBQUM7d0JBQ2YsVUFBVSxDQUFDLFFBQVE7d0JBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztxQkFDdEMsQ0FBQztpQkFDTDtnQkFDRCxjQUFjO2dCQUNkLDREQUE0RDtnQkFDNUQseUJBQXlCO2dCQUN6QixLQUFLO2FBQ1IsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzt5SEFuSlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMGZDbEJ6QyxnL0VBK0VBOzJGRDdEYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0ksMkJBQTJCOzJIQU05QixpQkFBaUI7c0JBRHZCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlwQixZQUFZO3NCQURsQixLQUFLO3VCQUFDLGVBQWU7Z0JBSWYsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXJCLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixhQUFhO3NCQURuQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJaEIsT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVM7Z0JBSVQsYUFBYTtzQkFEbkIsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFYUNTZXJ2aWNlLFxuICAgIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1lZGl0LWFwcGxpY2F0aW9uLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2FwcGxpY2F0aW9uLWxvb2t1cCcpXG4gICAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2N1cnJlbnQtcm91dGUnKVxuICAgIHB1YmxpYyBDdXJyZW50Um91dGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgnaXMtZGlzYWJsZWQnKVxuICAgIHB1YmxpYyBJc0Rpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCdlZGl0aW5nLWFwcGxpY2F0aW9uJylcbiAgICBwdWJsaWMgRWRpdGluZ0FwcGxpY2F0aW9uOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcblxuICAgIEBJbnB1dCgnaGFzLXNhdmUtYnV0dG9uJylcbiAgICBwdWJsaWMgSGFzU2F2ZUJ1dHRvbjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICAgIHB1YmxpYyBQcm9qZWN0TG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2xvYWRpbmcnKVxuICAgIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgnc2F2ZS1mb3JtLWV2ZW50JylcbiAgICBwdWJsaWMgU2F2ZUZvcm1FdmVudDogRXZlbnRFbWl0dGVyPHt9PjtcblxuICAgIHB1YmxpYyBnZXQgRGVzY3JpcHRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cD8uY29udHJvbHMuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBOYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXA/LmNvbnRyb2xzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBSb3V0ZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwPy5jb250cm9scy5yb3V0ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQXBwbGljYXRpb25Gb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBSb3V0ZUVycm9yOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgUm91dGVSZWdleDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlciwgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSkge1xuICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuSGFzU2F2ZUJ1dHRvbiA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5Sb3V0ZVJlZ2V4ID1cbiAgICAgICAgICAgICcoXi97MX0oW0EtWmEtejAtOV8tXSopJCl8KF4oL3sxfShbQS1aYS16MC05Xy1dKykoKC97MX0pKFtBLVphLXowLTlfLV0rKSkqKSQpJztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLnNldHVwQXBwbGljYXRpb25Gb3JtKCk7XG4gICAgICAgIC8vIGlmICh0aGlzLklzRGlzYWJsZWQpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnbG9hZGluZzogJywgdGhpcy5Mb2FkaW5nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3VibWl0QXBwbGljYXRpb25Db250cm9sKCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnYXBwbGljYXRpb24gZm9ybTogJywgdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICAgIHRoaXMuU2F2ZUFwcGxpY2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVBcHBsaWNhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYXBwOiBFYUNBcHBsaWNhdGlvbkFzQ29kZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkFQUD1cIiwgYXBwKTtcbiAgICAgICAgYXBwLkFwcGxpY2F0aW9uID0ge1xuICAgICAgICAgICAgTmFtZTogdGhpcy5OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5EZXNjcmlwdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgUHJpb3JpdHlTaGlmdDpcbiAgICAgICAgICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb24/LlByaW9yaXR5U2hpZnQgfHwgMCxcbiAgICAgICAgfTtcblxuICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0uKmA7XG5cbiAgICAgICAgc3dpdGNoIChhcHAuUHJvY2Vzc29yLlR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0RGUyc6XG4gICAgICAgICAgICAgICAgYXBwLlByb2Nlc3Nvci5CYXNlSHJlZiA9XG4gICAgICAgICAgICAgICAgICAgIGAke3RoaXMuUm91dGVGb3JtQ29udHJvbC52YWx1ZX0vYC5yZXBsYWNlKCcvLycsICcvJyk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBhcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleCA9IGAvJHthcHAuTG9va3VwQ29uZmlnLlBhdGhSZWdleH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2F2ZUFwcFJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgUHJvamVjdExvb2t1cDogdGhpcy5Qcm9qZWN0TG9va3VwLFxuICAgICAgICAgICAgQXBwbGljYXRpb246IGFwcCxcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uTG9va3VwOiB0aGlzLkFwcGxpY2F0aW9uTG9va3VwLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdwcm9jZXNzb3IgZGV0YWlscyBiZWluZyBzdWJtaXR0ZWQ6ICcsIGFwcC5Qcm9jZXNzb3IpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVBcHBsaWNhdGlvbkFzQ29kZShzYXZlQXBwUmVxKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBWZXJpZnlSb3V0ZSgpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyb3V0ZTogXCIsIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuY29udHJvbHMucm91dGUpO1xuICAgICAgICBsZXQgcmVnRXggPSBuZXcgUmVnRXhwKHRoaXMuUm91dGVSZWdleCk7XG4gICAgICAgIGlmICghcmVnRXgudGVzdCh0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzLnJvdXRlLnZhbHVlKSkge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJJTlZBTElEXCIpO1xuICAgICAgICAgICAgdGhpcy5Sb3V0ZUVycm9yID0gJ1JvdXRlIEhhcyBJbnZhbGlkIFN5bnRheC4nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJWQUxJRFwiKVxuICAgICAgICAgICAgdGhpcy5Sb3V0ZUVycm9yID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vSEVMUEVSU1xuICAgIHByb3RlY3RlZCBzZXR1cEFwcGxpY2F0aW9uRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAgPSB0aGlzLmZvcm1CbGRyLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5BcHBsaWNhdGlvbj8uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5BcHBsaWNhdGlvbj8uRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByb3V0ZTogW1xuICAgICAgICAgICAgICAgICAgICB0aGlzLkN1cnJlbnRSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLkN1cnJlbnRSb3V0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuKicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICApIHx8ICcvJyxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5Sb3V0ZVJlZ2V4KSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAvLyBwcmlvcml0eTogW1xuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LlByaW9yaXR5IHx8IDEwMDAwLFxuICAgICAgICAgICAgICAgIC8vICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAvLyBdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIGNsYXNzPVwiZm9ybS1jYXJkXCJcbiAgICBbZm9ybUdyb3VwXT1cIkFwcGxpY2F0aW9uRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU3VibWl0QXBwbGljYXRpb25Db250cm9sKClcIlxuPlxuICAgIDwhLS0gPG1hdC1jYXJkIGNsYXNzPVwic3ByZWFkIGZsb3ctY2FyZFwiPiAtLT5cbiAgICA8IS0tIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiRWRpdGluZ0FwcGxpY2F0aW9uPy5BcHBsaWNhdGlvblwiPlxuICAgICAgICAgICAgRWRpdCBBcHBsaWNhdGlvbjpcbiAgICAgICAgICAgIHt7IEVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFFZGl0aW5nQXBwbGljYXRpb24/LkFwcGxpY2F0aW9uXCI+XG4gICAgICAgICAgICBDcmVhdGUgYW4gQXBwbGljYXRpb25cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPiAtLT5cblxuICAgIDwhLS0gPG1hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJMb2FkaW5nXCI+XG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cblxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFMb2FkaW5nXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIHN0eWxlPVwicmVzaXplOiBub25lXCJcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUm91dGVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJvdXRlXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwiVmVyaWZ5Um91dGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJSb3V0ZUVycm9yXCI+e3sgUm91dGVFcnJvciB9fTwvbWF0LWVycm9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSA8L21hdC1jYXJkLWNvbnRlbnQ+IC0tPlxuICAgIDwhLS0gPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cblxuICAgICAgICA8YnV0dG9uIFxuICAgICAgICAqbmdJZj1cIkhhc1NhdmVCdXR0b24gJiYgIUxvYWRpbmdcIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIiBcbiAgICAgICAgICBmeEZsZXg9XCIxMDAlXCIgXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFBcHBsaWNhdGlvbkZvcm1Hcm91cC52YWxpZCB8fCAhQXBwbGljYXRpb25Gb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgICAgU2F2ZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGxjdS1sb2FkZXIgKm5nSWY9XCJIYXNTYXZlQnV0dG9uXCIgW2xvYWRpbmddPVwiTG9hZGluZ1wiPjwvbGN1LWxvYWRlcj5cbiAgICAgICAgXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPiAtLT5cbiAgICA8IS0tIDwvbWF0LWNhcmQ+IC0tPlxuPC9mb3JtPlxuIl19
@@ -24,7 +24,7 @@ export class EditEnterpriseFormComponent {
24
24
  this.setupEditEnterpriseForm();
25
25
  }
26
26
  SubmitEnterpriseControl() {
27
- console.log('Enterprise form: ', this.EnterpriseFormGroup.value);
27
+ // console.log('Enterprise form: ', this.EnterpriseFormGroup.value);
28
28
  this.SaveEnterpriseDetails();
29
29
  }
30
30
  SaveEnterpriseDetails() {
@@ -34,7 +34,7 @@ export class EditEnterpriseFormComponent {
34
34
  Description: this.DescriptionFormControl.value,
35
35
  },
36
36
  };
37
- console.log('SAve eac: ', eac);
37
+ // console.log('SAve eac: ', eac);
38
38
  this.eacSvc.SaveEnterpriseAsCode(eac).then((res) => {
39
39
  this.SaveFormEvent.emit(res);
40
40
  });
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
66
66
  type: Output,
67
67
  args: ['save-form-event']
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1lbnRlcnByaXNlLWZvcm0vZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1lbnRlcnByaXNlLWZvcm0vZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWXhCLE1BQU0sT0FBTywyQkFBMkI7SUFvQnBDLFlBQXNCLFFBQXFCLEVBQVksTUFBa0I7UUFBbkQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFZLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFaRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBUU0sUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNkLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSx1QkFBdUI7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixNQUFNLEdBQUcsR0FBcUI7WUFDMUIsVUFBVSxFQUFFO2dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7Z0JBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSzthQUNqRDtTQUNKLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLHVCQUF1QjtRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUMzQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNsRCxXQUFXLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXO29CQUM1QixVQUFVLENBQUMsUUFBUTtpQkFDdEI7YUFDSixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O3dIQTNEUSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyTkNsQnhDLHUrQkFpQ0E7MkZEZmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNJLDBCQUEwQjsySEFNN0IsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxZQUFZO2dCQUlaLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQUlULGFBQWE7c0JBRG5CLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVhQ0VudGVycHJpc2VEZXRhaWxzLCBFbnRlcnByaXNlQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRWFDU2VydmljZSxcbiAgICBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3QsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZWRpdC1lbnRlcnByaXNlLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWVudGVycHJpc2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdEVudGVycHJpc2VGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2VudGVycHJpc2UnKVxuICAgIHB1YmxpYyBFbnRlcnByaXNlOiBFYUNFbnRlcnByaXNlRGV0YWlscztcblxuICAgIEBJbnB1dCgnbG9hZGluZycpXG4gICAgcHVibGljIExvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCdzYXZlLWZvcm0tZXZlbnQnKVxuICAgIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICAgIHB1YmxpYyBnZXQgRGVzY3JpcHRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5FbnRlcnByaXNlRm9ybUdyb3VwPy5jb250cm9scy5kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IE5hbWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5FbnRlcnByaXNlRm9ybUdyb3VwPy5jb250cm9scy5uYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBFbnRlcnByaXNlRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybUJsZHI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldHVwRWRpdEVudGVycHJpc2VGb3JtKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFN1Ym1pdEVudGVycHJpc2VDb250cm9sKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRW50ZXJwcmlzZSBmb3JtOiAnLCB0aGlzLkVudGVycHJpc2VGb3JtR3JvdXAudmFsdWUpO1xuICAgICAgICB0aGlzLlNhdmVFbnRlcnByaXNlRGV0YWlscygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlRW50ZXJwcmlzZURldGFpbHMoKSB7XG4gICAgICAgIGNvbnN0IGVhYzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgICAgICAgIEVudGVycHJpc2U6IHtcbiAgICAgICAgICAgICAgICBOYW1lOiB0aGlzLk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5EZXNjcmlwdGlvbkZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2coJ1NBdmUgZWFjOiAnLCBlYWMpO1xuXG4gICAgICAgIHRoaXMuZWFjU3ZjLlNhdmVFbnRlcnByaXNlQXNDb2RlKGVhYykudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLlNhdmVGb3JtRXZlbnQuZW1pdChyZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0dXBFZGl0RW50ZXJwcmlzZUZvcm0oKSB7XG4gICAgICAgIGlmICh0aGlzLkVudGVycHJpc2UpIHtcbiAgICAgICAgICAgIHRoaXMuRW50ZXJwcmlzZUZvcm1Hcm91cCA9IHRoaXMuZm9ybUJsZHIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFt0aGlzLkVudGVycHJpc2U/Lk5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuRW50ZXJwcmlzZT8uRGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICBjbGFzcz1cImZvcm0tY2FyZFwiXG4gICAgW2Zvcm1Hcm91cF09XCJFbnRlcnByaXNlRm9ybUdyb3VwXCJcbiAgICAobmdTdWJtaXQpPVwiU3VibWl0RW50ZXJwcmlzZUNvbnRyb2woKVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuXG4gICAgICAgIDxza2VsZXRvbi1ibG9jayBjbGFzcz1cInMtYmxvY2tcIiBlZmZlY3Q9XCJ3YXZlXCI+PC9za2VsZXRvbi1ibG9jaz5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhTG9hZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBzdHlsZT1cInJlc2l6ZTogbm9uZVwiXG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgcm93cz1cIjNcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZm9ybT5cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1lbnRlcnByaXNlLWZvcm0vZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1lbnRlcnByaXNlLWZvcm0vZWRpdC1lbnRlcnByaXNlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWXhCLE1BQU0sT0FBTywyQkFBMkI7SUFvQnBDLFlBQXNCLFFBQXFCLEVBQVksTUFBa0I7UUFBbkQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFZLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDckUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFaRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBUU0sUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNkLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSx1QkFBdUI7UUFDMUIsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxxQkFBcUI7UUFDeEIsTUFBTSxHQUFHLEdBQXFCO1lBQzFCLFVBQVUsRUFBRTtnQkFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUNoQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUs7YUFDakQ7U0FDSixDQUFDO1FBQ0Ysa0NBQWtDO1FBRWxDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQzNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xELFdBQVcsRUFBRTtvQkFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVc7b0JBQzVCLFVBQVUsQ0FBQyxRQUFRO2lCQUN0QjthQUNKLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQzs7d0hBM0RRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJOQ2xCeEMsdStCQWlDQTsyRkRmYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0ksMEJBQTBCOzJIQU03QixVQUFVO3NCQURoQixLQUFLO3VCQUFDLFlBQVk7Z0JBSVosT0FBTztzQkFEYixLQUFLO3VCQUFDLFNBQVM7Z0JBSVQsYUFBYTtzQkFEbkIsTUFBTTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWFDRW50ZXJwcmlzZURldGFpbHMsIEVudGVycHJpc2VBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFYUNTZXJ2aWNlLFxuICAgIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1lZGl0LWVudGVycHJpc2UtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtZW50ZXJwcmlzZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0LWVudGVycHJpc2UtZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0RW50ZXJwcmlzZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgnZW50ZXJwcmlzZScpXG4gICAgcHVibGljIEVudGVycHJpc2U6IEVhQ0VudGVycHJpc2VEZXRhaWxzO1xuXG4gICAgQElucHV0KCdsb2FkaW5nJylcbiAgICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoJ3NhdmUtZm9ybS1ldmVudCcpXG4gICAgcHVibGljIFNhdmVGb3JtRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgcHVibGljIGdldCBEZXNjcmlwdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkVudGVycHJpc2VGb3JtR3JvdXA/LmNvbnRyb2xzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLkVudGVycHJpc2VGb3JtR3JvdXA/LmNvbnRyb2xzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIEVudGVycHJpc2VGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBFZGl0RW50ZXJwcmlzZUZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3VibWl0RW50ZXJwcmlzZUNvbnRyb2woKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdFbnRlcnByaXNlIGZvcm06ICcsIHRoaXMuRW50ZXJwcmlzZUZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICAgIHRoaXMuU2F2ZUVudGVycHJpc2VEZXRhaWxzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIFNhdmVFbnRlcnByaXNlRGV0YWlscygpIHtcbiAgICAgICAgY29uc3QgZWFjOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgICAgICAgRW50ZXJwcmlzZToge1xuICAgICAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnU0F2ZSBlYWM6ICcsIGVhYyk7XG5cbiAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjKS50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuU2F2ZUZvcm1FdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXR1cEVkaXRFbnRlcnByaXNlRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuRW50ZXJwcmlzZSkge1xuICAgICAgICAgICAgdGhpcy5FbnRlcnByaXNlRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgICAgICAgICAgbmFtZTogW3RoaXMuRW50ZXJwcmlzZT8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FbnRlcnByaXNlPy5EZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9ybVxuICAgIGNsYXNzPVwiZm9ybS1jYXJkXCJcbiAgICBbZm9ybUdyb3VwXT1cIkVudGVycHJpc2VGb3JtR3JvdXBcIlxuICAgIChuZ1N1Ym1pdCk9XCJTdWJtaXRFbnRlcnByaXNlQ29udHJvbCgpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiTG9hZGluZ1wiPlxuICAgICAgICA8c2tlbGV0b24tYmxvY2sgY2xhc3M9XCJzLWJsb2NrXCIgZWZmZWN0PVwid2F2ZVwiPjwvc2tlbGV0b24tYmxvY2s+XG5cbiAgICAgICAgPHNrZWxldG9uLWJsb2NrIGNsYXNzPVwicy1ibG9ja1wiIGVmZmVjdD1cIndhdmVcIj48L3NrZWxldG9uLWJsb2NrPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFMb2FkaW5nXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZVwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIHN0eWxlPVwicmVzaXplOiBub25lXCJcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9mb3JtPlxuIl19