@ieeesa-npm/tenants 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,7 +158,7 @@ export class CreateTenantApplicationComponent {
158
158
  },
159
159
  {
160
160
  type: FormControlType?.FILE_UPLOAD,
161
- label: this.createTenantTexts?.label?.appLogo,
161
+ label: this.createTenantTexts?.label?.appLogo + '*',
162
162
  controlName: 'appLogo',
163
163
  requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
164
164
  value: this.tenantFunctionType === TenantFunctionType.EDIT
@@ -507,4 +507,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
507
507
  }], formCancel: [{
508
508
  type: Output
509
509
  }] } });
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBR1QsZUFBZSxFQUNmLGdCQUFnQixFQUloQixvQkFBb0IsR0FFckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBd0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVU3RSxNQUFNLE9BQU8sZ0NBQWdDO0lB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QUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGlCQUc5QixpQkFBaUIsQ0FBQyxJQUFJOzRLQWNyQyxvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUVyQixrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWxpZ25UeXBlLFxyXG4gIENoZWNrYm94T3B0aW9uLFxyXG4gIEZvcm1HcmlkLFxyXG4gIEZvcm1Db250cm9sVHlwZSxcclxuICBBbGxvd2VkRmlsZVR5cGVzLFxyXG4gIEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gIEZpbGVVcGxvYWRQcmVzaWduZWRVcmwsXHJcbiAgUmFkaW9PcHRpb24sXHJcbiAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgRm9ybU1vZGVsLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3ByZXNlbnRhdGlvbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucyB9IGZyb20gJy4uLy4uL2Fzc2V0cy90ZW5hbnQtdmFsaWRhdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc3RhdHVzLm1vZGVsJztcclxuaW1wb3J0IHsgdmFsaWRDb2xvclZhbGlkYXRvciB9IGZyb20gJ25neC1jb2xvcnMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlcywgR2V0RmVhdHVyZXNSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9mZWF0dXJlcy5tb2RlbCc7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIEFwcFR5cGVDb25maWcsXHJcbiAgR2V0QXBwVHlwZXNSZXNwb25zZSxcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwLXR5cGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZCxcclxuICBDcmVhdGVUZW5hbnRSZXNwb25zZSxcclxuICBOZXdUZW5hbnRJbmZvLFxyXG4gIFRlbmFudEJhc2ljSW5mbyxcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50Lm1vZGVsJztcclxuaW1wb3J0IHsgU2hhcmVkU2VydmljZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3NoYXJlZCc7XHJcbmltcG9ydCB7IFRlbmFudEZ1bmN0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnQtZnVuY3Rpb24tdHlwZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER5bmFtaWNGb3JtQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIGNyZWF0ZVRlbmFudFRleHRzID0gdGhpcy5jb25zdGFudHM/LmNyZWF0ZVRlbmFudDtcclxuICBsZWZ0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8ubGVmdEJ1dHRvbkxhYmVsO1xyXG4gIHJpZ2h0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8ucmlnaHRCdXR0b25MYWJlbDtcclxuICBjb2xXaWR0aDogRm9ybUdyaWQgPSB7IHhzOiAxMiwgeGw6IDEyLCBzbTogMTIsIG1kOiAxMiwgbGc6IDEyIH07XHJcbiAgY3JlYXRlVGVuYW50Rm9ybUdyb3VwITogRm9ybU1vZGVsO1xyXG4gIGFjdGlvbkJ1dHRvbkFsaWduID0gQWxpZ25UeXBlLkxFRlQ7XHJcbiAgY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmITogRm9ybUdyb3VwO1xyXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1Db21wb25lbnQpXHJcbiAgZHluYW1pY0Zvcm1Db21wb25lbnQhOiBEeW5hbWljRm9ybUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgc3VibWl0Rm9ybVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGZlYXR1cmVzT3B0aW9ucyE6IENoZWNrYm94T3B0aW9uW107XHJcbiAgYXBwVHlwZU9wdGlvbnMhOiBSYWRpb09wdGlvbltdO1xyXG4gIGNyZWF0ZVRlbmFudFBheWxvYWQhOiBDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZDtcclxuICBmaWxlVXBsb2FkUHJlc2lnbmVkVXJsITogc3RyaW5nO1xyXG4gIGZpbGVEb3dubG9hZFByZXNpZ25lZFVybCE6IHN0cmluZztcclxuICBmaWxlITogRmlsZSB8IEZpbGVMaXN0O1xyXG4gIGFsbG93ZWRGaWxlVHlwZXMgPSBbXHJcbiAgICBBbGxvd2VkRmlsZVR5cGVzLkpQRyxcclxuICAgIEFsbG93ZWRGaWxlVHlwZXMuUE5HLFxyXG4gICAgQWxsb3dlZEZpbGVUeXBlcy5TVkcsXHJcbiAgXTtcclxuICBzZWxlY3RlZENvbG9yITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkQXBwVHlwZU9wdGlvbiE6IFJhZGlvT3B0aW9uO1xyXG4gIHRlbmFudEZ1bmN0aW9uVHlwZSE6IFRlbmFudEZ1bmN0aW9uVHlwZTtcclxuICBzZWxlY3RlZFRlbmFudEluZm8hOiBUZW5hbnRCYXNpY0luZm8gfCB1bmRlZmluZWQ7XHJcbiAgaXNBcHBMb2dvTW9kaWZpZWQgPSBmYWxzZTtcclxuICB1cGRhdGVkVGVuYW50QmFzaWNJbmZvITogTmV3VGVuYW50SW5mbztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSB0ZW5hbnRBcHBTZXJ2aWNlOiBUZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPSB0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmdldFRlbmFudEZ1bmN0aW9uVHlwZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRlbmFudEluZm8gPVxyXG4gICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmdldFNlbGVjdGVkVGVuYW50SW5mb3JtYXRpb24oKTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0QXBpQmFzZVVybCh0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmFwaUJhc2VVcmwpO1xyXG4gICAgdGhpcy5nZXRGZWF0dXJlcygpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBsaXN0IG9mIGZlYXR1cmVzIGFuZCB1cGRhdGVzIHRoZSBmb3JtIGNvbnRyb2wuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0RmVhdHVyZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmdldEZlYXR1cmVzKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IEdldEZlYXR1cmVzUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZXNPcHRpb25zID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEZlYXR1cmVPcHRpb25zKFxyXG4gICAgICAgICAgICAgIHJlc3BvbnNlPy5ib2R5IGFzIEZlYXR1cmVzW11cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVClcclxuICAgICAgICAgICAgICB0aGlzLmZlYXR1cmVzT3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uOiBDaGVja2JveE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uZmVhdHVyZXM/LnNvbWUoXHJcbiAgICAgICAgICAgICAgICAgICAgKGZlYXR1cmU6IEZlYXR1cmVzKSA9PiBmZWF0dXJlPy5mZWF0dXJlSWQgPT09IG9wdGlvbj8uaWRcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5nZXRBcHBsaWNhdGlvblR5cGVzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgYXBwbGljYXRpb24vdGVuYW50IHR5cGVzIGFuZCB1cGRhdGVzIHRoZSBmb3JtIGNvbnRyb2wuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0QXBwbGljYXRpb25UeXBlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuZ2V0QXBwbGljYXRpb25UeXBlcygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBHZXRBcHBUeXBlc1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLmFwcFR5cGVPcHRpb25zID1cclxuICAgICAgICAgICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2UuZ2V0QXBwbGljYXRpb25UeXBlT3B0aW9ucyhcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlPy5ib2R5IGFzIEFwcFR5cGVDb25maWdbXVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmFwcFR5cGVPcHRpb25zPy5mb3JFYWNoKChyYWRpb09wdGlvbjogUmFkaW9PcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyYWRpb09wdGlvbj8uaWQgPT09IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJhZGlvT3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQXBwVHlwZU9wdGlvbiA9IHJhZGlvT3B0aW9uO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgcmFkaW9PcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNyZWF0ZVRlbmFudEZvcm1Hcm91cCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGNyZWF0ZSB0ZW5hbnQgZm9ybSBncm91cCBhcnJheS5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBpbml0aWFsaXplQ3JlYXRlVGVuYW50Rm9ybUdyb3VwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtR3JvdXAgPSB7XHJcbiAgICAgIGZvcm1Hcm91cDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxlZ2VuZDogJycsXHJcbiAgICAgICAgICBjb250cm9sczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwVGl0bGUgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBUaXRsZScsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwVGl0bGVcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwVGl0bGVNYXhMZW5ndGhcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcFRpdGxlLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdD8uYXBwVGl0bGVNYXhDaGFycyxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcFRpdGxlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBUaXRsZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcElkICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwSWQnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcElkXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwSWRNYXhMZW5ndGgpLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYWxwaGFOdW1lcmljKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBJZCxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXQ/LmFwcElkTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5hcHBJZCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcElkLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBJZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZT8uRklMRV9VUExPQUQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBMb2dvLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwTG9nbycsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwTG9nb1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgICAgICAgICAgICBpc0ZpbGVTZWxlY3RlZDpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcExvZ28sXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwTG9nbyxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwTG9nbyxcclxuICAgICAgICAgICAgICBpc011bHRpRmlsZVVwbG9hZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgbWF4VXBsb2FkRmlsZVNpemU6IDIsXHJcbiAgICAgICAgICAgICAgbWF4RmlsZVNpemVFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXQ/LmFwcExvZ29NYXhTaXplLFxyXG4gICAgICAgICAgICAgIGFsbG93ZWRGaWxlVHlwZUVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkRmlsZSxcclxuICAgICAgICAgICAgICBhbGxvd2VkRmlsZVR5cGVzOiB0aGlzLmFsbG93ZWRGaWxlVHlwZXMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBIZWFkaW5nICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwSGVhZGluZycsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwSGVhZGluZ1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBIZWFkaW5nTWF4TGVuZ3RoXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBIZWFkaW5nLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdFxyXG4gICAgICAgICAgICAgICAgICA/LmFwcEhlYWRpbmdNYXhDaGFycyxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm4/LmVtYWlsLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwSGVhZGluZyxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwSGVhZGluZyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5URVhUX0FSRUEsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBEZXNjcmlwdGlvbiArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcERlc2NyaXB0aW9uJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBEZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBEZXNjcmlwdGlvbk1heExlbmd0aFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcERlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdFxyXG4gICAgICAgICAgICAgICAgICA/LmFwcERlc2NyaXB0aW9uTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgbWF4Q2hhckNvdW50OiBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcERlc2NyaXB0aW9uTWF4TGVuZ3RoLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcERlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkXHJcbiAgICAgICAgICAgICAgICAgID8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgYXJpYU11bHRpbGluZTogdHJ1ZSxcclxuICAgICAgICAgICAgICBpc1Jlc2l6ZTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5DT0xPUl9QSUNLRVIsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBCZ0NvbG9yICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYmFja2dyb3VuZENvbG9yJyxcclxuICAgICAgICAgICAgICB2YWx1ZTogJycsXHJcbiAgICAgICAgICAgICAgZGVmYXVsdENvbG9yOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmJhY2tncm91bmRDb2xvclxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcEJnQ29sb3IsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHZhbGlkQ29sb3JWYWxpZGF0b3IoKV0sXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgaW52YWxpZENvbG9yRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmludmFsaWRDb2xvcixcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBCZ0NvbG9yLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcEJnQ29sb3IsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBIZWxwTGluayArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcEhlbHBMaW5rJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBIZWxwTGlua1xyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy51cmwpLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm4/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwSGVscExpbmssXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uZmVhdHVyZXNMaXN0ICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnZmVhdHVyZXMnLFxyXG4gICAgICAgICAgICAgIGNoZWNrYm94T3B0aW9uczogdGhpcy5mZWF0dXJlc09wdGlvbnMsXHJcbiAgICAgICAgICAgICAgbWluU2VsZWN0aW9uUmVxdWlyZWQ6IDEsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5mZWF0dXJlc0xpc3QsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmZlYXR1cmVzTGlzdCxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmZlYXR1cmVzTGlzdCxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5kb21haW5VUkwgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBEb21haW5VcmwnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcERvbWFpblVybFxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy51cmwpLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5kb21haW5VUkwsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5hcHBEb21haW5VcmwsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5kb21haW5VUkwsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmRvbWFpblVSTCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5SQURJTyxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcFR5cGUgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBUeXBlJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBUeXBlXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCxcclxuICAgICAgICAgICAgICByYWRpb09wdGlvbnM6IHRoaXMuYXBwVHlwZU9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwVHlwZSxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwVHlwZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIFBheWxvYWQgYW5kIGdldHMgcHJlc2lnbmVkIHVybCBmb3IgZmlsZSB1cGxvYWQgb24gZm9ybSBzdWJtaXNzaW9uLlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBvbkNyZWF0ZVRlbmFudEZvcm1TdWJtaXQoZm9ybTogRm9ybUdyb3VwW10pOiB2b2lkIHtcclxuICAgIGZvcm1bMF0/Lm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgIGlmIChmb3JtWzBdLnN0YXR1cyA9PT0gRm9ybVN0YXR1cy5WQUxJRCkge1xyXG4gICAgICB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQgPSB0aGlzLmdldENyZWF0ZVRlbmFudFBheWxvYWQoXHJcbiAgICAgICAgZm9ybVswXS5nZXRSYXdWYWx1ZSgpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQgJiZcclxuICAgICAgICAoIXRoaXMuaXNBcHBMb2dvTW9kaWZpZWQgfHwgIXRoaXMuZmlsZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0VGVuYW50KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5maWxlKSB7XHJcbiAgICAgICAgdGhpcy5nZXRGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKHRoaXMuZmlsZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyB0ZW5hbnQgb24gZm9ybSBzdWJtaXNzaW9uLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZVRlbmFudCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuY3JlYXRlVGVuYW50KHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IENyZWF0ZVRlbmFudFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5zZXROZXdUZW5hbnRJbmZvKFxyXG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZD8ucGF5bG9hZFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdEZvcm1SZXNwb25zZS5lbWl0KHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBtb2RpZmllZCB0ZW5hbnQgaW5mb3JtYXRpb24gb24gZm9ybSBzdWJtaXNzaW9uLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGVkaXRUZW5hbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmVkaXRUZW5hbnQodGhpcy5jcmVhdGVUZW5hbnRQYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogQ3JlYXRlVGVuYW50UmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mbyA9IHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZD8ucGF5bG9hZDtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVkVGVuYW50QmFzaWNJbmZvLmZlYXR1cmVzID1cclxuICAgICAgICAgICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2UuZ2V0RmVhdHVyZXNMaXN0KHRoaXMuZmVhdHVyZXNPcHRpb25zKTtcclxuICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLnNldFNlbGVjdGVkVGVuYW50SW5mb3JtYXRpb24oXHJcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVkVGVuYW50QmFzaWNJbmZvIGFzIFRlbmFudEJhc2ljSW5mb1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdEZvcm1SZXNwb25zZS5lbWl0KHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIGNyZWF0ZSB0ZW5hbnQgcGF5bG9hZCBmcm9tIHRoZSBmb3JtIGRhdGEgYW5kIHJldHVybnMuXHJcbiAgICogQHBhcmFtIHsqfSBmb3JtRGF0YVxyXG4gICAqIEByZXR1cm4ge0NyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkfVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0Q3JlYXRlVGVuYW50UGF5bG9hZChmb3JtRGF0YTogYW55KTogQ3JlYXRlVGVuYW50UmVxdWVzdFBheWxvYWQge1xyXG4gICAgY29uc3QgcGF5bG9hZDogQ3JlYXRlVGVuYW50UmVxdWVzdFBheWxvYWQgPSB7XHJcbiAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICBhcHBUaXRsZTogZm9ybURhdGE/LmFwcFRpdGxlLFxyXG4gICAgICAgIGFwcElkOiBmb3JtRGF0YT8uYXBwSWQsXHJcbiAgICAgICAgYXBwSGVhZGluZzogZm9ybURhdGE/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgYXBwRGVzY3JpcHRpb246IGZvcm1EYXRhPy5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGZvcm1EYXRhPy5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgYXBwTG9nbzogZm9ybURhdGE/LmFwcExvZ28sXHJcbiAgICAgICAgYXBwRG9tYWluVXJsOiBmb3JtRGF0YT8uYXBwRG9tYWluVXJsLFxyXG4gICAgICAgIGFwcEhlbHBMaW5rOiBmb3JtRGF0YT8uYXBwSGVscExpbmssXHJcbiAgICAgICAgYXBwVHlwZTogdGhpcy5zZWxlY3RlZEFwcFR5cGVPcHRpb24/LmlkIGFzIHN0cmluZyxcclxuICAgICAgICBmZWF0dXJlczogdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEZlYXR1cmVJZHModGhpcy5mZWF0dXJlc09wdGlvbnMpLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIHJldHVybiBwYXlsb2FkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBjcmVhdGUgdGVuYW50IGZvcm0gZ3JvdXAgcmVmZXJlbmNlIGFuZCBkaXNhYmxlcyBkZWZhdWx0IGZlYXR1cmVzLlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBnZXRDcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYoZm9ybTogRm9ybUdyb3VwW10pOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmID0gZm9ybVswXTtcclxuICAgIGNvbnN0IGZlYXR1cmVzRm9ybUFycmF5ID0gdGhpcy5jcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWY/LmNvbnRyb2xzW1xyXG4gICAgICAnZmVhdHVyZXMnXHJcbiAgICBdIGFzIEZvcm1BcnJheTtcclxuICAgIHRoaXMuZmVhdHVyZXNPcHRpb25zPy5mb3JFYWNoKChvcHRpb246IENoZWNrYm94T3B0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChvcHRpb24/LmRpc2FibGVkKSB7XHJcbiAgICAgICAgZmVhdHVyZXNGb3JtQXJyYXk/LmF0KGluZGV4KS5kaXNhYmxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZiBvbiBhZGQgb3IgZWRpdCB0ZW5hbnQgZm9ybSBjaGFuZ2UgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ3JlYXRlVGVuYW50Rm9ybUNoYW5nZShmb3JtOiBGb3JtR3JvdXBbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYgPSBmb3JtWzBdO1xyXG4gICAgdGhpcy5pc0FwcExvZ29Nb2RpZmllZCA9XHJcbiAgICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmPy5jb250cm9sc1snYXBwTG9nbyddPy5kaXJ0eSAmJlxyXG4gICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm0gY2FuY2VsIGV2ZW50LlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRm9ybUNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBzZWxlY3RlZCBmaWxlIHdoZW4gdGhlIGZpbGUgaXMgYnJvd3NlZCBhbmQgb24gZm9ybUZpbGVVcGxvYWQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxyXG4gICAqIEBwYXJhbSB7RmlsZSB8IEZpbGVMaXN0fSBmaWxlXHJcbiAgICovXHJcbiAgb25Gb3JtRmlsZVVwbG9hZChmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZSA9IGZpbGU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgcHJlLXNpZ25lZCBVUkwgdG8gdXBsb2FkIHRoZSBzZWxlY3RlZCBmaWxlIHRvIEFXUyBTMyBidWNrZXQuXHJcbiAgICogQHBhcmFtIHtGaWxlIHwgRmlsZUxpc3R9IGZpbGVcclxuICAgKi9cclxuICBnZXRGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKGZpbGU6IEZpbGUgfCBGaWxlTGlzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZVxyXG4gICAgICAuZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybChmaWxlKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogRmlsZVVwbG9hZFByZXNpZ25lZFVybCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlVXBsb2FkUHJlc2lnbmVkVXJsID0gcmVzcG9uc2U/LmJvZHk7XHJcbiAgICAgICAgICBpZiAodGhpcy5maWxlVXBsb2FkUHJlc2lnbmVkVXJsKSB0aGlzLnVwbG9hZEZpbGVUb1MzKGZpbGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgbm8tZW1wdHktZnVuY3Rpb25cclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgdGhlIGZpbGUgdG8gQVdTIFMzIGJ1Y2tldCBhbmQgc3VibWl0IHRoZSBmb3JtIGRhdGEgdG8gQVBJIHRvIGNyZWF0ZSBuZXcgdGVuYW50LlxyXG4gICAqIEBwYXJhbSB7RmlsZSB8IEZpbGVMaXN0fSBmaWxlXHJcbiAgICovXHJcbiAgdXBsb2FkRmlsZVRvUzMoZmlsZTogRmlsZSB8IEZpbGVMaXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICAgIC51cGxvYWRGaWxlVG9TMyh0aGlzLmZpbGVVcGxvYWRQcmVzaWduZWRVcmwsIGZpbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRGaWxlVXBsb2FkU3RhdHVzKHRydWUpO1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgID8gdGhpcy5lZGl0VGVuYW50KClcclxuICAgICAgICAgICAgOiB0aGlzLmNyZWF0ZVRlbmFudCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0RmlsZVVwbG9hZFN0YXR1cyhmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBjb2xvciBwaWNrZXIgdmFsdWVzIGhhcyBiZWVuIGNoYW5nZWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXHJcbiAgICovXHJcbiAgb25Db2xvclBpY2tlckNoYW5nZShjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3IgPSBjb2xvcjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbiB0aGUgcmFkaW8gb3B0aW9uIGhhcyBiZWVuIGNoYW5nZWQuXHJcbiAgICogQHBhcmFtIHtSYWRpb09wdGlvbn0gcmFkaW9PcHRpb25cclxuICAgKi9cclxuICBvblJhZGlvT3B0aW9uU2VsZWN0ZWQocmFkaW9PcHRpb246IFJhZGlvT3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXBwVHlwZU9wdGlvbiA9IHJhZGlvT3B0aW9uO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uRGVzdHJveSBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gdW5zdWJzY3JpYmUgdGhlIG9wZW4gb2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aWVlZXNhLWR5bmFtaWMtZm9ybVxyXG4gICpuZ0lmPVwiY3JlYXRlVGVuYW50Rm9ybUdyb3VwXCJcclxuICBjbGFzcz1cImllZWVzYS1jcmVhdGUtdGVuYW50LWZvcm1cIlxyXG4gIFtsZWZ0QnV0dG9uTGFiZWxdPVwibGVmdEJ1dHRvbkxhYmVsXCJcclxuICBbcmlnaHRCdXR0b25MYWJlbF09XCJyaWdodEJ1dHRvbkxhYmVsXCJcclxuICBbaXNMZWdlbmRWaXNpYmxlXT1cImZhbHNlXCJcclxuICBbY29sV2lkdGhdPVwiY29sV2lkdGhcIlxyXG4gIFthY3Rpb25CdXR0b25BbGlnbl09XCJhY3Rpb25CdXR0b25BbGlnblwiXHJcbiAgW2Zvcm1Hcm91cHNdPVwiY3JlYXRlVGVuYW50Rm9ybUdyb3VwXCJcclxuICBbaXNMZWZ0QnV0dG9uTmVlZGVkXT1cInRydWVcIlxyXG4gIChmb3JtU3VibWl0KT1cIm9uQ3JlYXRlVGVuYW50Rm9ybVN1Ym1pdCgkZXZlbnQpXCJcclxuICAoZm9ybUNoYW5nZSk9XCJvbkNyZWF0ZVRlbmFudEZvcm1DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKGZvcm1MZWZ0QnV0dG9uQ2xpY2tlZCk9XCJvbkZvcm1DYW5jZWwoKVwiXHJcbiAgKGZvcm1Hcm91cHNSZWZlcmVuY2UpPVwiZ2V0Q3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmKCRldmVudClcIlxyXG4gIChmb3JtRmlsZVVwbG9hZCk9XCJvbkZvcm1GaWxlVXBsb2FkKCRldmVudClcIlxyXG4gIChmb3JtQ29sb3JQaWNrZXJDaGFuZ2UpPVwib25Db2xvclBpY2tlckNoYW5nZSgkZXZlbnQpXCJcclxuICAoZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQpPVwib25SYWRpb09wdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4+PC9pZWVlc2EtZHluYW1pYy1mb3JtPlxyXG4iXX0=
510
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBR1QsZUFBZSxFQUNmLGdCQUFnQixFQUloQixvQkFBb0IsR0FFckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBd0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVU3RSxNQUFNLE9BQU8sZ0NBQWdDO0lB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Q2hDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxpQkFHOUIsaUJBQWlCLENBQUMsSUFBSTs0S0FjckMsb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLG9CQUFvQjtnQkFFckIsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFsaWduVHlwZSxcclxuICBDaGVja2JveE9wdGlvbixcclxuICBGb3JtR3JpZCxcclxuICBGb3JtQ29udHJvbFR5cGUsXHJcbiAgQWxsb3dlZEZpbGVUeXBlcyxcclxuICBGaWxlVXBsb2FkU2VydmljZSxcclxuICBGaWxlVXBsb2FkUHJlc2lnbmVkVXJsLFxyXG4gIFJhZGlvT3B0aW9uLFxyXG4gIER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gIEZvcm1Nb2RlbCxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMgfSBmcm9tICcuLi8uLi9hc3NldHMvdGVuYW50LXZhbGlkYXRpb25zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybVN0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLXN0YXR1cy5tb2RlbCc7XHJcbmltcG9ydCB7IHZhbGlkQ29sb3JWYWxpZGF0b3IgfSBmcm9tICduZ3gtY29sb3JzJztcclxuaW1wb3J0IHsgRmVhdHVyZXMsIEdldEZlYXR1cmVzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmVhdHVyZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBUZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVuYW50LWFwcGxpY2F0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBcHBUeXBlQ29uZmlnLFxyXG4gIEdldEFwcFR5cGVzUmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcC10eXBlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlVGVuYW50UmVxdWVzdFBheWxvYWQsXHJcbiAgQ3JlYXRlVGVuYW50UmVzcG9uc2UsXHJcbiAgTmV3VGVuYW50SW5mbyxcclxuICBUZW5hbnRCYXNpY0luZm8sXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC5tb2RlbCc7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS9zaGFyZWQnO1xyXG5pbXBvcnQgeyBUZW5hbnRGdW5jdGlvblR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVuYW50LWZ1bmN0aW9uLXR5cGUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEeW5hbWljRm9ybUNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29uc3RhbnRzOiBhbnkgPSBzY3JlZW5UZXh0cztcclxuICBjcmVhdGVUZW5hbnRUZXh0cyA9IHRoaXMuY29uc3RhbnRzPy5jcmVhdGVUZW5hbnQ7XHJcbiAgbGVmdEJ1dHRvbkxhYmVsID0gdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmxlZnRCdXR0b25MYWJlbDtcclxuICByaWdodEJ1dHRvbkxhYmVsID0gdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LnJpZ2h0QnV0dG9uTGFiZWw7XHJcbiAgY29sV2lkdGg6IEZvcm1HcmlkID0geyB4czogMTIsIHhsOiAxMiwgc206IDEyLCBtZDogMTIsIGxnOiAxMiB9O1xyXG4gIGNyZWF0ZVRlbmFudEZvcm1Hcm91cCE6IEZvcm1Nb2RlbDtcclxuICBhY3Rpb25CdXR0b25BbGlnbiA9IEFsaWduVHlwZS5MRUZUO1xyXG4gIGNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZiE6IEZvcm1Hcm91cDtcclxuICBAVmlld0NoaWxkKER5bmFtaWNGb3JtQ29tcG9uZW50KVxyXG4gIGR5bmFtaWNGb3JtQ29tcG9uZW50ITogRHluYW1pY0Zvcm1Db21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm1SZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZm9ybUNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmZWF0dXJlc09wdGlvbnMhOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIGFwcFR5cGVPcHRpb25zITogUmFkaW9PcHRpb25bXTtcclxuICBjcmVhdGVUZW5hbnRQYXlsb2FkITogQ3JlYXRlVGVuYW50UmVxdWVzdFBheWxvYWQ7XHJcbiAgZmlsZVVwbG9hZFByZXNpZ25lZFVybCE6IHN0cmluZztcclxuICBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmwhOiBzdHJpbmc7XHJcbiAgZmlsZSE6IEZpbGUgfCBGaWxlTGlzdDtcclxuICBhbGxvd2VkRmlsZVR5cGVzID0gW1xyXG4gICAgQWxsb3dlZEZpbGVUeXBlcy5KUEcsXHJcbiAgICBBbGxvd2VkRmlsZVR5cGVzLlBORyxcclxuICAgIEFsbG93ZWRGaWxlVHlwZXMuU1ZHLFxyXG4gIF07XHJcbiAgc2VsZWN0ZWRDb2xvciE6IHN0cmluZztcclxuICBzZWxlY3RlZEFwcFR5cGVPcHRpb24hOiBSYWRpb09wdGlvbjtcclxuICB0ZW5hbnRGdW5jdGlvblR5cGUhOiBUZW5hbnRGdW5jdGlvblR5cGU7XHJcbiAgc2VsZWN0ZWRUZW5hbnRJbmZvITogVGVuYW50QmFzaWNJbmZvIHwgdW5kZWZpbmVkO1xyXG4gIGlzQXBwTG9nb01vZGlmaWVkID0gZmFsc2U7XHJcbiAgdXBkYXRlZFRlbmFudEJhc2ljSW5mbyE6IE5ld1RlbmFudEluZm87XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5nZXRUZW5hbnRGdW5jdGlvblR5cGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvID1cclxuICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5nZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKCk7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnNldEFwaUJhc2VVcmwodGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5hcGlCYXNlVXJsKTtcclxuICAgIHRoaXMuZ2V0RmVhdHVyZXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgbGlzdCBvZiBmZWF0dXJlcyBhbmQgdXBkYXRlcyB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZlYXR1cmVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRGZWF0dXJlcygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBHZXRGZWF0dXJlc1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVzT3B0aW9ucyA9IHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRGZWF0dXJlT3B0aW9ucyhcclxuICAgICAgICAgICAgICByZXNwb25zZT8uYm9keSBhcyBGZWF0dXJlc1tdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQpXHJcbiAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlc09wdGlvbnM/LmZvckVhY2goKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmZlYXR1cmVzPy5zb21lKFxyXG4gICAgICAgICAgICAgICAgICAgIChmZWF0dXJlOiBGZWF0dXJlcykgPT4gZmVhdHVyZT8uZmVhdHVyZUlkID09PSBvcHRpb24/LmlkXHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb25UeXBlcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFwcGxpY2F0aW9uL3RlbmFudCB0eXBlcyBhbmQgdXBkYXRlcyB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFwcGxpY2F0aW9uVHlwZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmdldEFwcGxpY2F0aW9uVHlwZXMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogR2V0QXBwVHlwZXNSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBUeXBlT3B0aW9ucyA9XHJcbiAgICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEFwcGxpY2F0aW9uVHlwZU9wdGlvbnMoXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZT8uYm9keSBhcyBBcHBUeXBlQ29uZmlnW11cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcHBUeXBlT3B0aW9ucz8uZm9yRWFjaCgocmFkaW9PcHRpb246IFJhZGlvT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmFkaW9PcHRpb24/LmlkID09PSB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICByYWRpb09wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVPcHRpb24gPSByYWRpb09wdGlvbjtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHJhZGlvT3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDcmVhdGVUZW5hbnRGb3JtR3JvdXAoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBjcmVhdGUgdGVuYW50IGZvcm0gZ3JvdXAgYXJyYXkuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZUNyZWF0ZVRlbmFudEZvcm1Hcm91cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwID0ge1xyXG4gICAgICBmb3JtR3JvdXA6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsZWdlbmQ6ICcnLFxyXG4gICAgICAgICAgY29udHJvbHM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcFRpdGxlICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwVGl0bGUnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcFRpdGxlXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcFRpdGxlTWF4TGVuZ3RoXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBUaXRsZSxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXQ/LmFwcFRpdGxlTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBUaXRsZSxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwVGl0bGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBJZCArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcElkJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBJZFxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcElkTWF4TGVuZ3RoKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFscGhhTnVtZXJpYyksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElULFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSWQsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5hcHBJZE1heENoYXJzLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uYXBwSWQsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBJZCxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwSWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGU/LkZJTEVfVVBMT0FELFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwTG9nbyArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcExvZ28nLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcExvZ29cclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICAgICAgICAgICAgaXNGaWxlU2VsZWN0ZWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBMb2dvLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcExvZ28sXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcExvZ28sXHJcbiAgICAgICAgICAgICAgaXNNdWx0aUZpbGVVcGxvYWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIG1heFVwbG9hZEZpbGVTaXplOiAyLFxyXG4gICAgICAgICAgICAgIG1heEZpbGVTaXplRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5hcHBMb2dvTWF4U2l6ZSxcclxuICAgICAgICAgICAgICBhbGxvd2VkRmlsZVR5cGVFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGUsXHJcbiAgICAgICAgICAgICAgYWxsb3dlZEZpbGVUeXBlczogdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwSGVhZGluZyArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcEhlYWRpbmcnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcEhlYWRpbmdcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwSGVhZGluZ01heExlbmd0aFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSGVhZGluZyxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgICAgPy5hcHBIZWFkaW5nTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5lbWFpbCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwRGVzY3JpcHRpb24gKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBEZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwRGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwRGVzY3JpcHRpb25NYXhMZW5ndGhcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgICAgPy5hcHBEZXNjcmlwdGlvbk1heENoYXJzLFxyXG4gICAgICAgICAgICAgIG1heENoYXJDb3VudDogVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBEZXNjcmlwdGlvbk1heExlbmd0aCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LmFwcERlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIGFyaWFNdWx0aWxpbmU6IHRydWUsXHJcbiAgICAgICAgICAgICAgaXNSZXNpemU6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwQmdDb2xvciArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2JhY2tncm91bmRDb2xvcicsXHJcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5iYWNrZ3JvdW5kQ29sb3JcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBCZ0NvbG9yLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB2YWxpZENvbG9yVmFsaWRhdG9yKCldLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIGludmFsaWRDb2xvckVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkQ29sb3IsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwQmdDb2xvcixcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBCZ0NvbG9yLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwSGVscExpbmsgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBIZWxwTGluaycsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwSGVscExpbmtcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMudXJsKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSGVscExpbmssXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5DSEVDS0JPWCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmZlYXR1cmVzTGlzdCArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2ZlYXR1cmVzJyxcclxuICAgICAgICAgICAgICBjaGVja2JveE9wdGlvbnM6IHRoaXMuZmVhdHVyZXNPcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1pblNlbGVjdGlvblJlcXVpcmVkOiAxLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uZmVhdHVyZXNMaXN0LFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5mZWF0dXJlc0xpc3QsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5mZWF0dXJlc0xpc3QsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uZG9tYWluVVJMICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwRG9tYWluVXJsJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBEb21haW5VcmxcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMudXJsKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uZG9tYWluVVJMLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uYXBwRG9tYWluVXJsLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uZG9tYWluVVJMLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5kb21haW5VUkwsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuUkFESU8sXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBUeXBlICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwVHlwZScsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwVHlwZVxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQsXHJcbiAgICAgICAgICAgICAgcmFkaW9PcHRpb25zOiB0aGlzLmFwcFR5cGVPcHRpb25zLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcFR5cGUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcFR5cGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBQYXlsb2FkIGFuZCBnZXRzIHByZXNpZ25lZCB1cmwgZm9yIGZpbGUgdXBsb2FkIG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cFtdfSBmb3JtXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DcmVhdGVUZW5hbnRGb3JtU3VibWl0KGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICBmb3JtWzBdPy5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAoZm9ybVswXS5zdGF0dXMgPT09IEZvcm1TdGF0dXMuVkFMSUQpIHtcclxuICAgICAgdGhpcy5jcmVhdGVUZW5hbnRQYXlsb2FkID0gdGhpcy5nZXRDcmVhdGVUZW5hbnRQYXlsb2FkKFxyXG4gICAgICAgIGZvcm1bMF0uZ2V0UmF3VmFsdWUoKVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUICYmXHJcbiAgICAgICAgKCF0aGlzLmlzQXBwTG9nb01vZGlmaWVkIHx8ICF0aGlzLmZpbGUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdFRlbmFudCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsZSkge1xyXG4gICAgICAgIHRoaXMuZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybCh0aGlzLmZpbGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlVGVuYW50KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgdGVuYW50IG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVUZW5hbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmNyZWF0ZVRlbmFudCh0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBDcmVhdGVUZW5hbnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2Uuc2V0TmV3VGVuYW50SW5mbyhcclxuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgbW9kaWZpZWQgdGVuYW50IGluZm9ybWF0aW9uIG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBlZGl0VGVuYW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5lZGl0VGVuYW50KHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IENyZWF0ZVRlbmFudFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRUZW5hbnRCYXNpY0luZm8gPSB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWQ7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mby5mZWF0dXJlcyA9XHJcbiAgICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEZlYXR1cmVzTGlzdCh0aGlzLmZlYXR1cmVzT3B0aW9ucyk7XHJcbiAgICAgICAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5zZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKFxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mbyBhcyBUZW5hbnRCYXNpY0luZm9cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyBjcmVhdGUgdGVuYW50IHBheWxvYWQgZnJvbSB0aGUgZm9ybSBkYXRhIGFuZCByZXR1cm5zLlxyXG4gICAqIEBwYXJhbSB7Kn0gZm9ybURhdGFcclxuICAgKiBAcmV0dXJuIHtDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZH1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldENyZWF0ZVRlbmFudFBheWxvYWQoZm9ybURhdGE6IGFueSk6IENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkIHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgYXBwVGl0bGU6IGZvcm1EYXRhPy5hcHBUaXRsZSxcclxuICAgICAgICBhcHBJZDogZm9ybURhdGE/LmFwcElkLFxyXG4gICAgICAgIGFwcEhlYWRpbmc6IGZvcm1EYXRhPy5hcHBIZWFkaW5nLFxyXG4gICAgICAgIGFwcERlc2NyaXB0aW9uOiBmb3JtRGF0YT8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBmb3JtRGF0YT8uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgIGFwcExvZ286IGZvcm1EYXRhPy5hcHBMb2dvLFxyXG4gICAgICAgIGFwcERvbWFpblVybDogZm9ybURhdGE/LmFwcERvbWFpblVybCxcclxuICAgICAgICBhcHBIZWxwTGluazogZm9ybURhdGE/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgIGFwcFR5cGU6IHRoaXMuc2VsZWN0ZWRBcHBUeXBlT3B0aW9uPy5pZCBhcyBzdHJpbmcsXHJcbiAgICAgICAgZmVhdHVyZXM6IHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRGZWF0dXJlSWRzKHRoaXMuZmVhdHVyZXNPcHRpb25zKSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4gcGF5bG9hZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgY3JlYXRlIHRlbmFudCBmb3JtIGdyb3VwIHJlZmVyZW5jZSBhbmQgZGlzYWJsZXMgZGVmYXVsdCBmZWF0dXJlcy5cclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cFtdfSBmb3JtXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0Q3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmKGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZiA9IGZvcm1bMF07XHJcbiAgICBjb25zdCBmZWF0dXJlc0Zvcm1BcnJheSA9IHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmPy5jb250cm9sc1tcclxuICAgICAgJ2ZlYXR1cmVzJ1xyXG4gICAgXSBhcyBGb3JtQXJyYXk7XHJcbiAgICB0aGlzLmZlYXR1cmVzT3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uOiBDaGVja2JveE9wdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAob3B0aW9uPy5kaXNhYmxlZCkge1xyXG4gICAgICAgIGZlYXR1cmVzRm9ybUFycmF5Py5hdChpbmRleCkuZGlzYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYgb24gYWRkIG9yIGVkaXQgdGVuYW50IGZvcm0gY2hhbmdlIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBvbkNyZWF0ZVRlbmFudEZvcm1DaGFuZ2UoZm9ybTogRm9ybUdyb3VwW10pOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmID0gZm9ybVswXTtcclxuICAgIHRoaXMuaXNBcHBMb2dvTW9kaWZpZWQgPVxyXG4gICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZj8uY29udHJvbHNbJ2FwcExvZ28nXT8uZGlydHkgJiZcclxuICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtIGNhbmNlbCBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgc2VsZWN0ZWQgZmlsZSB3aGVuIHRoZSBmaWxlIGlzIGJyb3dzZWQgYW5kIG9uIGZvcm1GaWxlVXBsb2FkIGV2ZW50IGlzIHRyaWdnZXJlZC5cclxuICAgKiBAcGFyYW0ge0ZpbGUgfCBGaWxlTGlzdH0gZmlsZVxyXG4gICAqL1xyXG4gIG9uRm9ybUZpbGVVcGxvYWQoZmlsZTogRmlsZSB8IEZpbGVMaXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHByZS1zaWduZWQgVVJMIHRvIHVwbG9hZCB0aGUgc2VsZWN0ZWQgZmlsZSB0byBBV1MgUzMgYnVja2V0LlxyXG4gICAqIEBwYXJhbSB7RmlsZSB8IEZpbGVMaXN0fSBmaWxlXHJcbiAgICovXHJcbiAgZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybChmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmwoZmlsZSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IEZpbGVVcGxvYWRQcmVzaWduZWRVcmwpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFByZXNpZ25lZFVybCA9IHJlc3BvbnNlPy5ib2R5O1xyXG4gICAgICAgICAgaWYgKHRoaXMuZmlsZVVwbG9hZFByZXNpZ25lZFVybCkgdGhpcy51cGxvYWRGaWxlVG9TMyhmaWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LCBuby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBVcGxvYWRzIHRoZSBmaWxlIHRvIEFXUyBTMyBidWNrZXQgYW5kIHN1Ym1pdCB0aGUgZm9ybSBkYXRhIHRvIEFQSSB0byBjcmVhdGUgbmV3IHRlbmFudC5cclxuICAgKiBAcGFyYW0ge0ZpbGUgfCBGaWxlTGlzdH0gZmlsZVxyXG4gICAqL1xyXG4gIHVwbG9hZEZpbGVUb1MzKGZpbGU6IEZpbGUgfCBGaWxlTGlzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZVxyXG4gICAgICAudXBsb2FkRmlsZVRvUzModGhpcy5maWxlVXBsb2FkUHJlc2lnbmVkVXJsLCBmaWxlKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0RmlsZVVwbG9hZFN0YXR1cyh0cnVlKTtcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICA/IHRoaXMuZWRpdFRlbmFudCgpXHJcbiAgICAgICAgICAgIDogdGhpcy5jcmVhdGVUZW5hbnQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnNldEZpbGVVcGxvYWRTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbiB0aGUgY29sb3IgcGlja2VyIHZhbHVlcyBoYXMgYmVlbiBjaGFuZ2VkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvclxyXG4gICAqL1xyXG4gIG9uQ29sb3JQaWNrZXJDaGFuZ2UoY29sb3I6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvbG9yID0gY29sb3I7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIHdoZW4gdGhlIHJhZGlvIG9wdGlvbiBoYXMgYmVlbiBjaGFuZ2VkLlxyXG4gICAqIEBwYXJhbSB7UmFkaW9PcHRpb259IHJhZGlvT3B0aW9uXHJcbiAgICovXHJcbiAgb25SYWRpb09wdGlvblNlbGVjdGVkKHJhZGlvT3B0aW9uOiBSYWRpb09wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVPcHRpb24gPSByYWRpb09wdGlvbjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIHVuc3Vic2NyaWJlIHRoZSBvcGVuIG9ic2VydmFibGUgc3Vic2NyaXB0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGllZWVzYS1keW5hbWljLWZvcm1cclxuICAqbmdJZj1cImNyZWF0ZVRlbmFudEZvcm1Hcm91cFwiXHJcbiAgY2xhc3M9XCJpZWVlc2EtY3JlYXRlLXRlbmFudC1mb3JtXCJcclxuICBbbGVmdEJ1dHRvbkxhYmVsXT1cImxlZnRCdXR0b25MYWJlbFwiXHJcbiAgW3JpZ2h0QnV0dG9uTGFiZWxdPVwicmlnaHRCdXR0b25MYWJlbFwiXHJcbiAgW2lzTGVnZW5kVmlzaWJsZV09XCJmYWxzZVwiXHJcbiAgW2NvbFdpZHRoXT1cImNvbFdpZHRoXCJcclxuICBbYWN0aW9uQnV0dG9uQWxpZ25dPVwiYWN0aW9uQnV0dG9uQWxpZ25cIlxyXG4gIFtmb3JtR3JvdXBzXT1cImNyZWF0ZVRlbmFudEZvcm1Hcm91cFwiXHJcbiAgW2lzTGVmdEJ1dHRvbk5lZWRlZF09XCJ0cnVlXCJcclxuICAoZm9ybVN1Ym1pdCk9XCJvbkNyZWF0ZVRlbmFudEZvcm1TdWJtaXQoJGV2ZW50KVwiXHJcbiAgKGZvcm1DaGFuZ2UpPVwib25DcmVhdGVUZW5hbnRGb3JtQ2hhbmdlKCRldmVudClcIlxyXG4gIChmb3JtTGVmdEJ1dHRvbkNsaWNrZWQpPVwib25Gb3JtQ2FuY2VsKClcIlxyXG4gIChmb3JtR3JvdXBzUmVmZXJlbmNlKT1cImdldENyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZigkZXZlbnQpXCJcclxuICAoZm9ybUZpbGVVcGxvYWQpPVwib25Gb3JtRmlsZVVwbG9hZCgkZXZlbnQpXCJcclxuICAoZm9ybUNvbG9yUGlja2VyQ2hhbmdlKT1cIm9uQ29sb3JQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKGZvcm1SYWRpb09wdGlvblNlbGVjdGVkKT1cIm9uUmFkaW9PcHRpb25TZWxlY3RlZCgkZXZlbnQpXCJcclxuPjwvaWVlZXNhLWR5bmFtaWMtZm9ybT5cclxuIl19
@@ -100,12 +100,12 @@ export class TenantBasicDetailsComponent {
100
100
  this.destroy$?.unsubscribe();
101
101
  }
102
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantBasicDetailsComponent, deps: [{ token: i1.TenantApplicationsService }, { token: i2.BreakpointObserverService }, { token: i3.FileUploadService }, { token: i4.SharedService }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantBasicDetailsComponent, isStandalone: true, selector: "ieeesa-tenant-basic-details", inputs: { tenantDetails: "tenantDetails" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\"\r\n [ngClass]=\"{ 'px-3': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-lg-18\">{{ basicInfo?.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-1\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo?.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-title-md-18\" *ngFor=\"let feature of basicInfo?.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-lg-18\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tenant-basic-info{padding:1.5rem 1.5rem .75rem}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#49454f!important}.ieeesa-tenant-basic-info__bgColor{width:1.5em;height:1.5em;border:1px solid #fffbfe}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ImagePreviewComponent, selector: "ieeesa-image-preview", inputs: ["imageUrl"] }], encapsulation: i0.ViewEncapsulation.None }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TenantBasicDetailsComponent, isStandalone: true, selector: "ieeesa-tenant-basic-details", inputs: { tenantDetails: "tenantDetails" }, ngImport: i0, template: "<div class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\">\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-md-16\">{{ basicInfo?.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-2\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16 me-4\">{{ basicInfo?.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-2\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo?.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-body-md-16\" *ngFor=\"let feature of basicInfo?.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-md-16\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#63666a!important}.ieeesa-tenant-basic-info__bgColor{width:1.85em;height:1.85em;border:1px solid #fffbfe}.ieeesa-tenant-basic-info .ieeesa-body-md-16,.ieeesa-tenant-basic-info .ieeesa-title-sm-16{color:#1c1b1f!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ImagePreviewComponent, selector: "ieeesa-image-preview", inputs: ["imageUrl"] }], encapsulation: i0.ViewEncapsulation.None }); }
104
104
  }
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TenantBasicDetailsComponent, decorators: [{
106
106
  type: Component,
107
- args: [{ selector: 'ieeesa-tenant-basic-details', standalone: true, imports: [CommonModule, ImagePreviewComponent], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\"\r\n [ngClass]=\"{ 'px-3': isMobileView }\"\r\n>\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-lg-18\">{{ basicInfo?.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-1\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo?.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-title-md-18\" *ngFor=\"let feature of basicInfo?.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-md-16\">{{ basicInfo?.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-lg-18\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tenant-basic-info{padding:1.5rem 1.5rem .75rem}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#49454f!important}.ieeesa-tenant-basic-info__bgColor{width:1.5em;height:1.5em;border:1px solid #fffbfe}\n"] }]
107
+ args: [{ selector: 'ieeesa-tenant-basic-details', standalone: true, imports: [CommonModule, ImagePreviewComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-tenant-basic-info d-flex flex-start flex-column\">\r\n <p class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.title }}</p>\r\n <p class=\"ieeesa-body-md-16\">{{ basicInfo?.appTitle }}</p>\r\n <p class=\"ieeesa-body-color-sm-14 mb-2\">{{ basicDetailTexts.logo }}</p>\r\n <ng-container>\r\n <ieeesa-image-preview\r\n class=\"pb-3\"\r\n [imageUrl]=\"imageUrl\"\r\n ></ieeesa-image-preview>\r\n </ng-container>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.heading\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appHeading }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.description\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16 me-4\">{{ basicInfo?.appDescription }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-2\">{{\r\n basicDetailTexts.bgColor\r\n }}</span>\r\n <p\r\n class=\"ieeesa-tenant-basic-info__bgColor\"\r\n [ngStyle]=\"{ 'background-color': basicInfo?.backgroundColor }\"\r\n ></p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.helpLink\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appHelpLink }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.listOfFeatures\r\n }}</span>\r\n <ul [ngClass]=\"isMobileView ? '' : 'd-flex gap-5'\">\r\n <li class=\"ieeesa-body-md-16\" *ngFor=\"let feature of basicInfo?.features\">\r\n {{ feature?.featureName }}\r\n </li>\r\n </ul>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{\r\n basicDetailTexts.domainURL\r\n }}</span>\r\n <p class=\"ieeesa-title-sm-16\">{{ basicInfo?.appDomainUrl }}</p>\r\n <span class=\"ieeesa-body-color-sm-14 mb-0\">{{ basicDetailTexts.type }}</span>\r\n <p class=\"ieeesa-body-md-16\">{{ selectedAppTypeLabel }}</p>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-tenant-basic-info .ieeesa-body-color-sm-14{color:#63666a!important}.ieeesa-tenant-basic-info__bgColor{width:1.85em;height:1.85em;border:1px solid #fffbfe}.ieeesa-tenant-basic-info .ieeesa-body-md-16,.ieeesa-tenant-basic-info .ieeesa-title-sm-16{color:#1c1b1f!important}\n"] }]
108
108
  }], ctorParameters: function () { return [{ type: i1.TenantApplicationsService }, { type: i2.BreakpointObserverService }, { type: i3.FileUploadService }, { type: i4.SharedService }]; }, propDecorators: { tenantDetails: [{
109
109
  type: Input
110
110
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUVMLHFCQUFxQixHQUV0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBWWxDLE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO0lB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QUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXpHVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtSUN0QnhDLGc0REErQ0EsNGxRRDlCWSxZQUFZLCtVQUFFLHFCQUFxQjs7NEZBS2xDLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLGlCQUcvQixpQkFBaUIsQ0FBQyxJQUFJO29OQWNqQyxhQUFhO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0IGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIFJhZGlvT3B0aW9uLFxyXG4gIEltYWdlUHJldmlld0NvbXBvbmVudCxcclxuICBGaWxlVXBsb2FkU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50QmFzaWNJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10ZW5hbnQtYmFzaWMtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbWFnZVByZXZpZXdDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnQtYmFzaWMtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50QmFzaWNEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgY29uc3RhbnRzID0gc2NyZWVuVGV4dDtcclxuICBiYXNpY0RldGFpbFRleHRzID0gdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzPy50ZW5hbnRCYXNpY0RldGFpbHM/LmxhYmVsO1xyXG4gIHRlbmFudEJhY2tncm91bmRDb2xvciE6IHN0cmluZztcclxuICBzZWxlY3RlZEFwcFR5cGUhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRBcHBUeXBlTGFiZWwhOiBzdHJpbmc7XHJcbiAgbG9nbyE6IHN0cmluZztcclxuICBiYXNpY0luZm8hOiBUZW5hbnRCYXNpY0luZm87XHJcbiAgaW1hZ2VVcmwhOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzZXQgdGVuYW50RGV0YWlscyh2YWx1ZTogVGVuYW50QmFzaWNJbmZvKSB7XHJcbiAgICB0aGlzLmJhc2ljSW5mbyA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2dvID0gdGhpcy5iYXNpY0luZm8/LmFwcExvZ28gYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGUgPSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5iYXNpY0luZm8pIHtcclxuICAgICAgdGhpcy5nZXRBcHBUeXBlKCk7XHJcbiAgICAgIHRoaXMuZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyh0aGlzLmxvZ28pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyB0ZW5hbnRBcHBTZXJ2aWNlOiBUZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiB7IG1hdGNoZXM6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Py5tYXRjaGVzO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRBcHBsaWNhdGlvblR5cGUoKTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0QXBpQmFzZVVybCh0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmFwaUJhc2VVcmwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgYXBwbGljYXRpb24gdHlwZXMuXHJcbiAgICogQG1lbWJlcm9mIFRlbmFudEJhc2ljRGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFwcFR5cGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcHBUeXBlcyA9IHRoaXMudGVuYW50QXBwU2VydmljZS5hcHBUeXBlSW5mbztcclxuICAgIGNvbnN0IHNlbGVjdGVkVHlwZSA9IGFwcFR5cGVzPy5maWx0ZXIoXHJcbiAgICAgIChhcHBUeXBlKSA9PiBhcHBUeXBlLmlkID09PSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZVxyXG4gICAgKSBhcyBSYWRpb09wdGlvbltdO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVMYWJlbCA9IHNlbGVjdGVkVHlwZVswXT8ubGFiZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgZnJvbSBBbWF6b24gUzMgYnVja2V0LlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoZmlsZU5hbWUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlPy5ib2R5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RhbnRzPy52aWV3VGVuYW50cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIGZpbGUgZnJvbSBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBkb3dubG9hZEZpbGUocHJlc2lnbmVkVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmRvd25sb2FkRmlsZShwcmVzaWduZWRVcmwpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlIGFzIHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybXMgbmVjZXNzYXJ5IGNsZWFudXAgdGFza3MsIHN1Y2ggYXMgdW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS10ZW5hbnQtYmFzaWMtaW5mbyBkLWZsZXggZmxleC1zdGFydCBmbGV4LWNvbHVtblwiXHJcbiAgW25nQ2xhc3NdPVwieyAncHgtMyc6IGlzTW9iaWxlVmlldyB9XCJcclxuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7IGJhc2ljRGV0YWlsVGV4dHMudGl0bGUgfX08L3A+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtYm9keS1sZy0xOFwiPnt7IGJhc2ljSW5mbz8uYXBwVGl0bGUgfX08L3A+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0xXCI+e3sgYmFzaWNEZXRhaWxUZXh0cy5sb2dvIH19PC9wPlxyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICA8aWVlZXNhLWltYWdlLXByZXZpZXdcclxuICAgICAgY2xhc3M9XCJwYi0zXCJcclxuICAgICAgW2ltYWdlVXJsXT1cImltYWdlVXJsXCJcclxuICAgID48L2llZWVzYS1pbWFnZS1wcmV2aWV3PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmhlYWRpbmdcclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1tZC0xNlwiPnt7IGJhc2ljSW5mbz8uYXBwSGVhZGluZyB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5kZXNjcmlwdGlvblxyXG4gIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLXRpdGxlLW1kLTE2XCI+e3sgYmFzaWNJbmZvPy5hcHBEZXNjcmlwdGlvbiB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5iZ0NvbG9yXHJcbiAgfX08L3NwYW4+XHJcbiAgPHBcclxuICAgIGNsYXNzPVwiaWVlZXNhLXRlbmFudC1iYXNpYy1pbmZvX19iZ0NvbG9yXCJcclxuICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBiYXNpY0luZm8/LmJhY2tncm91bmRDb2xvciB9XCJcclxuICA+PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmhlbHBMaW5rXHJcbiAgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtbWQtMTZcIj57eyBiYXNpY0luZm8/LmFwcEhlbHBMaW5rIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmxpc3RPZkZlYXR1cmVzXHJcbiAgfX08L3NwYW4+XHJcbiAgPHVsIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICcnIDogJ2QtZmxleCBnYXAtNSdcIj5cclxuICAgIDxsaSBjbGFzcz1cImllZWVzYS10aXRsZS1tZC0xOFwiICpuZ0Zvcj1cImxldCBmZWF0dXJlIG9mIGJhc2ljSW5mbz8uZmVhdHVyZXNcIj5cclxuICAgICAge3sgZmVhdHVyZT8uZmVhdHVyZU5hbWUgfX1cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5kb21haW5VUkxcclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1tZC0xNlwiPnt7IGJhc2ljSW5mbz8uYXBwRG9tYWluVXJsIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7IGJhc2ljRGV0YWlsVGV4dHMudHlwZSB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS1ib2R5LWxnLTE4XCI+e3sgc2VsZWN0ZWRBcHBUeXBlTGFiZWwgfX08L3A+XHJcbjwvZGl2PlxyXG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50LWJhc2ljLWRldGFpbHMvdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFHMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUVMLHFCQUFxQixHQUV0QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBWWxDLE1BQU0sT0FBTywyQkFBMkI7SUFXdEMsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQWlCLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlDO0lB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QUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRDs7O09BR0c7SUFDSCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXpHVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtSUN0QnhDLCswREE0Q0EsMHBRRDNCWSxZQUFZLCtVQUFFLHFCQUFxQjs7NEZBS2xDLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLGlCQUcvQixpQkFBaUIsQ0FBQyxJQUFJO29OQWNqQyxhQUFhO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgKiBhcyBzY3JlZW5UZXh0IGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW5hbnQtYXBwbGljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vdXRpbGl0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIFJhZGlvT3B0aW9uLFxyXG4gIEltYWdlUHJldmlld0NvbXBvbmVudCxcclxuICBGaWxlVXBsb2FkU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50QmFzaWNJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10ZW5hbnQtYmFzaWMtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbWFnZVByZXZpZXdDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnQtYmFzaWMtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGVuYW50LWJhc2ljLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50QmFzaWNEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgY29uc3RhbnRzID0gc2NyZWVuVGV4dDtcclxuICBiYXNpY0RldGFpbFRleHRzID0gdGhpcy5jb25zdGFudHM/LnZpZXdUZW5hbnRzPy50ZW5hbnRCYXNpY0RldGFpbHM/LmxhYmVsO1xyXG4gIHRlbmFudEJhY2tncm91bmRDb2xvciE6IHN0cmluZztcclxuICBzZWxlY3RlZEFwcFR5cGUhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRBcHBUeXBlTGFiZWwhOiBzdHJpbmc7XHJcbiAgbG9nbyE6IHN0cmluZztcclxuICBiYXNpY0luZm8hOiBUZW5hbnRCYXNpY0luZm87XHJcbiAgaW1hZ2VVcmwhOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzZXQgdGVuYW50RGV0YWlscyh2YWx1ZTogVGVuYW50QmFzaWNJbmZvKSB7XHJcbiAgICB0aGlzLmJhc2ljSW5mbyA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2dvID0gdGhpcy5iYXNpY0luZm8/LmFwcExvZ28gYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGUgPSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZSBhcyBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5iYXNpY0luZm8pIHtcclxuICAgICAgdGhpcy5nZXRBcHBUeXBlKCk7XHJcbiAgICAgIHRoaXMuZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyh0aGlzLmxvZ28pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyB0ZW5hbnRBcHBTZXJ2aWNlOiBUZW5hbnRBcHBsaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiB7IG1hdGNoZXM6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Py5tYXRjaGVzO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRBcHBsaWNhdGlvblR5cGUoKTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0QXBpQmFzZVVybCh0aGlzLnRlbmFudEFwcFNlcnZpY2U/LmFwaUJhc2VVcmwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgYXBwbGljYXRpb24gdHlwZXMuXHJcbiAgICogQG1lbWJlcm9mIFRlbmFudEJhc2ljRGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFwcFR5cGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcHBUeXBlcyA9IHRoaXMudGVuYW50QXBwU2VydmljZS5hcHBUeXBlSW5mbztcclxuICAgIGNvbnN0IHNlbGVjdGVkVHlwZSA9IGFwcFR5cGVzPy5maWx0ZXIoXHJcbiAgICAgIChhcHBUeXBlKSA9PiBhcHBUeXBlLmlkID09PSB0aGlzLmJhc2ljSW5mbz8uYXBwVHlwZVxyXG4gICAgKSBhcyBSYWRpb09wdGlvbltdO1xyXG4gICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVMYWJlbCA9IHNlbGVjdGVkVHlwZVswXT8ubGFiZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlc2lnbmVkIFVSTCBmb3IgZG93bmxvYWRpbmcgZmlsZXMgZnJvbSBBbWF6b24gUzMgYnVja2V0LlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoZmlsZU5hbWUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlPy5ib2R5O1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBFcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY29uc3RhbnRzPy52aWV3VGVuYW50cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG93bmxvYWRzIGZpbGUgZnJvbSBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEBtZW1iZXJvZiBUZW5hbnRCYXNpY0RldGFpbHNDb21wb25lbnRcclxuICAgKi9cclxuICBkb3dubG9hZEZpbGUocHJlc2lnbmVkVXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmRvd25sb2FkRmlsZShwcmVzaWduZWRVcmwpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlc3BvbnNlIGFzIHN0cmluZztcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0YW50cz8udmlld1RlbmFudHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybXMgbmVjZXNzYXJ5IGNsZWFudXAgdGFza3MsIHN1Y2ggYXMgdW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiB3aGVuIHRoZSBjb21wb25lbnQgaXMgYmVpbmcgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBWaWV3VGVuYW50RGV0YWlsc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JD8ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQ/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZWVlc2EtdGVuYW50LWJhc2ljLWluZm8gZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICA8cCBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57eyBiYXNpY0RldGFpbFRleHRzLnRpdGxlIH19PC9wPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktbWQtMTZcIj57eyBiYXNpY0luZm8/LmFwcFRpdGxlIH19PC9wPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMlwiPnt7IGJhc2ljRGV0YWlsVGV4dHMubG9nbyB9fTwvcD5cclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPGllZWVzYS1pbWFnZS1wcmV2aWV3XHJcbiAgICAgIGNsYXNzPVwicGItM1wiXHJcbiAgICAgIFtpbWFnZVVybF09XCJpbWFnZVVybFwiXHJcbiAgICA+PC9pZWVlc2EtaW1hZ2UtcHJldmlldz5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTBcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5oZWFkaW5nXHJcbiAgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtc20tMTZcIj57eyBiYXNpY0luZm8/LmFwcEhlYWRpbmcgfX08L3A+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3tcclxuICAgIGJhc2ljRGV0YWlsVGV4dHMuZGVzY3JpcHRpb25cclxuICB9fTwvc3Bhbj5cclxuICA8cCBjbGFzcz1cImllZWVzYS10aXRsZS1zbS0xNiBtZS00XCI+e3sgYmFzaWNJbmZvPy5hcHBEZXNjcmlwdGlvbiB9fTwvcD5cclxuICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LWNvbG9yLXNtLTE0IG1iLTJcIj57e1xyXG4gICAgYmFzaWNEZXRhaWxUZXh0cy5iZ0NvbG9yXHJcbiAgfX08L3NwYW4+XHJcbiAgPHBcclxuICAgIGNsYXNzPVwiaWVlZXNhLXRlbmFudC1iYXNpYy1pbmZvX19iZ0NvbG9yXCJcclxuICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBiYXNpY0luZm8/LmJhY2tncm91bmRDb2xvciB9XCJcclxuICA+PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmhlbHBMaW5rXHJcbiAgfX08L3NwYW4+XHJcbiAgPHAgY2xhc3M9XCJpZWVlc2EtdGl0bGUtc20tMTZcIj57eyBiYXNpY0luZm8/LmFwcEhlbHBMaW5rIH19PC9wPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmxpc3RPZkZlYXR1cmVzXHJcbiAgfX08L3NwYW4+XHJcbiAgPHVsIFtuZ0NsYXNzXT1cImlzTW9iaWxlVmlldyA/ICcnIDogJ2QtZmxleCBnYXAtNSdcIj5cclxuICAgIDxsaSBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE2XCIgKm5nRm9yPVwibGV0IGZlYXR1cmUgb2YgYmFzaWNJbmZvPy5mZWF0dXJlc1wiPlxyXG4gICAgICB7eyBmZWF0dXJlPy5mZWF0dXJlTmFtZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG4gIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktY29sb3Itc20tMTQgbWItMFwiPnt7XHJcbiAgICBiYXNpY0RldGFpbFRleHRzLmRvbWFpblVSTFxyXG4gIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLXRpdGxlLXNtLTE2XCI+e3sgYmFzaWNJbmZvPy5hcHBEb21haW5VcmwgfX08L3A+XHJcbiAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtYm9keS1jb2xvci1zbS0xNCBtYi0wXCI+e3sgYmFzaWNEZXRhaWxUZXh0cy50eXBlIH19PC9zcGFuPlxyXG4gIDxwIGNsYXNzPVwiaWVlZXNhLWJvZHktbWQtMTZcIj57eyBzZWxlY3RlZEFwcFR5cGVMYWJlbCB9fTwvcD5cclxuPC9kaXY+XHJcbiJdfQ==