bpm-core 0.0.26 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/esm2022/lib/app/app.component.mjs +9 -10
  2. package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +3 -3
  3. package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +2 -2
  4. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +4 -40
  5. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +3 -3
  6. package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +6 -4
  7. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +2 -2
  8. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +42 -31
  9. package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +63 -14
  10. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +70 -137
  11. package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +42 -78
  12. package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +5 -19
  13. package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +23 -115
  14. package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +20 -72
  15. package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +20 -74
  16. package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +20 -104
  17. package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +20 -39
  18. package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +27 -59
  19. package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +3 -6
  20. package/esm2022/lib/environments/environment.local.mjs +2 -2
  21. package/esm2022/lib/services/core.service.ts.mjs +7 -8
  22. package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +2 -2
  23. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +37 -23
  24. package/fesm2022/bpm-core.mjs +538 -958
  25. package/fesm2022/bpm-core.mjs.map +1 -1
  26. package/lib/app/app.component.d.ts +1 -2
  27. package/lib/components/app-component-sections/activities/activities.component.d.ts +2 -2
  28. package/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.d.ts +1 -1
  29. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +3 -4
  30. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +1 -1
  31. package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +3 -1
  32. package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +1 -1
  33. package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +10 -7
  34. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +15 -5
  35. package/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.d.ts +15 -15
  36. package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +6 -13
  37. package/lib/components/shared-components/form-field/input/input.component.d.ts +2 -6
  38. package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +6 -23
  39. package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +4 -18
  40. package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +4 -18
  41. package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +5 -20
  42. package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +4 -15
  43. package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +5 -14
  44. package/lib/components/shared-components/form-field/validation-errors/validation-errors.component.d.ts +1 -2
  45. package/lib/services/core.service.ts.d.ts +1 -1
  46. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +5 -7
  47. package/package.json +3 -2
  48. package/esm2022/lib/testComponent/services/state-machine.service.mjs +0 -148
  49. package/lib/testComponent/services/state-machine.service.d.ts +0 -29
@@ -50,8 +50,8 @@ export class ServiceHeaderComponent {
50
50
  onCommentsFormClick() {
51
51
  const comments = this.form.commentsDrop;
52
52
  const resultData = [];
53
- for (let index = 0; index < comments.length; index++) {
54
- const item = comments[index];
53
+ for (const element of comments) {
54
+ const item = element;
55
55
  const obj = {
56
56
  name: item['employeeName'],
57
57
  title: item.jobPosition,
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
163
163
  }], serviceBrief: [{
164
164
  type: Input
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBK0IsZUFBZSxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxt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ZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBGZWVkQmFja1NlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGZWVkYmFja1NlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ZlZWRiYWNrLXNlY3Rpb24vZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7RmFxU2lkZW5hdkNvbXBvbmVudH0gZnJvbSAnLi4vZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY3Rpdml0aWVzQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtc2VydmljZS1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlcixcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdE1lbnUsXHJcbiAgICBNYXRNZW51SXRlbVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW0ZlZWRCYWNrU2VydmljZSxcclxuICAgIHtwcm92aWRlOiBNQVRfRElBTE9HX0RBVEEsIHVzZVZhbHVlOiB7fX0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VydmljZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgc2hvd0hpc3RvcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QXBwcm92YWxIaXN0b3J5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBwcm92YWxIaXN0b3J5OiBhbnk7XHJcbiAgQElucHV0KCkgY3JlYXRpb25EYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBmZWVkQmFja0ljb246IHN0cmluZyA9IG51bGw7XHJcbiAgZmxhZ1ByaW9yaXR5OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6Q29yZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLCBwcml2YXRlIGZlZWRCYWNrU2VydmljZTogRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbEhpc3RvcnkoKTtcclxuICAgIHRoaXMuY3JlYXRpb25EYXRlID0gbW9tZW50KHRoaXMuZm9ybT8uaGVhZGVyPy5jcmVhdGlvbkRhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgb25Db21tZW50c0Zvcm1DbGljaygpIHtcclxuICAgIGNvbnN0IGNvbW1lbnRzOiBhbnkgPSB0aGlzLmZvcm0uY29tbWVudHNEcm9wO1xyXG4gICAgY29uc3QgcmVzdWx0RGF0YSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvbW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBpdGVtID0gY29tbWVudHNbaW5kZXhdO1xyXG4gICAgICBjb25zdCBvYmogPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6IGl0ZW1bJ2VtcGxveWVlTmFtZSddLFxyXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uam9iUG9zaXRpb24sXHJcbiAgICAgICAgICBpbWFnZTogaXRlbVsncHJvZmlsZVBpY3R1cmUnXSxcclxuICAgICAgICAgIGRhdGU6IG1vbWVudChpdGVtWydjb21tZW50RGF0ZSddKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KCdZWVlZLU1NLUREJyksXHJcbiAgICAgICAgICB0aW1lOiBtb21lbnQoaXRlbVsnY29tbWVudERhdGUnXSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdCgnaDptbSBhJyksXHJcbiAgICAgICAgICBjb21tZW50OiBpdGVtWydjb21tZW50Qm9keSddLFxyXG4gICAgICAgICAgYXR0YWNobWVudHM6IGl0ZW1bJ2F0dGFjaG1lbnQnXVxyXG4gICAgICAgIH07XHJcbiAgICAgIHJlc3VsdERhdGEucHVzaChvYmopO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb3JlU2VydmljZS5hY3Rpdml0aWVzID0gcmVzdWx0RGF0YTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEFjdGl2aXRpZXNDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgZmVlZGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnXSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHByb2ZpbGU6IHRoaXMuZm9ybS5wcm9maWxlSW5mb0Ryb3AsXHJcbiAgICAgICAgaW5ib3hJdGVtOiB0aGlzLmZvcm0uaW5ib3hJdGVtLFxyXG4gICAgICAgIGZvcm06IHRoaXMuZm9ybVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dVc2VySW5mbygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5kYXRhID0gdGhpcy5mb3JtPy5wcm9maWxlSW5mb0Ryb3A7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIFByb2ZpbGVTZWN0aW9uQ29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEZsYWdQcmlvcml0eShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZsYWdQcmlvcml0eSA9IGlkO1xyXG4gICAgdGhpcy5mb3JtLmluYm94SXRlbS5mbGFnUHJpb3JpdHkgPSBpZDtcclxuICAgIC8vIHRoaXMuc3RhdGVNYWNoaW5lU2VydmljZS5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fU0VUX0ZMQUcsIGlkKS50aGVuKCgpID0+IHtcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuICdsb2FkaW5nJztcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fCBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRURcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpXHJcbiAgICAgICAgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5GYXEoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBGYXFTaWRlbmF2Q29tcG9uZW50LCAnZW5kJywgJ292ZXInLCB0aGlzLnNlcnZpY2VCcmllZik7XHJcbiAgfVxyXG5cclxuICBnZXRBcHByb3ZhbEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsSGlzdG9yeT8uZm9yRWFjaCgoZWxlbWVudDogeyBhcHByb3ZlcjogeyBwZXJzb25OYW1lOiBhbnk7IHBlcnNvbkVtYWlsOiBzdHJpbmc7IH07IHBvc2l0aW9uVHlwZTogYW55OyB9LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICBpZDogaW5kZXggKyAxLFxyXG4gICAgICAgIG5hbWU6IGVsZW1lbnQuYXBwcm92ZXIucGVyc29uTmFtZSxcclxuICAgICAgICB0aXRsZTogZWxlbWVudC5wb3NpdGlvblR5cGUsXHJcbiAgICAgICAgaW1hZ2U6ICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBlbGVtZW50LmFwcHJvdmVyLnBlcnNvbkVtYWlsLFxyXG4gICAgICAgIHN0YXR1czogdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0gPyB0aGlzLnN0YXR1c0NsYXNzKHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXkpIDogJycsXHJcbiAgICAgICAgc3RhdHVzTGFiZWw6IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdID8gdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlIDogJydcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hcHByb3ZhbHMucHVzaChvYmopO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yIG15LTJcIiAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG5cclxuICAgIDwhLS0gZmxhZy0tPlxyXG4gICAgPGRzLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImZvcm0/LmluYm94SXRlbSAmJiAhZm9ybS5zZWN0aW9uc1tmb3JtLnNlY3Rpb25zLmxlbmd0aCAtMV0uaGVhZGVyLnJlYWRPbmx5ICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICBzcXVhcmVcclxuICAgICAgaWNvblxyXG4gICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydmYy1wdXJwbGUnIDogKGZsYWdQcmlvcml0eSA9PT0gJzAnIHx8ICBmbGFnUHJpb3JpdHkgPT09IG51bGwpLCdmYy15ZWxsb3cnIDogZmxhZ1ByaW9yaXR5ID09PSAnMScsJ2ZjLWdyZWVuJyA6IGZsYWdQcmlvcml0eSA9PT0gJzInLCdmYy1jb3JhbCcgOiBmbGFnUHJpb3JpdHkgPT09ICczJ31cIlxyXG4gICAgICAgIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZzLTIwIGZzLW1kLTE3IGZjLXB1cnBsZVwiPlxyXG4gICAgICA8L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBwYW5lbENsYXNzPVwiYWN0aW9uLW1lbnVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzAnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLXB1cnBsZSBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcxJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy15ZWxsb3cgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMicpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtZ3JlZW4gZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMycpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuXHJcbiAgICA8IS0tIHByaW50LS0+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxoZWFkZXIgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlciBiYy13aGl0ZSBwLTMgcC1zbS00IHB5LTQgZ2FwLTMge3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlci1pY29uXCI+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QWlJR2hsYVdkb2REMGlNamtpSUhacFpYZENiM2c5SWpBZ01DQXpNQ0F5T1NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEkxTGpFZ01FZzBMamxETWk0eUlEQWdNQ0F5TGpJZ01DQTBMamxXTWpndU5rZ3lOUzR4UXpJM0xqZ2dNamd1TmlBek1DQXlOaTQwSURNd0lESXpMamRXTkM0NVF6TXdJREl1TWlBeU55NDRJREFnTWpVdU1TQXdXazB5SURRdU9VTXlJRE11TXlBekxqTWdNaUEwTGprZ01rZ3lOUzR4UXpJMkxqY2dNaUF5T0NBekxqTWdNamdnTkM0NVZqSXpMamRETWpnZ01qVXVNeUF5Tmk0M0lESTJMallnTWpVdU1TQXlOaTQyU0RKV05DNDVXazB4TVM0MUlEWXVNME0zTGpFZ05pNHpJRE11TlNBNUxqa2dNeTQxSURFMExqTkRNeTQxSURFNExqY2dOeTR4SURJeUxqTWdNVEV1TlNBeU1pNHpRekUxTGprZ01qSXVNeUF4T1M0MUlERTRMamNnTVRrdU5TQXhOQzR6UXpFNUxqVWdPUzQ1SURFMUxqa2dOaTR6SURFeExqVWdOaTR6V2sweE5TNHhJREU1UXpFMExqRWdNVGt1T0NBeE1pNDRJREl3TGpJZ01URXVOU0F5TUM0eVF6RXdMaklnTWpBdU1pQTRMamtnTVRrdU9DQTNMamtnTVRsRE9DNDNJREUzTGpjZ01UQWdNVGNnTVRFdU5TQXhOME14TXlBeE55QXhOQzQwSURFM0xqZ2dNVFV1TVNBeE9WcE5NVE11TVNBeE15NDBRekV6TGpFZ01UUXVNeUF4TWk0MElERTFJREV4TGpVZ01UVkRNVEF1TmlBeE5TQTVMamtnTVRRdU15QTVMamtnTVRNdU5FTTVMamtnTVRJdU5TQXhNQzQySURFeExqZ2dNVEV1TlNBeE1TNDRRekV5TGpRZ01URXVPQ0F4TXk0eElERXlMalVnTVRNdU1TQXhNeTQwV2sweE5TNHhJREV6TGpSRE1UVXVNU0F4TVM0MElERXpMalVnT1M0NElERXhMalVnT1M0NFF6a3VOU0E1TGpnZ055NDVJREV4TGpRZ055NDVJREV6TGpSRE55NDVJREUwTGpJZ09DNHlJREUxSURndU55QXhOUzQzUXpjdU9DQXhOaTR4SURjdU1TQXhOaTQ0SURZdU5TQXhOeTQyUXpVdU9DQXhOaTQySURVdU5TQXhOUzQxSURVdU5TQXhOQzR6UXpVdU5TQXhNU0E0TGpJZ09DNHpJREV4TGpVZ09DNHpRekUwTGpnZ09DNHpJREUzTGpVZ01URWdNVGN1TlNBeE5DNHpRekUzTGpVZ01UVXVOU0F4Tnk0eUlERTJMallnTVRZdU5TQXhOeTQyUXpFMUxqa2dNVFl1T0NBeE5TNHlJREUyTGpJZ01UUXVNeUF4TlM0M1F6RTBMamdnTVRVdU1TQXhOUzR4SURFMExqSWdNVFV1TVNBeE15NDBXazB5TVNBNUxqRkRNakVnT0M0MklESXhMalFnT0M0eElESXlJRGd1TVVneU5TNDFRekkySURndU1TQXlOaTQxSURndU5TQXlOaTQxSURrdU1VTXlOaTQxSURrdU5pQXlOaTR4SURFd0xqRWdNalV1TlNBeE1DNHhTREl5UXpJeExqUWdNVEF1TVNBeU1TQTVMallnTWpFZ09TNHhXazB5TVNBeE1pNDFRekl4SURFeUlESXhMalFnTVRFdU5TQXlNaUF4TVM0MVNESTFMalZETWpZZ01URXVOU0F5Tmk0MUlERXhMamtnTWpZdU5TQXhNaTQxUXpJMkxqVWdNVE1nTWpZdU1TQXhNeTQxSURJMUxqVWdNVE11TlVneU1rTXlNUzQwSURFekxqVWdNakVnTVRNdU1TQXlNU0F4TWk0MVdrMHlNU0F4TmtNeU1TQXhOUzQxSURJeExqUWdNVFVnTWpJZ01UVklNalV1TlVNeU5pQXhOU0F5Tmk0MUlERTFMalFnTWpZdU5TQXhOa015Tmk0MUlERTJMalVnTWpZdU1TQXhOeUF5TlM0MUlERTNTREl5UXpJeExqUWdNVGNnTWpFZ01UWXVOaUF5TVNBeE5scE5NalV1TlNBeU1DNDFTREl5UXpJeExqVWdNakF1TlNBeU1TQXlNQzR4SURJeElERTVMalZETWpFZ01UZ3VPU0F5TVM0MElERTRMalVnTWpJZ01UZ3VOVWd5TlM0MVF6STJJREU0TGpVZ01qWXVOU0F4T0M0NUlESTJMalVnTVRrdU5VTXlOaTQxSURJd0xqRWdNall1TVNBeU1DNDFJREkxTGpVZ01qQXVOVm9pSUdacGJHdzlJaU5HUmpNM05VVWlMejRLUEM5emRtYytDZz09XCIvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgPCEtLSB0aXRsZS0tPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cImZzLTIwIGZzLW1kLTE2IGZ3LWJvbGQgZmMtYmxhY2sgaGVhZGVyLXRpdGxlIG0tMFwiPnt7IGZvcm1UaXRsZSB9fVxyXG4gICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgaWNvbj1cImluZm9cIiBjbGFzcz1cImZzLTIyIGZjLWRhcmstZ3JheSBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwic2VydmljZUJyaWVmLmxlbmd0aFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmFxKClcIj48L2RzLWljb24+XHJcbiAgICAgICAgPC9oMT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImhlYWRlci11c2VyIGQtZmxleCBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTIgbXQtc20tMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyB8fCBpc0xvYWRpbmdcIj5cclxuICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nXCIgaW1hZ2U9XCJ7e2Zvcm0/LmhlYWRlcj8ucmVxdWVzdGVyUGhvdG99fVwiIHNpemU9XCJ4eC1zbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1pbmxpbmUtZmxleCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzaG93VXNlckluZm8oKVwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJmcy0xMiB0ZXh0LXRydW5jYXRlIGQtc20tYmxvY2sgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1VzZXJJbmZvKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2xvYWRpbmctYmcgbG9hZGluZy13aWR0aCc6IGlzTG9hZGluZ31cIj57eyBjb3JlU2VydmljZS5nZXRTaG9ydE5hbWUoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImRpdmlkZXIgY2lyY2xlIG14LTIgZC1ub25lIGQtc20tYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMlwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGZvcm0/LmhlYWRlcj8uZm9ybUlkIH19PC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJkaXZpZGVyIGNpcmNsZSBteC0yIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJmcy0xNFwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGNyZWF0aW9uRGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gaGVhZGVyLWFjdGlvbnMtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaGVhZGVyLWFjdGlvbnMgZC1mbGV4IGZsZXgtcm93IGZsZXgtc20tY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgZ2FwLTIgbXQtMiBtdC1zbS0wXCJcclxuICAgICAgICAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gICAgICAgIDxkcy1zdGF0dXNcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiIGNsYXNzPVwiaGVhZGVyLXN0YXR1c1wiPnt7IGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ3ZhbHVlJ10gfX1cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMlwiPlxyXG4gICAgICAgICAgPCEtLSBmZWVkYmFjay0tPlxyXG48IS0tICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5pbmJveEl0ZW0gJiYgKGZvcm0/LmluYm94SXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSd0cnVlJ3x8IGZvcm0/LmluYm94SXRlbT8uaGFzRmVlZGJhY2s9PT0ndHJ1ZScpICYmICFpc0xvYWRpbmdcIi0tPlxyXG4gICAgICAgIDwhLS0gIDxkcy1idXR0b25cclxuICAgICAgICAgICAgc3F1YXJlIGljb24gc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImZlZWRiYWNrKClcIj5cclxuICAgICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgICBpY29uPVwiY2hhdC1vXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1jb3JhbFwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmYy1ncmVlbic6ZmVlZEJhY2tJY29uID09PSAnZmVlZGJhY2tSZXNwb25kZWQnICwgJ2ZjLXJlZCc6IGZlZWRCYWNrSWNvbiA9PT0gJ3Jlc3BvbmRUb0ZlZWRiYWNrJyAsICdmYy15ZWxsb3cnOiBmZWVkQmFja0ljb24gPT09ICd3YWl0aW5nRmVlZGJhY2snfVwiPlxyXG4gICAgICAgICAgICA8L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj4tLT5cclxuICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5jb21tZW50c0Ryb3A/Lmxlbmd0aCA+IDAgJiYgIWlzTG9hZGluZ1wiIHNxdWFyZSBpY29uIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNvbW1lbnRzRm9ybUNsaWNrKClcIiBjbGFzcz1cImhhcy1jb21tZW50c1wiPlxyXG4gICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvY2tcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FwcHJvdmFsSGlzdG9yeVwiPlxyXG4gICAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJ3aGl0ZVwiIHNoYXBlPVwidGV4dFwiIHNxdWFyZSBzaXplPVwic21hbGxcIiBbc2F0UG9wb3ZlckFuY2hvcl09XCJ3b3JrZmxvd1wiXHJcbiAgICAgICAgICAgICAgI3dvcmtmbG93QW5jaG9yPVwic2F0UG9wb3ZlckFuY2hvclwiIChjbGljayk9XCJ3b3JrZmxvd0FuY2hvci5wb3BvdmVyLm9wZW4oKVwiPlxyXG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJ3b3JrZmxvd1wiIGNsYXNzPVwiZnMtMjRcIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgICAgPC9zbG90PlxyXG4gICAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDxzYXQtcG9wb3ZlclxyXG4gICAgICAgICAgICAgICN3b3JrZmxvdyBbYW5jaG9yXT1cIndvcmtmbG93QW5jaG9yXCIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIlxyXG4gICAgICAgICAgICAgIGhvcml6b250YWxBbGlnbj1cImVuZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCIgc3R5bGU9XCJtaW4td2lkdGg6IDMzMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWFwcHJvdmFscyAqbmdJZj1cImFwcHJvdmFsSGlzdG9yeVwiIGNsYXNzPVwicG9wb3Zlci1hcHByb3ZhbHNcIiBhcHByb3ZhbHNEYXRhPVwie3thcHByb3ZhbHN9fVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kcy1hcHByb3ZhbHM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9oZWFkZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48aGVhZGVyXHJcbiAgY2xhc3M9XCJtYi00IG10LTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmQgZ2FwLTJcIlxyXG4gICpuZ0lmPVwiKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8c2VjdGlvbj5cclxuICAgIDxoNiBjbGFzcz1cImZzLTE0IGZzLW1kLTEyIGZ3LW5vcm1hbCBmYy1kYXJrLWdyYXkgbWItMFwiPlxyXG4gICAgICB7eyBpMThuLnRyYW5zbGF0ZSgnSGVsbG8nKSB9fVxyXG4gICAgICB7eyBjb3JlU2VydmljZS5nZXRTaG9ydE5hbWUoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fSwge3sgaTE4bi50cmFuc2xhdGUoJ3dlbGNvbWVCYWNrJykgfX0hXHJcbiAgICA8L2g2PlxyXG4gICAgPGgxIGNsYXNzPVwiZnMtMjYgZnMtbWQtMjAgZnctYm9sZCBmYy1ibGFjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIG1iLTFcIj5cclxuICAgICAge3sgZm9ybVRpdGxlIH19XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJpbmZvXCIgY2xhc3M9XCJmcy0yMiBmYy1kYXJrLWdyYXkgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInNlcnZpY2VCcmllZi5sZW5ndGhcIiAoY2xpY2spPVwib3BlbkZhcSgpXCI+XHJcbiAgICAgIDwvZHMtaWNvbj5cclxuICAgIDwvaDE+XHJcbiAgPC9zZWN0aW9uPlxyXG5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBK0IsZUFBZSxFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxt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SSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQzVHLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBakhVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHdVQUp0QixDQUFDLGVBQWU7WUFDekIsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7U0FDekMsMEJDakNILHE1UUFrSUEsK2tHRDVHSSxJQUFJLDRGQUNKLGdCQUFnQixtcUJBQ2hCLFVBQVUsdUZBQ1YsY0FBYyxxU0FDZCxPQUFPLG9GQUNQLE9BQU8sMlFBQ1AsV0FBVzs7MkZBT0Ysc0JBQXNCO2tCQW5CbEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGNBQWM7d0JBQ2QsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFdBQVc7cUJBQ1osV0FDUSxDQUFDLHNCQUFzQixDQUFDLGFBQ3RCLENBQUMsZUFBZTt3QkFDekIsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7cUJBQ3pDO2lPQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBGZWVkQmFja1NlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGZWVkYmFja1NlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ZlZWRiYWNrLXNlY3Rpb24vZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7RmFxU2lkZW5hdkNvbXBvbmVudH0gZnJvbSAnLi4vZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY3Rpdml0aWVzQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtc2VydmljZS1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlcixcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdE1lbnUsXHJcbiAgICBNYXRNZW51SXRlbVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW0ZlZWRCYWNrU2VydmljZSxcclxuICAgIHtwcm92aWRlOiBNQVRfRElBTE9HX0RBVEEsIHVzZVZhbHVlOiB7fX0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VydmljZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgc2hvd0hpc3RvcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QXBwcm92YWxIaXN0b3J5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBwcm92YWxIaXN0b3J5OiBhbnk7XHJcbiAgQElucHV0KCkgY3JlYXRpb25EYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBmZWVkQmFja0ljb246IHN0cmluZyA9IG51bGw7XHJcbiAgZmxhZ1ByaW9yaXR5OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6Q29yZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLCBwcml2YXRlIGZlZWRCYWNrU2VydmljZTogRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbEhpc3RvcnkoKTtcclxuICAgIHRoaXMuY3JlYXRpb25EYXRlID0gbW9tZW50KHRoaXMuZm9ybT8uaGVhZGVyPy5jcmVhdGlvbkRhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgb25Db21tZW50c0Zvcm1DbGljaygpIHtcclxuICAgIGNvbnN0IGNvbW1lbnRzOiBhbnkgPSB0aGlzLmZvcm0uY29tbWVudHNEcm9wO1xyXG4gICAgY29uc3QgcmVzdWx0RGF0YSA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGNvbW1lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbGVtZW50O1xyXG4gICAgICBjb25zdCBvYmogPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6IGl0ZW1bJ2VtcGxveWVlTmFtZSddLFxyXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uam9iUG9zaXRpb24sXHJcbiAgICAgICAgICBpbWFnZTogaXRlbVsncHJvZmlsZVBpY3R1cmUnXSxcclxuICAgICAgICAgIGRhdGU6IG1vbWVudChpdGVtWydjb21tZW50RGF0ZSddKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KCdZWVlZLU1NLUREJyksXHJcbiAgICAgICAgICB0aW1lOiBtb21lbnQoaXRlbVsnY29tbWVudERhdGUnXSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdCgnaDptbSBhJyksXHJcbiAgICAgICAgICBjb21tZW50OiBpdGVtWydjb21tZW50Qm9keSddLFxyXG4gICAgICAgICAgYXR0YWNobWVudHM6IGl0ZW1bJ2F0dGFjaG1lbnQnXVxyXG4gICAgICAgIH07XHJcbiAgICAgIHJlc3VsdERhdGEucHVzaChvYmopO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb3JlU2VydmljZS5hY3Rpdml0aWVzID0gcmVzdWx0RGF0YTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEFjdGl2aXRpZXNDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgZmVlZGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnXSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHByb2ZpbGU6IHRoaXMuZm9ybS5wcm9maWxlSW5mb0Ryb3AsXHJcbiAgICAgICAgaW5ib3hJdGVtOiB0aGlzLmZvcm0uaW5ib3hJdGVtLFxyXG4gICAgICAgIGZvcm06IHRoaXMuZm9ybVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dVc2VySW5mbygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5kYXRhID0gdGhpcy5mb3JtPy5wcm9maWxlSW5mb0Ryb3A7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIFByb2ZpbGVTZWN0aW9uQ29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEZsYWdQcmlvcml0eShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZsYWdQcmlvcml0eSA9IGlkO1xyXG4gICAgdGhpcy5mb3JtLmluYm94SXRlbS5mbGFnUHJpb3JpdHkgPSBpZDtcclxuICAgIC8vIHRoaXMuc3RhdGVNYWNoaW5lU2VydmljZS5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fU0VUX0ZMQUcsIGlkKS50aGVuKCgpID0+IHtcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuICdsb2FkaW5nJztcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fCBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRURcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpXHJcbiAgICAgICAgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5GYXEoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBGYXFTaWRlbmF2Q29tcG9uZW50LCAnZW5kJywgJ292ZXInLCB0aGlzLnNlcnZpY2VCcmllZik7XHJcbiAgfVxyXG5cclxuICBnZXRBcHByb3ZhbEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsSGlzdG9yeT8uZm9yRWFjaCgoZWxlbWVudDogeyBhcHByb3ZlcjogeyBwZXJzb25OYW1lOiBhbnk7IHBlcnNvbkVtYWlsOiBzdHJpbmc7IH07IHBvc2l0aW9uVHlwZTogYW55OyB9LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICBpZDogaW5kZXggKyAxLFxyXG4gICAgICAgIG5hbWU6IGVsZW1lbnQuYXBwcm92ZXIucGVyc29uTmFtZSxcclxuICAgICAgICB0aXRsZTogZWxlbWVudC5wb3NpdGlvblR5cGUsXHJcbiAgICAgICAgaW1hZ2U6ICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBlbGVtZW50LmFwcHJvdmVyLnBlcnNvbkVtYWlsLFxyXG4gICAgICAgIHN0YXR1czogdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0gPyB0aGlzLnN0YXR1c0NsYXNzKHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXkpIDogJycsXHJcbiAgICAgICAgc3RhdHVzTGFiZWw6IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdID8gdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlIDogJydcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hcHByb3ZhbHMucHVzaChvYmopO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yIG15LTJcIiAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG5cclxuICAgIDwhLS0gZmxhZy0tPlxyXG4gICAgPGRzLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImZvcm0/LmluYm94SXRlbSAmJiAhZm9ybS5zZWN0aW9uc1tmb3JtLnNlY3Rpb25zLmxlbmd0aCAtMV0uaGVhZGVyLnJlYWRPbmx5ICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICBzcXVhcmVcclxuICAgICAgaWNvblxyXG4gICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWNvbi1idG4tc2hhZG93XCI+XHJcbiAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydmYy1wdXJwbGUnIDogKGZsYWdQcmlvcml0eSA9PT0gJzAnIHx8ICBmbGFnUHJpb3JpdHkgPT09IG51bGwpLCdmYy15ZWxsb3cnIDogZmxhZ1ByaW9yaXR5ID09PSAnMScsJ2ZjLWdyZWVuJyA6IGZsYWdQcmlvcml0eSA9PT0gJzInLCdmYy1jb3JhbCcgOiBmbGFnUHJpb3JpdHkgPT09ICczJ31cIlxyXG4gICAgICAgIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZzLTIwIGZzLW1kLTE3IGZjLXB1cnBsZVwiPlxyXG4gICAgICA8L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBwYW5lbENsYXNzPVwiYWN0aW9uLW1lbnVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzAnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLXB1cnBsZSBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcxJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy15ZWxsb3cgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMicpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtZ3JlZW4gZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMycpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuXHJcbiAgICA8IS0tIHByaW50LS0+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxoZWFkZXIgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlciBiYy13aGl0ZSBwLTMgcC1zbS00IHB5LTQgZ2FwLTMge3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWhlYWRlci1pY29uXCI+XHJcbiAgICAgIDxpbWdcclxuICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QWlJR2hsYVdkb2REMGlNamtpSUhacFpYZENiM2c5SWpBZ01DQXpNQ0F5T1NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEkxTGpFZ01FZzBMamxETWk0eUlEQWdNQ0F5TGpJZ01DQTBMamxXTWpndU5rZ3lOUzR4UXpJM0xqZ2dNamd1TmlBek1DQXlOaTQwSURNd0lESXpMamRXTkM0NVF6TXdJREl1TWlBeU55NDRJREFnTWpVdU1TQXdXazB5SURRdU9VTXlJRE11TXlBekxqTWdNaUEwTGprZ01rZ3lOUzR4UXpJMkxqY2dNaUF5T0NBekxqTWdNamdnTkM0NVZqSXpMamRETWpnZ01qVXVNeUF5Tmk0M0lESTJMallnTWpVdU1TQXlOaTQyU0RKV05DNDVXazB4TVM0MUlEWXVNME0zTGpFZ05pNHpJRE11TlNBNUxqa2dNeTQxSURFMExqTkRNeTQxSURFNExqY2dOeTR4SURJeUxqTWdNVEV1TlNBeU1pNHpRekUxTGprZ01qSXVNeUF4T1M0MUlERTRMamNnTVRrdU5TQXhOQzR6UXpFNUxqVWdPUzQ1SURFMUxqa2dOaTR6SURFeExqVWdOaTR6V2sweE5TNHhJREU1UXpFMExqRWdNVGt1T0NBeE1pNDRJREl3TGpJZ01URXVOU0F5TUM0eVF6RXdMaklnTWpBdU1pQTRMamtnTVRrdU9DQTNMamtnTVRsRE9DNDNJREUzTGpjZ01UQWdNVGNnTVRFdU5TQXhOME14TXlBeE55QXhOQzQwSURFM0xqZ2dNVFV1TVNBeE9WcE5NVE11TVNBeE15NDBRekV6TGpFZ01UUXVNeUF4TWk0MElERTFJREV4TGpVZ01UVkRNVEF1TmlBeE5TQTVMamtnTVRRdU15QTVMamtnTVRNdU5FTTVMamtnTVRJdU5TQXhNQzQySURFeExqZ2dNVEV1TlNBeE1TNDRRekV5TGpRZ01URXVPQ0F4TXk0eElERXlMalVnTVRNdU1TQXhNeTQwV2sweE5TNHhJREV6TGpSRE1UVXVNU0F4TVM0MElERXpMalVnT1M0NElERXhMalVnT1M0NFF6a3VOU0E1TGpnZ055NDVJREV4TGpRZ055NDVJREV6TGpSRE55NDVJREUwTGpJZ09DNHlJREUxSURndU55QXhOUzQzUXpjdU9DQXhOaTR4SURjdU1TQXhOaTQ0SURZdU5TQXhOeTQyUXpVdU9DQXhOaTQySURVdU5TQXhOUzQxSURVdU5TQXhOQzR6UXpVdU5TQXhNU0E0TGpJZ09DNHpJREV4TGpVZ09DNHpRekUwTGpnZ09DNHpJREUzTGpVZ01URWdNVGN1TlNBeE5DNHpRekUzTGpVZ01UVXVOU0F4Tnk0eUlERTJMallnTVRZdU5TQXhOeTQyUXpFMUxqa2dNVFl1T0NBeE5TNHlJREUyTGpJZ01UUXVNeUF4TlM0M1F6RTBMamdnTVRVdU1TQXhOUzR4SURFMExqSWdNVFV1TVNBeE15NDBXazB5TVNBNUxqRkRNakVnT0M0MklESXhMalFnT0M0eElESXlJRGd1TVVneU5TNDFRekkySURndU1TQXlOaTQxSURndU5TQXlOaTQxSURrdU1VTXlOaTQxSURrdU5pQXlOaTR4SURFd0xqRWdNalV1TlNBeE1DNHhTREl5UXpJeExqUWdNVEF1TVNBeU1TQTVMallnTWpFZ09TNHhXazB5TVNBeE1pNDFRekl4SURFeUlESXhMalFnTVRFdU5TQXlNaUF4TVM0MVNESTFMalZETWpZZ01URXVOU0F5Tmk0MUlERXhMamtnTWpZdU5TQXhNaTQxUXpJMkxqVWdNVE1nTWpZdU1TQXhNeTQxSURJMUxqVWdNVE11TlVneU1rTXlNUzQwSURFekxqVWdNakVnTVRNdU1TQXlNU0F4TWk0MVdrMHlNU0F4TmtNeU1TQXhOUzQxSURJeExqUWdNVFVnTWpJZ01UVklNalV1TlVNeU5pQXhOU0F5Tmk0MUlERTFMalFnTWpZdU5TQXhOa015Tmk0MUlERTJMalVnTWpZdU1TQXhOeUF5TlM0MUlERTNTREl5UXpJeExqUWdNVGNnTWpFZ01UWXVOaUF5TVNBeE5scE5NalV1TlNBeU1DNDFTREl5UXpJeExqVWdNakF1TlNBeU1TQXlNQzR4SURJeElERTVMalZETWpFZ01UZ3VPU0F5TVM0MElERTRMalVnTWpJZ01UZ3VOVWd5TlM0MVF6STJJREU0TGpVZ01qWXVOU0F4T0M0NUlESTJMalVnTVRrdU5VTXlOaTQxSURJd0xqRWdNall1TVNBeU1DNDFJREkxTGpVZ01qQXVOVm9pSUdacGJHdzlJaU5HUmpNM05VVWlMejRLUEM5emRtYytDZz09XCIvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvdyBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgPCEtLSB0aXRsZS0tPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cImZzLTIwIGZzLW1kLTE2IGZ3LWJvbGQgZmMtYmxhY2sgaGVhZGVyLXRpdGxlIG0tMFwiPnt7IGZvcm1UaXRsZSB9fVxyXG4gICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgaWNvbj1cImluZm9cIiBjbGFzcz1cImZzLTIyIGZjLWRhcmstZ3JheSBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwic2VydmljZUJyaWVmLmxlbmd0aFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmFxKClcIj48L2RzLWljb24+XHJcbiAgICAgICAgPC9oMT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImhlYWRlci11c2VyIGQtZmxleCBhbGlnbi1pdGVtcy1zbS1jZW50ZXIgZ2FwLTIgbXQtc20tMVwiXHJcbiAgICAgICAgICAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyB8fCBpc0xvYWRpbmdcIj5cclxuICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nXCIgaW1hZ2U9XCJ7e2Zvcm0/LmhlYWRlcj8ucmVxdWVzdGVyUGhvdG99fVwiIHNpemU9XCJ4eC1zbWFsbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1pbmxpbmUtZmxleCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzaG93VXNlckluZm8oKVwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJmcy0xMiB0ZXh0LXRydW5jYXRlIGQtc20tYmxvY2sgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1VzZXJJbmZvKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2xvYWRpbmctYmcgbG9hZGluZy13aWR0aCc6IGlzTG9hZGluZ31cIj57eyBjb3JlU2VydmljZS5nZXRTaG9ydE5hbWUoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImRpdmlkZXIgY2lyY2xlIG14LTIgZC1ub25lIGQtc20tYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMlwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGZvcm0/LmhlYWRlcj8uZm9ybUlkIH19PC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJkaXZpZGVyIGNpcmNsZSBteC0yIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY3JlYXRpb25EYXRlXCIgY2xhc3M9XCJmcy0xNFwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IGNyZWF0aW9uRGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwhLS0gaGVhZGVyLWFjdGlvbnMtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaGVhZGVyLWFjdGlvbnMgZC1mbGV4IGZsZXgtcm93IGZsZXgtc20tY29sdW1uIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgZ2FwLTIgbXQtMiBtdC1zbS0wXCJcclxuICAgICAgICAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gICAgICAgIDxkcy1zdGF0dXNcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnICYmICFpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNDbGFzcyhmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSl9fVwiIGNsYXNzPVwiaGVhZGVyLXN0YXR1c1wiPnt7IGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ3ZhbHVlJ10gfX1cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMlwiPlxyXG4gICAgICAgICAgPCEtLSBmZWVkYmFjay0tPlxyXG48IS0tICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5pbmJveEl0ZW0gJiYgKGZvcm0/LmluYm94SXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSd0cnVlJ3x8IGZvcm0/LmluYm94SXRlbT8uaGFzRmVlZGJhY2s9PT0ndHJ1ZScpICYmICFpc0xvYWRpbmdcIi0tPlxyXG4gICAgICAgIDwhLS0gIDxkcy1idXR0b25cclxuICAgICAgICAgICAgc3F1YXJlIGljb24gc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImZlZWRiYWNrKClcIj5cclxuICAgICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgICBpY29uPVwiY2hhdC1vXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1jb3JhbFwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmYy1ncmVlbic6ZmVlZEJhY2tJY29uID09PSAnZmVlZGJhY2tSZXNwb25kZWQnICwgJ2ZjLXJlZCc6IGZlZWRCYWNrSWNvbiA9PT0gJ3Jlc3BvbmRUb0ZlZWRiYWNrJyAsICdmYy15ZWxsb3cnOiBmZWVkQmFja0ljb24gPT09ICd3YWl0aW5nRmVlZGJhY2snfVwiPlxyXG4gICAgICAgICAgICA8L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj4tLT5cclxuICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtPy5jb21tZW50c0Ryb3A/Lmxlbmd0aCA+IDAgJiYgIWlzTG9hZGluZ1wiIHNxdWFyZSBpY29uIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNvbW1lbnRzRm9ybUNsaWNrKClcIiBjbGFzcz1cImhhcy1jb21tZW50c1wiPlxyXG4gICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvY2tcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FwcHJvdmFsSGlzdG9yeVwiPlxyXG4gICAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJ3aGl0ZVwiIHNoYXBlPVwidGV4dFwiIHNxdWFyZSBzaXplPVwic21hbGxcIiBbc2F0UG9wb3ZlckFuY2hvcl09XCJ3b3JrZmxvd1wiXHJcbiAgICAgICAgICAgICAgI3dvcmtmbG93QW5jaG9yPVwic2F0UG9wb3ZlckFuY2hvclwiIChjbGljayk9XCJ3b3JrZmxvd0FuY2hvci5wb3BvdmVyLm9wZW4oKVwiPlxyXG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJ3b3JrZmxvd1wiIGNsYXNzPVwiZnMtMjRcIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgICAgPC9zbG90PlxyXG4gICAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDxzYXQtcG9wb3ZlclxyXG4gICAgICAgICAgICAgICN3b3JrZmxvdyBbYW5jaG9yXT1cIndvcmtmbG93QW5jaG9yXCIgW2hhc0JhY2tkcm9wXT1cInRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIlxyXG4gICAgICAgICAgICAgIGhvcml6b250YWxBbGlnbj1cImVuZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCIgc3R5bGU9XCJtaW4td2lkdGg6IDMzMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWFwcHJvdmFscyAqbmdJZj1cImFwcHJvdmFsSGlzdG9yeVwiIGNsYXNzPVwicG9wb3Zlci1hcHByb3ZhbHNcIiBhcHByb3ZhbHNEYXRhPVwie3thcHByb3ZhbHN9fVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kcy1hcHByb3ZhbHM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2F0LXBvcG92ZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9oZWFkZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48aGVhZGVyXHJcbiAgY2xhc3M9XCJtYi00IG10LTQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmQgZ2FwLTJcIlxyXG4gICpuZ0lmPVwiKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8c2VjdGlvbj5cclxuICAgIDxoNiBjbGFzcz1cImZzLTE0IGZzLW1kLTEyIGZ3LW5vcm1hbCBmYy1kYXJrLWdyYXkgbWItMFwiPlxyXG4gICAgICB7eyBpMThuLnRyYW5zbGF0ZSgnSGVsbG8nKSB9fVxyXG4gICAgICB7eyBjb3JlU2VydmljZS5nZXRTaG9ydE5hbWUoZm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJOYW1lKSB9fSwge3sgaTE4bi50cmFuc2xhdGUoJ3dlbGNvbWVCYWNrJykgfX0hXHJcbiAgICA8L2g2PlxyXG4gICAgPGgxIGNsYXNzPVwiZnMtMjYgZnMtbWQtMjAgZnctYm9sZCBmYy1ibGFjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIG1iLTFcIj5cclxuICAgICAge3sgZm9ybVRpdGxlIH19XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJpbmZvXCIgY2xhc3M9XCJmcy0yMiBmYy1kYXJrLWdyYXkgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInNlcnZpY2VCcmllZi5sZW5ndGhcIiAoY2xpY2spPVwib3BlbkZhcSgpXCI+XHJcbiAgICAgIDwvZHMtaWNvbj5cclxuICAgIDwvaDE+XHJcbiAgPC9zZWN0aW9uPlxyXG5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
@@ -28,7 +28,9 @@ export class ActionButtonsComponent {
28
28
  resetFormEmit = new EventEmitter();
29
29
  customCallEmit = new EventEmitter();
30
30
  actionStates;
31
- isSubmitting = {};
31
+ isSubmitting = {
32
+ 'SUBMIT': false
33
+ };
32
34
  submittingForm;
33
35
  constructor(i18n, actionStateService, coreService, dialog, toasterService, cdRef, sidenavService) {
34
36
  this.i18n = i18n;
@@ -101,7 +103,7 @@ export class ActionButtonsComponent {
101
103
  return '';
102
104
  }
103
105
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonsComponent, deps: [{ token: i1.CoreI18nService }, { token: i1.ActionStateService }, { token: i1.CoreService }, { token: i2.MatDialog }, { token: i3.ToastrService }, { token: i0.ChangeDetectorRef }, { token: i1.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
104
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActionButtonsComponent, isStandalone: true, selector: "lib-action-buttons", inputs: { lovOptions: "lovOptions", lovType: "lovType", fieldsForm: "fieldsForm", form: "form", section: "section", sections: "sections", showApprovalCycle: "showApprovalCycle", customCall: "customCall" }, outputs: { resetFormEmit: "resetFormEmit", customCallEmit: "customCallEmit" }, ngImport: i0, template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n loading=\"{{isSubmitting[item.value]}}\"\r\n [ngClass]=\"{'disabled': !actionStates[item.value] || submittingForm}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates['SUBMIT'] || submittingForm}\"\r\n loading=\"{{isSubmitting['SUBMIT']}}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ApprovalsWorkflowComponent, selector: "lib-approvals-workflow", inputs: ["section", "form"] }] });
106
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActionButtonsComponent, isStandalone: true, selector: "lib-action-buttons", inputs: { lovOptions: "lovOptions", lovType: "lovType", fieldsForm: "fieldsForm", form: "form", section: "section", sections: "sections", showApprovalCycle: "showApprovalCycle", customCall: "customCall" }, outputs: { resetFormEmit: "resetFormEmit", customCallEmit: "customCallEmit" }, ngImport: i0, template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n loading=\"{{isSubmitting[item.value]}}\"\r\n [ngClass]=\"{'disabled': !actionStates[item.value] || submittingForm}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates['SUBMIT'] || submittingForm}\"\r\n loading=\"{{isSubmitting['SUBMIT']}}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ApprovalsWorkflowComponent, selector: "lib-approvals-workflow", inputs: ["section", "form"] }] });
105
107
  }
106
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonsComponent, decorators: [{
107
109
  type: Component,
@@ -111,7 +113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
111
113
  NgIf,
112
114
  NgForOf,
113
115
  ApprovalsWorkflowComponent
114
- ], template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n loading=\"{{isSubmitting[item.value]}}\"\r\n [ngClass]=\"{'disabled': !actionStates[item.value] || submittingForm}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 justify-content-end gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates['SUBMIT'] || submittingForm}\"\r\n loading=\"{{isSubmitting['SUBMIT']}}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n }\r\n</div>\r\n" }]
116
+ ], template: "<div class=\"mt-4\">\r\n @if (lovType === 'button') {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n @for (item of lovOptions; track $index) {\r\n <ds-button\r\n loading=\"{{isSubmitting[item.value]}}\"\r\n [ngClass]=\"{'disabled': !actionStates[item.value] || submittingForm}\"\r\n shape=\"{{ buttonShape(item) }}\"\r\n color=\"{{ buttonColor(item) }}\"\r\n (click)=\"onSubmit(item?.value)\">\r\n {{ item?.['description'] }}\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <ds-button shape=\"text\" color=\"red\" (click)=\"resetForm()\">\r\n <span class=\"fs-16 fw-medium\">{{ i18n.translate('reset') }}</span>\r\n </ds-button>\r\n @if (form?.sections?.length == 1 && showApprovalCycle) {\r\n <lib-approvals-workflow [section]=\"section\" [form]=\"form\"></lib-approvals-workflow>\r\n }\r\n <div class=\"d-flex flex-wrap align-items-center flex-grow-1 flex-row-reverse gap-3\">\r\n <ds-button\r\n [ngClass]=\"{'disabled': !actionStates['SUBMIT'] || submittingForm}\"\r\n loading=\"{{isSubmitting['SUBMIT']}}\"\r\n (click)=\"onSubmit('SUBMIT')\">\r\n {{ i18n.translate('submit') }}\r\n </ds-button>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n" }]
115
117
  }], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i1.ActionStateService }, { type: i1.CoreService }, { type: i2.MatDialog }, { type: i3.ToastrService }, { type: i0.ChangeDetectorRef }, { type: i1.SidenavService }], propDecorators: { lovOptions: [{
116
118
  type: Input
117
119
  }], lovType: [{
@@ -133,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
133
135
  }], customCallEmit: [{
134
136
  type: Output
135
137
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2FjdGlvbi1idXR0b25zL2FjdGlvbi1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9hY3Rpb24tYnV0dG9ucy9hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqSixPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEVBQThFLENBQUM7Ozs7O0FBZ0J4SCxNQUFNLE9BQU8sc0JBQXNCO0lBZWQ7SUFDQztJQUNBO0lBQ0Q7SUFDQztJQUNBO0lBQ0E7SUFwQlgsVUFBVSxDQUFRO0lBQ2xCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQVk7SUFDdEIsSUFBSSxDQUFPO0lBQ1gsT0FBTyxDQUFVO0lBQ2pCLFFBQVEsQ0FBWTtJQUNwQixpQkFBaUIsR0FBWSxJQUFJLENB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c0JBQXNCLDJXQzNCbkMsb3dEQXVDQSwwRERuQkksT0FBTyxvRkFJUCwwQkFBMEI7OzJGQUdqQixzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUCxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLFdBQzFDO3dCQUNQLE9BQU87d0JBQ1AsY0FBYzt3QkFDZCxJQUFJO3dCQUNKLE9BQU87d0JBQ1AsMEJBQTBCO3FCQUMzQjtnUUFHUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5PX0VSUk9SU19TQ0hFTUEsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tIFwiLi4vLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdGb3JPZiwgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0lucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQge0FjdGlvblN0YXRlU2VydmljZSwgQ29yZUkxOG5TZXJ2aWNlLCBDb3JlU2VydmljZSwgU2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7U3VibWl0RGlhbG9nQ29tcG9uZW50fSBmcm9tIFwiLi4vZGlhbG9ncy9zdWJtaXQtZGlhbG9nL3N1Ym1pdC1kaWFsb2cuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Tm9vcFNjcm9sbFN0cmF0ZWd5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7QXBwcm92YWxzV29ya2Zsb3dDb21wb25lbnR9IGZyb20gXCIuLi8uLi9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy13b3JrZmxvdy9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tYnV0dG9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBJbnB1dENvbXBvbmVudCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgQXBwcm92YWxzV29ya2Zsb3dDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25CdXR0b25zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgbG92T3B0aW9uczogYW55W107XHJcbiAgQElucHV0KCkgbG92VHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpZWxkc0Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgc2VjdGlvbnM6IFNlY3Rpb25bXTtcclxuICBASW5wdXQoKSBzaG93QXBwcm92YWxDeWNsZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2FsbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZXNldEZvcm1FbWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY3VzdG9tQ2FsbEVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGFjdGlvblN0YXRlczogeyBbYWN0aW9uOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgaXNTdWJtaXR0aW5nID0ge307XHJcbiAgc3VibWl0dGluZ0Zvcm06IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3Rpb25TdGF0ZVNlcnZpY2U6IEFjdGlvblN0YXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UuYWN0aW9uU3RhdGVzJC5zdWJzY3JpYmUoc3RhdGVzID0+IHRoaXMuYWN0aW9uU3RhdGVzID0gc3RhdGVzKTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmxvdk9wdGlvbnM/LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgdGhpcy5pc1N1Ym1pdHRpbmdbaXRlbS52YWx1ZV0gPSBmYWxzZVxyXG4gICAgfSlcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKCkge1xyXG4gICAgdGhpcy5yZXNldEZvcm1FbWl0LmVtaXQoKVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbUNhbGwpIHtcclxuICAgICAgdGhpcy5jdXN0b21DYWxsRW1pdC5lbWl0KGFjdGlvbilcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VibWl0Rm9ybShhY3Rpb24sIHRoaXMuc2VjdGlvbilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oYWN0aW9uOiBzdHJpbmcsIHNlY3Rpb246IFNlY3Rpb24pIHtcclxuICAgIGNvbnN0IGxhc3RTZWN0aW9uID0gdGhpcy5zZWN0aW9uc1t0aGlzLnNlY3Rpb25zLmxlbmd0aCAtIDFdO1xyXG5cclxuICAgIGlmIChsYXN0U2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24pIHtcclxuICAgICAgbGFzdFNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uID0ge2tleTogYWN0aW9ufTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzU3VibWl0dGluZ1thY3Rpb25dID0gdHJ1ZTtcclxuICAgIHRoaXMuc3VibWl0dGluZ0Zvcm0gPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuY29yZVNlcnZpY2Uuc3VibWl0Rm9ybShzZWN0aW9uLCBhY3Rpb24pLnN1YnNjcmliZShcclxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nW2FjdGlvbl0gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyhyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICBlcnI/LmVycm9yPy5tZXRhPy5tZXNzYWdlcz8uZm9yRWFjaCgobXNnKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmdGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZ1thY3Rpb25dID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKG1zZy5tZXNzYWdlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MocmVzcG9uc2UpIHtcclxuICAgIGNvbnNvbGUubG9nKCdzdWNjZXNzJywgcmVzcG9uc2UpXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1Ym1pdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiByZXNwb25zZSxcclxuICAgICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJywgJ2NvbmZpcm0tZGlhbG9nJ10sXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiBuZXcgTm9vcFNjcm9sbFN0cmF0ZWd5KCksXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uU2hhcGUoaXRlbSkge1xyXG4gICAgaWYgKGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNUIHx8IGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMIHx8IGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfU0VORF9CQUNLKSB7XHJcbiAgICAgIHJldHVybiAnb3V0bGluZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBidXR0b25Db2xvcihpdGVtKSB7XHJcbiAgICBpZiAoaXRlbT8udmFsdWUgPT09IGNvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1QgfHwgaXRlbT8udmFsdWUgPT09IGNvbnN0YW50cy5GT1JNX1NUQVRVU19TRU5EX0JBQ0spIHtcclxuICAgICAgcmV0dXJuICdyZWQnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gIEBpZiAobG92VHlwZSA9PT0gJ2J1dHRvbicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJ0ZXh0XCIgY29sb3I9XCJyZWRcIiAoY2xpY2spPVwicmVzZXRGb3JtKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bVwiPnt7IGkxOG4udHJhbnNsYXRlKCdyZXNldCcpIH19PC9zcGFuPlxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgQGlmIChmb3JtPy5zZWN0aW9ucz8ubGVuZ3RoID09IDEgJiYgc2hvd0FwcHJvdmFsQ3ljbGUpIHtcclxuICAgICAgICA8bGliLWFwcHJvdmFscy13b3JrZmxvdyBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW2Zvcm1dPVwiZm9ybVwiPjwvbGliLWFwcHJvdmFscy13b3JrZmxvdz5cclxuICAgICAgfVxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEgZmxleC1yb3ctcmV2ZXJzZSBnYXAtM1wiPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbG92T3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJ7e2lzU3VibWl0dGluZ1tpdGVtLnZhbHVlXX19XCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ICFhY3Rpb25TdGF0ZXNbaXRlbS52YWx1ZV0gfHwgc3VibWl0dGluZ0Zvcm19XCJcclxuICAgICAgICAgICAgc2hhcGU9XCJ7eyBidXR0b25TaGFwZShpdGVtKSB9fVwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwie3sgYnV0dG9uQ29sb3IoaXRlbSkgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoaXRlbT8udmFsdWUpXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0/LlsnZGVzY3JpcHRpb24nXSB9fVxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtZ3Jvdy0xIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTNcIj5cclxuICAgICAgPGRzLWJ1dHRvbiBzaGFwZT1cInRleHRcIiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJyZXNldEZvcm0oKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtXCI+e3sgaTE4bi50cmFuc2xhdGUoJ3Jlc2V0JykgfX08L3NwYW4+XHJcbiAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICBAaWYgKGZvcm0/LnNlY3Rpb25zPy5sZW5ndGggPT0gMSAmJiBzaG93QXBwcm92YWxDeWNsZSkge1xyXG4gICAgICAgIDxsaWItYXBwcm92YWxzLXdvcmtmbG93IFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC9saWItYXBwcm92YWxzLXdvcmtmbG93PlxyXG4gICAgICB9XHJcbiAgICAgIDxkcy1idXR0b25cclxuICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogIWFjdGlvblN0YXRlc1snU1VCTUlUJ10gfHwgc3VibWl0dGluZ0Zvcm19XCJcclxuICAgICAgICBsb2FkaW5nPVwie3tpc1N1Ym1pdHRpbmdbJ1NVQk1JVCddfX1cIlxyXG4gICAgICAgIChjbGljayk9XCJvblN1Ym1pdCgnU1VCTUlUJylcIj5cclxuICAgICAgICB7eyBpMThuLnRyYW5zbGF0ZSgnc3VibWl0JykgfX1cclxuICAgICAgPC9kcy1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2FjdGlvbi1idXR0b25zL2FjdGlvbi1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9hY3Rpb24tYnV0dG9ucy9hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqSixPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEVBQThFLENBQUM7Ozs7O0FBZ0J4SCxNQUFNLE9BQU8sc0JBQXNCO0lBaUJkO0lBQ0M7SUFDQTtJQUNEO0lBQ0M7SUFDQTtJQUNBO0lBdEJYLFVBQVUsQ0FBUTtJQUNsQixPQUFPLENBQVM7SUFDaEIsVUFBVSxDQUFZO0lBQ3RCLElBQUksQ0FBTztJQUNYLE9BQU8sQ0FBVTtJQUNqQixRQUFRLENBQVk7SUFDcEIsaUJBQWlCLEdBQVksSUFBSSxD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R0FuR1Usc0JBQXNCOzJGQUF0QixzQkFBc0IsMldDM0JuQyx3MERBeUNBLDBERHJCSSxPQUFPLG9GQUlQLDBCQUEwQjs7MkZBR2pCLHNCQUFzQjtrQkFkbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FHbEIsSUFBSSxXQUNQLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsV0FDMUM7d0JBQ1AsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLElBQUk7d0JBQ0osT0FBTzt3QkFDUCwwQkFBMEI7cUJBQzNCO2dRQUdRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTk9fRVJST1JTX1NDSEVNQSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gXCIuLi8uLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7SW5wdXRDb21wb25lbnR9IGZyb20gXCIuLi9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7QWN0aW9uU3RhdGVTZXJ2aWNlLCBDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHtTdWJtaXREaWFsb2dDb21wb25lbnR9IGZyb20gXCIuLi9kaWFsb2dzL3N1Ym1pdC1kaWFsb2cvc3VibWl0LWRpYWxvZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtOb29wU2Nyb2xsU3RyYXRlZ3l9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHtBcHByb3ZhbHNXb3JrZmxvd0NvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzLXdvcmtmbG93L2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1idXR0b25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQuc2NzcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIElucHV0Q29tcG9uZW50LFxyXG4gICAgTmdJZixcclxuICAgIE5nRm9yT2YsXHJcbiAgICBBcHByb3ZhbHNXb3JrZmxvd0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ1dHRvbnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBsb3ZPcHRpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBsb3ZUeXBlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmllbGRzRm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBzZWN0aW9uczogU2VjdGlvbltdO1xyXG4gIEBJbnB1dCgpIHNob3dBcHByb3ZhbEN5Y2xlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXN0b21DYWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlc2V0Rm9ybUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjdXN0b21DYWxsRW1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgYWN0aW9uU3RhdGVzOiB7IFthY3Rpb246IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBpc1N1Ym1pdHRpbmcgPSB7XHJcbiAgICAnU1VCTUlUJzpmYWxzZVxyXG4gIH07XHJcbiAgc3VibWl0dGluZ0Zvcm06IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3Rpb25TdGF0ZVNlcnZpY2U6IEFjdGlvblN0YXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UuYWN0aW9uU3RhdGVzJC5zdWJzY3JpYmUoc3RhdGVzID0+IHRoaXMuYWN0aW9uU3RhdGVzID0gc3RhdGVzKTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmxvdk9wdGlvbnM/LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgdGhpcy5pc1N1Ym1pdHRpbmdbaXRlbS52YWx1ZV0gPSBmYWxzZVxyXG4gICAgfSlcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKCkge1xyXG4gICAgdGhpcy5yZXNldEZvcm1FbWl0LmVtaXQoKVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbUNhbGwpIHtcclxuICAgICAgdGhpcy5jdXN0b21DYWxsRW1pdC5lbWl0KGFjdGlvbilcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VibWl0Rm9ybShhY3Rpb24sIHRoaXMuc2VjdGlvbilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oYWN0aW9uOiBzdHJpbmcsIHNlY3Rpb246IFNlY3Rpb24pIHtcclxuICAgIGNvbnN0IGxhc3RTZWN0aW9uID0gdGhpcy5zZWN0aW9uc1t0aGlzLnNlY3Rpb25zLmxlbmd0aCAtIDFdO1xyXG5cclxuICAgIGlmIChsYXN0U2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24pIHtcclxuICAgICAgbGFzdFNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uID0ge2tleTogYWN0aW9ufTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzU3VibWl0dGluZ1thY3Rpb25dID0gdHJ1ZTtcclxuICAgIHRoaXMuc3VibWl0dGluZ0Zvcm0gPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuY29yZVNlcnZpY2Uuc3VibWl0Rm9ybShzZWN0aW9uLCBhY3Rpb24pLnN1YnNjcmliZShcclxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nW2FjdGlvbl0gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyhyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICBlcnI/LmVycm9yPy5tZXRhPy5tZXNzYWdlcz8uZm9yRWFjaCgobXNnKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmdGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZ1thY3Rpb25dID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmVycm9yKG1zZy5tZXNzYWdlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MocmVzcG9uc2UpIHtcclxuICAgIGNvbnNvbGUubG9nKCdzdWNjZXNzJywgcmVzcG9uc2UpXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFN1Ym1pdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiByZXNwb25zZSxcclxuICAgICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJywgJ2NvbmZpcm0tZGlhbG9nJ10sXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiBuZXcgTm9vcFNjcm9sbFN0cmF0ZWd5KCksXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uU2hhcGUoaXRlbSkge1xyXG4gICAgaWYgKGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNUIHx8IGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMIHx8IGl0ZW0/LnZhbHVlID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfU0VORF9CQUNLKSB7XHJcbiAgICAgIHJldHVybiAnb3V0bGluZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBidXR0b25Db2xvcihpdGVtKSB7XHJcbiAgICBpZiAoaXRlbT8udmFsdWUgPT09IGNvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1QgfHwgaXRlbT8udmFsdWUgPT09IGNvbnN0YW50cy5GT1JNX1NUQVRVU19TRU5EX0JBQ0spIHtcclxuICAgICAgcmV0dXJuICdyZWQnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gIEBpZiAobG92VHlwZSA9PT0gJ2J1dHRvbicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJ0ZXh0XCIgY29sb3I9XCJyZWRcIiAoY2xpY2spPVwicmVzZXRGb3JtKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bVwiPnt7IGkxOG4udHJhbnNsYXRlKCdyZXNldCcpIH19PC9zcGFuPlxyXG4gICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgQGlmIChmb3JtPy5zZWN0aW9ucz8ubGVuZ3RoID09IDEgJiYgc2hvd0FwcHJvdmFsQ3ljbGUpIHtcclxuICAgICAgICA8bGliLWFwcHJvdmFscy13b3JrZmxvdyBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW2Zvcm1dPVwiZm9ybVwiPjwvbGliLWFwcHJvdmFscy13b3JrZmxvdz5cclxuICAgICAgfVxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ncm93LTEgZmxleC1yb3ctcmV2ZXJzZSBnYXAtM1wiPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbG92T3B0aW9uczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJ7e2lzU3VibWl0dGluZ1tpdGVtLnZhbHVlXX19XCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ICFhY3Rpb25TdGF0ZXNbaXRlbS52YWx1ZV0gfHwgc3VibWl0dGluZ0Zvcm19XCJcclxuICAgICAgICAgICAgc2hhcGU9XCJ7eyBidXR0b25TaGFwZShpdGVtKSB9fVwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwie3sgYnV0dG9uQ29sb3IoaXRlbSkgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXQoaXRlbT8udmFsdWUpXCI+XHJcbiAgICAgICAgICAgIHt7IGl0ZW0/LlsnZGVzY3JpcHRpb24nXSB9fVxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgPGRzLWJ1dHRvbiBzaGFwZT1cInRleHRcIiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJyZXNldEZvcm0oKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtXCI+e3sgaTE4bi50cmFuc2xhdGUoJ3Jlc2V0JykgfX08L3NwYW4+XHJcbiAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICBAaWYgKGZvcm0/LnNlY3Rpb25zPy5sZW5ndGggPT0gMSAmJiBzaG93QXBwcm92YWxDeWNsZSkge1xyXG4gICAgICAgIDxsaWItYXBwcm92YWxzLXdvcmtmbG93IFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC9saWItYXBwcm92YWxzLXdvcmtmbG93PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC13cmFwIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWdyb3ctMSBmbGV4LXJvdy1yZXZlcnNlIGdhcC0zXCI+XHJcbiAgICAgIDxkcy1idXR0b25cclxuICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogIWFjdGlvblN0YXRlc1snU1VCTUlUJ10gfHwgc3VibWl0dGluZ0Zvcm19XCJcclxuICAgICAgICBsb2FkaW5nPVwie3tpc1N1Ym1pdHRpbmdbJ1NVQk1JVCddfX1cIlxyXG4gICAgICAgIChjbGljayk9XCJvblN1Ym1pdCgnU1VCTUlUJylcIj5cclxuICAgICAgICB7eyBpMThuLnRyYW5zbGF0ZSgnc3VibWl0JykgfX1cclxuICAgICAgPC9kcy1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -66,7 +66,7 @@ export class AttachmentSectionDataComponent extends BaseComponent {
66
66
  });*/
67
67
  }
68
68
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AttachmentSectionDataComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: AttachmentSectionDataComponent, isStandalone: true, selector: "app-add-attachment-section", inputs: { hasColumnBreak: "hasColumnBreak" }, usesInheritance: true, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-end\" mat-dialog-title>\r\n <h3 class=\"mb-0 font-16 fw-medium\">{{i18n.translate('addAttachments')}}</h3>\r\n <ds-button (click)=\"close()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"px-md-4 mt-3\">\r\n <!-- add [callApi]=\"true\" input mobile issue not able to download it by base 64 -->\r\n\r\n <app-file-uploader class=\"section-item full\" [field]=\"popupData\" name=\"file\" [attachments]=\"dialogData?.attachments\"\r\n [labelTextReadMode]=\"i18n.translate('Attachment')\" [labelTextWriteMode]=\"i18n.translate('Attachment')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Attachment')\" [required]=\"true\" [multiple]=\"dialogData?.multiple\" [allowedExtensions]=\"dialogData?.data\"\r\n [isReadOnly]=\"section?.header?.readOnly\" [showActions]=\"false\" (emitedValue)=\"handleAttachmentEmitValue($event)\"\r\n >\r\n </app-file-uploader>\r\n\r\n <app-textarea class=\"section-item d-block mt-4\" [section]=\"section\" [field]=\"popupData?.fileDescription\" name=\"fileDescription\"\r\n [labelTextReadMode]=\"i18n.translate('description')\" [labelTextWriteMode]=\"i18n.translate('description')\"\r\n [hasColumnBreak]=\"false\" (emitedValue)=\"handleEmitValue($event,'fileDescription')\"\r\n [label]=\"i18n.translate('description')\" [required]=\"dialogData.isRequired\" [minLength]='1' [maxLength]='500'\r\n [isReadOnly]=\"section?.header?.readOnly\" [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"popupData?.attachmentcomment\" name=\"attachmentcomment\"\r\n [labelTextReadMode]=\"i18n.translate('comments')\" [labelTextWriteMode]=\"i18n.translate('comments')\"\r\n [hasColumnBreak]=\"false\" (emitedValue)=\"handleEmitValue($event,'attachmentcomment')\" [label]=\"i18n.translate('comments')\"\r\n [required]=\"false\" [minLength]='1' [maxLength]='500' [isReadOnly]=\"section?.header?.readOnly\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"default-footer justify-content-end gap-3\">\r\n <ds-button shape=\"outline\" (click)=\"close()\" [disabled]=\"(uploading)\" color=\"red\">{{i18n.translate('cancel')}}\r\n </ds-button>\r\n <ds-button (click)=\"addAttachments()\" [loading]=\"uploading\"\r\n [disabled]=\"(!(popupData?.fileContents || popupData?.attachmentId ) ||( dialogData.isRequired && !popupData?.fileDescription )|| uploading)\">\r\n @if(!editMode){\r\n <span>{{i18n.translate('add')}}</span>\r\n }\r\n @if(editMode){\r\n <span>{{i18n.translate('edit')}}</span>\r\n }\r\n\r\n </ds-button>\r\n </mat-dialog-actions>\r\n\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px !important;--popup-width: 100% !important}::ng-deep .default-footer ds-button::part(base){--btn-min-width: 90px }\n"], dependencies: [{ kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["label", "tooltip", "className", "preventSpecailChar"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "label", "callApi", "tooltip", "attachments", "optional", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "signType", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "downloadActionClicked"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: AttachmentSectionDataComponent, isStandalone: true, selector: "app-add-attachment-section", inputs: { hasColumnBreak: "hasColumnBreak" }, usesInheritance: true, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-end\" mat-dialog-title>\r\n <h3 class=\"mb-0 font-16 fw-medium\">{{i18n.translate('addAttachments')}}</h3>\r\n <ds-button (click)=\"close()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"px-md-4 mt-3\">\r\n <!-- add [callApi]=\"true\" input mobile issue not able to download it by base 64 -->\r\n\r\n <app-file-uploader class=\"section-item full\" [field]=\"popupData\" name=\"file\" [attachments]=\"dialogData?.attachments\"\r\n [labelTextReadMode]=\"i18n.translate('Attachment')\" [labelTextWriteMode]=\"i18n.translate('Attachment')\"\r\n [hasColumnBreak]=\"false\" [label]=\"i18n.translate('Attachment')\" [required]=\"true\" [multiple]=\"dialogData?.multiple\" [allowedExtensions]=\"dialogData?.data\"\r\n [isReadOnly]=\"section?.header?.readOnly\" [showActions]=\"false\" (emitedValue)=\"handleAttachmentEmitValue($event)\"\r\n >\r\n </app-file-uploader>\r\n\r\n <app-textarea class=\"section-item d-block mt-4\" [section]=\"section\" [field]=\"popupData?.fileDescription\" name=\"fileDescription\"\r\n [labelTextReadMode]=\"i18n.translate('description')\" [labelTextWriteMode]=\"i18n.translate('description')\"\r\n [hasColumnBreak]=\"false\" (emitedValue)=\"handleEmitValue($event,'fileDescription')\"\r\n [label]=\"i18n.translate('description')\" [required]=\"dialogData.isRequired\" [minLength]='1' [maxLength]='500'\r\n [isReadOnly]=\"section?.header?.readOnly\" [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n\r\n <app-textarea class=\"section-item\" [section]=\"section\" [field]=\"popupData?.attachmentcomment\" name=\"attachmentcomment\"\r\n [labelTextReadMode]=\"i18n.translate('comments')\" [labelTextWriteMode]=\"i18n.translate('comments')\"\r\n [hasColumnBreak]=\"false\" (emitedValue)=\"handleEmitValue($event,'attachmentcomment')\" [label]=\"i18n.translate('comments')\"\r\n [required]=\"false\" [minLength]='1' [maxLength]='500' [isReadOnly]=\"section?.header?.readOnly\"\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"default-footer justify-content-end gap-3\">\r\n <ds-button shape=\"outline\" (click)=\"close()\" [disabled]=\"(uploading)\" color=\"red\">{{i18n.translate('cancel')}}\r\n </ds-button>\r\n <ds-button (click)=\"addAttachments()\" [loading]=\"uploading\"\r\n [disabled]=\"(!(popupData?.fileContents || popupData?.attachmentId ) ||( dialogData.isRequired && !popupData?.fileDescription )|| uploading)\">\r\n @if(!editMode){\r\n <span>{{i18n.translate('add')}}</span>\r\n }\r\n @if(editMode){\r\n <span>{{i18n.translate('edit')}}</span>\r\n }\r\n\r\n </ds-button>\r\n </mat-dialog-actions>\r\n\r\n</div>\r\n", styles: ["::ng-deep .add-attachment-dialog{--popup-max-width: 500px !important;--popup-width: 100% !important}::ng-deep .default-footer ds-button::part(base){--btn-min-width: 90px }\n"], dependencies: [{ kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["className", "preventSpecailChar"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "label", "callApi", "tooltip", "attachments", "optional", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "signType", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "downloadActionClicked"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AttachmentSectionDataComponent, decorators: [{
72
72
  type: Component,
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
74
74
  }], propDecorators: { hasColumnBreak: [{
75
75
  type: Input
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9hZGQtYXR0YWNobWVudC1zZWN0aW9uL2FkZC1hdHRhY2htZW50LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi9hZGQtYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBVXJDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxhQUFhO0lBQy9ELFNBQVMsR0FBUSxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFRLEVBQUUsQ0FBQztJQUN2QixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ1QsY0FBYyxDQUFVO0lBRWpDLFFBQVE7UUFDTjs7Ozs7Ozs7V0FRRztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLFNBQWlCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFTO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVk7WUFDbEMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRO1lBQzFCLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUTtZQUMxQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWU7WUFDbEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUI7WUFDdEQsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCO1NBQ2xELENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sSUFBSSxHQUFHO1lBQ1gsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlO1lBQ2xELG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCO1lBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQjtZQUNqRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRO1lBQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVE7WUFDcEMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWTtTQUM3QyxDQUFBO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEI7Ozs7Ozs7Ozs7Ozs7OztlQWVPO0lBQ1QsQ0FBQzt1R0FoRVUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsMkpDZjNDLG0vRkFrREEsdU9EckNZLGlCQUFpQiwwSEFBRSxnQkFBZ0IseUdBQUUscUJBQXFCLGduQkFBRSxnQkFBZ0I7OzJGQUUzRSw4QkFBOEI7a0JBUjFDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRzFCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLFdBQ3hCLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDOzhCQU9wRixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC9iYXNlLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0NvbnRlbnR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtEb2NzVXBsb2FkZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi9kb2MtdXBsb2FkZXIvZG9jcy11cGxvYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtYXR0YWNobWVudC1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtUZXh0YXJlYUNvbXBvbmVudCwgTWF0RGlhbG9nQ29udGVudCwgRG9jc1VwbG9hZGVyQ29tcG9uZW50LCBNYXREaWFsb2dBY3Rpb25zLCBOZ0lmXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFNlY3Rpb25EYXRhQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgcG9wdXBEYXRhOiBhbnkgPSB7fTtcclxuICBwb3B1cERhdGFPcmc6IGFueSA9IHt9O1xyXG4gIHVwbG9hZGluZzogYm9vbGVhbjtcclxuICBlZGl0TW9kZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoYXNDb2x1bW5CcmVhazogYm9vbGVhbjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvKmlmICh0aGlzLmNvcmVTdGF0ZU1hY2hpbmVTZXJ2aWNlPy5hdHRhY2htZW50TGlzdERhdGEpIHtcclxuICAgICAgdGhpcy5wb3B1cERhdGEgPSB0aGlzLmNvcmVTdGF0ZU1hY2hpbmVTZXJ2aWNlLmF0dGFjaG1lbnRMaXN0RGF0YVxyXG4gICAgICB0aGlzLnBvcHVwRGF0YU9yZyA9IE9iamVjdC5hc3NpZ24oe30gLCB0aGlzLnBvcHVwRGF0YSkgICAvLy8vLyBpYnJhaGltIHNvbHZlIGlzc2UgcmVsYXRlZCB0byBkaXNjYXJkIGRhdGEgd2hlbm4gY2xpY2sgY2xvc2VcclxuICAgICAgdGhpcy5lZGl0TW9kZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmRpYWxvZ0RhdGEpe1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRpYWxvZ0RhdGEpO1xyXG5cclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKXtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucG9wdXBEYXRhT3JnKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVtaXRWYWx1ZShkYXRhOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnBvcHVwRGF0YVtmaWVsZE5hbWVdID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUF0dGFjaG1lbnRFbWl0VmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnBvcHVwRGF0YSA9IHtcclxuICAgICAgXCJmaWxlQ29udGVudHNcIjogZGF0YT8uZmlsZUNvbnRlbnRzLFxyXG4gICAgICBcImZpbGVOYW1lXCI6IGRhdGE/LmZpbGVOYW1lLFxyXG4gICAgICBcIm1pbWVUeXBlXCI6IGRhdGE/Lm1pbWVUeXBlLFxyXG4gICAgICBcImZpbGVEZXNjcmlwdGlvblwiOiB0aGlzLnBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uLFxyXG4gICAgICBcImF0dGFjaG1lbnRjb21tZW50XCI6IHRoaXMucG9wdXBEYXRhPy5hdHRhY2htZW50Y29tbWVudCxcclxuICAgICAgXCJmaWxlQ29tbWVudHNcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQXR0YWNobWVudHMoKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBcImZpbGVEZXNjcmlwdGlvblwiOiB0aGlzLnBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uLFxyXG4gICAgICBcImF0dGFjaG1lbnRjb21tZW50XCI6IHRoaXMucG9wdXBEYXRhPy5hdHRhY2htZW50Y29tbWVudCxcclxuICAgICAgXCJmaWxlQ29tbWVudHNcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgICBcImZpbGVOYW1lXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlTmFtZSxcclxuICAgICAgXCJtaW1lVHlwZVwiOiB0aGlzLnBvcHVwRGF0YT8ubWltZVR5cGUsXHJcbiAgICAgIFwiZmlsZUNvbnRlbnRzXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlQ29udGVudHMsXHJcbiAgICB9XHJcbiAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XHJcbiAgICAvKnRoaXMuY29yZVN0YXRlTWFjaGluZVNlcnZpY2UuZGlzcGF0Y2goJ2dldEF0dGFjaG1lbnRzJywgZGF0YSlcclxuICAgICAgLnRoZW4oKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChSZXNwb25zZSkge1xyXG4gICAgICAgICAgdGhpcy5jb3JlU3RhdGVNYWNoaW5lU2VydmljZS5hdHRhY2htZW50TGlzdERhdGEgPSBudWxsXHJcbiAgICAgICAgICBjb25zdCBuZXdPYmogPSB7XHJcbiAgICAgICAgICAgIFwiZmlsZURlc2NyaXB0aW9uXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIFwiYXR0YWNobWVudGNvbW1lbnRcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgICAgICAgICBcImZpbGVDb21tZW50c1wiOiB0aGlzLnBvcHVwRGF0YT8uYXR0YWNobWVudGNvbW1lbnQsXHJcbiAgICAgICAgICAgIFwiZmlsZU5hbWVcIjogdGhpcy5wb3B1cERhdGE/LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICBcImF0dGFjaG1lbnRJZFwiOiBSZXNwb25zZS5hdHRhY2htZW50LmF0dGFjaG1lbnRJZCxcclxuICAgICAgICAgICAgXCJtaW1lVHlwZVwiOiB0aGlzLnBvcHVwRGF0YT8ubWltZVR5cGVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG5ld09iaik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTsqL1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gICAgPGgzIGNsYXNzPVwibWItMCBmb250LTE2IGZ3LW1lZGl1bVwiPnt7aTE4bi50cmFuc2xhdGUoJ2FkZEF0dGFjaG1lbnRzJyl9fTwvaDM+XHJcbiAgICA8ZHMtYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgaWNvbj5cclxuICAgICAgPGRzLWljb24gaWNvbj1cImNsb3NlXCIgY2xhc3M9XCJmcy0yMCBmYy1ibGFja1wiPjwvZHMtaWNvbj5cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtbWQtNCBtdC0zXCI+XHJcbiAgICAgIDwhLS0gYWRkIFtjYWxsQXBpXT1cInRydWVcIiAgaW5wdXQgbW9iaWxlIGlzc3VlIG5vdCBhYmxlIHRvIGRvd25sb2FkIGl0IGJ5IGJhc2UgNjQgLS0+XHJcblxyXG4gICAgICA8YXBwLWZpbGUtdXBsb2FkZXIgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtmaWVsZF09XCJwb3B1cERhdGFcIiBuYW1lPVwiZmlsZVwiIFthdHRhY2htZW50c109XCJkaWFsb2dEYXRhPy5hdHRhY2htZW50c1wiXHJcbiAgICAgICAgW2xhYmVsVGV4dFJlYWRNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdBdHRhY2htZW50JylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdBdHRhY2htZW50JylcIlxyXG4gICAgICAgIFtoYXNDb2x1bW5CcmVha109XCJmYWxzZVwiIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnQXR0YWNobWVudCcpXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbXVsdGlwbGVdPVwiZGlhbG9nRGF0YT8ubXVsdGlwbGVcIiBbYWxsb3dlZEV4dGVuc2lvbnNdPVwiZGlhbG9nRGF0YT8uZGF0YVwiXHJcbiAgICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiIFtzaG93QWN0aW9uc109XCJmYWxzZVwiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVBdHRhY2htZW50RW1pdFZhbHVlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgPC9hcHAtZmlsZS11cGxvYWRlcj5cclxuXHJcbiAgICAgIDxhcHAtdGV4dGFyZWEgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZC1ibG9jayBtdC00XCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmaWVsZF09XCJwb3B1cERhdGE/LmZpbGVEZXNjcmlwdGlvblwiIG5hbWU9XCJmaWxlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgnZGVzY3JpcHRpb24nKVwiIFtsYWJlbFRleHRXcml0ZU1vZGVdPVwiaTE4bi50cmFuc2xhdGUoJ2Rlc2NyaXB0aW9uJylcIlxyXG4gICAgICAgIFtoYXNDb2x1bW5CcmVha109XCJmYWxzZVwiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVFbWl0VmFsdWUoJGV2ZW50LCdmaWxlRGVzY3JpcHRpb24nKVwiXHJcbiAgICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdkZXNjcmlwdGlvbicpXCIgW3JlcXVpcmVkXT1cImRpYWxvZ0RhdGEuaXNSZXF1aXJlZFwiIFttaW5MZW5ndGhdPScxJyBbbWF4TGVuZ3RoXT0nNTAwJ1xyXG4gICAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIiBbZXJyb3JNZXNzYWdlXT1cImkxOG4udHJhbnNsYXRlKCdsZW5naHRNaW4xTWF4NTAwJylcIj5cclxuICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcblxyXG4gICAgICA8YXBwLXRleHRhcmVhIGNsYXNzPVwic2VjdGlvbi1pdGVtXCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmaWVsZF09XCJwb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50XCIgbmFtZT1cImF0dGFjaG1lbnRjb21tZW50XCJcclxuICAgICAgICBbbGFiZWxUZXh0UmVhZE1vZGVdPVwiaTE4bi50cmFuc2xhdGUoJ2NvbW1lbnRzJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdjb21tZW50cycpXCJcclxuICAgICAgICBbaGFzQ29sdW1uQnJlYWtdPVwiZmFsc2VcIiAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRW1pdFZhbHVlKCRldmVudCwnYXR0YWNobWVudGNvbW1lbnQnKVwiIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY29tbWVudHMnKVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCIgW21pbkxlbmd0aF09JzEnIFttYXhMZW5ndGhdPSc1MDAnIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIlxyXG4gICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICA8L2FwcC10ZXh0YXJlYT5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZGVmYXVsdC1mb290ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtM1wiPlxyXG4gICAgPGRzLWJ1dHRvbiAgc2hhcGU9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiBbZGlzYWJsZWRdPVwiKHVwbG9hZGluZylcIiBjb2xvcj1cInJlZFwiPnt7aTE4bi50cmFuc2xhdGUoJ2NhbmNlbCcpfX1cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiYWRkQXR0YWNobWVudHMoKVwiIFtsb2FkaW5nXT1cInVwbG9hZGluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIoIShwb3B1cERhdGE/LmZpbGVDb250ZW50cyB8fCBwb3B1cERhdGE/LmF0dGFjaG1lbnRJZCApIHx8KCBkaWFsb2dEYXRhLmlzUmVxdWlyZWQgJiYgIXBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uICl8fCB1cGxvYWRpbmcpXCI+XHJcbiAgICAgIEBpZighZWRpdE1vZGUpe1xyXG4gICAgICA8c3Bhbj57e2kxOG4udHJhbnNsYXRlKCdhZGQnKX19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihlZGl0TW9kZSl7XHJcbiAgICAgIDxzcGFuPnt7aTE4bi50cmFuc2xhdGUoJ2VkaXQnKX19PC9zcGFuPlxyXG4gICAgICB9XHJcblxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcblxyXG48L2Rpdj5cclxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9hZGQtYXR0YWNobWVudC1zZWN0aW9uL2FkZC1hdHRhY2htZW50LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi9hZGQtYXR0YWNobWVudC1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBVXJDLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxhQUFhO0lBQy9ELFNBQVMsR0FBUSxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFRLEVBQUUsQ0FBQztJQUN2QixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ1QsY0FBYyxDQUFVO0lBRWpDLFFBQVE7UUFDTjs7Ozs7Ozs7V0FRRztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLFNBQWlCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFTO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVk7WUFDbEMsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRO1lBQzFCLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUTtZQUMxQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWU7WUFDbEQsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUI7WUFDdEQsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCO1NBQ2xELENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sSUFBSSxHQUFHO1lBQ1gsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlO1lBQ2xELG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCO1lBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLGlCQUFpQjtZQUNqRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRO1lBQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVE7WUFDcEMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsWUFBWTtTQUM3QyxDQUFBO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEI7Ozs7Ozs7Ozs7Ozs7OztlQWVPO0lBQ1QsQ0FBQzt1R0FoRVUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsMkpDZjNDLG0vRkFrREEsdU9EckNZLGlCQUFpQixzR0FBRSxnQkFBZ0IseUdBQUUscUJBQXFCLGduQkFBRSxnQkFBZ0I7OzJGQUUzRSw4QkFBOEI7a0JBUjFDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRzFCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLFdBQ3hCLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDOzhCQU9wRixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWNvbXBvbmVudC9iYXNlLWNvbXBvbmVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0NvbnRlbnR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtEb2NzVXBsb2FkZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi9kb2MtdXBsb2FkZXIvZG9jcy11cGxvYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtYXR0YWNobWVudC1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtUZXh0YXJlYUNvbXBvbmVudCwgTWF0RGlhbG9nQ29udGVudCwgRG9jc1VwbG9hZGVyQ29tcG9uZW50LCBNYXREaWFsb2dBY3Rpb25zLCBOZ0lmXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFNlY3Rpb25EYXRhQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgcG9wdXBEYXRhOiBhbnkgPSB7fTtcclxuICBwb3B1cERhdGFPcmc6IGFueSA9IHt9O1xyXG4gIHVwbG9hZGluZzogYm9vbGVhbjtcclxuICBlZGl0TW9kZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoYXNDb2x1bW5CcmVhazogYm9vbGVhbjtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvKmlmICh0aGlzLmNvcmVTdGF0ZU1hY2hpbmVTZXJ2aWNlPy5hdHRhY2htZW50TGlzdERhdGEpIHtcclxuICAgICAgdGhpcy5wb3B1cERhdGEgPSB0aGlzLmNvcmVTdGF0ZU1hY2hpbmVTZXJ2aWNlLmF0dGFjaG1lbnRMaXN0RGF0YVxyXG4gICAgICB0aGlzLnBvcHVwRGF0YU9yZyA9IE9iamVjdC5hc3NpZ24oe30gLCB0aGlzLnBvcHVwRGF0YSkgICAvLy8vLyBpYnJhaGltIHNvbHZlIGlzc2UgcmVsYXRlZCB0byBkaXNjYXJkIGRhdGEgd2hlbm4gY2xpY2sgY2xvc2VcclxuICAgICAgdGhpcy5lZGl0TW9kZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmRpYWxvZ0RhdGEpe1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmRpYWxvZ0RhdGEpO1xyXG5cclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKXtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucG9wdXBEYXRhT3JnKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVtaXRWYWx1ZShkYXRhOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnBvcHVwRGF0YVtmaWVsZE5hbWVdID0gZGF0YTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUF0dGFjaG1lbnRFbWl0VmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnBvcHVwRGF0YSA9IHtcclxuICAgICAgXCJmaWxlQ29udGVudHNcIjogZGF0YT8uZmlsZUNvbnRlbnRzLFxyXG4gICAgICBcImZpbGVOYW1lXCI6IGRhdGE/LmZpbGVOYW1lLFxyXG4gICAgICBcIm1pbWVUeXBlXCI6IGRhdGE/Lm1pbWVUeXBlLFxyXG4gICAgICBcImZpbGVEZXNjcmlwdGlvblwiOiB0aGlzLnBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uLFxyXG4gICAgICBcImF0dGFjaG1lbnRjb21tZW50XCI6IHRoaXMucG9wdXBEYXRhPy5hdHRhY2htZW50Y29tbWVudCxcclxuICAgICAgXCJmaWxlQ29tbWVudHNcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQXR0YWNobWVudHMoKSB7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBcImZpbGVEZXNjcmlwdGlvblwiOiB0aGlzLnBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uLFxyXG4gICAgICBcImF0dGFjaG1lbnRjb21tZW50XCI6IHRoaXMucG9wdXBEYXRhPy5hdHRhY2htZW50Y29tbWVudCxcclxuICAgICAgXCJmaWxlQ29tbWVudHNcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgICBcImZpbGVOYW1lXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlTmFtZSxcclxuICAgICAgXCJtaW1lVHlwZVwiOiB0aGlzLnBvcHVwRGF0YT8ubWltZVR5cGUsXHJcbiAgICAgIFwiZmlsZUNvbnRlbnRzXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlQ29udGVudHMsXHJcbiAgICB9XHJcbiAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XHJcbiAgICAvKnRoaXMuY29yZVN0YXRlTWFjaGluZVNlcnZpY2UuZGlzcGF0Y2goJ2dldEF0dGFjaG1lbnRzJywgZGF0YSlcclxuICAgICAgLnRoZW4oKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChSZXNwb25zZSkge1xyXG4gICAgICAgICAgdGhpcy5jb3JlU3RhdGVNYWNoaW5lU2VydmljZS5hdHRhY2htZW50TGlzdERhdGEgPSBudWxsXHJcbiAgICAgICAgICBjb25zdCBuZXdPYmogPSB7XHJcbiAgICAgICAgICAgIFwiZmlsZURlc2NyaXB0aW9uXCI6IHRoaXMucG9wdXBEYXRhPy5maWxlRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIFwiYXR0YWNobWVudGNvbW1lbnRcIjogdGhpcy5wb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50LFxyXG4gICAgICAgICAgICBcImZpbGVDb21tZW50c1wiOiB0aGlzLnBvcHVwRGF0YT8uYXR0YWNobWVudGNvbW1lbnQsXHJcbiAgICAgICAgICAgIFwiZmlsZU5hbWVcIjogdGhpcy5wb3B1cERhdGE/LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICBcImF0dGFjaG1lbnRJZFwiOiBSZXNwb25zZS5hdHRhY2htZW50LmF0dGFjaG1lbnRJZCxcclxuICAgICAgICAgICAgXCJtaW1lVHlwZVwiOiB0aGlzLnBvcHVwRGF0YT8ubWltZVR5cGVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG5ld09iaik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTsqL1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIiBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gICAgPGgzIGNsYXNzPVwibWItMCBmb250LTE2IGZ3LW1lZGl1bVwiPnt7aTE4bi50cmFuc2xhdGUoJ2FkZEF0dGFjaG1lbnRzJyl9fTwvaDM+XHJcbiAgICA8ZHMtYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgaWNvbj5cclxuICAgICAgPGRzLWljb24gaWNvbj1cImNsb3NlXCIgY2xhc3M9XCJmcy0yMCBmYy1ibGFja1wiPjwvZHMtaWNvbj5cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtbWQtNCBtdC0zXCI+XHJcbiAgICAgIDwhLS0gYWRkIFtjYWxsQXBpXT1cInRydWVcIiAgaW5wdXQgbW9iaWxlIGlzc3VlIG5vdCBhYmxlIHRvIGRvd25sb2FkIGl0IGJ5IGJhc2UgNjQgLS0+XHJcblxyXG4gICAgICA8YXBwLWZpbGUtdXBsb2FkZXIgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtmaWVsZF09XCJwb3B1cERhdGFcIiBuYW1lPVwiZmlsZVwiIFthdHRhY2htZW50c109XCJkaWFsb2dEYXRhPy5hdHRhY2htZW50c1wiXHJcbiAgICAgICAgW2xhYmVsVGV4dFJlYWRNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdBdHRhY2htZW50JylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdBdHRhY2htZW50JylcIlxyXG4gICAgICAgIFtoYXNDb2x1bW5CcmVha109XCJmYWxzZVwiIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnQXR0YWNobWVudCcpXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbXVsdGlwbGVdPVwiZGlhbG9nRGF0YT8ubXVsdGlwbGVcIiBbYWxsb3dlZEV4dGVuc2lvbnNdPVwiZGlhbG9nRGF0YT8uZGF0YVwiXHJcbiAgICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiIFtzaG93QWN0aW9uc109XCJmYWxzZVwiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVBdHRhY2htZW50RW1pdFZhbHVlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgPC9hcHAtZmlsZS11cGxvYWRlcj5cclxuXHJcbiAgICAgIDxhcHAtdGV4dGFyZWEgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZC1ibG9jayBtdC00XCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmaWVsZF09XCJwb3B1cERhdGE/LmZpbGVEZXNjcmlwdGlvblwiIG5hbWU9XCJmaWxlRGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgnZGVzY3JpcHRpb24nKVwiIFtsYWJlbFRleHRXcml0ZU1vZGVdPVwiaTE4bi50cmFuc2xhdGUoJ2Rlc2NyaXB0aW9uJylcIlxyXG4gICAgICAgIFtoYXNDb2x1bW5CcmVha109XCJmYWxzZVwiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVFbWl0VmFsdWUoJGV2ZW50LCdmaWxlRGVzY3JpcHRpb24nKVwiXHJcbiAgICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdkZXNjcmlwdGlvbicpXCIgW3JlcXVpcmVkXT1cImRpYWxvZ0RhdGEuaXNSZXF1aXJlZFwiIFttaW5MZW5ndGhdPScxJyBbbWF4TGVuZ3RoXT0nNTAwJ1xyXG4gICAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIiBbZXJyb3JNZXNzYWdlXT1cImkxOG4udHJhbnNsYXRlKCdsZW5naHRNaW4xTWF4NTAwJylcIj5cclxuICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcblxyXG4gICAgICA8YXBwLXRleHRhcmVhIGNsYXNzPVwic2VjdGlvbi1pdGVtXCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmaWVsZF09XCJwb3B1cERhdGE/LmF0dGFjaG1lbnRjb21tZW50XCIgbmFtZT1cImF0dGFjaG1lbnRjb21tZW50XCJcclxuICAgICAgICBbbGFiZWxUZXh0UmVhZE1vZGVdPVwiaTE4bi50cmFuc2xhdGUoJ2NvbW1lbnRzJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdjb21tZW50cycpXCJcclxuICAgICAgICBbaGFzQ29sdW1uQnJlYWtdPVwiZmFsc2VcIiAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRW1pdFZhbHVlKCRldmVudCwnYXR0YWNobWVudGNvbW1lbnQnKVwiIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY29tbWVudHMnKVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCIgW21pbkxlbmd0aF09JzEnIFttYXhMZW5ndGhdPSc1MDAnIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIlxyXG4gICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICA8L2FwcC10ZXh0YXJlYT5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZGVmYXVsdC1mb290ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtM1wiPlxyXG4gICAgPGRzLWJ1dHRvbiAgc2hhcGU9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiBbZGlzYWJsZWRdPVwiKHVwbG9hZGluZylcIiBjb2xvcj1cInJlZFwiPnt7aTE4bi50cmFuc2xhdGUoJ2NhbmNlbCcpfX1cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiYWRkQXR0YWNobWVudHMoKVwiIFtsb2FkaW5nXT1cInVwbG9hZGluZ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIoIShwb3B1cERhdGE/LmZpbGVDb250ZW50cyB8fCBwb3B1cERhdGE/LmF0dGFjaG1lbnRJZCApIHx8KCBkaWFsb2dEYXRhLmlzUmVxdWlyZWQgJiYgIXBvcHVwRGF0YT8uZmlsZURlc2NyaXB0aW9uICl8fCB1cGxvYWRpbmcpXCI+XHJcbiAgICAgIEBpZighZWRpdE1vZGUpe1xyXG4gICAgICA8c3Bhbj57e2kxOG4udHJhbnNsYXRlKCdhZGQnKX19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZihlZGl0TW9kZSl7XHJcbiAgICAgIDxzcGFuPnt7aTE4bi50cmFuc2xhdGUoJ2VkaXQnKX19PC9zcGFuPlxyXG4gICAgICB9XHJcblxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcblxyXG48L2Rpdj5cclxuIl19
@@ -1,52 +1,49 @@
1
1
  /* eslint-disable @typescript-eslint/no-empty-function */
2
2
  /* eslint-disable @angular-eslint/use-lifecycle-interface */
3
3
  /* eslint-disable @angular-eslint/component-selector */
4
- import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Input, Output } from '@angular/core';
5
- import { BaseComponent } from '../base-component/base-component.component';
4
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, forwardRef, inject, Input, Output } from '@angular/core';
6
5
  import { MatCheckbox } from "@angular/material/checkbox";
7
- import { FormsModule } from "@angular/forms";
6
+ import { FormsModule, NG_VALUE_ACCESSOR } from "@angular/forms";
8
7
  import { NgIf } from "@angular/common";
8
+ import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
9
+ import { TermsConditionsComponent } from '../../terms-conditions/terms-conditions.component';
10
+ import { MatDialog } from '@angular/material/dialog';
9
11
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/forms";
11
- export class CheckBoxComponent extends BaseComponent {
12
+ export class CheckBoxComponent extends ControlValueAccessorDirective {
12
13
  containTerms;
13
14
  termsLabel;
14
15
  linkText;
15
16
  hrefLink;
17
+ link;
18
+ name;
19
+ randomID;
20
+ termsBody;
16
21
  downloadCheckBox = new EventEmitter();
17
- ngOnInit() {
18
- this.value = this.field ? JSON.parse(this.field) : false;
19
- // this.resetPropagator.subscribe(this, this.resetCheckBoxData);
20
- }
21
- resetCheckBoxData() {
22
- if (!this.isReadOnly) {
23
- this.emitedValue.emit('false');
24
- this.value = false;
25
- }
26
- }
22
+ dialog = inject(MatDialog);
27
23
  openUrl() {
28
24
  window.open(this.hrefLink);
29
25
  }
30
26
  valueChange(event) {
31
27
  const checked = event.checked;
32
- this.value = checked;
33
- this.field = (checked).toString();
34
- this.emitedValue.emit(this.field);
35
- }
36
- downloadFile() {
37
- this.downloadCheckBox.emit();
28
+ this.control.setValue(checked);
38
29
  }
39
30
  openTermsPopup() {
40
- // const dialogRef = this.dialog.open(TermsConditionsComponent, {
41
- // data: this.termsBody,
42
- // width: '700px',
43
- // panelClass: ['main-popup'],
44
- // });
45
- // dialogRef.afterClosed().subscribe(() => {
46
- // });
31
+ const dialogRef = this.dialog.open(TermsConditionsComponent, {
32
+ data: this.termsBody,
33
+ width: '700px',
34
+ panelClass: ['main-popup'],
35
+ });
36
+ dialogRef.afterClosed().subscribe(() => {
37
+ });
47
38
  }
48
39
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CheckBoxComponent, isStandalone: true, selector: "app-checkbox", inputs: { containTerms: "containTerms", termsLabel: "termsLabel", linkText: "linkText", hrefLink: "hrefLink" }, outputs: { downloadCheckBox: "downloadCheckBox" }, usesInheritance: true, ngImport: i0, template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isReadOnly || disabled\" id=\"{{name}}{{randomID}}\" [(ngModel)]=\"value\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"field\"\r\n>\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" *ngIf=\"containTerms\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n <ng-container *ngIf=\"link\">\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"], dependencies: [{ kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: CheckBoxComponent, isStandalone: true, selector: "app-checkbox", inputs: { containTerms: "containTerms", termsLabel: "termsLabel", linkText: "linkText", hrefLink: "hrefLink", link: "link", name: "name", randomID: "randomID", termsBody: "termsBody" }, outputs: { downloadCheckBox: "downloadCheckBox" }, providers: [
41
+ {
42
+ provide: NG_VALUE_ACCESSOR,
43
+ useExisting: forwardRef(() => CheckBoxComponent),
44
+ multi: true,
45
+ },
46
+ ], usesInheritance: true, ngImport: i0, template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isDisabled\" id=\"{{name}}{{randomID}}\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"control.value\">\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n @if(containTerms){\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n }\r\n @if (link){\r\n <ng-container>\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n }\r\n \r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"], dependencies: [{ kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }] });
50
47
  }
51
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckBoxComponent, decorators: [{
52
49
  type: Component,
@@ -54,7 +51,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
54
51
  MatCheckbox,
55
52
  FormsModule,
56
53
  NgIf
57
- ], standalone: true, template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isReadOnly || disabled\" id=\"{{name}}{{randomID}}\" [(ngModel)]=\"value\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"field\"\r\n>\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" *ngIf=\"containTerms\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n <ng-container *ngIf=\"link\">\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"] }]
54
+ ], standalone: true, providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => CheckBoxComponent),
58
+ multi: true,
59
+ },
60
+ ], template: "<mat-checkbox\r\n class=\"my-3\" [disabled]=\"isDisabled\" id=\"{{name}}{{randomID}}\" [name]=\"name\"\r\n (change)=\"valueChange($event)\" [checked]=\"control.value\">\r\n <span class=\"fs-12 fw-medium fc-onyx\">\r\n {{ isReadOnly ? labelTextReadMode : labelTextWriteMode }}\r\n </span>\r\n @if(containTerms){\r\n <span\r\n class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\"\r\n (click)=\"openTermsPopup(); false\">\r\n {{ termsLabel ? termsLabel : i18n.translate('termsAndConditions') }}\r\n </span>\r\n }\r\n @if (link){\r\n <ng-container>\r\n <span> | </span>\r\n <a class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1 d-inline-flex align-items-center gap-1\" href=\"{{hrefLink}}\" target=\"_blank\">\r\n <ds-icon icon=\"external-link\"></ds-icon>\r\n <span class=\"underline\">{{ linkText }}</span>\r\n </a>\r\n </ng-container>\r\n }\r\n \r\n <!-- <a *ngIf=\"containDownload\" style=\"color: blue;\" class=\"fs-12 fw-bold fc-coral cursor-pointer mx-1\" href=\"{{hrefLink}}\" target=\"_top\"> {{termsLabel}}</a> -->\r\n</mat-checkbox>\r\n", styles: [".checkbox{margin-top:10px!important;position:relative;margin-bottom:0!important}.checkbox label{padding-left:30px;font-size:14px;color:#414142}.checkbox input[type=checkbox]{opacity:0}.checkbox input[type=checkbox]+label.checkboxInput{position:absolute;width:25px;height:25px;top:0;left:0;padding-left:0}@media (max-width: 768px){.checkbox input[type=checkbox]+label.checkboxInput{top:8px!important}}.checkbox input[type=checkbox]+label.checkboxInput:before{content:\"\\f096\";font-family:FontAwesome;font-size:25px;display:block;margin-top:-7px;color:#ddd}.checkbox input[type=checkbox]:checked+label.checkboxInput:before{content:\"\\f14a\";color:#da3f7b;background-color:#fff}.rtlCheckbox.checkbox input[type=checkbox]+label.checkboxInput{left:inherit;right:0;padding-left:0;padding-right:0}.rtlCheckbox.checkbox label{padding-left:0;padding-right:30px}\n"] }]
58
61
  }], propDecorators: { containTerms: [{
59
62
  type: Input
60
63
  }], termsLabel: [{
@@ -63,7 +66,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
63
66
  type: Input
64
67
  }], hrefLink: [{
65
68
  type: Input
69
+ }], link: [{
70
+ type: Input
71
+ }], name: [{
72
+ type: Input
73
+ }], randomID: [{
74
+ type: Input
75
+ }], termsBody: [{
76
+ type: Input
66
77
  }], downloadCheckBox: [{
67
78
  type: Output
68
79
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQWVyQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQUN6QyxZQUFZLENBQVU7SUFDdEIsVUFBVSxDQUFTO0lBQ25CLFFBQVEsQ0FBUztJQUNqQixRQUFRLENBQVM7SUFDaEIsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRXpELGdFQUFnRTtJQUNsRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1osaUVBQWlFO1FBQ2pFLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsZ0NBQWdDO1FBQ2hDLE1BQU07UUFFTiw0Q0FBNEM7UUFDNUMsTUFBTTtJQUNSLENBQUM7dUdBM0NVLGlCQUFpQjsyRkFBakIsaUJBQWlCLGtRQ3RCOUIseWtDQXFCQSxtNUJETkksV0FBVyx1VkFDWCxXQUFXLCtWQUNYLElBQUk7OzJGQUtLLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxjQUFjLFdBR2YsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsSUFBSTtxQkFDTCxjQUNXLElBQUk7OEJBSVAsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtY29tcG9uZW50L2Jhc2UtY29tcG9uZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0Q2hlY2tib3h9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRDaGVja2JveCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmdJZlxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udGFpblRlcm1zOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHRlcm1zTGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBsaW5rVGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhyZWZMaW5rOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkQ2hlY2tCb3ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWVsZCA/IEpTT04ucGFyc2UodGhpcy5maWVsZCkgOiBmYWxzZTtcclxuXHJcbiAgICAvLyB0aGlzLnJlc2V0UHJvcGFnYXRvci5zdWJzY3JpYmUodGhpcywgdGhpcy5yZXNldENoZWNrQm94RGF0YSk7XHJcbiAgfVxyXG5cclxuICByZXNldENoZWNrQm94RGF0YSgpIHtcclxuICAgIGlmICghdGhpcy5pc1JlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCgnZmFsc2UnKVxyXG4gICAgICB0aGlzLnZhbHVlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuVXJsKCl7XHJcbiAgICB3aW5kb3cub3Blbih0aGlzLmhyZWZMaW5rKVxyXG4gIH1cclxuXHJcbiAgdmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgY2hlY2tlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnZhbHVlID0gY2hlY2tlZDtcclxuICAgIHRoaXMuZmllbGQgPSAoY2hlY2tlZCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuZW1pdGVkVmFsdWUuZW1pdCh0aGlzLmZpZWxkKVxyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRGaWxlKCl7XHJcbiAgICB0aGlzLmRvd25sb2FkQ2hlY2tCb3guZW1pdCgpXHJcbiAgfVxyXG5cclxuICBvcGVuVGVybXNQb3B1cCgpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVGVybXNDb25kaXRpb25zQ29tcG9uZW50LCB7XHJcbiAgICAvLyAgIGRhdGE6IHRoaXMudGVybXNCb2R5LFxyXG4gICAgLy8gICB3aWR0aDogJzcwMHB4JyxcclxuICAgIC8vICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJ10sXHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICAvLyBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2hlY2tib3hcclxuICBjbGFzcz1cIm15LTNcIiBbZGlzYWJsZWRdPVwiaXNSZWFkT25seSB8fCBkaXNhYmxlZFwiIGlkPVwie3tuYW1lfX17e3JhbmRvbUlEfX1cIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgW25hbWVdPVwibmFtZVwiXHJcbiAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiZmllbGRcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmdy1tZWRpdW0gZmMtb255eFwiPlxyXG4gICAge3sgaXNSZWFkT25seSA/IGxhYmVsVGV4dFJlYWRNb2RlIDogbGFiZWxUZXh0V3JpdGVNb2RlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuXHJcbiAgICBjbGFzcz1cImZzLTEyIGZ3LWJvbGQgZmMtY29yYWwgY3Vyc29yLXBvaW50ZXIgbXgtMVwiICpuZ0lmPVwiY29udGFpblRlcm1zXCJcclxuICAgIChjbGljayk9XCJvcGVuVGVybXNQb3B1cCgpOyBmYWxzZVwiPlxyXG4gICAge3sgdGVybXNMYWJlbCA/IHRlcm1zTGFiZWwgOiBpMThuLnRyYW5zbGF0ZSgndGVybXNBbmRDb25kaXRpb25zJykgfX1cclxuICA8L3NwYW4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmtcIj5cclxuICAgIDxzcGFuPiB8IDwvc3Bhbj5cclxuICAgIDxhIGNsYXNzPVwiZnMtMTIgZnctYm9sZCBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlciBteC0xIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCIgaHJlZj1cInt7aHJlZkxpbmt9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiZXh0ZXJuYWwtbGlua1wiPjwvZHMtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ1bmRlcmxpbmVcIj57eyBsaW5rVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvYT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8IS0tIDxhICpuZ0lmPVwiY29udGFpbkRvd25sb2FkXCIgc3R5bGU9XCJjb2xvcjogYmx1ZTtcIiBjbGFzcz1cImZzLTEyIGZ3LWJvbGQgZmMtY29yYWwgY3Vyc29yLXBvaW50ZXIgbXgtMVwiIGhyZWY9XCJ7e2hyZWZMaW5rfX1cIiB0YXJnZXQ9XCJfdG9wXCI+IHt7dGVybXNMYWJlbH19PC9hPiAtLT5cclxuPC9tYXQtY2hlY2tib3g+XHJcbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFzQnJELE1BQU0sT0FBTyxpQkFBd0IsU0FBUSw2QkFBbUM7SUFDckUsWUFBWSxDQUFVO0lBQ3RCLFVBQVUsQ0FBUztJQUNuQixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQU07SUFDZCxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2hELE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFM0IsT0FBTztRQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDM0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3BCLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQzNCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E5QlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsd1NBVGpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzVCSCxpa0NBeUJBLG01QkRSSSxXQUFXLHVWQUNYLFdBQVc7OzJGQWFGLGlCQUFpQjtrQkFwQjdCLFNBQVM7K0JBQ0UsY0FBYyxXQUdmLENBQUMsc0JBQXNCLENBQUMsV0FDeEI7d0JBQ1AsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLElBQUk7cUJBQ0wsY0FDVyxJQUFJLGFBQ0w7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlRLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRDaGVja2JveH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUZXJtc0NvbmRpdGlvbnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi90ZXJtcy1jb25kaXRpb25zL3Rlcm1zLWNvbmRpdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdENoZWNrYm94LFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ0lmXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tCb3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrQm94Q29tcG9uZW50PFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIGNvbnRhaW5UZXJtczogYm9vbGVhbjtcclxuICBASW5wdXQoKSB0ZXJtc0xhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGlua1RleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBocmVmTGluazogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxpbms6IHN0cmluZztcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmFuZG9tSUQ6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXJtc0JvZHk6IGFueTtcclxuICBAT3V0cHV0KCkgZG93bmxvYWRDaGVja0JveCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcclxuIFxyXG4gIG9wZW5VcmwoKXtcclxuICAgIHdpbmRvdy5vcGVuKHRoaXMuaHJlZkxpbmspXHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBjaGVja2VkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjaGVja2VkKVxyXG4gIH1cclxuXHJcbiAgb3BlblRlcm1zUG9wdXAoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFRlcm1zQ29uZGl0aW9uc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB0aGlzLnRlcm1zQm9keSxcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnbWFpbi1wb3B1cCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWNoZWNrYm94XHJcbiAgY2xhc3M9XCJteS0zXCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiBpZD1cInt7bmFtZX19e3tyYW5kb21JRH19XCIgW25hbWVdPVwibmFtZVwiXHJcbiAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiY29udHJvbC52YWx1ZVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZnMtMTIgZnctbWVkaXVtIGZjLW9ueXhcIj5cclxuICAgIHt7IGlzUmVhZE9ubHkgPyBsYWJlbFRleHRSZWFkTW9kZSA6IGxhYmVsVGV4dFdyaXRlTW9kZSB9fVxyXG4gIDwvc3Bhbj5cclxuICBAaWYoY29udGFpblRlcm1zKXtcclxuICAgIDxzcGFuXHJcbiAgICBjbGFzcz1cImZzLTEyIGZ3LWJvbGQgZmMtY29yYWwgY3Vyc29yLXBvaW50ZXIgbXgtMVwiXHJcbiAgICAoY2xpY2spPVwib3BlblRlcm1zUG9wdXAoKTsgZmFsc2VcIj5cclxuICAgIHt7IHRlcm1zTGFiZWwgPyB0ZXJtc0xhYmVsIDogaTE4bi50cmFuc2xhdGUoJ3Rlcm1zQW5kQ29uZGl0aW9ucycpIH19XHJcbiAgPC9zcGFuPlxyXG4gIH1cclxuIEBpZiAobGluayl7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuPiB8IDwvc3Bhbj5cclxuICAgIDxhIGNsYXNzPVwiZnMtMTIgZnctYm9sZCBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlciBteC0xIGQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCIgaHJlZj1cInt7aHJlZkxpbmt9fVwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiZXh0ZXJuYWwtbGlua1wiPjwvZHMtaWNvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ1bmRlcmxpbmVcIj57eyBsaW5rVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvYT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuIH1cclxuIFxyXG4gIDwhLS0gPGEgKm5nSWY9XCJjb250YWluRG93bmxvYWRcIiBzdHlsZT1cImNvbG9yOiBibHVlO1wiIGNsYXNzPVwiZnMtMTIgZnctYm9sZCBmYy1jb3JhbCBjdXJzb3ItcG9pbnRlciBteC0xXCIgaHJlZj1cInt7aHJlZkxpbmt9fVwiIHRhcmdldD1cIl90b3BcIj4ge3t0ZXJtc0xhYmVsfX08L2E+IC0tPlxyXG48L21hdC1jaGVja2JveD5cclxuIl19