valtech-components 4.0.72 → 4.0.73

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 (52) hide show
  1. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +2 -4
  2. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +2 -4
  3. package/esm2022/lib/components/molecules/comment/comment.component.mjs +2 -4
  4. package/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +2 -4
  5. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +2 -4
  6. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +2 -4
  7. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +2 -4
  8. package/esm2022/lib/components/molecules/font-size-selector/font-size-selector.component.mjs +2 -4
  9. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +2 -4
  10. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +2 -4
  11. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +2 -4
  12. package/esm2022/lib/components/molecules/rating/rating.component.mjs +2 -4
  13. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +2 -4
  14. package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +2 -4
  15. package/esm2022/lib/components/organisms/account-view/account-view.component.mjs +2 -4
  16. package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +3 -7
  17. package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +3 -7
  18. package/esm2022/lib/components/organisms/api-keys-view/api-keys-view.component.mjs +2 -4
  19. package/esm2022/lib/components/organisms/auth-cta/auth-cta.component.mjs +2 -4
  20. package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +2 -4
  21. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +2 -4
  22. package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +2 -4
  23. package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +2 -4
  24. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +2 -4
  25. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -7
  26. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -7
  27. package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +2 -4
  28. package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +2 -4
  29. package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +2 -4
  30. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +2 -4
  31. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +2 -4
  32. package/esm2022/lib/components/organisms/preferences-view/preferences-view.component.mjs +2 -4
  33. package/esm2022/lib/components/organisms/profile-view/profile-view.component.mjs +2 -4
  34. package/esm2022/lib/components/organisms/qr-scanner/qr-scanner.component.mjs +2 -4
  35. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +2 -4
  36. package/esm2022/lib/components/organisms/settings-hub/settings-hub.component.mjs +3 -7
  37. package/esm2022/lib/components/organisms/share-profile-modal/share-profile-modal.component.mjs +2 -4
  38. package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.component.mjs +2 -4
  39. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +3 -7
  40. package/esm2022/lib/services/i18n/i18n.service.mjs +21 -1
  41. package/esm2022/lib/version.mjs +2 -2
  42. package/fesm2022/valtech-components.mjs +66 -136
  43. package/fesm2022/valtech-components.mjs.map +1 -1
  44. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +2 -2
  45. package/lib/components/molecules/cta-card/cta-card.component.d.ts +1 -1
  46. package/lib/components/molecules/metric-card/metric-card.component.d.ts +1 -1
  47. package/lib/components/organisms/article/article.component.d.ts +5 -5
  48. package/lib/components/organisms/auth-cta/auth-cta.component.d.ts +1 -1
  49. package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
  50. package/lib/services/i18n/i18n.service.d.ts +7 -0
  51. package/lib/version.d.ts +1 -1
  52. package/package.json +1 -1
@@ -43,9 +43,7 @@ export class RatingComponent {
43
43
  this.resolvedProps = {};
44
44
  this.ratingChange = new EventEmitter();
45
45
  this.hoverValue = null;
46
- if (!this.i18n.hasNamespace('Rating')) {
47
- this.i18n.registerContent('Rating', RATING_I18N);
48
- }
46
+ this.i18n.registerDefaults('Rating', RATING_I18N);
49
47
  }
50
48
  ngOnInit() {
51
49
  this.resolveProps();
@@ -239,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
239
237
  }], ratingChange: [{
240
238
  type: Output
241
239
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0lBQy9ELEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0NBQzVELENBQUM7QUEyQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQWExQjtRQVpRLFlBQU8sR0FBRyxNQUFNLENB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QUFFLE9BQU87UUFDdkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDOytHQTlJVSxlQUFlO21HQUFmLGVBQWUsb0xBekRoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVCx5eUhBbkNTLFlBQVksK0JBQUUsT0FBTzs7NEZBMERwQixlQUFlO2tCQTdEM0IsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDt3REEyQlEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFJSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgUHJlc2V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZXNldHMnO1xuaW1wb3J0IHsgUmF0aW5nTWV0YWRhdGEsIFJhdGluZ0NoYW5nZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IHN0YXIsIHN0YXJPdXRsaW5lLCBzdGFySGFsZiwgaGVhcnQsIGhlYXJ0T3V0bGluZSwgaGVhcnRIYWxmIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5hZGRJY29ucyh7IHN0YXIsIHN0YXJPdXRsaW5lLCBzdGFySGFsZiwgaGVhcnQsIGhlYXJ0T3V0bGluZSwgaGVhcnRIYWxmIH0pO1xuXG4vKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSDigJQgYXV0by1yZWdpc3RyYWRvcyBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbFxuICogbmFtZXNwYWNlIGBSYXRpbmdgLiBDdWJyZSBlbCBhcmlhLWxhYmVsIGRlbCBncnVwbyB5IGRlIGNhZGEgZXN0cmVsbGEuXG4gKi9cbmNvbnN0IFJBVElOR19JMThOID0ge1xuICBlczogeyBncm91cExhYmVsOiAnVmFsb3JhY2nDs24nLCBzdGFyTGFiZWw6ICd7dmFsdWV9IGRlIHttYXh9JyB9LFxuICBlbjogeyBncm91cExhYmVsOiAnUmF0aW5nJywgc3RhckxhYmVsOiAne3ZhbHVlfSBvZiB7bWF4fScgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yYXRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJhdGluZy1jb250YWluZXJcIlxuICAgICAgcm9sZT1cInJhZGlvZ3JvdXBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJncm91cExhYmVsKClcIlxuICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMucmVhZG9ubHlcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzXT1cIidzaXplLScgKyAocmVzb2x2ZWRQcm9wcy5zaXplIHx8ICdtZWRpdW0nKVwiXG4gICAgPlxuICAgICAgQGZvciAoaSBvZiBnZXRTdGFycygpOyB0cmFjayBpKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInJhdGluZy1zdGFyXCJcbiAgICAgICAgICByb2xlPVwicmFkaW9cIlxuICAgICAgICAgIFtjbGFzcy5jbGlja2FibGVdPVwiIXJlc29sdmVkUHJvcHMucmVhZG9ubHkgJiYgIXJlc29sdmVkUHJvcHMuZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpIDw9IHJlc29sdmVkUHJvcHMudmFsdWVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RhckxhYmVsKGkpXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJnZXRTdGFyVGFiaW5kZXgoaSlcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TdGFyQ2xpY2soaSlcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwib25BcnJvdygkZXZlbnQsIDEpXCJcbiAgICAgICAgICAoa2V5ZG93bi5hcnJvd3VwKT1cIm9uQXJyb3coJGV2ZW50LCAxKVwiXG4gICAgICAgICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cIm9uQXJyb3coJGV2ZW50LCAtMSlcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93ZG93bik9XCJvbkFycm93KCRldmVudCwgLTEpXCJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJvblN0YXJIb3ZlcihpKVwiXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25TdGFyTGVhdmUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiZ2V0U3Rhckljb24oaSlcIiBbY29sb3JdPVwiZ2V0U3RhckNvbG9yKGkpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd1ZhbHVlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmF0aW5nLXZhbHVlXCI+e3sgZGlzcGxheVZhbHVlIH19PC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9yYXRpbmcuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1yYXRpbmdcbiAqXG4gKiBBIHN0YXIgcmF0aW5nIGNvbXBvbmVudCBmb3IgZmVlZGJhY2sgYW5kIHJldmlld3MuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldDpcbiAqIDx2YWwtcmF0aW5nIHByZXNldD1cInN0YXJzXCIgW3Byb3BzXT1cInsgdmFsdWU6IDMuNSB9XCI+PC92YWwtcmF0aW5nPlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiA8dmFsLXJhdGluZyBbcHJvcHNdPVwie1xuICogICB2YWx1ZTogMy41LFxuICogICBtYXg6IDUsXG4gKiAgIGFsbG93SGFsZjogdHJ1ZVxuICogfVwiIChyYXRpbmdDaGFuZ2UpPVwib25SYXRpbmdDaGFuZ2UoJGV2ZW50KVwiPjwvdmFsLXJhdGluZz5cbiAqXG4gKiBAaW5wdXQgcHJlc2V0OiBzdHJpbmcgLSBOYW1lIG9mIHByZXNldCB0byBhcHBseVxuICogQGlucHV0IHByb3BzOiBSYXRpbmdNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSByYXRpbmdcbiAqIEBvdXRwdXQgcmF0aW5nQ2hhbmdlOiBSYXRpbmdDaGFuZ2VFdmVudCAtIEVtaXRzIHdoZW4gcmF0aW5nIGNoYW5nZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJhdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBwcmVzZXRzID0gaW5qZWN0KFByZXNldFNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8UmF0aW5nTWV0YWRhdGE+ID0ge307XG5cbiAgcmVzb2x2ZWRQcm9wczogUmF0aW5nTWV0YWRhdGEgPSB7fSBhcyBSYXRpbmdNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcmF0aW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSYXRpbmdDaGFuZ2VFdmVudD4oKTtcblxuICBob3ZlclZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ1JhdGluZycpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KCdSYXRpbmcnLCBSQVRJTkdfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0XG4gICAgICA/ICh0aGlzLnByZXNldHMuZ2V0KCdyYXRpbmcnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxSYXRpbmdNZXRhZGF0YT4pXG4gICAgICA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgUmF0aW5nTWV0YWRhdGE7XG4gIH1cblxuICBnZXQgZGlzcGxheVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaG92ZXJWYWx1ZSAhPT0gbnVsbCA/IHRoaXMuaG92ZXJWYWx1ZSA6IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZTtcbiAgfVxuXG4gIGdldFN0YXJzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBtYXggPSB0aGlzLnJlc29sdmVkUHJvcHMubWF4IHx8IDU7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IG1heCB9LCAoXywgaSkgPT4gaSArIDEpO1xuICB9XG5cbiAgZ3JvdXBMYWJlbCgpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdncm91cExhYmVsJywgJ1JhdGluZycpO1xuICB9XG5cbiAgc3RhckxhYmVsKHBvc2l0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzdGFyTGFiZWwnLCAnUmF0aW5nJywge1xuICAgICAgdmFsdWU6IHBvc2l0aW9uLnRvU3RyaW5nKCksXG4gICAgICBtYXg6ICh0aGlzLnJlc29sdmVkUHJvcHMubWF4IHx8IDUpLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUm92aW5nIHRhYmluZGV4OiBzb2xvIHVuYSBlc3RyZWxsYSBlcyB0YWJiYWJsZS4gTGEgZXN0cmVsbGEgZGVsIHZhbG9yXG4gICAqIGFjdHVhbCAobyBsYSBwcmltZXJhIHNpIG5vIGhheSB2YWxvcikgcmVjaWJlIGAwYCwgZWwgcmVzdG8gYC0xYC5cbiAgICovXG4gIGdldFN0YXJUYWJpbmRleChwb3NpdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnJlYWRvbmx5IHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5kaXNhYmxlZCkgcmV0dXJuIC0xO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZXNvbHZlZFByb3BzLnZhbHVlIHx8IDA7XG4gICAgY29uc3QgZm9jdXNJbmRleCA9IHZhbHVlID49IDEgPyBNYXRoLmNlaWwodmFsdWUpIDogMTtcbiAgICByZXR1cm4gcG9zaXRpb24gPT09IGZvY3VzSW5kZXggPyAwIDogLTE7XG4gIH1cblxuICAvKiogTmF2ZWdhY2nDs24gY29uIGZsZWNoYXM6IG11ZXZlIGVsIGZvY28geSBzZWxlY2Npb25hIGxhIGVzdHJlbGxhIHZlY2luYS4gKi9cbiAgb25BcnJvdyhldmVudDogRXZlbnQsIGRlbHRhOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnJlYWRvbmx5IHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBjb25zdCBtYXggPSB0aGlzLnJlc29sdmVkUHJvcHMubWF4IHx8IDU7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSA+PSAxID8gTWF0aC5jZWlsKHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSkgOiAxO1xuICAgIGNvbnN0IG5leHQgPSBNYXRoLm1pbihtYXgsIE1hdGgubWF4KDEsIGN1cnJlbnQgKyBkZWx0YSkpO1xuICAgIGlmIChuZXh0ID09PSB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMucmF0aW5nQ2hhbmdlLmVtaXQoeyB2YWx1ZTogbmV4dCwgcHJldmlvdXNWYWx1ZTogdGhpcy5yZXNvbHZlZFByb3BzLnZhbHVlIH0pO1xuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGJ1dHRvbnMgPSB0YXJnZXQuY2xvc2VzdCgnLnJhdGluZy1jb250YWluZXInKT8ucXVlcnlTZWxlY3RvckFsbDxIVE1MQnV0dG9uRWxlbWVudD4oJy5yYXRpbmctc3RhcicpO1xuICAgIGJ1dHRvbnM/LltuZXh0IC0gMV0/LmZvY3VzKCk7XG4gIH1cblxuICBnZXRTdGFySWNvbihwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaG92ZXJWYWx1ZSAhPT0gbnVsbCA/IHRoaXMuaG92ZXJWYWx1ZSA6IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZTtcbiAgICBjb25zdCBiYXNlSWNvbiA9IHRoaXMucmVzb2x2ZWRQcm9wcy5pY29uIHx8ICdzdGFyJztcbiAgICBjb25zdCBlbXB0eUljb24gPSB0aGlzLnJlc29sdmVkUHJvcHMuaWNvbkVtcHR5IHx8IGAke2Jhc2VJY29ufS1vdXRsaW5lYDtcbiAgICBjb25zdCBoYWxmSWNvbiA9IHRoaXMucmVzb2x2ZWRQcm9wcy5pY29uSGFsZiB8fCBgJHtiYXNlSWNvbn0taGFsZmA7XG5cbiAgICBpZiAocG9zaXRpb24gPD0gdmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlSWNvbjtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5hbGxvd0hhbGYgJiYgcG9zaXRpb24gLSAwLjUgPD0gdmFsdWUpIHtcbiAgICAgIHJldHVybiBoYWxmSWNvbjtcbiAgICB9XG4gICAgcmV0dXJuIGVtcHR5SWNvbjtcbiAgfVxuXG4gIGdldFN0YXJDb2xvcihwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaG92ZXJWYWx1ZSAhPT0gbnVsbCA/IHRoaXMuaG92ZXJWYWx1ZSA6IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZTtcbiAgICBjb25zdCBpc0ZpbGxlZCA9IHBvc2l0aW9uIDw9IHZhbHVlIHx8ICh0aGlzLnJlc29sdmVkUHJvcHMuYWxsb3dIYWxmICYmIHBvc2l0aW9uIC0gMC41IDw9IHZhbHVlKTtcbiAgICByZXR1cm4gaXNGaWxsZWQgPyAodGhpcy5yZXNvbHZlZFByb3BzLmNvbG9yIHx8ICd3YXJuaW5nJykgOiAodGhpcy5yZXNvbHZlZFByb3BzLmVtcHR5Q29sb3IgfHwgJ21lZGl1bScpO1xuICB9XG5cbiAgb25TdGFyQ2xpY2socG9zaXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMucmVhZG9ubHkgfHwgdGhpcy5yZXNvbHZlZFByb3BzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBsZXQgbmV3VmFsdWUgPSBwb3NpdGlvbjtcblxuICAgIC8vIFRvZ2dsZSBoYWxmIHZhbHVlIGlmIGNsaWNraW5nIHNhbWUgc3RhciBhbmQgYWxsb3dIYWxmIGlzIHRydWVcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLmFsbG93SGFsZiAmJiBwb3NpdGlvbiA9PT0gTWF0aC5jZWlsKHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSkpIHtcbiAgICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUgPT09IHBvc2l0aW9uKSB7XG4gICAgICAgIG5ld1ZhbHVlID0gcG9zaXRpb24gLSAwLjU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSA9PT0gcG9zaXRpb24gLSAwLjUpIHtcbiAgICAgICAgbmV3VmFsdWUgPSAwO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPT09IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSkge1xuICAgICAgLy8gQ2xpY2sgc2FtZSBzdGFyIGFnYWluIHRvIGNsZWFyXG4gICAgICBuZXdWYWx1ZSA9IDA7XG4gICAgfVxuXG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUpIHtcbiAgICAgIHRoaXMucmF0aW5nQ2hhbmdlLmVtaXQoe1xuICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uU3RhckhvdmVyKHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnJlYWRvbmx5IHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuaG92ZXJWYWx1ZSA9IHBvc2l0aW9uO1xuICB9XG5cbiAgb25TdGFyTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5ob3ZlclZhbHVlID0gbnVsbDtcbiAgfVxufVxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRTFFOzs7R0FHRztBQUNILE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0lBQy9ELEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO0NBQzVELENBQUM7QUEyQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQWExQjtRQVpRLFlBQU8sR0FBRyxNQUFNLENB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SSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzsrR0E1SVUsZUFBZTttR0FBZixlQUFlLG9MQXpEaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QseXlIQW5DUyxZQUFZLCtCQUFFLE9BQU87OzRGQTBEcEIsZUFBZTtrQkE3RDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7d0RBMkJRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IFJhdGluZ01ldGFkYXRhLCBSYXRpbmdDaGFuZ2VFdmVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBzdGFyLCBzdGFyT3V0bGluZSwgc3RhckhhbGYsIGhlYXJ0LCBoZWFydE91dGxpbmUsIGhlYXJ0SGFsZiB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuYWRkSWNvbnMoeyBzdGFyLCBzdGFyT3V0bGluZSwgc3RhckhhbGYsIGhlYXJ0LCBoZWFydE91dGxpbmUsIGhlYXJ0SGFsZiB9KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgUmF0aW5nYC4gQ3VicmUgZWwgYXJpYS1sYWJlbCBkZWwgZ3J1cG8geSBkZSBjYWRhIGVzdHJlbGxhLlxuICovXG5jb25zdCBSQVRJTkdfSTE4TiA9IHtcbiAgZXM6IHsgZ3JvdXBMYWJlbDogJ1ZhbG9yYWNpw7NuJywgc3RhckxhYmVsOiAne3ZhbHVlfSBkZSB7bWF4fScgfSxcbiAgZW46IHsgZ3JvdXBMYWJlbDogJ1JhdGluZycsIHN0YXJMYWJlbDogJ3t2YWx1ZX0gb2Yge21heH0nIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcmF0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyYXRpbmctY29udGFpbmVyXCJcbiAgICAgIHJvbGU9XCJyYWRpb2dyb3VwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ3JvdXBMYWJlbCgpXCJcbiAgICAgIFtjbGFzcy5yZWFkb25seV09XCJyZXNvbHZlZFByb3BzLnJlYWRvbmx5XCJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzLmRpc2FibGVkXCJcbiAgICAgIFtjbGFzc109XCInc2l6ZS0nICsgKHJlc29sdmVkUHJvcHMuc2l6ZSB8fCAnbWVkaXVtJylcIlxuICAgID5cbiAgICAgIEBmb3IgKGkgb2YgZ2V0U3RhcnMoKTsgdHJhY2sgaSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJyYXRpbmctc3RhclwiXG4gICAgICAgICAgcm9sZT1cInJhZGlvXCJcbiAgICAgICAgICBbY2xhc3MuY2xpY2thYmxlXT1cIiFyZXNvbHZlZFByb3BzLnJlYWRvbmx5ICYmICFyZXNvbHZlZFByb3BzLmRpc2FibGVkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaSA8PSByZXNvbHZlZFByb3BzLnZhbHVlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInN0YXJMYWJlbChpKVwiXG4gICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZ2V0U3RhclRhYmluZGV4KGkpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uU3RhckNsaWNrKGkpXCJcbiAgICAgICAgICAoa2V5ZG93bi5hcnJvd3JpZ2h0KT1cIm9uQXJyb3coJGV2ZW50LCAxKVwiXG4gICAgICAgICAgKGtleWRvd24uYXJyb3d1cCk9XCJvbkFycm93KCRldmVudCwgMSlcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93bGVmdCk9XCJvbkFycm93KCRldmVudCwgLTEpXCJcbiAgICAgICAgICAoa2V5ZG93bi5hcnJvd2Rvd24pPVwib25BcnJvdygkZXZlbnQsIC0xKVwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25TdGFySG92ZXIoaSlcIlxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uU3RhckxlYXZlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImdldFN0YXJJY29uKGkpXCIgW2NvbG9yXT1cImdldFN0YXJDb2xvcihpKVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGlmIChyZXNvbHZlZFByb3BzLnNob3dWYWx1ZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInJhdGluZy12YWx1ZVwiPnt7IGRpc3BsYXlWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtcmF0aW5nXG4gKlxuICogQSBzdGFyIHJhdGluZyBjb21wb25lbnQgZm9yIGZlZWRiYWNrIGFuZCByZXZpZXdzLlxuICogU3VwcG9ydHMgcHJlc2V0cyBmb3IgcmV1c2FibGUgY29uZmlndXJhdGlvbnMuXG4gKlxuICogQGV4YW1wbGUgV2l0aCBwcmVzZXQ6XG4gKiA8dmFsLXJhdGluZyBwcmVzZXQ9XCJzdGFyc1wiIFtwcm9wc109XCJ7IHZhbHVlOiAzLjUgfVwiPjwvdmFsLXJhdGluZz5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogPHZhbC1yYXRpbmcgW3Byb3BzXT1cIntcbiAqICAgdmFsdWU6IDMuNSxcbiAqICAgbWF4OiA1LFxuICogICBhbGxvd0hhbGY6IHRydWVcbiAqIH1cIiAocmF0aW5nQ2hhbmdlKT1cIm9uUmF0aW5nQ2hhbmdlKCRldmVudClcIj48L3ZhbC1yYXRpbmc+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHlcbiAqIEBpbnB1dCBwcm9wczogUmF0aW5nTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgcmF0aW5nXG4gKiBAb3V0cHV0IHJhdGluZ0NoYW5nZTogUmF0aW5nQ2hhbmdlRXZlbnQgLSBFbWl0cyB3aGVuIHJhdGluZyBjaGFuZ2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBSYXRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb3BzOiBQYXJ0aWFsPFJhdGluZ01ldGFkYXRhPiA9IHt9O1xuXG4gIHJlc29sdmVkUHJvcHM6IFJhdGluZ01ldGFkYXRhID0ge30gYXMgUmF0aW5nTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHJhdGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmF0aW5nQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgaG92ZXJWYWx1ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ1JhdGluZycsIFJBVElOR19JMThOKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ByZXNldCddIHx8IGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldFxuICAgICAgPyAodGhpcy5wcmVzZXRzLmdldCgncmF0aW5nJywgdGhpcy5wcmVzZXQpIGFzIFBhcnRpYWw8UmF0aW5nTWV0YWRhdGE+KVxuICAgICAgOiB7fTtcblxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHtcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIFJhdGluZ01ldGFkYXRhO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmhvdmVyVmFsdWUgIT09IG51bGwgPyB0aGlzLmhvdmVyVmFsdWUgOiB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWU7XG4gIH1cblxuICBnZXRTdGFycygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5yZXNvbHZlZFByb3BzLm1heCB8fCA1O1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBtYXggfSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgfVxuXG4gIGdyb3VwTGFiZWwoKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZ3JvdXBMYWJlbCcsICdSYXRpbmcnKTtcbiAgfVxuXG4gIHN0YXJMYWJlbChwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnc3RhckxhYmVsJywgJ1JhdGluZycsIHtcbiAgICAgIHZhbHVlOiBwb3NpdGlvbi50b1N0cmluZygpLFxuICAgICAgbWF4OiAodGhpcy5yZXNvbHZlZFByb3BzLm1heCB8fCA1KS50b1N0cmluZygpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdmluZyB0YWJpbmRleDogc29sbyB1bmEgZXN0cmVsbGEgZXMgdGFiYmFibGUuIExhIGVzdHJlbGxhIGRlbCB2YWxvclxuICAgKiBhY3R1YWwgKG8gbGEgcHJpbWVyYSBzaSBubyBoYXkgdmFsb3IpIHJlY2liZSBgMGAsIGVsIHJlc3RvIGAtMWAuXG4gICAqL1xuICBnZXRTdGFyVGFiaW5kZXgocG9zaXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5yZWFkb25seSB8fCB0aGlzLnJlc29sdmVkUHJvcHMuZGlzYWJsZWQpIHJldHVybiAtMTtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSB8fCAwO1xuICAgIGNvbnN0IGZvY3VzSW5kZXggPSB2YWx1ZSA+PSAxID8gTWF0aC5jZWlsKHZhbHVlKSA6IDE7XG4gICAgcmV0dXJuIHBvc2l0aW9uID09PSBmb2N1c0luZGV4ID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqIE5hdmVnYWNpw7NuIGNvbiBmbGVjaGFzOiBtdWV2ZSBlbCBmb2NvIHkgc2VsZWNjaW9uYSBsYSBlc3RyZWxsYSB2ZWNpbmEuICovXG4gIG9uQXJyb3coZXZlbnQ6IEV2ZW50LCBkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5yZWFkb25seSB8fCB0aGlzLnJlc29sdmVkUHJvcHMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgbWF4ID0gdGhpcy5yZXNvbHZlZFByb3BzLm1heCB8fCA1O1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUgPj0gMSA/IE1hdGguY2VpbCh0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUpIDogMTtcbiAgICBjb25zdCBuZXh0ID0gTWF0aC5taW4obWF4LCBNYXRoLm1heCgxLCBjdXJyZW50ICsgZGVsdGEpKTtcbiAgICBpZiAobmV4dCA9PT0gdGhpcy5yZXNvbHZlZFByb3BzLnZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLnJhdGluZ0NoYW5nZS5lbWl0KHsgdmFsdWU6IG5leHQsIHByZXZpb3VzVmFsdWU6IHRoaXMucmVzb2x2ZWRQcm9wcy52YWx1ZSB9KTtcblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBidXR0b25zID0gdGFyZ2V0LmNsb3Nlc3QoJy5yYXRpbmctY29udGFpbmVyJyk/LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEJ1dHRvbkVsZW1lbnQ+KCcucmF0aW5nLXN0YXInKTtcbiAgICBidXR0b25zPy5bbmV4dCAtIDFdPy5mb2N1cygpO1xuICB9XG5cbiAgZ2V0U3Rhckljb24ocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmhvdmVyVmFsdWUgIT09IG51bGwgPyB0aGlzLmhvdmVyVmFsdWUgOiB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWU7XG4gICAgY29uc3QgYmFzZUljb24gPSB0aGlzLnJlc29sdmVkUHJvcHMuaWNvbiB8fCAnc3Rhcic7XG4gICAgY29uc3QgZW1wdHlJY29uID0gdGhpcy5yZXNvbHZlZFByb3BzLmljb25FbXB0eSB8fCBgJHtiYXNlSWNvbn0tb3V0bGluZWA7XG4gICAgY29uc3QgaGFsZkljb24gPSB0aGlzLnJlc29sdmVkUHJvcHMuaWNvbkhhbGYgfHwgYCR7YmFzZUljb259LWhhbGZgO1xuXG4gICAgaWYgKHBvc2l0aW9uIDw9IHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUljb247XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuYWxsb3dIYWxmICYmIHBvc2l0aW9uIC0gMC41IDw9IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaGFsZkljb247XG4gICAgfVxuICAgIHJldHVybiBlbXB0eUljb247XG4gIH1cblxuICBnZXRTdGFyQ29sb3IocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmhvdmVyVmFsdWUgIT09IG51bGwgPyB0aGlzLmhvdmVyVmFsdWUgOiB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWU7XG4gICAgY29uc3QgaXNGaWxsZWQgPSBwb3NpdGlvbiA8PSB2YWx1ZSB8fCAodGhpcy5yZXNvbHZlZFByb3BzLmFsbG93SGFsZiAmJiBwb3NpdGlvbiAtIDAuNSA8PSB2YWx1ZSk7XG4gICAgcmV0dXJuIGlzRmlsbGVkID8gKHRoaXMucmVzb2x2ZWRQcm9wcy5jb2xvciB8fCAnd2FybmluZycpIDogKHRoaXMucmVzb2x2ZWRQcm9wcy5lbXB0eUNvbG9yIHx8ICdtZWRpdW0nKTtcbiAgfVxuXG4gIG9uU3RhckNsaWNrKHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnJlYWRvbmx5IHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgbGV0IG5ld1ZhbHVlID0gcG9zaXRpb247XG5cbiAgICAvLyBUb2dnbGUgaGFsZiB2YWx1ZSBpZiBjbGlja2luZyBzYW1lIHN0YXIgYW5kIGFsbG93SGFsZiBpcyB0cnVlXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5hbGxvd0hhbGYgJiYgcG9zaXRpb24gPT09IE1hdGguY2VpbCh0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUpKSB7XG4gICAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLnZhbHVlID09PSBwb3NpdGlvbikge1xuICAgICAgICBuZXdWYWx1ZSA9IHBvc2l0aW9uIC0gMC41O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUgPT09IHBvc2l0aW9uIC0gMC41KSB7XG4gICAgICAgIG5ld1ZhbHVlID0gMDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uID09PSB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUpIHtcbiAgICAgIC8vIENsaWNrIHNhbWUgc3RhciBhZ2FpbiB0byBjbGVhclxuICAgICAgbmV3VmFsdWUgPSAwO1xuICAgIH1cblxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5yZXNvbHZlZFByb3BzLnZhbHVlKSB7XG4gICAgICB0aGlzLnJhdGluZ0NoYW5nZS5lbWl0KHtcbiAgICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgICBwcmV2aW91c1ZhbHVlOiB0aGlzLnJlc29sdmVkUHJvcHMudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblN0YXJIb3Zlcihwb3NpdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5yZWFkb25seSB8fCB0aGlzLnJlc29sdmVkUHJvcHMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmhvdmVyVmFsdWUgPSBwb3NpdGlvbjtcbiAgfVxuXG4gIG9uU3RhckxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuaG92ZXJWYWx1ZSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -58,9 +58,7 @@ export class TicketCardComponent {
58
58
  }
59
59
  return '';
60
60
  });
61
- if (!this.i18n.hasNamespace('TicketCard')) {
62
- this.i18n.registerContent('TicketCard', TICKET_CARD_I18N);
63
- }
61
+ this.i18n.registerDefaults('TicketCard', TICKET_CARD_I18N);
64
62
  // Regenera el QR cuando cambia el token o el tamaño.
65
63
  effect(() => {
66
64
  const token = this.props().qrToken;
@@ -180,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
180
178
  </div>
181
179
  `, styles: ["@charset \"UTF-8\";:host{display:block}.ticket-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:1px solid var(--ion-color-light-shade, #e0e0e0);border-radius:16px;background:var(--ion-card-background, #ffffff);max-width:320px;margin:0 auto}.ticket-card__title{font-size:1rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.ticket-card__qr{display:flex;align-items:center;justify-content:center;min-height:200px}.ticket-card__qr-loading{display:flex;align-items:center;justify-content:center;width:200px;height:200px}.ticket-card__qr-fallback{font-family:monospace;font-size:.75rem;color:var(--ion-color-medium);word-break:break-all;text-align:center;padding:16px}.ticket-card__meta{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.ticket-card__folio{font-size:1rem;font-weight:700;color:var(--ion-color-dark)}.ticket-card__buyer{font-size:.875rem;color:var(--ion-color-medium)}.ticket-card__badge{margin-top:4px;font-size:.75rem;font-weight:600;padding:3px 12px;border-radius:999px;background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff);white-space:nowrap}.ticket-card__badge[data-status=sold]{background:var(--ion-color-success, #2dd36f);color:var(--ion-color-success-contrast, #fff)}.ticket-card__badge[data-status=checkedIn]{background:var(--ion-color-medium);color:var(--ion-color-medium-contrast, #fff)}\n"] }]
182
180
  }], ctorParameters: () => [] });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtY2FyZC90aWNrZXQtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBc0NILE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFYQSx5Q0FBeUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsb0RBQW9EO1FBQzNDLE9BQUUsR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO1FBQzVDLDREQUE0RDtRQUNuRCxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBa0R2QixXQUFNLEdBQUcsUUFBUSxDQUFtQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FB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QUMsQ0FBQyxPQUFPLENBQUM7WUFDM0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUk7U0FDaEQsQ0FBQztJQUNKLENBQUM7K0dBcEdVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhNQWpDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCxzOUNBL0JTLFlBQVksK0JBQUUsVUFBVSx5R0FBRSxlQUFlOzs0RkFrQ3hDLG1CQUFtQjtrQkFyQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsWUFDMUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW9uU3Bpbm5lciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBRckNvZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9xci1jb2RlL3FyLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFFyQ29kZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvcXItY29kZS90eXBlcyc7XG5pbXBvcnQgeyBRckdlbmVyYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvcXItZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXJSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xci1nZW5lcmF0b3IvdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFRpY2tldENhcmRNZXRhZGF0YSwgVGlja2V0Q2FyZFN0YXR1cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVElDS0VUX0NBUkRfSTE4TiB9IGZyb20gJy4vdGlja2V0LWNhcmQuaTE4bic7XG5cbi8qKlxuICogdmFsLXRpY2tldC1jYXJkXG4gKlxuICogVGFyamV0YSBwcmVzZW50YWNpb25hbCBkZSB1bmEgZW50cmFkYSBkZSBiaW5nbzogbXVlc3RyYSBlbCBRUiBlc2NhbmVhYmxlXG4gKiAoZ2VuZXJhZG8gZGVsIGBxclRva2VuYCBvcGFjbyBmaXJtYWRvIHbDrWEgYFFyR2VuZXJhdG9yU2VydmljZWApLCBlbCBmb2xpbywgZWxcbiAqIG5vbWJyZSBkZWwgY29tcHJhZG9yIChzaSBoYXkpIHkgdW4gYmFkZ2UgZGUgZXN0YWRvICh2ZW5kaWRhIC8gY2FuamVhZGEpLlxuICpcbiAqIEVzIGxhIHBpZXphIHF1ZSBlbCB2ZW5kZWRvciBsZSBlbnRyZWdhIGFsIGNvbXByYWRvciB0cmFzIGxhIHZlbnRhIHkgcXVlIGxhXG4gKiB0YXF1aWxsYSBlc2NhbmVhIHBhcmEgY2FuamVhci4gT2JqZWN0LWZpcnN0IChgaW5wdXQoKWAgc2lnbmFsKSwgaTE4blxuICogYXV0by1yZWdpc3RyYWRvIChuYW1lc3BhY2UgYFRpY2tldENhcmRgKS4gRXN0YWRvcyBuZWdhdGl2b3MvbmV1dHJvcyBlbiBncmlzXG4gKiBtdXRlZCAoY29udmVuY2nDs24gZGVsIGZhY3Rvcnkg4oCUIHNpbiByb2pvIGRlIGFsYXJtYSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDx2YWwtdGlja2V0LWNhcmQgW3Byb3BzXT1cInsgcXJUb2tlbjogdGlja2V0LnFyVG9rZW4sIGZvbGlvOiB0aWNrZXQuZm9saW8sXG4gKiAgIGJ1eWVyTmFtZTogdGlja2V0LmNvbXByYWRvck5vbWJyZSwgc3RhdHVzOiAnc29sZCcsIHNob3dTaGFyZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtdGlja2V0LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25TcGlubmVyLCBRckNvZGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZFwiPlxuICAgICAgQGlmIChwcm9wcygpLnRpdGxlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fdGl0bGVcIj57eyBwcm9wcygpLnRpdGxlIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fcXJcIj5cbiAgICAgICAgQGlmIChxcigpOyBhcyBxKSB7XG4gICAgICAgICAgPHZhbC1xci1jb2RlIFtwcm9wc109XCJxclByb3BzKHEpXCIgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoZmFpbGVkKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyLWZhbGxiYWNrXCI+e3sgdG9rZW5TaG9ydCgpIH19PC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fcXItbG9hZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiIGFyaWEtbGFiZWw9XCJHZW5lcmFuZG8gUVJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19tZXRhXCI+XG4gICAgICAgIEBpZiAoZm9saW9UZXh0KCk7IGFzIGYpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX2ZvbGlvXCI+e3sgZiB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocHJvcHMoKS5idXllck5hbWUpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX2J1eWVyXCI+e3sgcHJvcHMoKS5idXllck5hbWUgfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN0YXR1c0xhYmVsKCk7IGFzIHMpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpY2tldC1jYXJkX19iYWRnZVwiIFthdHRyLmRhdGEtc3RhdHVzXT1cInN0YXR1cygpXCI+e3sgcyB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3RpY2tldC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRpY2tldENhcmRDb21wb25lbnQge1xuICAvKiogUHJvcHMgb2JqZWN0LWZpcnN0IGRlbCBjb21wb25lbnRlLiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0LnJlcXVpcmVkPFRpY2tldENhcmRNZXRhZGF0YT4oKTtcblxuICBwcml2YXRlIHFyU2VydmljZSA9IGluamVjdChRckdlbmVyYXRvclNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBRUiBnZW5lcmFkbyAobnVsbCBtaWVudHJhcyBjYXJnYSBvIHNpIGZhbGzDsykuICovXG4gIHJlYWRvbmx5IHFyID0gc2lnbmFsPFFyUmVzdWx0IHwgbnVsbD4obnVsbCk7XG4gIC8qKiBGYWxsw7MgbGEgZ2VuZXJhY2nDs24gZGVsIFFSIOKGkiBmYWxsYmFjayBhbCB0b2tlbiBjb3J0by4gKi9cbiAgcmVhZG9ubHkgZmFpbGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ1RpY2tldENhcmQnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnVGlja2V0Q2FyZCcsIFRJQ0tFVF9DQVJEX0kxOE4pO1xuICAgIH1cblxuICAgIC8vIFJlZ2VuZXJhIGVsIFFSIGN1YW5kbyBjYW1iaWEgZWwgdG9rZW4gbyBlbCB0YW1hw7FvLlxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnByb3BzKCkucXJUb2tlbjtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMucHJvcHMoKS5xclNpemUgPz8gMjAwO1xuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgdGhpcy5xci5zZXQobnVsbCk7XG4gICAgICAgICAgdGhpcy5mYWlsZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdm9pZCB0aGlzLmdlbmVyYXRlKHRva2VuLCBzaXplKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZShkYXRhOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmFpbGVkLnNldChmYWxzZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXJTZXJ2aWNlLmdlbmVyYXRlKHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgICAgbWFyZ2luOiAxLFxuICAgICAgICBkb3RzU3R5bGU6ICdzcXVhcmUnLFxuICAgICAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZicsXG4gICAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiAnTScsXG4gICAgICAgIGZvcm1hdDogJ3BuZycsXG4gICAgICB9KTtcbiAgICAgIHRoaXMucXIuc2V0KHJlc3VsdCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTaW4gdG9hc3QvdGhyb3cg4oCUIGVsIGZhbGxiYWNrIG11ZXN0cmEgZWwgdG9rZW4gY29ydG8uIEVsIGNvbnN1bWVyXG4gICAgICAvLyBzaWd1ZSBwdWRpZW5kbyBjYW5qZWFyIHRpcGVhbmRvL2VzY2FuZWFuZG8gc2kgaGFjZSBmYWx0YS5cbiAgICAgIHRoaXMucXIuc2V0KG51bGwpO1xuICAgICAgdGhpcy5mYWlsZWQuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdUaWNrZXRDYXJkJyk7XG4gIH1cblxuICByZWFkb25seSBzdGF0dXMgPSBjb21wdXRlZDxUaWNrZXRDYXJkU3RhdHVzPigoKSA9PiB0aGlzLnByb3BzKCkuc3RhdHVzID8/ICduZXV0cmFsJyk7XG5cbiAgcmVhZG9ubHkgdG9rZW5TaG9ydCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0ayA9IHRoaXMucHJvcHMoKS5xclRva2VuID8/ICcnO1xuICAgIHJldHVybiB0ay5sZW5ndGggPiAxNiA/IGAke3RrLnNsaWNlKDAsIDE2KX3igKZgIDogdGs7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZvbGlvVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IGZvbGlvID0gdGhpcy5wcm9wcygpLmZvbGlvO1xuICAgIGlmIChmb2xpbyA9PT0gdW5kZWZpbmVkIHx8IGZvbGlvID09PSBudWxsIHx8IGZvbGlvID09PSAnJykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5wcm9wcygpLmZvbGlvTGFiZWwgPz8gdGhpcy50KCdmb2xpbycpO1xuICAgIHJldHVybiBgJHtsYWJlbH0gIyR7Zm9saW99YDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc3RhdHVzTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBzdGF0dXMgPSB0aGlzLnN0YXR1cygpO1xuICAgIGlmIChzdGF0dXMgPT09ICdzb2xkJykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMoKS5zdGF0dXNTb2xkTGFiZWwgPz8gdGhpcy50KCdzdGF0dXNTb2xkJyk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICdjaGVja2VkSW4nKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcygpLnN0YXR1c0NoZWNrZWRJbkxhYmVsID8/IHRoaXMudCgnc3RhdHVzQ2hlY2tlZEluJyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcXJQcm9wcyhxOiBRclJlc3VsdCk6IFFyQ29kZU1ldGFkYXRhIHtcbiAgICBjb25zdCBwID0gdGhpcy5wcm9wcygpO1xuICAgIHJldHVybiB7XG4gICAgICBxcjogcSxcbiAgICAgIGRpc3BsYXlTaXplOiBwLnFyU2l6ZSA/PyAyMDAsXG4gICAgICBzaG93RG93bmxvYWQ6IHAuc2hvd0Rvd25sb2FkID8/IGZhbHNlLFxuICAgICAgc2hvd1NoYXJlOiBwLnNob3dTaGFyZSA/PyBmYWxzZSxcbiAgICAgIHNob3dCb3JkZXI6IGZhbHNlLFxuICAgICAgYWx0OiB0aGlzLmZvbGlvVGV4dCgpIHx8ICdRUicsXG4gICAgICBkb3dubG9hZExhYmVsOiB0aGlzLnQoJ2Rvd25sb2FkJyksXG4gICAgICBzaGFyZUxhYmVsOiB0aGlzLnQoJ3NoYXJlJyksXG4gICAgICBzaGFyZVRpdGxlOiBwLnRpdGxlIHx8IHRoaXMuZm9saW9UZXh0KCkgfHwgJ1FSJyxcbiAgICB9O1xuICB9XG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aWNrZXQtY2FyZC90aWNrZXQtY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBc0NILE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFYQSx5Q0FBeUM7UUFDaEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFFOUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsb0RBQW9EO1FBQzNDLE9BQUUsR0FBRyxNQUFNLENBQWtCLElBQUksQ0FBQyxDQUFDO1FBQzVDLDREQUE0RDtRQUNuRCxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBZ0R2QixXQUFNLEdBQUcsUUFBUSxDQUFtQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FB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SUFBSSxJQUFJO1NBQ2hELENBQUM7SUFDSixDQUFDOytHQWxHVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw4TUFqQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQsczlDQS9CUyxZQUFZLCtCQUFFLFVBQVUseUdBQUUsZUFBZTs7NEZBa0N4QyxtQkFBbUI7a0JBckMvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLFlBQzFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElvblNwaW5uZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgUXJDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvcXItY29kZS9xci1jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRckNvZGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3FyLWNvZGUvdHlwZXMnO1xuaW1wb3J0IHsgUXJHZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXItZ2VuZXJhdG9yL3FyLWdlbmVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFFyUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXItZ2VuZXJhdG9yL3R5cGVzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBUaWNrZXRDYXJkTWV0YWRhdGEsIFRpY2tldENhcmRTdGF0dXMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFRJQ0tFVF9DQVJEX0kxOE4gfSBmcm9tICcuL3RpY2tldC1jYXJkLmkxOG4nO1xuXG4vKipcbiAqIHZhbC10aWNrZXQtY2FyZFxuICpcbiAqIFRhcmpldGEgcHJlc2VudGFjaW9uYWwgZGUgdW5hIGVudHJhZGEgZGUgYmluZ286IG11ZXN0cmEgZWwgUVIgZXNjYW5lYWJsZVxuICogKGdlbmVyYWRvIGRlbCBgcXJUb2tlbmAgb3BhY28gZmlybWFkbyB2w61hIGBRckdlbmVyYXRvclNlcnZpY2VgKSwgZWwgZm9saW8sIGVsXG4gKiBub21icmUgZGVsIGNvbXByYWRvciAoc2kgaGF5KSB5IHVuIGJhZGdlIGRlIGVzdGFkbyAodmVuZGlkYSAvIGNhbmplYWRhKS5cbiAqXG4gKiBFcyBsYSBwaWV6YSBxdWUgZWwgdmVuZGVkb3IgbGUgZW50cmVnYSBhbCBjb21wcmFkb3IgdHJhcyBsYSB2ZW50YSB5IHF1ZSBsYVxuICogdGFxdWlsbGEgZXNjYW5lYSBwYXJhIGNhbmplYXIuIE9iamVjdC1maXJzdCAoYGlucHV0KClgIHNpZ25hbCksIGkxOG5cbiAqIGF1dG8tcmVnaXN0cmFkbyAobmFtZXNwYWNlIGBUaWNrZXRDYXJkYCkuIEVzdGFkb3MgbmVnYXRpdm9zL25ldXRyb3MgZW4gZ3Jpc1xuICogbXV0ZWQgKGNvbnZlbmNpw7NuIGRlbCBmYWN0b3J5IOKAlCBzaW4gcm9qbyBkZSBhbGFybWEpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXRpY2tldC1jYXJkIFtwcm9wc109XCJ7IHFyVG9rZW46IHRpY2tldC5xclRva2VuLCBmb2xpbzogdGlja2V0LmZvbGlvLFxuICogICBidXllck5hbWU6IHRpY2tldC5jb21wcmFkb3JOb21icmUsIHN0YXR1czogJ3NvbGQnLCBzaG93U2hhcmU6IHRydWUgfVwiIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRpY2tldC1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uU3Bpbm5lciwgUXJDb2RlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRcIj5cbiAgICAgIEBpZiAocHJvcHMoKS50aXRsZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3RpdGxlXCI+e3sgcHJvcHMoKS50aXRsZSB9fTwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyXCI+XG4gICAgICAgIEBpZiAocXIoKTsgYXMgcSkge1xuICAgICAgICAgIDx2YWwtcXItY29kZSBbcHJvcHNdPVwicXJQcm9wcyhxKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGZhaWxlZCgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19xci1mYWxsYmFja1wiPnt7IHRva2VuU2hvcnQoKSB9fTwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGlja2V0LWNhcmRfX3FyLWxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiBhcmlhLWxhYmVsPVwiR2VuZXJhbmRvIFFSXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXQtY2FyZF9fbWV0YVwiPlxuICAgICAgICBAaWYgKGZvbGlvVGV4dCgpOyBhcyBmKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19mb2xpb1wiPnt7IGYgfX08L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHByb3BzKCkuYnV5ZXJOYW1lKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpY2tldC1jYXJkX19idXllclwiPnt7IHByb3BzKCkuYnV5ZXJOYW1lIH19PC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzdGF0dXNMYWJlbCgpOyBhcyBzKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aWNrZXQtY2FyZF9fYmFkZ2VcIiBbYXR0ci5kYXRhLXN0YXR1c109XCJzdGF0dXMoKVwiPnt7IHMgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90aWNrZXQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaWNrZXRDYXJkQ29tcG9uZW50IHtcbiAgLyoqIFByb3BzIG9iamVjdC1maXJzdCBkZWwgY29tcG9uZW50ZS4gKi9cbiAgcmVhZG9ubHkgcHJvcHMgPSBpbnB1dC5yZXF1aXJlZDxUaWNrZXRDYXJkTWV0YWRhdGE+KCk7XG5cbiAgcHJpdmF0ZSBxclNlcnZpY2UgPSBpbmplY3QoUXJHZW5lcmF0b3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogUVIgZ2VuZXJhZG8gKG51bGwgbWllbnRyYXMgY2FyZ2EgbyBzaSBmYWxsw7MpLiAqL1xuICByZWFkb25seSBxciA9IHNpZ25hbDxRclJlc3VsdCB8IG51bGw+KG51bGwpO1xuICAvKiogRmFsbMOzIGxhIGdlbmVyYWNpw7NuIGRlbCBRUiDihpIgZmFsbGJhY2sgYWwgdG9rZW4gY29ydG8uICovXG4gIHJlYWRvbmx5IGZhaWxlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ1RpY2tldENhcmQnLCBUSUNLRVRfQ0FSRF9JMThOKTtcblxuICAgIC8vIFJlZ2VuZXJhIGVsIFFSIGN1YW5kbyBjYW1iaWEgZWwgdG9rZW4gbyBlbCB0YW1hw7FvLlxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnByb3BzKCkucXJUb2tlbjtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMucHJvcHMoKS5xclNpemUgPz8gMjAwO1xuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgdGhpcy5xci5zZXQobnVsbCk7XG4gICAgICAgICAgdGhpcy5mYWlsZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdm9pZCB0aGlzLmdlbmVyYXRlKHRva2VuLCBzaXplKTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZShkYXRhOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmFpbGVkLnNldChmYWxzZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXJTZXJ2aWNlLmdlbmVyYXRlKHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgd2lkdGg6IHNpemUsXG4gICAgICAgIGhlaWdodDogc2l6ZSxcbiAgICAgICAgbWFyZ2luOiAxLFxuICAgICAgICBkb3RzU3R5bGU6ICdzcXVhcmUnLFxuICAgICAgICBkb3RzQ29sb3I6ICcjMDAwMDAwJyxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZmZmZicsXG4gICAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiAnTScsXG4gICAgICAgIGZvcm1hdDogJ3BuZycsXG4gICAgICB9KTtcbiAgICAgIHRoaXMucXIuc2V0KHJlc3VsdCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTaW4gdG9hc3QvdGhyb3cg4oCUIGVsIGZhbGxiYWNrIG11ZXN0cmEgZWwgdG9rZW4gY29ydG8uIEVsIGNvbnN1bWVyXG4gICAgICAvLyBzaWd1ZSBwdWRpZW5kbyBjYW5qZWFyIHRpcGVhbmRvL2VzY2FuZWFuZG8gc2kgaGFjZSBmYWx0YS5cbiAgICAgIHRoaXMucXIuc2V0KG51bGwpO1xuICAgICAgdGhpcy5mYWlsZWQuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdUaWNrZXRDYXJkJyk7XG4gIH1cblxuICByZWFkb25seSBzdGF0dXMgPSBjb21wdXRlZDxUaWNrZXRDYXJkU3RhdHVzPigoKSA9PiB0aGlzLnByb3BzKCkuc3RhdHVzID8/ICduZXV0cmFsJyk7XG5cbiAgcmVhZG9ubHkgdG9rZW5TaG9ydCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0ayA9IHRoaXMucHJvcHMoKS5xclRva2VuID8/ICcnO1xuICAgIHJldHVybiB0ay5sZW5ndGggPiAxNiA/IGAke3RrLnNsaWNlKDAsIDE2KX3igKZgIDogdGs7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZvbGlvVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IGZvbGlvID0gdGhpcy5wcm9wcygpLmZvbGlvO1xuICAgIGlmIChmb2xpbyA9PT0gdW5kZWZpbmVkIHx8IGZvbGlvID09PSBudWxsIHx8IGZvbGlvID09PSAnJykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5wcm9wcygpLmZvbGlvTGFiZWwgPz8gdGhpcy50KCdmb2xpbycpO1xuICAgIHJldHVybiBgJHtsYWJlbH0gIyR7Zm9saW99YDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc3RhdHVzTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCBzdGF0dXMgPSB0aGlzLnN0YXR1cygpO1xuICAgIGlmIChzdGF0dXMgPT09ICdzb2xkJykge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMoKS5zdGF0dXNTb2xkTGFiZWwgPz8gdGhpcy50KCdzdGF0dXNTb2xkJyk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICdjaGVja2VkSW4nKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcygpLnN0YXR1c0NoZWNrZWRJbkxhYmVsID8/IHRoaXMudCgnc3RhdHVzQ2hlY2tlZEluJyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcXJQcm9wcyhxOiBRclJlc3VsdCk6IFFyQ29kZU1ldGFkYXRhIHtcbiAgICBjb25zdCBwID0gdGhpcy5wcm9wcygpO1xuICAgIHJldHVybiB7XG4gICAgICBxcjogcSxcbiAgICAgIGRpc3BsYXlTaXplOiBwLnFyU2l6ZSA/PyAyMDAsXG4gICAgICBzaG93RG93bmxvYWQ6IHAuc2hvd0Rvd25sb2FkID8/IGZhbHNlLFxuICAgICAgc2hvd1NoYXJlOiBwLnNob3dTaGFyZSA/PyBmYWxzZSxcbiAgICAgIHNob3dCb3JkZXI6IGZhbHNlLFxuICAgICAgYWx0OiB0aGlzLmZvbGlvVGV4dCgpIHx8ICdRUicsXG4gICAgICBkb3dubG9hZExhYmVsOiB0aGlzLnQoJ2Rvd25sb2FkJyksXG4gICAgICBzaGFyZUxhYmVsOiB0aGlzLnQoJ3NoYXJlJyksXG4gICAgICBzaGFyZVRpdGxlOiBwLnRpdGxlIHx8IHRoaXMuZm9saW9UZXh0KCkgfHwgJ1FSJyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -133,9 +133,7 @@ export class AboutViewComponent {
133
133
  };
134
134
  });
135
135
  const ns = this.ns;
136
- if (!this.i18n.hasNamespace(ns)) {
137
- this.i18n.registerContent(ns, ABOUT_VIEW_I18N);
138
- }
136
+ this.i18n.registerDefaults(ns, ABOUT_VIEW_I18N);
139
137
  this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
140
138
  }
141
139
  /** Helper i18n bound al namespace resuelto. Reactivo vía `lang()`. */
@@ -471,4 +469,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
471
469
  </ion-grid>
472
470
  `, styles: [":host{display:block}.about-grid{padding:16px 0;max-width:720px;margin:0 auto}.about-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 0 16px;text-align:center}.about-hero__logo{height:96px;width:auto;display:block}.about-hero__logo--var{width:96px;height:96px;background-position:center;background-repeat:no-repeat;background-size:contain}.version-row{display:flex;align-items:center;gap:6px;cursor:pointer;opacity:.85;transition:opacity .15s ease}.version-row:hover{opacity:1}.version-copy-icon{font-size:14px;color:var(--ion-color-medium)}.about-section{padding:16px 0 8px;display:flex;flex-direction:column;gap:8px}.about-actions{display:flex;flex-direction:column;gap:8px}.about-section--reviews val-action-card{display:block}.about-section--reviews val-action-card ::ng-deep .action-card{background:var(--ion-color-light, #f4f5f8);box-shadow:none}.about-section--reviews val-action-card ::ng-deep .action-card__description{color:var(--ion-color-dark);opacity:.7}.about-social{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}.about-social .social-btn{--border-radius: 50%;--background: var(--ion-color-light, #f4f5f8);--color: var(--ion-color-dark);--padding-start: 0;--padding-end: 0;width:48px;height:48px;margin:0;transition:transform .15s ease}.about-social .social-btn:hover{--background: var(--ion-color-primary-tint, #8a4ce5);--color: #fff;transform:translateY(-2px)}.about-social .social-btn ion-icon{font-size:22px}.about-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 0;text-align:center}:host-context(body.dark) val-action-card ::ng-deep .action-card,:host-context(html.ion-palette-dark) val-action-card ::ng-deep .action-card,:host-context([data-theme=\"dark\"]) val-action-card ::ng-deep .action-card{background:#ffffff0a}:host-context(body.dark) .about-section--reviews val-action-card ::ng-deep .action-card:hover,:host-context(html.ion-palette-dark) .about-section--reviews val-action-card ::ng-deep .action-card:hover,:host-context([data-theme=\"dark\"]) .about-section--reviews val-action-card ::ng-deep .action-card:hover{background:#ffffff14}:host-context(body.dark) .about-social .social-btn,:host-context(html.ion-palette-dark) .about-social .social-btn,:host-context([data-theme=\"dark\"]) .about-social .social-btn{--background: rgba(255, 255, 255, .04)}\n"] }]
473
471
  }], ctorParameters: () => [] });
474
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Fib3V0LXZpZXcvYWJvdXQtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBR3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSFQsNDNFQXZIUyxTQUFTLG9QQUFFLE9BQU8sd0VBQUUsT0FBTywySkFBRSxhQUFhLHdIQUFFLGNBQWMseUVBQUUsYUFBYSx3RUFBRSxtQkFBbUI7OzRGQWtRN0Ysa0JBQWtCO2tCQXJROUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxZQUMvRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNIVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uR3JpZCwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBjaGF0YnViYmxlRWxsaXBzZXNPdXRsaW5lLFxuICBjb3B5T3V0bGluZSxcbiAgaGVscENpcmNsZU91dGxpbmUsXG4gIGxvZ29GYWNlYm9vayxcbiAgbG9nb0luc3RhZ3JhbSxcbiAgbG9nb0xpbmtlZGluLFxuICBsb2dvVGlrdG9rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb1lvdXR1YmUsXG4gIHNoYXJlU29jaWFsT3V0bGluZSxcbiAgc3Rhck91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgUGlsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9waWxsL3BpbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvYWN0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbkNhcmRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9hY3Rpb24tY2FyZC90eXBlcyc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdHlwZXMnO1xuaW1wb3J0IHsgQ29udGVudFJlYWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFJlYWN0aW9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29udGVudC1yZWFjdGlvbi90eXBlcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5cbmltcG9ydCB7IEFib3V0QWN0aW9uLCBBYm91dFZpZXdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFCT1VUX1ZJRVdfSTE4TiB9IGZyb20gJy4vYWJvdXQtdmlldy5pMThuJztcblxuYWRkSWNvbnMoe1xuICBjb3B5T3V0bGluZSxcbiAgc3Rhck91dGxpbmUsXG4gIGNoYXRidWJibGVFbGxpcHNlc091dGxpbmUsXG4gIHNoYXJlU29jaWFsT3V0bGluZSxcbiAgaGVscENpcmNsZU91dGxpbmUsXG4gIGxvZ29GYWNlYm9vayxcbiAgbG9nb0luc3RhZ3JhbSxcbiAgbG9nb0xpbmtlZGluLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb1lvdXR1YmUsXG4gIGxvZ29UaWt0b2ssXG59KTtcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuQWJvdXQnO1xuY29uc3QgREVGQVVMVF9CUkFORF9OQU1FID0gJ1ZhbHRlY2gnO1xuY29uc3QgREVGQVVMVF9MT0dPX1NSQyA9ICdhc3NldHMvaW1hZ2VzL21haW4taWNvbi5wbmcnO1xuLy8gUG9yIGRlZmF1bHQgZWwgSEVSTyB1c2EgbGEgQ1NTIHZhciBkZSBtYXJjYSBkZWwgZmFjdG9yeSAoYC0tbWFpbi1sb2dvLW1pbmlgKSxcbi8vIHF1ZSBjYWRhIGFwcCBkZWZpbmUgZW4gc3UgYHRoZW1lL3ZhcmlhYmxlcy5zY3NzYCAodGhlbWUtYXdhcmUpLiBTaSBsYSBhcHAgbm9cbi8vIGxhIGRlZmluZSwgZWwgYHZhciguLi4pYCBjYWUgYWwgYGxvZ29TcmNgICh2ZXIgdGVtcGxhdGUpLiBFbCBjb25zdW1lciBwdWVkZVxuLy8gcGFzYXIgYGJyYW5kLmxvZ29WYXI6ICcnYCBwYXJhIGZvcnphciBlbCBgPGltZyBzcmM9bG9nb1NyYz5gIGNsw6FzaWNvLlxuY29uc3QgREVGQVVMVF9MT0dPX1ZBUiA9ICctLW1haW4tbG9nby1taW5pJztcbmNvbnN0IERFRkFVTFRfUkFUSU5HX0VOVElUWV9JRCA9ICdleHBlcmllbmNlJztcblxuLyoqXG4gKiBgdmFsLWFib3V0LXZpZXdgIOKAlCB2aXN0YSBBYm91dCBmdWxsLWZlYXR1cmUgYXV0b2NvbnRlbmlkYSAob3JnYW5pc20pLlxuICogUHJvbW92aWRhIGRlc2RlIGBzaG93Y2FzZWAgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuIFJlw7puZTpcbiAqICAtICoqSEVSTyoqIOKAlCBsb2dvICsgbm9tYnJlIGRlIG1hcmNhICsgdGFnbGluZSArIHBpbGwgZGUgdmVyc2nDs24gKGNvcGlhYmxlKS5cbiAqICAtICoqRGVzY3JpcGNpw7NuKiog4oCUIHTDrXR1bG8gKyBjdWVycG8uXG4gKiAgLSAqKkFjY2lvbmVzKiog4oCUIGFjdGlvbi1jYXJkIGRlIHJhdGluZyBidWlsdC1pbiAoYWJyZSBgdmFsLWNvbnRlbnQtcmVhY3Rpb25gXG4gKiAgICBESVJFQ1RBTUVOVEUgdsOtYSBgTW9kYWxTZXJ2aWNlYCwgc2luIHdyYXBwZXIgbG9jYWwg4oCUIGRlY2lzacOzbiBDVE8pICsgbGFzXG4gKiAgICBhY2Npb25lcyBnZW7DqXJpY2FzIHF1ZSBlbCBjb25zdW1lciBhcG9ydGUgcG9yIGBjb25maWcuYWN0aW9uc2AuXG4gKiAgLSAqKlJlZGVzKiog4oCUIGxpbmtzIHNvY2lhbGVzIChgY29uZmlnLnNvY2lhbExpbmtzYCk7IHNlY2Npw7NuIG9jdWx0YSBzaSB2YWPDrWEuXG4gKiAgLSAqKkZvb3RlcioqIOKAlCBjb3B5cmlnaHQgY29uIGVsIGHDsW8gYWN0dWFsLlxuICpcbiAqIExvIGFwcC1zcGVjaWZpYyAobG9nbywgbm9tYnJlLCB2ZXJzacOzbiwgcmVkZXMsIGFjY2lvbmVzIHNoYXJlL2ZhcSkgdmlhamEgY29tb1xuICogREFUQSBkZSBjb25maWcg4oCUIE5PIGNvbW8gc2xvdHMgKEFEUi0wMjEpLiBMYSB2ZXJzacOzbiBsYSBwYXNhIGVsIGNvbnN1bWVyXG4gKiAoYGNvbmZpZy52ZXJzaW9uYCA9IHN1IGBBUFBfVkVSU0lPTmApOyBsYSBsaWIgTk8gaW1wb3J0YSBlbCBgdmVyc2lvbi50c2AgZGUgbGFcbiAqIGFwcC4gU2kgbm8gc2UgcGFzYSB2ZXJzacOzbiwgZWwgcGlsbCBzZSBvY3VsdGEuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLiBgQWN0aXZhdGVkUm91dGVgXG4gKiBzZSBpbnllY3RhIGB7IG9wdGlvbmFsOiB0cnVlIH1gIHNvbG8gcGFyYSBsZWVyIGVsIHJvdXRlIGRhdGEgZGUgY29uZmlnLlxuICpcbiAqIEF1dG8tcmVnaXN0cmEgc3VzIGRlZmF1bHRzIGkxOG4gKGVzL2VuKSBlbiBlbCBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBub1xuICogcHJvdmV5w7MgZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvIChkZWZhdWx0IGBTZXR0aW5ncy5BYm91dGApLlxuICpcbiAqIEdPVENIQSBpMThuIENvbnRlbnRSZWFjdGlvbjogYHZhbC1jb250ZW50LXJlYWN0aW9uYCBleGlnZSBzdSBuYW1lc3BhY2VcbiAqIGBDb250ZW50UmVhY3Rpb25gIHJlZ2lzdHJhZG8gZG9uZGUgc2UgdXNlIChrZXkgZmFsdGFudGUgZW4gYmluZGluZyArIENEID1cbiAqIG5hdmVnYWRvciBjb25nZWxhZG8gZW4gZGV2KS4gYENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudGAgc2UgYXV0by1yZWdpc3RyYSBlc2VcbiAqIG5hbWVzcGFjZSBlbiBTVSBjb25zdHJ1Y3RvciwgeSBjb21vIHNlIGFicmUgdsOtYSBgTW9kYWxTZXJ2aWNlYCBlc2UgY29uc3RydWN0b3JcbiAqIGNvcnJlIGFudGVzIGRlIHF1ZSBzdSB0ZW1wbGF0ZSBiaW5kZSDigJQgcXVlZGEgY3ViaWVydG8uIElndWFsIGxvIGltcG9ydGFtb3NcbiAqIGNvbW8gZGVwZW5kZW5jaWEgZXhwbMOtY2l0YSBkZSBlc3RhIHZpc3RhIHBhcmEgcXVlIGxhIGdhcmFudMOtYSBzZWEgbG9jYWwuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hYm91dC12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkJ1dHRvbiwgSW9uR3JpZCwgSW9uSWNvbiwgUGlsbENvbXBvbmVudCwgVGl0bGVDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEFjdGlvbkNhcmRDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tZ3JpZCBjbGFzcz1cImFib3V0LWdyaWRcIj5cbiAgICAgIDwhLS0gSEVSTzogbG9nbyArIG5hbWUgKyB2ZXJzaW9uIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImFib3V0LWhlcm9cIj5cbiAgICAgICAgQGlmIChsb2dvVmFyKCkpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImFib3V0LWhlcm9fX2xvZ28gYWJvdXQtaGVyb19fbG9nby0tdmFyXCJcbiAgICAgICAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJicmFuZE5hbWUoKVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndmFyKCcgKyBsb2dvVmFyKCkgKyAnLCB1cmwoJyArIGxvZ29TcmMoKSArICcpKSdcIlxuICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGltZyBjbGFzcz1cImFib3V0LWhlcm9fX2xvZ29cIiBbc3JjXT1cImxvZ29TcmMoKVwiIFthbHRdPVwiYnJhbmROYW1lKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgY29udGVudDogYnJhbmROYW1lKCksXG4gICAgICAgICAgICBzaXplOiAneGxhcmdlJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgY29udGVudDogdHQoJ3RhZ2xpbmUnKSxcbiAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKHZlcnNpb24oKSkge1xuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidmVyc2lvbi1yb3dcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlWZXJzaW9uKClcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInR0KCd2ZXJzaW9uTGFiZWwnKSArICcgJyArIHZlcnNpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHZhbC1waWxsXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHR0KCd2ZXJzaW9uTGFiZWwnKSArICcgJyArIHZlcnNpb24oKSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgIHdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY29weS1vdXRsaW5lXCIgY2xhc3M9XCJ2ZXJzaW9uLWNvcHktaWNvblwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIERFU0NSSVBUSU9OIC0tPlxuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhYm91dC1zZWN0aW9uXCI+XG4gICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInNlY3Rpb25UaXRsZSgnZGVzY1RpdGxlJylcIiAvPlxuICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgY29udGVudDogdHQoJ2Rlc2NCb2R5JyksXG4gICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgPCEtLSBBQ1RJT05TIOKAlCByYXRpbmcgYnVpbHQtaW4gKyBhY2Npb25lcyBkZWwgY29uc3VtZXIuIC0tPlxuICAgICAgQGlmIChzaG93UmF0aW5nKCkgfHwgYWN0aW9ucygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhYm91dC1zZWN0aW9uIGFib3V0LXNlY3Rpb24tLXJldmlld3NcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJzZWN0aW9uVGl0bGUoJ2FjdGlvbnNUaXRsZScpXCIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgQGlmIChzaG93UmF0aW5nKCkpIHtcbiAgICAgICAgICAgICAgPHZhbC1hY3Rpb24tY2FyZCBbcHJvcHNdPVwicmF0ZUFjdGlvbkNhcmQoKVwiIChvbkNsaWNrKT1cIm9wZW5SYXRpbmcoKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9ucygpOyB0cmFjayBhY3Rpb24ubGFiZWwpIHtcbiAgICAgICAgICAgICAgPHZhbC1hY3Rpb24tY2FyZCBbcHJvcHNdPVwiZXh0cmFBY3Rpb25DYXJkKGFjdGlvbilcIiAob25DbGljayk9XCJhY3Rpb24ub25DbGljaygpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFNPQ0lBTCDigJQgcGVuw7psdGltbywganVzdG8gYW50ZXMgZGVsIGZvb3RlciBkZSBkZXJlY2hvcy4gLS0+XG4gICAgICBAaWYgKHNvY2lhbExpbmtzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImFib3V0LXNlY3Rpb25cIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJzZWN0aW9uVGl0bGUoJ3NvY2lhbFRpdGxlJylcIiAvPlxuICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgY29udGVudDogdHQoJ3NvY2lhbERlc2MnKSxcbiAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWJvdXQtc29jaWFsXCI+XG4gICAgICAgICAgICBAZm9yIChzIG9mIHNvY2lhbExpbmtzKCk7IHRyYWNrIHMudXJsKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic29jaWFsLWJ0blwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblVybChzLnVybClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInMuaWNvblwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBGT09URVIgLS0+XG4gICAgICA8Zm9vdGVyIGNsYXNzPVwiYWJvdXQtZm9vdGVyXCI+XG4gICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiBjb3B5cmlnaHQoKSxcbiAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Zvb3Rlcj5cbiAgICA8L2lvbi1ncmlkPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtZ3JpZCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1oZXJvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMCAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1oZXJvX19sb2dvIHtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1oZXJvX19sb2dvLS12YXIge1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIH1cblxuICAgICAgLnZlcnNpb24tcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAudmVyc2lvbi1yb3c6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAudmVyc2lvbi1jb3B5LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNlY3Rpb24tLXJldmlld3MgdmFsLWFjdGlvbi1jYXJkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zZWN0aW9uLS1yZXZpZXdzIHZhbC1hY3Rpb24tY2FyZCA6Om5nLWRlZXAgLmFjdGlvbi1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNlY3Rpb24tLXJldmlld3MgdmFsLWFjdGlvbi1jYXJkIDo6bmctZGVlcCAuYWN0aW9uLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zb2NpYWwgLnNvY2lhbC1idG4ge1xuICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgICAtLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIC0tcGFkZGluZy1zdGFydDogMDtcbiAgICAgICAgLS1wYWRkaW5nLWVuZDogMDtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNvY2lhbCAuc29jaWFsLWJ0bjpob3ZlciB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXByaW1hcnktdGludCwgIzhhNGNlNSk7XG4gICAgICAgIC0tY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNvY2lhbCAuc29jaWFsLWJ0biBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cblxuICAgICAgLmFib3V0LWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIHZhbC1hY3Rpb24tY2FyZCA6Om5nLWRlZXAgLmFjdGlvbi1jYXJkLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIHZhbC1hY3Rpb24tY2FyZCA6Om5nLWRlZXAgLmFjdGlvbi1jYXJkLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuYWJvdXQtc2VjdGlvbi0tcmV2aWV3cyB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZDpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuYWJvdXQtc2VjdGlvbi0tcmV2aWV3cyB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZDpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmFib3V0LXNlY3Rpb24tLXJldmlld3MgdmFsLWFjdGlvbi1jYXJkIDo6bmctZGVlcCAuYWN0aW9uLWNhcmQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLmFib3V0LXNvY2lhbCAuc29jaWFsLWJ0bixcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuYWJvdXQtc29jaWFsIC5zb2NpYWwtYnRuLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuYWJvdXQtc29jaWFsIC5zb2NpYWwtYnRuIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0Vmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBtb2RhbFNlcnZpY2UgPSBpbmplY3QoTW9kYWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBpbnB1dCAob2JqZWN0LWZpcnN0KS4gU2kgbm8gc2UgcGFzYSwgc2UgY2FlIGFsIHJvdXRlIGRhdGFcbiAgICogYGFib3V0Q29uZmlnYCAocG9ibGFkbyBwb3IgYHByb3ZpZGVWYWx0ZWNoQWJvdXRSb3V0ZXNgKS4gYHJlc29sdmVkQ29uZmlnYFxuICAgKiBtZXJnZWEgY29uIGxvcyBkZWZhdWx0cyDigJQgZWwgaW5wdXQgZ2FuYSBzb2JyZSByb3V0ZSBkYXRhLlxuICAgKlxuICAgKiAqKlNpZ25hbCBpbnB1dCoqIChubyBgQElucHV0YCBjbMOhc2ljbyk6IGByZXNvbHZlZENvbmZpZ2AgZXMgdW4gYGNvbXB1dGVkYCBxdWUgc2VcbiAgICogZXZhbMO6YSBwb3IgcHJpbWVyYSB2ZXogZW4gZWwgY29uc3RydWN0b3IgKHbDrWEgYHRoaXMubnNgIOKGkiBgc2V0QmFja0hlYWRlcmApLCBBTlRFU1xuICAgKiBkZSBxdWUgdW4gYEBJbnB1dGAgY2zDoXNpY28gZXN0w6kgYmluZGVhZG8uIENvbiBgQElucHV0YCBlbCBjb21wdXRlZCBtZW1vaXphYmEgbGFcbiAgICogY29uZmlnIHZhY8OtYSB5LCBhbCBubyBkZXBlbmRlciBkZSBuaW5ndW5hIHNlw7FhbCwgTlVOQ0EgcmVjb21wdXRhYmEg4oaSIGlnbm9yYWJhXG4gICAqIGBbY29uZmlnXWAgKHNvY2lhbC9hY2Npb25lcy92ZXJzacOzbi9tYXJjYSBxdWVkYWJhbiBlbiBkZWZhdWx0KS4gQ29tbyBzaWduYWwsIGVsXG4gICAqIGNvbXB1dGVkIGxvIHRyYWNrZWEgeSByZWNvbXB1dGEgY3VhbmRvIGVsIGJpbmRpbmcgbGxlZ2EuXG4gICAqL1xuICByZWFkb25seSBjb25maWcgPSBpbnB1dDxBYm91dFZpZXdDb25maWcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRDb25maWcgPSBjb21wdXRlZDxSZXF1aXJlZDxPbWl0PEFib3V0Vmlld0NvbmZpZywgJ29uUmF0ZWQnPj4gJiBQaWNrPEFib3V0Vmlld0NvbmZpZywgJ29uUmF0ZWQnPj4oXG4gICAgKCkgPT4ge1xuICAgICAgY29uc3QgZnJvbVJvdXRlID0gKHRoaXMucm91dGU/LnNuYXBzaG90LmRhdGFbJ2Fib3V0Q29uZmlnJ10gPz8ge30pIGFzIEFib3V0Vmlld0NvbmZpZztcbiAgICAgIGNvbnN0IG1lcmdlZDogQWJvdXRWaWV3Q29uZmlnID0geyAuLi5mcm9tUm91dGUsIC4uLih0aGlzLmNvbmZpZygpID8/IHt9KSB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYnJhbmQ6IHtcbiAgICAgICAgICBuYW1lOiBtZXJnZWQuYnJhbmQ/Lm5hbWUgPz8gREVGQVVMVF9CUkFORF9OQU1FLFxuICAgICAgICAgIGxvZ29TcmM6IG1lcmdlZC5icmFuZD8ubG9nb1NyYyA/PyBERUZBVUxUX0xPR09fU1JDLFxuICAgICAgICAgIGxvZ29WYXI6IG1lcmdlZC5icmFuZD8ubG9nb1ZhciA/PyBERUZBVUxUX0xPR09fVkFSLFxuICAgICAgICB9LFxuICAgICAgICB2ZXJzaW9uOiBtZXJnZWQudmVyc2lvbiA/PyAnJyxcbiAgICAgICAgc29jaWFsTGlua3M6IG1lcmdlZC5zb2NpYWxMaW5rcyA/PyBbXSxcbiAgICAgICAgc2hvd1JhdGluZzogbWVyZ2VkLnNob3dSYXRpbmcgPz8gdHJ1ZSxcbiAgICAgICAgcmF0aW5nRW50aXR5SWQ6IG1lcmdlZC5yYXRpbmdFbnRpdHlJZCA/PyBERUZBVUxUX1JBVElOR19FTlRJVFlfSUQsXG4gICAgICAgIGFjdGlvbnM6IG1lcmdlZC5hY3Rpb25zID8/IFtdLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiBtZXJnZWQuaTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX05BTUVTUEFDRSxcbiAgICAgICAgb25SYXRlZDogbWVyZ2VkLm9uUmF0ZWQsXG4gICAgICB9O1xuICAgIH1cbiAgKTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gcmVzdWVsdG8gKGNhcHR1cmFkbyBwYXJhIGxsYW1hZGFzIG5vLXJlYWN0aXZhcykuICovXG4gIHByaXZhdGUgZ2V0IG5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRDb25maWcoKS5pMThuTmFtZXNwYWNlO1xuICB9XG5cbiAgcmVhZG9ubHkgYnJhbmROYW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmJyYW5kLm5hbWUhKTtcbiAgcmVhZG9ubHkgbG9nb1NyYyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZWRDb25maWcoKS5icmFuZC5sb2dvU3JjISk7XG4gIHJlYWRvbmx5IGxvZ29WYXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuYnJhbmQubG9nb1ZhciA/PyAnJyk7XG4gIHJlYWRvbmx5IHZlcnNpb24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkudmVyc2lvbik7XG4gIHJlYWRvbmx5IHNvY2lhbExpbmtzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLnNvY2lhbExpbmtzKTtcbiAgcmVhZG9ubHkgc2hvd1JhdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZWRDb25maWcoKS5zaG93UmF0aW5nKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZWRDb25maWcoKS5hY3Rpb25zKTtcblxuICAvKiogQ29weXJpZ2h0IGRlbCBmb290ZXIg4oCUIGHDsW8gYWN0dWFsIGludGVycG9sYWRvIGVuIGBjb3B5cmlnaHRUZXh0YC4gKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgeWVhciA9IFN0cmluZyhuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkpO1xuICAgIHJldHVybiB0aGlzLnR0KCdjb3B5cmlnaHRUZXh0JykucmVwbGFjZSgne3llYXJ9JywgeWVhcik7XG4gIH0pO1xuXG4gIC8qKiBUaXRsZSBtZXRhZGF0YSBwYXJhIHNlY2Npb25lcyDigJQgYm9sZCArIHNpemUgc21hbGwuICovXG4gIHJlYWRvbmx5IHJhdGVBY3Rpb25DYXJkID0gY29tcHV0ZWQ8QWN0aW9uQ2FyZE1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogeyBpb25pY29uOiAnc3Rhci1vdXRsaW5lJywgY29sb3I6ICdwcmltYXJ5JyB9LFxuICAgICAgdGl0bGU6IHRoaXMudHQoJ3JhdGVUaXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMudHQoJ3JhdGVEZXNjJyksXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIHNoYWRvd2VkOiBmYWxzZSxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBucyA9IHRoaXMubnM7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKG5zKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChucywgQUJPVVRfVklFV19JMThOKTtcbiAgICB9XG4gICAgdGhpcy5uYXYuc2V0QmFja0hlYWRlcigncGFnZVRpdGxlJywgbnMsIHsgd2l0aE1lbnU6IHRydWUgfSk7XG4gIH1cblxuICAvKiogSGVscGVyIGkxOG4gYm91bmQgYWwgbmFtZXNwYWNlIHJlc3VlbHRvLiBSZWFjdGl2byB2w61hIGBsYW5nKClgLiAqL1xuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5ucyk7XG4gIH1cblxuICAvKiogVGl0bGUgbWV0YWRhdGEgcGFyYSBzZWNjaW9uZXMg4oCUIGJvbGQgKyBzaXplIHNtYWxsLiAqL1xuICBwcm90ZWN0ZWQgc2VjdGlvblRpdGxlKGtleTogc3RyaW5nKTogVGl0bGVNZXRhZGF0YSB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogdGhpcy50dChrZXkpLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBib2xkOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICAvKiogQWN0aW9uQ2FyZE1ldGFkYXRhIHBhcmEgdW5hIGFjY2nDs24gZ2Vuw6lyaWNhIGRlbCBjb25zdW1lci4gKi9cbiAgcHJvdGVjdGVkIGV4dHJhQWN0aW9uQ2FyZChhY3Rpb246IEFib3V0QWN0aW9uKTogQWN0aW9uQ2FyZE1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogeyBpb25pY29uOiBhY3Rpb24uaWNvbiA/PyAnY2hhdGJ1YmJsZS1lbGxpcHNlcy1vdXRsaW5lJywgY29sb3I6ICdwcmltYXJ5JyB9LFxuICAgICAgdGl0bGU6IGFjdGlvbi5sYWJlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBhY3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIHNoYWRvd2VkOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIENvcGlhIGxhIHZlcnNpw7NuIGFsIHBvcnRhcGFwZWxlcyArIHRvYXN0IChjb2xvciBkYXJrKS4gKi9cbiAgYXN5bmMgY29weVZlcnNpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdiA9IHRoaXMudmVyc2lvbigpO1xuICAgIGlmICghdikgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh2KTtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHQoJ3ZlcnNpb25Db3BpZWQnKS5yZXBsYWNlKCd7dn0nLCB2KSxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgZHVyYXRpb246IDE1MDAsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGNsaXBib2FyZCBubyBkaXNwb25pYmxlIOKAlCBzaWxlbmNpb3NvXG4gICAgfVxuICB9XG5cbiAgLyoqIEFicmUgdW5hIFVSTCBleHRlcm5hIGVuIG51ZXZhIHRhYi4gYG1haWx0bzpgIHF1ZWRhIGVuIGxhIG1pc21hIHRhYi4gKi9cbiAgb3BlblVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnbWFpbHRvOicpKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBcIkNhbGlmaWNhciBsYSBhcHBcIiDigJQgYWJyZSBgdmFsLWNvbnRlbnQtcmVhY3Rpb25gIERJUkVDVEFNRU5URSBjb21vIHNoZWV0XG4gICAqIG1vZGFsIChzaW4gd3JhcHBlciBsb2NhbCDigJQgZGVjaXNpw7NuIENUTykuIEVsIGNvbXBvbmVudGUgcGVyc2lzdGUgbGEgcmVhY2Npw7NuXG4gICAqIGNvbnRyYSBlbCBiYWNrZW5kIGRlIGZlZWRiYWNrIHkgbXVlc3RyYSBzdSBwcm9waW8gZXN0YWRvIGRlIFwiZ3JhY2lhc1wiOyBlbFxuICAgKiBzaGVldCBzZSBjaWVycmEgYXJyYXN0cmFuZG8gKGJyZWFrcG9pbnQgMCkuIEVsIG5hbWVzcGFjZSBpMThuXG4gICAqIGBDb250ZW50UmVhY3Rpb25gIGxvIGF1dG8tcmVnaXN0cmEgYENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudGAgZW4gc3VcbiAgICogY29uc3RydWN0b3IsIHF1ZSBjb3JyZSBhbCBjcmVhciBlbCBtb2RhbCDigJQgc2luIHJpZXNnbyBkZSBrZXkgZmFsdGFudGUuXG4gICAqXG4gICAqIFNoZWV0IChib3R0b20gc2hlZXQpOiBlbCBjb250ZW5pZG8gc2Nyb2xsZWEgZGVudHJvIHkgZWwgYm90w7NuIFwiRW52aWFyXCIgcXVlZGFcbiAgICogc2llbXByZSBhbGNhbnphYmxlLCB0YW1iacOpbiBlbiB2aWV3cG9ydHMgY2hpY29zLlxuICAgKi9cbiAgYXN5bmMgb3BlblJhdGluZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZWFjdGlvblByb3BzOiBQYXJ0aWFsPENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhPiA9IHtcbiAgICAgIC8vIGVudGl0eVR5cGUgXCJhcHBcIiBkaXN0aW5ndWUgZXN0YSByZWFjY2nDs24gZGUgbGFzIGRlIGFydMOtY3Vsb3MvRkFRcy5cbiAgICAgIGVudGl0eVJlZjogeyBlbnRpdHlUeXBlOiAnYXBwJywgZW50aXR5SWQ6IHRoaXMucmVzb2x2ZWRDb25maWcoKS5yYXRpbmdFbnRpdHlJZCB9LFxuICAgICAgcXVlc3Rpb246IHRoaXMudHQoJ3JhdGVRdWVzdGlvbicpLFxuICAgICAgY29tbWVudFBsYWNlaG9sZGVyOiB0aGlzLnR0KCdyYXRlQ29tbWVudCcpLFxuICAgICAgdGhhbmtZb3VNZXNzYWdlOiB0aGlzLnR0KCdyYXRlVGhhbmtzJyksXG4gICAgICBzaG93Q29tbWVudDogdHJ1ZSxcbiAgICAgIHNob3dUaGFua1lvdTogdHJ1ZSxcbiAgICAgIC8vIE1vZGFsIG9uZS1zaG90OiBOTyBibG9xdWVhciBlbCByZW5kZXIgY29uIGVsIGNoZWNrIGRlIHJhdGluZyBwcmV2aW8uXG4gICAgICBza2lwSW5pdGlhbENoZWNrOiB0cnVlLFxuICAgICAgZW1vamlzOiBbJ/CfmJUnLCAn8J+ZgicsICfwn5iNJ10sXG4gICAgICBlbW9qaUxhYmVsczogW3RoaXMudHQoJ3JhdGVCYWQnKSwgdGhpcy50dCgncmF0ZU1pZCcpLCB0aGlzLnR0KCdyYXRlR29vZCcpXSxcbiAgICAgIC8vIFNoZWV0IGFiaWVydG8gdsOtYSBNb2RhbFNlcnZpY2U6IGJvdMOzbiBkZSBjaWVycmUgYWRlbcOhcyBkZWwgZHJhZy1oYW5kbGUuXG4gICAgICBzaG93Q2xvc2VCdXR0b246IHRydWUsXG4gICAgfTtcbiAgICBhd2FpdCB0aGlzLm1vZGFsU2VydmljZS5vcGVuPENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudD4oe1xuICAgICAgY29tcG9uZW50OiBDb250ZW50UmVhY3Rpb25Db21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczogeyBwcm9wczogcmVhY3Rpb25Qcm9wcyB9LFxuICAgICAgYnJlYWtwb2ludHM6IHtcbiAgICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDAuOSxcbiAgICAgICAgYnJlYWtwb2ludHM6IFswLCAwLjksIDFdLFxuICAgICAgICBzaG93SGFuZGxlOiB0cnVlLFxuICAgICAgICBoYW5kbGVCZWhhdmlvcjogJ2N5Y2xlJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5yZXNvbHZlZENvbmZpZygpLm9uUmF0ZWQ/LigpO1xuICB9XG59XG4iXX0=
472
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Fib3V0LXZpZXcvYWJvdXQtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBR3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0hULDQzRUF2SFMsU0FBUyxvUEFBRSxPQUFPLHdFQUFFLE9BQU8sMkpBQUUsYUFBYSx3SEFBRSxjQUFjLHlFQUFFLGFBQWEsd0VBQUUsbUJBQW1COzs0RkFrUTdGLGtCQUFrQjtrQkFyUTlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsWUFDL0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSFQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkdyaWQsIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgY2hhdGJ1YmJsZUVsbGlwc2VzT3V0bGluZSxcbiAgY29weU91dGxpbmUsXG4gIGhlbHBDaXJjbGVPdXRsaW5lLFxuICBsb2dvRmFjZWJvb2ssXG4gIGxvZ29JbnN0YWdyYW0sXG4gIGxvZ29MaW5rZWRpbixcbiAgbG9nb1Rpa3RvayxcbiAgbG9nb1R3aXR0ZXIsXG4gIGxvZ29Zb3V0dWJlLFxuICBzaGFyZVNvY2lhbE91dGxpbmUsXG4gIHN0YXJPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IFBpbGxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGlsbC9waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2FjdGlvbi1jYXJkL2FjdGlvbi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25DYXJkTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvYWN0aW9uLWNhcmQvdHlwZXMnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3R5cGVzJztcbmltcG9ydCB7IENvbnRlbnRSZWFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb250ZW50LXJlYWN0aW9uL2NvbnRlbnQtcmVhY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBYm91dEFjdGlvbiwgQWJvdXRWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBBQk9VVF9WSUVXX0kxOE4gfSBmcm9tICcuL2Fib3V0LXZpZXcuaTE4bic7XG5cbmFkZEljb25zKHtcbiAgY29weU91dGxpbmUsXG4gIHN0YXJPdXRsaW5lLFxuICBjaGF0YnViYmxlRWxsaXBzZXNPdXRsaW5lLFxuICBzaGFyZVNvY2lhbE91dGxpbmUsXG4gIGhlbHBDaXJjbGVPdXRsaW5lLFxuICBsb2dvRmFjZWJvb2ssXG4gIGxvZ29JbnN0YWdyYW0sXG4gIGxvZ29MaW5rZWRpbixcbiAgbG9nb1R3aXR0ZXIsXG4gIGxvZ29Zb3V0dWJlLFxuICBsb2dvVGlrdG9rLFxufSk7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkFib3V0JztcbmNvbnN0IERFRkFVTFRfQlJBTkRfTkFNRSA9ICdWYWx0ZWNoJztcbmNvbnN0IERFRkFVTFRfTE9HT19TUkMgPSAnYXNzZXRzL2ltYWdlcy9tYWluLWljb24ucG5nJztcbi8vIFBvciBkZWZhdWx0IGVsIEhFUk8gdXNhIGxhIENTUyB2YXIgZGUgbWFyY2EgZGVsIGZhY3RvcnkgKGAtLW1haW4tbG9nby1taW5pYCksXG4vLyBxdWUgY2FkYSBhcHAgZGVmaW5lIGVuIHN1IGB0aGVtZS92YXJpYWJsZXMuc2Nzc2AgKHRoZW1lLWF3YXJlKS4gU2kgbGEgYXBwIG5vXG4vLyBsYSBkZWZpbmUsIGVsIGB2YXIoLi4uKWAgY2FlIGFsIGBsb2dvU3JjYCAodmVyIHRlbXBsYXRlKS4gRWwgY29uc3VtZXIgcHVlZGVcbi8vIHBhc2FyIGBicmFuZC5sb2dvVmFyOiAnJ2AgcGFyYSBmb3J6YXIgZWwgYDxpbWcgc3JjPWxvZ29TcmM+YCBjbMOhc2ljby5cbmNvbnN0IERFRkFVTFRfTE9HT19WQVIgPSAnLS1tYWluLWxvZ28tbWluaSc7XG5jb25zdCBERUZBVUxUX1JBVElOR19FTlRJVFlfSUQgPSAnZXhwZXJpZW5jZSc7XG5cbi8qKlxuICogYHZhbC1hYm91dC12aWV3YCDigJQgdmlzdGEgQWJvdXQgZnVsbC1mZWF0dXJlIGF1dG9jb250ZW5pZGEgKG9yZ2FuaXNtKS5cbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLiBSZcO6bmU6XG4gKiAgLSAqKkhFUk8qKiDigJQgbG9nbyArIG5vbWJyZSBkZSBtYXJjYSArIHRhZ2xpbmUgKyBwaWxsIGRlIHZlcnNpw7NuIChjb3BpYWJsZSkuXG4gKiAgLSAqKkRlc2NyaXBjacOzbioqIOKAlCB0w610dWxvICsgY3VlcnBvLlxuICogIC0gKipBY2Npb25lcyoqIOKAlCBhY3Rpb24tY2FyZCBkZSByYXRpbmcgYnVpbHQtaW4gKGFicmUgYHZhbC1jb250ZW50LXJlYWN0aW9uYFxuICogICAgRElSRUNUQU1FTlRFIHbDrWEgYE1vZGFsU2VydmljZWAsIHNpbiB3cmFwcGVyIGxvY2FsIOKAlCBkZWNpc2nDs24gQ1RPKSArIGxhc1xuICogICAgYWNjaW9uZXMgZ2Vuw6lyaWNhcyBxdWUgZWwgY29uc3VtZXIgYXBvcnRlIHBvciBgY29uZmlnLmFjdGlvbnNgLlxuICogIC0gKipSZWRlcyoqIOKAlCBsaW5rcyBzb2NpYWxlcyAoYGNvbmZpZy5zb2NpYWxMaW5rc2ApOyBzZWNjacOzbiBvY3VsdGEgc2kgdmFjw61hLlxuICogIC0gKipGb290ZXIqKiDigJQgY29weXJpZ2h0IGNvbiBlbCBhw7FvIGFjdHVhbC5cbiAqXG4gKiBMbyBhcHAtc3BlY2lmaWMgKGxvZ28sIG5vbWJyZSwgdmVyc2nDs24sIHJlZGVzLCBhY2Npb25lcyBzaGFyZS9mYXEpIHZpYWphIGNvbW9cbiAqIERBVEEgZGUgY29uZmlnIOKAlCBOTyBjb21vIHNsb3RzIChBRFItMDIxKS4gTGEgdmVyc2nDs24gbGEgcGFzYSBlbCBjb25zdW1lclxuICogKGBjb25maWcudmVyc2lvbmAgPSBzdSBgQVBQX1ZFUlNJT05gKTsgbGEgbGliIE5PIGltcG9ydGEgZWwgYHZlcnNpb24udHNgIGRlIGxhXG4gKiBhcHAuIFNpIG5vIHNlIHBhc2EgdmVyc2nDs24sIGVsIHBpbGwgc2Ugb2N1bHRhLlxuICpcbiAqIE5PIHJlbmRlcml6YSBpb24tY29udGVudCDigJQgdml2ZSBkZW50cm8gZGUgdmFsLXBhZ2Utd3JhcHBlci4gYEFjdGl2YXRlZFJvdXRlYFxuICogc2UgaW55ZWN0YSBgeyBvcHRpb25hbDogdHJ1ZSB9YCBzb2xvIHBhcmEgbGVlciBlbCByb3V0ZSBkYXRhIGRlIGNvbmZpZy5cbiAqXG4gKiBBdXRvLXJlZ2lzdHJhIHN1cyBkZWZhdWx0cyBpMThuIChlcy9lbikgZW4gZWwgY29uc3RydWN0b3Igc2kgZWwgY29uc3VtZXIgbm9cbiAqIHByb3ZlecOzIGVsIG5hbWVzcGFjZSBjb25maWd1cmFkbyAoZGVmYXVsdCBgU2V0dGluZ3MuQWJvdXRgKS5cbiAqXG4gKiBHT1RDSEEgaTE4biBDb250ZW50UmVhY3Rpb246IGB2YWwtY29udGVudC1yZWFjdGlvbmAgZXhpZ2Ugc3UgbmFtZXNwYWNlXG4gKiBgQ29udGVudFJlYWN0aW9uYCByZWdpc3RyYWRvIGRvbmRlIHNlIHVzZSAoa2V5IGZhbHRhbnRlIGVuIGJpbmRpbmcgKyBDRCA9XG4gKiBuYXZlZ2Fkb3IgY29uZ2VsYWRvIGVuIGRldikuIGBDb250ZW50UmVhY3Rpb25Db21wb25lbnRgIHNlIGF1dG8tcmVnaXN0cmEgZXNlXG4gKiBuYW1lc3BhY2UgZW4gU1UgY29uc3RydWN0b3IsIHkgY29tbyBzZSBhYnJlIHbDrWEgYE1vZGFsU2VydmljZWAgZXNlIGNvbnN0cnVjdG9yXG4gKiBjb3JyZSBhbnRlcyBkZSBxdWUgc3UgdGVtcGxhdGUgYmluZGUg4oCUIHF1ZWRhIGN1YmllcnRvLiBJZ3VhbCBsbyBpbXBvcnRhbW9zXG4gKiBjb21vIGRlcGVuZGVuY2lhIGV4cGzDrWNpdGEgZGUgZXN0YSB2aXN0YSBwYXJhIHF1ZSBsYSBnYXJhbnTDrWEgc2VhIGxvY2FsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYWJvdXQtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25CdXR0b24sIElvbkdyaWQsIElvbkljb24sIFBpbGxDb21wb25lbnQsIFRpdGxlQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBBY3Rpb25DYXJkQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWdyaWQgY2xhc3M9XCJhYm91dC1ncmlkXCI+XG4gICAgICA8IS0tIEhFUk86IGxvZ28gKyBuYW1lICsgdmVyc2lvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhYm91dC1oZXJvXCI+XG4gICAgICAgIEBpZiAobG9nb1ZhcigpKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhYm91dC1oZXJvX19sb2dvIGFib3V0LWhlcm9fX2xvZ28tLXZhclwiXG4gICAgICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnJhbmROYW1lKClcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3ZhcignICsgbG9nb1ZhcigpICsgJywgdXJsKCcgKyBsb2dvU3JjKCkgKyAnKSknXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxpbWcgY2xhc3M9XCJhYm91dC1oZXJvX19sb2dvXCIgW3NyY109XCJsb2dvU3JjKClcIiBbYWx0XT1cImJyYW5kTmFtZSgpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIGNvbnRlbnQ6IGJyYW5kTmFtZSgpLFxuICAgICAgICAgICAgc2l6ZTogJ3hsYXJnZScsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCd0YWdsaW5lJyksXG4gICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgICAgQGlmICh2ZXJzaW9uKCkpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInZlcnNpb24tcm93XCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb3B5VmVyc2lvbigpXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0dCgndmVyc2lvbkxhYmVsJykgKyAnICcgKyB2ZXJzaW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx2YWwtcGlsbFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0dCgndmVyc2lvbkxhYmVsJykgKyAnICcgKyB2ZXJzaW9uKCksXG4gICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6ICdib2xkJyxcbiAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNvcHktb3V0bGluZVwiIGNsYXNzPVwidmVyc2lvbi1jb3B5LWljb25cIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBERVNDUklQVElPTiAtLT5cbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYWJvdXQtc2VjdGlvblwiPlxuICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJzZWN0aW9uVGl0bGUoJ2Rlc2NUaXRsZScpXCIgLz5cbiAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdkZXNjQm9keScpLFxuICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDwhLS0gQUNUSU9OUyDigJQgcmF0aW5nIGJ1aWx0LWluICsgYWNjaW9uZXMgZGVsIGNvbnN1bWVyLiAtLT5cbiAgICAgIEBpZiAoc2hvd1JhdGluZygpIHx8IGFjdGlvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYWJvdXQtc2VjdGlvbiBhYm91dC1zZWN0aW9uLS1yZXZpZXdzXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwic2VjdGlvblRpdGxlKCdhY3Rpb25zVGl0bGUnKVwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LWFjdGlvbnNcIj5cbiAgICAgICAgICAgIEBpZiAoc2hvd1JhdGluZygpKSB7XG4gICAgICAgICAgICAgIDx2YWwtYWN0aW9uLWNhcmQgW3Byb3BzXT1cInJhdGVBY3Rpb25DYXJkKClcIiAob25DbGljayk9XCJvcGVuUmF0aW5nKClcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAoYWN0aW9uIG9mIGFjdGlvbnMoKTsgdHJhY2sgYWN0aW9uLmxhYmVsKSB7XG4gICAgICAgICAgICAgIDx2YWwtYWN0aW9uLWNhcmQgW3Byb3BzXT1cImV4dHJhQWN0aW9uQ2FyZChhY3Rpb24pXCIgKG9uQ2xpY2spPVwiYWN0aW9uLm9uQ2xpY2soKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBTT0NJQUwg4oCUIHBlbsO6bHRpbW8sIGp1c3RvIGFudGVzIGRlbCBmb290ZXIgZGUgZGVyZWNob3MuIC0tPlxuICAgICAgQGlmIChzb2NpYWxMaW5rcygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJhYm91dC1zZWN0aW9uXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwic2VjdGlvblRpdGxlKCdzb2NpYWxUaXRsZScpXCIgLz5cbiAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdzb2NpYWxEZXNjJyksXG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFib3V0LXNvY2lhbFwiPlxuICAgICAgICAgICAgQGZvciAocyBvZiBzb2NpYWxMaW5rcygpOyB0cmFjayBzLnVybCkge1xuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNvY2lhbC1idG5cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Vcmwocy51cmwpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJzLmljb25cIiBzbG90PVwiaWNvbi1vbmx5XCIgLz5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gRk9PVEVSIC0tPlxuICAgICAgPGZvb3RlciBjbGFzcz1cImFib3V0LWZvb3RlclwiPlxuICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgY29udGVudDogY29weXJpZ2h0KCksXG4gICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgPC9mb290ZXI+XG4gICAgPC9pb24tZ3JpZD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmFib3V0LWdyaWQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtaGVybyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDAgMTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtaGVyb19fbG9nbyB7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtaGVyb19fbG9nby0tdmFyIHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB9XG5cbiAgICAgIC52ZXJzaW9uLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLnZlcnNpb24tcm93OmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLnZlcnNpb24tY29weS1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zZWN0aW9uLS1yZXZpZXdzIHZhbC1hY3Rpb24tY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtc2VjdGlvbi0tcmV2aWV3cyB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zZWN0aW9uLS1yZXZpZXdzIHZhbC1hY3Rpb24tY2FyZCA6Om5nLWRlZXAgLmFjdGlvbi1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cblxuICAgICAgLmFib3V0LXNvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAuYWJvdXQtc29jaWFsIC5zb2NpYWwtYnRuIHtcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIC0tYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgLS1jb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICAtLXBhZGRpbmctc3RhcnQ6IDA7XG4gICAgICAgIC0tcGFkZGluZy1lbmQ6IDA7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zb2NpYWwgLnNvY2lhbC1idG46aG92ZXIge1xuICAgICAgICAtLWJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LXRpbnQsICM4YTRjZTUpO1xuICAgICAgICAtLWNvbG9yOiAjZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1zb2NpYWwgLnNvY2lhbC1idG4gaW9uLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICB9XG5cbiAgICAgIC5hYm91dC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgcGFkZGluZzogMjRweCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZCxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSB2YWwtYWN0aW9uLWNhcmQgOjpuZy1kZWVwIC5hY3Rpb24tY2FyZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgdmFsLWFjdGlvbi1jYXJkIDo6bmctZGVlcCAuYWN0aW9uLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLmFib3V0LXNlY3Rpb24tLXJldmlld3MgdmFsLWFjdGlvbi1jYXJkIDo6bmctZGVlcCAuYWN0aW9uLWNhcmQ6aG92ZXIsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmFib3V0LXNlY3Rpb24tLXJldmlld3MgdmFsLWFjdGlvbi1jYXJkIDo6bmctZGVlcCAuYWN0aW9uLWNhcmQ6aG92ZXIsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5hYm91dC1zZWN0aW9uLS1yZXZpZXdzIHZhbC1hY3Rpb24tY2FyZCA6Om5nLWRlZXAgLmFjdGlvbi1jYXJkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5hYm91dC1zb2NpYWwgLnNvY2lhbC1idG4sXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmFib3V0LXNvY2lhbCAuc29jaWFsLWJ0bixcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmFib3V0LXNvY2lhbCAuc29jaWFsLWJ0biB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBYm91dFZpZXdDb21wb25lbnQge1xuICBwcml2YXRlIG5hdiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE1vZGFsU2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogQ29uZmlnIHbDrWEgaW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBhYm91dENvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaEFib3V0Um91dGVzYCkuIGByZXNvbHZlZENvbmZpZ2BcbiAgICogbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGVsIGlucHV0IGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICpcbiAgICogKipTaWduYWwgaW5wdXQqKiAobm8gYEBJbnB1dGAgY2zDoXNpY28pOiBgcmVzb2x2ZWRDb25maWdgIGVzIHVuIGBjb21wdXRlZGAgcXVlIHNlXG4gICAqIGV2YWzDumEgcG9yIHByaW1lcmEgdmV6IGVuIGVsIGNvbnN0cnVjdG9yICh2w61hIGB0aGlzLm5zYCDihpIgYHNldEJhY2tIZWFkZXJgKSwgQU5URVNcbiAgICogZGUgcXVlIHVuIGBASW5wdXRgIGNsw6FzaWNvIGVzdMOpIGJpbmRlYWRvLiBDb24gYEBJbnB1dGAgZWwgY29tcHV0ZWQgbWVtb2l6YWJhIGxhXG4gICAqIGNvbmZpZyB2YWPDrWEgeSwgYWwgbm8gZGVwZW5kZXIgZGUgbmluZ3VuYSBzZcOxYWwsIE5VTkNBIHJlY29tcHV0YWJhIOKGkiBpZ25vcmFiYVxuICAgKiBgW2NvbmZpZ11gIChzb2NpYWwvYWNjaW9uZXMvdmVyc2nDs24vbWFyY2EgcXVlZGFiYW4gZW4gZGVmYXVsdCkuIENvbW8gc2lnbmFsLCBlbFxuICAgKiBjb21wdXRlZCBsbyB0cmFja2VhIHkgcmVjb21wdXRhIGN1YW5kbyBlbCBiaW5kaW5nIGxsZWdhLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQ8QWJvdXRWaWV3Q29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQ29uZmlnID0gY29tcHV0ZWQ8UmVxdWlyZWQ8T21pdDxBYm91dFZpZXdDb25maWcsICdvblJhdGVkJz4+ICYgUGljazxBYm91dFZpZXdDb25maWcsICdvblJhdGVkJz4+KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGZyb21Sb3V0ZSA9ICh0aGlzLnJvdXRlPy5zbmFwc2hvdC5kYXRhWydhYm91dENvbmZpZyddID8/IHt9KSBhcyBBYm91dFZpZXdDb25maWc7XG4gICAgICBjb25zdCBtZXJnZWQ6IEFib3V0Vmlld0NvbmZpZyA9IHsgLi4uZnJvbVJvdXRlLCAuLi4odGhpcy5jb25maWcoKSA/PyB7fSkgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJyYW5kOiB7XG4gICAgICAgICAgbmFtZTogbWVyZ2VkLmJyYW5kPy5uYW1lID8/IERFRkFVTFRfQlJBTkRfTkFNRSxcbiAgICAgICAgICBsb2dvU3JjOiBtZXJnZWQuYnJhbmQ/LmxvZ29TcmMgPz8gREVGQVVMVF9MT0dPX1NSQyxcbiAgICAgICAgICBsb2dvVmFyOiBtZXJnZWQuYnJhbmQ/LmxvZ29WYXIgPz8gREVGQVVMVF9MT0dPX1ZBUixcbiAgICAgICAgfSxcbiAgICAgICAgdmVyc2lvbjogbWVyZ2VkLnZlcnNpb24gPz8gJycsXG4gICAgICAgIHNvY2lhbExpbmtzOiBtZXJnZWQuc29jaWFsTGlua3MgPz8gW10sXG4gICAgICAgIHNob3dSYXRpbmc6IG1lcmdlZC5zaG93UmF0aW5nID8/IHRydWUsXG4gICAgICAgIHJhdGluZ0VudGl0eUlkOiBtZXJnZWQucmF0aW5nRW50aXR5SWQgPz8gREVGQVVMVF9SQVRJTkdfRU5USVRZX0lELFxuICAgICAgICBhY3Rpb25zOiBtZXJnZWQuYWN0aW9ucyA/PyBbXSxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogbWVyZ2VkLmkxOG5OYW1lc3BhY2UgPz8gREVGQVVMVF9OQU1FU1BBQ0UsXG4gICAgICAgIG9uUmF0ZWQ6IG1lcmdlZC5vblJhdGVkLFxuICAgICAgfTtcbiAgICB9XG4gICk7XG5cbiAgLyoqIE5hbWVzcGFjZSBpMThuIHJlc3VlbHRvIChjYXB0dXJhZG8gcGFyYSBsbGFtYWRhcyBuby1yZWFjdGl2YXMpLiAqL1xuICBwcml2YXRlIGdldCBucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuaTE4bk5hbWVzcGFjZTtcbiAgfVxuXG4gIHJlYWRvbmx5IGJyYW5kTmFtZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZWRDb25maWcoKS5icmFuZC5uYW1lISk7XG4gIHJlYWRvbmx5IGxvZ29TcmMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuYnJhbmQubG9nb1NyYyEpO1xuICByZWFkb25seSBsb2dvVmFyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmJyYW5kLmxvZ29WYXIgPz8gJycpO1xuICByZWFkb25seSB2ZXJzaW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLnZlcnNpb24pO1xuICByZWFkb25seSBzb2NpYWxMaW5rcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZWRDb25maWcoKS5zb2NpYWxMaW5rcyk7XG4gIHJlYWRvbmx5IHNob3dSYXRpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuc2hvd1JhdGluZyk7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuYWN0aW9ucyk7XG5cbiAgLyoqIENvcHlyaWdodCBkZWwgZm9vdGVyIOKAlCBhw7FvIGFjdHVhbCBpbnRlcnBvbGFkbyBlbiBgY29weXJpZ2h0VGV4dGAuICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHllYXIgPSBTdHJpbmcobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKTtcbiAgICByZXR1cm4gdGhpcy50dCgnY29weXJpZ2h0VGV4dCcpLnJlcGxhY2UoJ3t5ZWFyfScsIHllYXIpO1xuICB9KTtcblxuICAvKiogVGl0bGUgbWV0YWRhdGEgcGFyYSBzZWNjaW9uZXMg4oCUIGJvbGQgKyBzaXplIHNtYWxsLiAqL1xuICByZWFkb25seSByYXRlQWN0aW9uQ2FyZCA9IGNvbXB1dGVkPEFjdGlvbkNhcmRNZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246IHsgaW9uaWNvbjogJ3N0YXItb3V0bGluZScsIGNvbG9yOiAncHJpbWFyeScgfSxcbiAgICAgIHRpdGxlOiB0aGlzLnR0KCdyYXRlVGl0bGUnKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnR0KCdyYXRlRGVzYycpLFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBzaGFkb3dlZDogZmFsc2UsXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbnMgPSB0aGlzLm5zO1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKG5zLCBBQk9VVF9WSUVXX0kxOE4pO1xuICAgIHRoaXMubmF2LnNldEJhY2tIZWFkZXIoJ3BhZ2VUaXRsZScsIG5zLCB7IHdpdGhNZW51OiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqIEhlbHBlciBpMThuIGJvdW5kIGFsIG5hbWVzcGFjZSByZXN1ZWx0by4gUmVhY3Rpdm8gdsOtYSBgbGFuZygpYC4gKi9cbiAgcHJvdGVjdGVkIHR0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG5cbiAgLyoqIFRpdGxlIG1ldGFkYXRhIHBhcmEgc2VjY2lvbmVzIOKAlCBib2xkICsgc2l6ZSBzbWFsbC4gKi9cbiAgcHJvdGVjdGVkIHNlY3Rpb25UaXRsZShrZXk6IHN0cmluZyk6IFRpdGxlTWV0YWRhdGEge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IHRoaXMudHQoa2V5KSxcbiAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgYm9sZDogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFjdGlvbkNhcmRNZXRhZGF0YSBwYXJhIHVuYSBhY2Npw7NuIGdlbsOpcmljYSBkZWwgY29uc3VtZXIuICovXG4gIHByb3RlY3RlZCBleHRyYUFjdGlvbkNhcmQoYWN0aW9uOiBBYm91dEFjdGlvbik6IEFjdGlvbkNhcmRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246IHsgaW9uaWNvbjogYWN0aW9uLmljb24gPz8gJ2NoYXRidWJibGUtZWxsaXBzZXMtb3V0bGluZScsIGNvbG9yOiAncHJpbWFyeScgfSxcbiAgICAgIHRpdGxlOiBhY3Rpb24ubGFiZWwsXG4gICAgICBkZXNjcmlwdGlvbjogYWN0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBzaGFkb3dlZDogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBDb3BpYSBsYSB2ZXJzacOzbiBhbCBwb3J0YXBhcGVsZXMgKyB0b2FzdCAoY29sb3IgZGFyaykuICovXG4gIGFzeW5jIGNvcHlWZXJzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZlcnNpb24oKTtcbiAgICBpZiAoIXYpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodik7XG4gICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICBtZXNzYWdlOiB0aGlzLnR0KCd2ZXJzaW9uQ29waWVkJykucmVwbGFjZSgne3Z9JywgdiksXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIGR1cmF0aW9uOiAxNTAwLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBjbGlwYm9hcmQgbm8gZGlzcG9uaWJsZSDigJQgc2lsZW5jaW9zb1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBYnJlIHVuYSBVUkwgZXh0ZXJuYSBlbiBudWV2YSB0YWIuIGBtYWlsdG86YCBxdWVkYSBlbiBsYSBtaXNtYSB0YWIuICovXG4gIG9wZW5VcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodXJsLnN0YXJ0c1dpdGgoJ21haWx0bzonKSkge1xuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycsICdub29wZW5lcixub3JlZmVycmVyJyk7XG4gIH1cblxuICAvKipcbiAgICogXCJDYWxpZmljYXIgbGEgYXBwXCIg4oCUIGFicmUgYHZhbC1jb250ZW50LXJlYWN0aW9uYCBESVJFQ1RBTUVOVEUgY29tbyBzaGVldFxuICAgKiBtb2RhbCAoc2luIHdyYXBwZXIgbG9jYWwg4oCUIGRlY2lzacOzbiBDVE8pLiBFbCBjb21wb25lbnRlIHBlcnNpc3RlIGxhIHJlYWNjacOzblxuICAgKiBjb250cmEgZWwgYmFja2VuZCBkZSBmZWVkYmFjayB5IG11ZXN0cmEgc3UgcHJvcGlvIGVzdGFkbyBkZSBcImdyYWNpYXNcIjsgZWxcbiAgICogc2hlZXQgc2UgY2llcnJhIGFycmFzdHJhbmRvIChicmVha3BvaW50IDApLiBFbCBuYW1lc3BhY2UgaTE4blxuICAgKiBgQ29udGVudFJlYWN0aW9uYCBsbyBhdXRvLXJlZ2lzdHJhIGBDb250ZW50UmVhY3Rpb25Db21wb25lbnRgIGVuIHN1XG4gICAqIGNvbnN0cnVjdG9yLCBxdWUgY29ycmUgYWwgY3JlYXIgZWwgbW9kYWwg4oCUIHNpbiByaWVzZ28gZGUga2V5IGZhbHRhbnRlLlxuICAgKlxuICAgKiBTaGVldCAoYm90dG9tIHNoZWV0KTogZWwgY29udGVuaWRvIHNjcm9sbGVhIGRlbnRybyB5IGVsIGJvdMOzbiBcIkVudmlhclwiIHF1ZWRhXG4gICAqIHNpZW1wcmUgYWxjYW56YWJsZSwgdGFtYmnDqW4gZW4gdmlld3BvcnRzIGNoaWNvcy5cbiAgICovXG4gIGFzeW5jIG9wZW5SYXRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVhY3Rpb25Qcm9wczogUGFydGlhbDxDb250ZW50UmVhY3Rpb25NZXRhZGF0YT4gPSB7XG4gICAgICAvLyBlbnRpdHlUeXBlIFwiYXBwXCIgZGlzdGluZ3VlIGVzdGEgcmVhY2Npw7NuIGRlIGxhcyBkZSBhcnTDrWN1bG9zL0ZBUXMuXG4gICAgICBlbnRpdHlSZWY6IHsgZW50aXR5VHlwZTogJ2FwcCcsIGVudGl0eUlkOiB0aGlzLnJlc29sdmVkQ29uZmlnKCkucmF0aW5nRW50aXR5SWQgfSxcbiAgICAgIHF1ZXN0aW9uOiB0aGlzLnR0KCdyYXRlUXVlc3Rpb24nKSxcbiAgICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogdGhpcy50dCgncmF0ZUNvbW1lbnQnKSxcbiAgICAgIHRoYW5rWW91TWVzc2FnZTogdGhpcy50dCgncmF0ZVRoYW5rcycpLFxuICAgICAgc2hvd0NvbW1lbnQ6IHRydWUsXG4gICAgICBzaG93VGhhbmtZb3U6IHRydWUsXG4gICAgICAvLyBNb2RhbCBvbmUtc2hvdDogTk8gYmxvcXVlYXIgZWwgcmVuZGVyIGNvbiBlbCBjaGVjayBkZSByYXRpbmcgcHJldmlvLlxuICAgICAgc2tpcEluaXRpYWxDaGVjazogdHJ1ZSxcbiAgICAgIGVtb2ppczogWyfwn5iVJywgJ/CfmYInLCAn8J+YjSddLFxuICAgICAgZW1vamlMYWJlbHM6IFt0aGlzLnR0KCdyYXRlQmFkJyksIHRoaXMudHQoJ3JhdGVNaWQnKSwgdGhpcy50dCgncmF0ZUdvb2QnKV0sXG4gICAgICAvLyBTaGVldCBhYmllcnRvIHbDrWEgTW9kYWxTZXJ2aWNlOiBib3TDs24gZGUgY2llcnJlIGFkZW3DoXMgZGVsIGRyYWctaGFuZGxlLlxuICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxuICAgIH07XG4gICAgYXdhaXQgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbjxDb250ZW50UmVhY3Rpb25Db21wb25lbnQ+KHtcbiAgICAgIGNvbXBvbmVudDogQ29udGVudFJlYWN0aW9uQ29tcG9uZW50LFxuICAgICAgY29tcG9uZW50UHJvcHM6IHsgcHJvcHM6IHJlYWN0aW9uUHJvcHMgfSxcbiAgICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjksXG4gICAgICAgIGJyZWFrcG9pbnRzOiBbMCwgMC45LCAxXSxcbiAgICAgICAgc2hvd0hhbmRsZTogdHJ1ZSxcbiAgICAgICAgaGFuZGxlQmVoYXZpb3I6ICdjeWNsZScsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMucmVzb2x2ZWRDb25maWcoKS5vblJhdGVkPy4oKTtcbiAgfVxufVxuIl19