valtech-components 4.0.963 → 4.0.964

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/atoms/notice/notice.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +2 -2
  3. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  4. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +5 -5
  5. package/esm2022/lib/components/molecules/empty-state/empty-state.component.mjs +3 -3
  6. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +3 -3
  7. package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +3 -3
  8. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
  9. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +3 -3
  10. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +3 -3
  11. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +3 -3
  12. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  13. package/esm2022/lib/components/molecules/option-cards/option-cards.component.mjs +3 -3
  14. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +3 -3
  15. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  16. package/esm2022/lib/components/molecules/request-form/request-form.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
  18. package/esm2022/lib/components/organisms/access-request-view/access-request-view.component.mjs +3 -3
  19. package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +5 -5
  20. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
  21. package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +3 -3
  22. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +3 -3
  23. package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +3 -3
  24. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  25. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +5 -5
  26. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +9 -9
  27. package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +6 -6
  28. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -3
  29. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -3
  30. package/esm2022/lib/components/organisms/menu/menu.component.mjs +3 -3
  31. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
  32. package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +5 -5
  33. package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +3 -3
  34. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +3 -3
  35. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +9 -9
  36. package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +3 -3
  37. package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +5 -5
  38. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +5 -5
  39. package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +3 -3
  40. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +5 -5
  41. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +3 -3
  42. package/esm2022/lib/services/confirmation-dialog/types.mjs +2 -2
  43. package/esm2022/lib/services/content/transformer.mjs +3 -3
  44. package/esm2022/lib/services/markdown-article/beautify-legal-article.mjs +2 -2
  45. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +2 -2
  46. package/esm2022/lib/services/modal/types.mjs +2 -2
  47. package/esm2022/lib/version.mjs +2 -2
  48. package/fesm2022/valtech-components.mjs +117 -117
  49. package/fesm2022/valtech-components.mjs.map +1 -1
  50. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
  51. package/lib/version.d.ts +1 -1
  52. package/package.json +1 -1
@@ -164,7 +164,7 @@ export class AccessRequestViewComponent {
164
164
  <section class="access-request">
165
165
  <span class="access-request__eyebrow">{{ t('eyebrow') }}</span>
166
166
  <val-display [props]="{ content: t('title'), size: 'small', color: 'dark' }" />
167
- <val-text [props]="{ content: t('body'), color: 'medium', size: 'medium', bold: false }" />
167
+ <val-text [props]="{ content: t('body'), color: 'dark', size: 'medium', bold: false }" />
168
168
 
169
169
  <val-form [props]="form()" (onSubmit)="submit($event)" />
170
170
  </section>
@@ -180,7 +180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
180
180
  <section class="access-request">
181
181
  <span class="access-request__eyebrow">{{ t('eyebrow') }}</span>
182
182
  <val-display [props]="{ content: t('title'), size: 'small', color: 'dark' }" />
183
- <val-text [props]="{ content: t('body'), color: 'medium', size: 'medium', bold: false }" />
183
+ <val-text [props]="{ content: t('body'), color: 'dark', size: 'medium', bold: false }" />
184
184
 
185
185
  <val-form [props]="form()" (onSubmit)="submit($event)" />
186
186
  </section>
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
191
191
  }], requested: [{
192
192
  type: Output
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLXJlcXVlc3Qtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FjY2Vzcy1yZXF1ZXN0LXZpZXcvYWNjZXNzLXJlcXVlc3Qtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBRUwsZUFBZSxFQUlmLFNBQVMsR0FDVixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFdEUsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFFMUMsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0FBRXBEOzs7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VSwwQkFBMEI7bUdBQTFCLDBCQUEwQixvS0FsQzNCOzs7Ozs7Ozs7Ozs7R0FZVCxrUkFiUyxhQUFhLCtJQUFFLGdCQUFnQiwyRUFBRSxhQUFhLHdFQUFFLG1CQUFtQjs7NEZBbUNsRSwwQkFBMEI7a0JBdEN0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLFlBQ3BFOzs7Ozs7Ozs7Ozs7R0FZVDt3REE2QlEsYUFBYTtzQkFBckIsS0FBSztnQkFHYSxTQUFTO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdXR0b25NZXRhZGF0YSxcbiAgQ29tcG9uZW50U3RhdGVzLFxuICBGb3JtTWV0YWRhdGEsXG4gIEZvcm1TdWJtaXQsXG4gIElucHV0TWV0YWRhdGEsXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy92YWx0ZWNoLWVycm9yLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBQ0NFU1NfUkVRVUVTVF9WSUVXX0kxOE4gfSBmcm9tICcuL2FjY2Vzcy1yZXF1ZXN0LXZpZXcuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ0FjY2Vzc1JlcXVlc3QnO1xuXG4vKiogVGlwbyBkZSBzb2xpY2l0dWQgY29uIHF1ZSBzZSByZWdpc3RyYW4gZXN0YXMgcGV0aWNpb25lcy4gKi9cbmV4cG9ydCBjb25zdCBBQ0NFU1NfUkVRVUVTVF9UWVBFID0gJ2FjY2Vzcy1yZXF1ZXN0JztcblxuLyoqXG4gKiBgdmFsLWFjY2Vzcy1yZXF1ZXN0LXZpZXdgIOKAlCBsbyBxdWUgdmUgYWxndWllbiBjdWFuZG8gbGEgYXBwIGVzdMOhIGVuIG1vZG9cbiAqIGludml0YWNpw7NuIHkgbm8gZXN0w6EgZW4gbGEgbGlzdGEuXG4gKlxuICogTm8gZXMgdW5hIHBhbnRhbGxhIGRlIGVycm9yOiBlcyB1bmEgcHVlcnRhIGNvbiB0aW1icmUuIEV4cGxpY2EgcG9yIHF1w6kgZXN0w6FcbiAqIGNlcnJhZG8geSBkZWphIHBlZGlyIGVudHJhciwgcXVlIGVzIGxhIGRpZmVyZW5jaWEgZW50cmUgcGVyZGVyIGEgbGEgcGVyc29uYSB5XG4gKiBzYWJlciBxdWnDqW4gcXVpc28gZW50cmFyLlxuICpcbiAqIExhIHNvbGljaXR1ZCBzZSByZWdpc3RyYSBjb21vIHVuIGByZXF1ZXN0YCBkZWwgdGlwbyBgYWNjZXNzLXJlcXVlc3RgLCBhc8OtIHF1ZVxuICogc2UgcmV2aXNhIGNvbiBsYXMgbWlzbWFzIGhlcnJhbWllbnRhcyBxdWUgZWwgcmVzdG8gZGUgbGFzIHNvbGljaXR1ZGVzLlxuICpcbiAqIFNlIHVzYSBqdW50byBjb24gZWwgbW9kbyBkZSBhY2Nlc28gZGVsIGJhY2tlbmQgKGBBY2Nlc3NNb2RlYCA9IGBpbnZpdGVgKSwgcXVlXG4gKiBlcyBsbyBxdWUgcmVhbG1lbnRlIGZyZW5hLiBWZXIgZG9jcy9ydW5ib29rcy9jb3N0LWd1YXJkcmFpbHMubWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1Db21wb25lbnQsIERpc3BsYXlDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEVtcHR5U3RhdGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoc2VudCgpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJzZW50U3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImFjY2Vzcy1yZXF1ZXN0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjZXNzLXJlcXVlc3RfX2V5ZWJyb3dcIj57eyB0KCdleWVicm93JykgfX08L3NwYW4+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCd0aXRsZScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdCgnYm9keScpLCBjb2xvcjogJ21lZGl1bScsIHNpemU6ICdtZWRpdW0nLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cImZvcm0oKVwiIChvblN1Ym1pdCk9XCJzdWJtaXQoJGV2ZW50KVwiIC8+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuYWNjZXNzLXJlcXVlc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5hY2Nlc3MtcmVxdWVzdF9fZXllYnJvdyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc1JlcXVlc3RWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0cyA9IGluamVjdChSZXF1ZXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biwgcG9yIHNpIHVuYSBhcHAgcXVpZXJlIHN1IHByb3BpYSByZWRhY2Npw7NuLiAqL1xuICBASW5wdXQoKSBpMThuTmFtZXNwYWNlID0gREVGQVVMVF9OQU1FU1BBQ0U7XG5cbiAgLyoqIFNlIGVtaXRlIGN1YW5kbyBsYSBzb2xpY2l0dWQgcXVlZMOzIHJlZ2lzdHJhZGEuICovXG4gIEBPdXRwdXQoKSByZWFkb25seSByZXF1ZXN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICByZWFkb25seSBzZW5kaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VudCA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VudFRvID0gc2lnbmFsKCcnKTtcblxuICByZWFkb25seSBzZW50U3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7XG4gICAgICB2YXJpYW50OiAnZW1wdHknLFxuICAgICAgdGl0bGU6IHRoaXMudCgnc2VudFRpdGxlJyksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy50KCdzZW50Qm9keScpLnJlcGxhY2UoJ3tlbWFpbH0nLCB0aGlzLnNlbnRUbygpKSxcbiAgICB9IGFzIEVtcHR5U3RhdGVNZXRhZGF0YTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZm9ybSA9IGNvbXB1dGVkPEZvcm1NZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMuc2VuZGluZygpO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmF1dGgudXNlcigpO1xuXG4gICAgY29uc3QgbmFtZUZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhY2Nlc3MtcmVxdWVzdC1uYW1lJyxcbiAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgIGxhYmVsOiB0aGlzLnQoJ25hbWVMYWJlbCcpLFxuICAgICAgaGludDogJycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCduYW1lUGxhY2Vob2xkZXInKSxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5URVhULFxuICAgICAgb3JkZXI6IDEsXG4gICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTIwKV0sXG4gICAgICBlcnJvcnM6IHsgcmVxdWlyZWQ6IHRoaXMudCgnbm9OYW1lJykgfSxcbiAgICAgIHZhbHVlOiB1c2VyPy5uYW1lID8/ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IGVtYWlsRmllbGQ6IElucHV0TWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2FjY2Vzcy1yZXF1ZXN0LWVtYWlsJyxcbiAgICAgIG5hbWU6ICdlbWFpbCcsXG4gICAgICBsYWJlbDogdGhpcy50KCdlbWFpbExhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ2VtYWlsUGxhY2Vob2xkZXInKSxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5FTUFJTCxcbiAgICAgIG9yZGVyOiAyLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxuICAgICAgZXJyb3JzOiB7IHJlcXVpcmVkOiB0aGlzLnQoJ25vRW1haWwnKSwgZW1haWw6IHRoaXMudCgnaW52YWxpZEVtYWlsJykgfSxcbiAgICAgIHZhbHVlOiB1c2VyPy5lbWFpbCA/PyAnJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgICBjb25zdCByZWFzb25GaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYWNjZXNzLXJlcXVlc3QtcmVhc29uJyxcbiAgICAgIG5hbWU6ICdyZWFzb24nLFxuICAgICAgbGFiZWw6IHRoaXMudCgncmVhc29uTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgncmVhc29uUGxhY2Vob2xkZXInKSxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5URVhUQVJFQSxcbiAgICAgIG9yZGVyOiAzLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwMCldLFxuICAgICAgZXJyb3JzOiB7fSxcbiAgICAgIHZhbHVlOiAnJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgICBjb25zdCBzdWJtaXRCdXR0b246IEJ1dHRvbk1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhY2Nlc3MtcmVxdWVzdC1zdWJtaXQnLFxuICAgICAgdGV4dDogdGhpcy50KCdzdWJtaXQnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIEJ1dHRvbk1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgc3RhdGU6IHdvcmtpbmcgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgc2VjdGlvbnM6IFt7IG5hbWU6ICcnLCBvcmRlcjogMSwgZmllbGRzOiBbbmFtZUZpZWxkLCBlbWFpbEZpZWxkLCByZWFzb25GaWVsZF0gfV0sXG4gICAgICBhY3Rpb25zOiBzdWJtaXRCdXR0b24sXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoREVGQVVMVF9OQU1FU1BBQ0UsIEFDQ0VTU19SRVFVRVNUX1ZJRVdfSTE4Tik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyh0aGlzLmkxOG5OYW1lc3BhY2UsIEFDQ0VTU19SRVFVRVNUX1ZJRVdfSTE4Tik7XG4gIH1cblxuICBzdWJtaXQoZXZlbnQ6IEZvcm1TdWJtaXQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZW5kaW5nKCkpIHJldHVybjtcblxuICAgIGNvbnN0IHZhbHVlcyA9IChldmVudD8uZmllbGRzID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGNvbnN0IGVtYWlsID0gKHZhbHVlc1snZW1haWwnXSA/PyAnJykudHJpbSgpO1xuICAgIGNvbnN0IG5hbWUgPSAodmFsdWVzWyduYW1lJ10gPz8gJycpLnRyaW0oKTtcbiAgICBjb25zdCByZWFzb24gPSAodmFsdWVzWydyZWFzb24nXSA/PyAnJykudHJpbSgpO1xuICAgIGlmICghZW1haWwgfHwgIW5hbWUpIHJldHVybjtcblxuICAgIHRoaXMuc2VuZGluZy5zZXQodHJ1ZSk7XG5cbiAgICAvLyBBdXRlbnRpY2FkbyBvIG5vOiBxdWllbiBlc3TDoSBibG9xdWVhZG8gcG9yIGludml0YWNpw7NuIFPDjSB0aWVuZSBzZXNpw7NuLFxuICAgIC8vIHBlcm8gbGEgdmlzdGEgdGFtYmnDqW4gc2lydmUgYW50ZXMgZGUgZW50cmFyLlxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiBBQ0NFU1NfUkVRVUVTVF9UWVBFLFxuICAgICAgdGl0bGU6IGBTb2xpY2l0dWQgZGUgYWNjZXNvIOKAlCAke25hbWV9YCxcbiAgICAgIGZpZWxkczogeyBuYW1lLCBlbWFpbCwgcmVhc29uIH0sXG4gICAgICBzdWJtaXR0ZXI6IHsgbmFtZSwgZW1haWwgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgY2FsbCQgPSB0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKClcbiAgICAgID8gdGhpcy5yZXF1ZXN0cy5jcmVhdGVSZXF1ZXN0KHBheWxvYWQpXG4gICAgICA6IHRoaXMucmVxdWVzdHMuY3JlYXRlQW5vbnltb3VzUmVxdWVzdChwYXlsb2FkKTtcblxuICAgIGNhbGwkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZW50VG8uc2V0KGVtYWlsKTtcbiAgICAgICAgdGhpcy5zZW50LnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5yZXF1ZXN0ZWQuZW1pdChyZXM/LnJlcXVlc3RJZCA/PyAnJyk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgICAgY29udGV4dDogJ2FjY2Vzc1JlcXVlc3Quc3VibWl0JyxcbiAgICAgICAgICBmYWxsYmFja0tleTogJ3NlbmRFcnJvcicsXG4gICAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5pMThuTmFtZXNwYWNlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLmkxOG5OYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLXJlcXVlc3Qtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FjY2Vzcy1yZXF1ZXN0LXZpZXcvYWNjZXNzLXJlcXVlc3Qtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBRUwsZUFBZSxFQUlmLFNBQVMsR0FDVixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVyRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFdEUsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFFMUMsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0FBRXBEOzs7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VSwwQkFBMEI7bUdBQTFCLDBCQUEwQixvS0FsQzNCOzs7Ozs7Ozs7Ozs7R0FZVCxrUkFiUyxhQUFhLCtJQUFFLGdCQUFnQiwyRUFBRSxhQUFhLHdFQUFFLG1CQUFtQjs7NEZBbUNsRSwwQkFBMEI7a0JBdEN0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLFlBQ3BFOzs7Ozs7Ozs7Ozs7R0FZVDt3REE2QlEsYUFBYTtzQkFBckIsS0FBSztnQkFHYSxTQUFTO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBCdXR0b25NZXRhZGF0YSxcbiAgQ29tcG9uZW50U3RhdGVzLFxuICBGb3JtTWV0YWRhdGEsXG4gIEZvcm1TdWJtaXQsXG4gIElucHV0TWV0YWRhdGEsXG4gIElucHV0VHlwZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsdGVjaEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy92YWx0ZWNoLWVycm9yLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBQ0NFU1NfUkVRVUVTVF9WSUVXX0kxOE4gfSBmcm9tICcuL2FjY2Vzcy1yZXF1ZXN0LXZpZXcuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ0FjY2Vzc1JlcXVlc3QnO1xuXG4vKiogVGlwbyBkZSBzb2xpY2l0dWQgY29uIHF1ZSBzZSByZWdpc3RyYW4gZXN0YXMgcGV0aWNpb25lcy4gKi9cbmV4cG9ydCBjb25zdCBBQ0NFU1NfUkVRVUVTVF9UWVBFID0gJ2FjY2Vzcy1yZXF1ZXN0JztcblxuLyoqXG4gKiBgdmFsLWFjY2Vzcy1yZXF1ZXN0LXZpZXdgIOKAlCBsbyBxdWUgdmUgYWxndWllbiBjdWFuZG8gbGEgYXBwIGVzdMOhIGVuIG1vZG9cbiAqIGludml0YWNpw7NuIHkgbm8gZXN0w6EgZW4gbGEgbGlzdGEuXG4gKlxuICogTm8gZXMgdW5hIHBhbnRhbGxhIGRlIGVycm9yOiBlcyB1bmEgcHVlcnRhIGNvbiB0aW1icmUuIEV4cGxpY2EgcG9yIHF1w6kgZXN0w6FcbiAqIGNlcnJhZG8geSBkZWphIHBlZGlyIGVudHJhciwgcXVlIGVzIGxhIGRpZmVyZW5jaWEgZW50cmUgcGVyZGVyIGEgbGEgcGVyc29uYSB5XG4gKiBzYWJlciBxdWnDqW4gcXVpc28gZW50cmFyLlxuICpcbiAqIExhIHNvbGljaXR1ZCBzZSByZWdpc3RyYSBjb21vIHVuIGByZXF1ZXN0YCBkZWwgdGlwbyBgYWNjZXNzLXJlcXVlc3RgLCBhc8OtIHF1ZVxuICogc2UgcmV2aXNhIGNvbiBsYXMgbWlzbWFzIGhlcnJhbWllbnRhcyBxdWUgZWwgcmVzdG8gZGUgbGFzIHNvbGljaXR1ZGVzLlxuICpcbiAqIFNlIHVzYSBqdW50byBjb24gZWwgbW9kbyBkZSBhY2Nlc28gZGVsIGJhY2tlbmQgKGBBY2Nlc3NNb2RlYCA9IGBpbnZpdGVgKSwgcXVlXG4gKiBlcyBsbyBxdWUgcmVhbG1lbnRlIGZyZW5hLiBWZXIgZG9jcy9ydW5ib29rcy9jb3N0LWd1YXJkcmFpbHMubWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1Db21wb25lbnQsIERpc3BsYXlDb21wb25lbnQsIFRleHRDb21wb25lbnQsIEVtcHR5U3RhdGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoc2VudCgpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJzZW50U3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImFjY2Vzcy1yZXF1ZXN0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjZXNzLXJlcXVlc3RfX2V5ZWJyb3dcIj57eyB0KCdleWVicm93JykgfX08L3NwYW4+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCd0aXRsZScpLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICA8dmFsLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogdCgnYm9keScpLCBjb2xvcjogJ2RhcmsnLCBzaXplOiAnbWVkaXVtJywgYm9sZDogZmFsc2UgfVwiIC8+XG5cbiAgICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJmb3JtKClcIiAob25TdWJtaXQpPVwic3VibWl0KCRldmVudClcIiAvPlxuICAgICAgPC9zZWN0aW9uPlxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmFjY2Vzcy1yZXF1ZXN0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuYWNjZXNzLXJlcXVlc3RfX2V5ZWJyb3cge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NSZXF1ZXN0Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdHMgPSBpbmplY3QoUmVxdWVzdFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9ycyA9IGluamVjdChWYWx0ZWNoRXJyb3JTZXJ2aWNlKTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4sIHBvciBzaSB1bmEgYXBwIHF1aWVyZSBzdSBwcm9waWEgcmVkYWNjacOzbi4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIC8qKiBTZSBlbWl0ZSBjdWFuZG8gbGEgc29saWNpdHVkIHF1ZWTDsyByZWdpc3RyYWRhLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgcmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcmVhZG9ubHkgc2VuZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbnQgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbnRUbyA9IHNpZ25hbCgnJyk7XG5cbiAgcmVhZG9ubHkgc2VudFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFyaWFudDogJ2VtcHR5JyxcbiAgICAgIHRpdGxlOiB0aGlzLnQoJ3NlbnRUaXRsZScpLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMudCgnc2VudEJvZHknKS5yZXBsYWNlKCd7ZW1haWx9JywgdGhpcy5zZW50VG8oKSksXG4gICAgfSBhcyBFbXB0eVN0YXRlTWV0YWRhdGE7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGZvcm0gPSBjb21wdXRlZDxGb3JtTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHdvcmtpbmcgPSB0aGlzLnNlbmRpbmcoKTtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5hdXRoLnVzZXIoKTtcblxuICAgIGNvbnN0IG5hbWVGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYWNjZXNzLXJlcXVlc3QtbmFtZScsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBsYWJlbDogdGhpcy50KCduYW1lTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgnbmFtZVBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyMCldLFxuICAgICAgZXJyb3JzOiB7IHJlcXVpcmVkOiB0aGlzLnQoJ25vTmFtZScpIH0sXG4gICAgICB2YWx1ZTogdXNlcj8ubmFtZSA/PyAnJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgICBjb25zdCBlbWFpbEZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhY2Nlc3MtcmVxdWVzdC1lbWFpbCcsXG4gICAgICBuYW1lOiAnZW1haWwnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnZW1haWxMYWJlbCcpLFxuICAgICAgaGludDogJycsXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdlbWFpbFBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuRU1BSUwsXG4gICAgICBvcmRlcjogMixcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSxcbiAgICAgIGVycm9yczogeyByZXF1aXJlZDogdGhpcy50KCdub0VtYWlsJyksIGVtYWlsOiB0aGlzLnQoJ2ludmFsaWRFbWFpbCcpIH0sXG4gICAgICB2YWx1ZTogdXNlcj8uZW1haWwgPz8gJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3QgcmVhc29uRmllbGQ6IElucHV0TWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2FjY2Vzcy1yZXF1ZXN0LXJlYXNvbicsXG4gICAgICBuYW1lOiAncmVhc29uJyxcbiAgICAgIGxhYmVsOiB0aGlzLnQoJ3JlYXNvbkxhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ3JlYXNvblBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICBvcmRlcjogMyxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MDApXSxcbiAgICAgIGVycm9yczoge30sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3Qgc3VibWl0QnV0dG9uOiBCdXR0b25NZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYWNjZXNzLXJlcXVlc3Qtc3VibWl0JyxcbiAgICAgIHRleHQ6IHRoaXMudCgnc3VibWl0JyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICBzdGF0ZTogd29ya2luZyA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBCdXR0b25NZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDEsIGZpZWxkczogW25hbWVGaWVsZCwgZW1haWxGaWVsZCwgcmVhc29uRmllbGRdIH1dLFxuICAgICAgYWN0aW9uczogc3VibWl0QnV0dG9uLFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKERFRkFVTFRfTkFNRVNQQUNFLCBBQ0NFU1NfUkVRVUVTVF9WSUVXX0kxOE4pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHModGhpcy5pMThuTmFtZXNwYWNlLCBBQ0NFU1NfUkVRVUVTVF9WSUVXX0kxOE4pO1xuICB9XG5cbiAgc3VibWl0KGV2ZW50OiBGb3JtU3VibWl0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VuZGluZygpKSByZXR1cm47XG5cbiAgICBjb25zdCB2YWx1ZXMgPSAoZXZlbnQ/LmZpZWxkcyA/PyB7fSkgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBjb25zdCBlbWFpbCA9ICh2YWx1ZXNbJ2VtYWlsJ10gPz8gJycpLnRyaW0oKTtcbiAgICBjb25zdCBuYW1lID0gKHZhbHVlc1snbmFtZSddID8/ICcnKS50cmltKCk7XG4gICAgY29uc3QgcmVhc29uID0gKHZhbHVlc1sncmVhc29uJ10gPz8gJycpLnRyaW0oKTtcbiAgICBpZiAoIWVtYWlsIHx8ICFuYW1lKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbmRpbmcuc2V0KHRydWUpO1xuXG4gICAgLy8gQXV0ZW50aWNhZG8gbyBubzogcXVpZW4gZXN0w6EgYmxvcXVlYWRvIHBvciBpbnZpdGFjacOzbiBTw40gdGllbmUgc2VzacOzbixcbiAgICAvLyBwZXJvIGxhIHZpc3RhIHRhbWJpw6luIHNpcnZlIGFudGVzIGRlIGVudHJhci5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdHlwZTogQUNDRVNTX1JFUVVFU1RfVFlQRSxcbiAgICAgIHRpdGxlOiBgU29saWNpdHVkIGRlIGFjY2VzbyDigJQgJHtuYW1lfWAsXG4gICAgICBmaWVsZHM6IHsgbmFtZSwgZW1haWwsIHJlYXNvbiB9LFxuICAgICAgc3VibWl0dGVyOiB7IG5hbWUsIGVtYWlsIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGNhbGwkID0gdGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpXG4gICAgICA/IHRoaXMucmVxdWVzdHMuY3JlYXRlUmVxdWVzdChwYXlsb2FkKVxuICAgICAgOiB0aGlzLnJlcXVlc3RzLmNyZWF0ZUFub255bW91c1JlcXVlc3QocGF5bG9hZCk7XG5cbiAgICBjYWxsJC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuc2VudFRvLnNldChlbWFpbCk7XG4gICAgICAgIHRoaXMuc2VudC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMucmVxdWVzdGVkLmVtaXQocmVzPy5yZXF1ZXN0SWQgPz8gJycpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICAgIGNvbnRleHQ6ICdhY2Nlc3NSZXF1ZXN0LnN1Ym1pdCcsXG4gICAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kRXJyb3InLFxuICAgICAgICAgIGkxOG5OYW1lc3BhY2U6IHRoaXMuaTE4bk5hbWVzcGFjZSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5pMThuTmFtZXNwYWNlKTtcbiAgfVxufVxuIl19
@@ -243,7 +243,7 @@ export class ApiKeysModalComponent {
243
243
  } @else {
244
244
  <!-- Lista -->
245
245
  @if (keys().length === 0) {
246
- <val-text [props]="{ content: t('empty'), size: 'medium', color: 'medium', bold: false }" />
246
+ <val-text [props]="{ content: t('empty'), size: 'medium', color: 'dark', bold: false }" />
247
247
  } @else {
248
248
  <div class="apikey-list">
249
249
  @for (k of keys(); track k.keyId) {
@@ -278,7 +278,7 @@ export class ApiKeysModalComponent {
278
278
  (selectedChange)="selectedPerms.set($event)"
279
279
  />
280
280
  <val-form [props]="createForm()" (onSubmit)="onCreateSubmit($event)" />
281
- <ion-button expand="block" fill="clear" color="medium" shape="round" (click)="showCreate.set(false)">
281
+ <ion-button expand="block" fill="clear" color="dark" shape="round" (click)="showCreate.set(false)">
282
282
  {{ t('cancel') }}
283
283
  </ion-button>
284
284
  </div>
@@ -346,7 +346,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
346
346
  } @else {
347
347
  <!-- Lista -->
348
348
  @if (keys().length === 0) {
349
- <val-text [props]="{ content: t('empty'), size: 'medium', color: 'medium', bold: false }" />
349
+ <val-text [props]="{ content: t('empty'), size: 'medium', color: 'dark', bold: false }" />
350
350
  } @else {
351
351
  <div class="apikey-list">
352
352
  @for (k of keys(); track k.keyId) {
@@ -381,7 +381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
381
381
  (selectedChange)="selectedPerms.set($event)"
382
382
  />
383
383
  <val-form [props]="createForm()" (onSubmit)="onCreateSubmit($event)" />
384
- <ion-button expand="block" fill="clear" color="medium" shape="round" (click)="showCreate.set(false)">
384
+ <ion-button expand="block" fill="clear" color="dark" shape="round" (click)="showCreate.set(false)">
385
385
  {{ t('cancel') }}
386
386
  </ion-button>
387
387
  </div>
@@ -401,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
401
401
  }], i18nNamespace: [{
402
402
  type: Input
403
403
  }] } });
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5cy1tb2RhbC9hcGkta2V5cy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixD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UDt3QkFDUCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLDJCQUEyQjtxQkFDNUIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUZUO3dEQXdGUSxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25TcGlubmVyLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMsIEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCwgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXBpS2V5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwaWtleXMvYXBpLWtleXMuc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRBcGlLZXksIENsaWVudEFwaUtleVdpdGhTZWNyZXQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemVkTGFiZWwsXG4gIFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSxcbiAgUGVybWlzc2lvblJlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBUElfS0VZU19NT0RBTF9JMThOIH0gZnJvbSAnLi9hcGkta2V5cy1tb2RhbC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuQXBpS2V5c01vZGFsJztcblxuLyoqXG4gKiBgdmFsLWFwaS1rZXlzLW1vZGFsYCDigJQgZ2VzdGnDs24gZGUgQ2xpZW50IEFQSSBLZXlzIG9yZy1zY29wZWFkYXMgKEFEUi0wMjMgZmFzZSA2KS5cbiAqXG4gKiBMaXN0YSBsYXMga2V5cyBkZSBsYSBvcmcsIHBlcm1pdGUgY3JlYXIgKG1vc3RyYW5kbyBlbCBzZWNyZXRvIFVOQSB2ZXogY29uIGNvcGlhKVxuICogeSByZXZvY2FyLiBQZW5zYWRvIHBhcmEgaGFiaWxpdGFyIGludGVncmFjaW9uZXMgTTJNIGRlbCBpbXBvcnQgZGUgbWllbWJyb3MsIHBlcm9cbiAqIHNpcnZlIGEgY3VhbHF1aWVyIHBlcm1pc28gZGVsIGNhdMOhbG9nby4gSGVhZGVyIGNhbsOzbmljbyAoUmVnbGEgIzUpLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXBpLWtleXMtbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25TcGlubmVyLFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyB0KCdjbG9zZScpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3RpdGxlJyksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ2hpbnQnKSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgQGlmIChzZWNyZXQoKTsgYXMgcykge1xuICAgICAgICA8IS0tIFNlY3JldG8gcmVjacOpbiBjcmVhZG86IG1vc3RyYXIgVU5BIHZleiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3NlY3JldFRpdGxlJyksIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogdHJ1ZSB9XCIgLz5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1zZWNyZXRfX3dhcm5cIj57eyB0KCdzZWNyZXRXYXJuaW5nJykgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRfX2JveFwiPlxuICAgICAgICAgICAgPGNvZGU+e3sgcy5zZWNyZXQgfX08L2NvZGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiY29weShzLnNlY3JldClcIj5cbiAgICAgICAgICAgICAge3sgY29waWVkKCkgPyB0KCdjb3BpZWQnKSA6IHQoJ2NvcHknKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiZmluaXNoU2VjcmV0KClcIj5cbiAgICAgICAgICAgICAge3sgdCgnZG9uZScpIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPCEtLSBMaXN0YSAtLT5cbiAgICAgICAgICBAaWYgKGtleXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdlbXB0eScpLCBzaXplOiAnbWVkaXVtJywgY29sb3I6ICdtZWRpdW0nLCBib2xkOiBmYWxzZSB9XCIgLz5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktbGlzdFwiPlxuICAgICAgICAgICAgICBAZm9yIChrIG9mIGtleXMoKTsgdHJhY2sgay5rZXlJZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktcm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LXJvd19fbWFpblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwaWtleS1yb3dfX25hbWVcIj57eyBrLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBpa2V5LXJvd19fbWV0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGsucGVybWlzc2lvbnMubGVuZ3RoIH19IHt7IHQoJ3Blcm1zQ291bnQnKSB9fSDCtyB7eyB0KCdsYXN0VXNlZCcpIH19OlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGsubGFzdFVzZWRBdCB8fCB0KCduZXZlcicpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYW5nZXJcIiBzaXplPVwic21hbGxcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInJldm9rZShrKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdyZXZva2UnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGVycm9yTXNnKCkpIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXBpa2V5LWVycm9yXCI+e3sgZXJyb3JNc2coKSB9fTwvcD5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8IS0tIENyZWFyIOKAlCB2YWwtZm9ybSAobm9tYnJlICsgZXhwaXJhY2nDs24pICsgc2VsZWN0b3IgZGUgcGVybWlzb3MuIC0tPlxuICAgICAgICAgIEBpZiAoc2hvd0NyZWF0ZSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWNyZWF0ZVwiPlxuICAgICAgICAgICAgICA8dmFsLXBlcm1pc3Npb24tc2VsZWN0b3JcbiAgICAgICAgICAgICAgICBbaGVhZGVyXT1cInQoJ3Blcm1pc3Npb25zTGFiZWwnKVwiXG4gICAgICAgICAgICAgICAgW3Blcm1pc3Npb25zXT1cImNhdGFsb2dQZXJtaXNzaW9ucygpXCJcbiAgICAgICAgICAgICAgICBbYWN0aW9uTGFiZWxzXT1cImFjdGlvbkxhYmVscygpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRQZXJtcygpXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0ZWRQZXJtcy5zZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtZm9ybSBbcHJvcHNdPVwiY3JlYXRlRm9ybSgpXCIgKG9uU3VibWl0KT1cIm9uQ3JlYXRlU3VibWl0KCRldmVudClcIiAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJzaG93Q3JlYXRlLnNldChmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdjYW5jZWwnKSB9fVxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcGlrZXktYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGNvbG9yPVwicHJpbWFyeVwiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwib3BlbkNyZWF0ZSgpXCI+XG4gICAgICAgICAgICAgICAge3sgdCgnbmV3S2V5JykgfX1cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9pb24tY29udGVudD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLyogU2hlZXQgbW9kYWw6IHBhZGRpbmcgaW5mZXJpb3IgZ2VuZXJvc28gcGFyYSBwb2RlciBzY3JvbGxlYXIgaGFzdGEgZWxcbiAgICAgICAgIMO6bHRpbW8gZWxlbWVudG8gKGJvdMOzbiBjcmVhcikgc2luIHF1ZSBxdWVkZSBiYWpvIGVsIGJvcmRlL2luZGljYWRvci4gKi9cbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgIH1cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIH1cbiAgICAgIHZhbC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgICAgLmFwaWtleS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1yb3dfX21haW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1yb3dfX25hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1yb3dfX21ldGEge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyay1zaGFkZSwgIzZiNmU3Nik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWNyZWF0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMCAwO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1wZXJtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWFjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDhweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlciwgI2MwMzkyYik7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXNlY3JldF9fd2FybiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itd2FybmluZy1zaGFkZSwgI2I4ODYwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X19ib3gge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwaUtleXNNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgYXBpS2V5cyA9IGluamVjdChBcGlLZXlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjYXRhbG9nID0gaW5qZWN0KFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYC4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4uICovXG4gIEBJbnB1dCgpIGkxOG5OYW1lc3BhY2UgPSBERUZBVUxUX05BTUVTUEFDRTtcblxuICAvKiogUGVybWlzb3MgZGVsIGNhdMOhbG9nbyBZQSBmaWx0cmFkb3MgKHNpbiBpbnRlcm5hbCwgc2luIG90cmFzIGFwcHMpLiAqL1xuICByZWFkb25seSBjYXRhbG9nUGVybWlzc2lvbnMgPSBzaWduYWw8UGVybWlzc2lvblJlc291cmNlW10+KFtdKTtcbiAgLyoqIExhYmVscyBkZSBhY2Npw7NuIChlcy9lbikgZGVsIGJhY2tlbmQsIHBhcmEgZWwgc2VsZWN0b3IuICovXG4gIHJlYWRvbmx5IGFjdGlvbkxhYmVscyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBMb2NhbGl6ZWRMYWJlbD4+KHt9KTtcbiAgLyoqIFBlcm1pc29zIHNlbGVjY2lvbmFkb3MgcGFyYSBsYSBudWV2YSBrZXkgKGByZXNvdXJjZTphY3Rpb25gKS4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQZXJtcyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gIHJlYWRvbmx5IGtleXMgPSBzaWduYWw8Q2xpZW50QXBpS2V5W10+KFtdKTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgc2hvd0NyZWF0ZSA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHN1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBlcnJvck1zZyA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlY3JldCA9IHNpZ25hbDxDbGllbnRBcGlLZXlXaXRoU2VjcmV0IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNvcGllZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEZvcm1NZXRhZGF0YSBkZWwgZm9ybSBkZSBjcmVhciBrZXkgKHZhbC1mb3JtKS4gUmVhY3Rpdm8gYSBpZGlvbWEgKyBwZXJtaXNvc1xuICAgKiBkaXNwb25pYmxlcyArIGVzdGFkbyBzdWJtaXR0aW5nLiBSZWVtcGxhemEgbG9zIGlvbi1pbnB1dC9pb24tY2hlY2tib3ggY3J1ZG9zXG4gICAqIHBvciB2YWwtZm9ybSAoY29uc2lzdGVuY2lhIGNvbiBlbCByZXN0byBkZSBtb2RhbGVzIGRlbCBmYWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUZvcm0gPSBjb21wdXRlZDxGb3JtTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIGNvbnN0IHdvcmtpbmcgPSB0aGlzLnN1Ym1pdHRpbmcoKTtcblxuICAgIGNvbnN0IG5hbWVGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LW5hbWUnLFxuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnbmFtZUxhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ25hbWVQbGFjZWhvbGRlcicpLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLlRFWFQsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApXSxcbiAgICAgIGVycm9yczogeyByZXF1aXJlZDogdGhpcy50KCdub05hbWUnKSB9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IGV4cGlyZXNGaWVsZDogSW5wdXRNZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWV4cGlyZXMnLFxuICAgICAgbmFtZTogJ2V4cGlyZXNJbkRheXMnLFxuICAgICAgbGFiZWw6IHRoaXMudCgnZXhwaXJlc0xhYmVsJyksXG4gICAgICBoaW50OiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5OVU1CRVIsXG4gICAgICBvcmRlcjogMyxcbiAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLm1pbigxKV0sXG4gICAgICBlcnJvcnM6IHt9LFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcblxuICAgIGNvbnN0IHN1Ym1pdEJ1dHRvbjogQnV0dG9uTWV0YWRhdGEgPSB7XG4gICAgICB0b2tlbjogJ2FwaWtleS1jcmVhdGUtc3VibWl0JyxcbiAgICAgIHRleHQ6IHRoaXMudCgnY3JlYXRlJyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgICBzdGF0ZTogd29ya2luZyA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBCdXR0b25NZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDEsIGZpZWxkczogW25hbWVGaWVsZCwgZXhwaXJlc0ZpZWxkXSB9XSxcbiAgICAgIGFjdGlvbnM6IHN1Ym1pdEJ1dHRvbixcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhERUZBVUxUX05BTUVTUEFDRSwgQVBJX0tFWVNfTU9EQUxfSTE4Tik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyh0aGlzLmkxOG5OYW1lc3BhY2UsIEFQSV9LRVlTX01PREFMX0kxOE4pO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIHRoaXMubG9hZENhdGFsb2coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSBlbCBjYXTDoWxvZ28gZGUgcGVybWlzb3MgeSBsbyBmaWx0cmEgYSBsbyBhc2lnbmFibGUgYSB1bmEgQVBJIEtleSBkZSBsYVxuICAgKiBvcmc6IGRlc2NhcnRhIGBzY29wZTppbnRlcm5hbGAgKGVsIGJhY2tlbmQgeWEgbG9zIG9taXRlIHBhcmEgbm8tc3RhZmYpIHkgbG9zXG4gICAqIHBlcm1pc29zIGRlIE9UUkFTIGFwcHMgKGBhcHBJZCAhPT0gYXBwSWQgZGVsIGNhdMOhbG9nb2ApLiBRdWVkYW4gbG9zIHBlcm1pc29zIGRlXG4gICAqIG9yZyAodXNlcnMvcm9sZXMvcmJhYykgKyBsb3MgZGUgbGEgYXBwIGFjdHVhbC5cbiAgICovXG4gIHByaXZhdGUgbG9hZENhdGFsb2coKTogdm9pZCB7XG4gICAgY29uc3Qgb3JnSWQgPSB0aGlzLmFjdGl2ZU9yZ0lkKCk7XG4gICAgaWYgKCFvcmdJZCkgcmV0dXJuO1xuICAgIHRoaXMuY2F0YWxvZy5nZXRDYXRhbG9nKG9yZ0lkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgY29uc3QgYXBwSWQgPSByZXMuYXBwSWQ7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkID0gKHJlcy5wZXJtaXNzaW9ucyA/PyBbXSkuZmlsdGVyKFxuICAgICAgICAgIHAgPT4gcC5zY29wZSAhPT0gJ2ludGVybmFsJyAmJiAocC5zY29wZSAhPT0gJ2FwcCcgfHwgcC5hcHBJZCA9PT0gYXBwSWQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY2F0YWxvZ1Blcm1pc3Npb25zLnNldChmaWx0ZXJlZCk7XG4gICAgICAgIHRoaXMuYWN0aW9uTGFiZWxzLnNldChyZXMuYWN0aW9uTGFiZWxzID8/IHt9KTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAvLyBTaW4gY2F0w6Fsb2dvOiBlbCBzZWxlY3RvciBxdWVkYSB2YWPDrW8gKGVsIGZvcm0gdmFsaWRhIOKJpTEgcGVybWlzbykuXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVPcmdJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHsgYWN0aXZlT3JnSWQ/OiBzdHJpbmc7IGFjdGl2ZU9yZz86IHN0cmluZyB9IHwgbnVsbDtcbiAgICByZXR1cm4gdT8uYWN0aXZlT3JnSWQgPz8gdT8uYWN0aXZlT3JnID8/ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5hcGlLZXlzLmxpc3QoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDoga2V5cyA9PiB7XG4gICAgICAgIHRoaXMua2V5cy5zZXQoa2V5cyk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1zZy5zZXQoJycpO1xuICAgIHRoaXMuc2VsZWN0ZWRQZXJtcy5zZXQoW10pO1xuICAgIHRoaXMuc2hvd0NyZWF0ZS5zZXQodHJ1ZSk7XG4gIH1cblxuICBvbkNyZWF0ZVN1Ym1pdChldmVudDogRm9ybVN1Ym1pdCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ym1pdHRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMuZXJyb3JNc2cuc2V0KCcnKTtcblxuICAgIGNvbnN0IG5hbWUgPSBTdHJpbmcoZXZlbnQuZmllbGRzWyduYW1lJ10gPz8gJycpLnRyaW0oKTtcbiAgICBjb25zdCBwZXJtaXNzaW9ucyA9IHRoaXMuc2VsZWN0ZWRQZXJtcygpO1xuICAgIGNvbnN0IGV4cGlyZXNSYXcgPSBOdW1iZXIoZXZlbnQuZmllbGRzWydleHBpcmVzSW5EYXlzJ10pO1xuXG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICB0aGlzLmVycm9yTXNnLnNldCh0aGlzLnQoJ25vTmFtZScpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFwZXJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KHRoaXMudCgnbm9QZXJtcycpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuYXBpS2V5c1xuICAgICAgLmNyZWF0ZSh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICBleHBpcmVzSW5EYXlzOiBOdW1iZXIuaXNGaW5pdGUoZXhwaXJlc1JhdykgJiYgZXhwaXJlc1JhdyA+IDAgPyBleHBpcmVzUmF3IDogdW5kZWZpbmVkLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgIHRoaXMuc3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuc2hvd0NyZWF0ZS5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuc2VjcmV0LnNldChyZXMua2V5KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5zdWJtaXR0aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5lcnJvck1zZy5zZXQoZXJyPy5lcnJvcj8ubWVzc2FnZSA/PyB0aGlzLnQoJ2dlbmVyaWNFcnJvcicpKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcmV2b2tlKGtleTogQ2xpZW50QXBpS2V5KTogdm9pZCB7XG4gICAgaWYgKCFjb25maXJtKHRoaXMudCgncmV2b2tlQ29uZmlybScpKSkgcmV0dXJuO1xuICAgIHRoaXMuYXBpS2V5cy5yZXZva2Uoa2V5LmtleUlkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4gdGhpcy5yZWZyZXNoKCksXG4gICAgICBlcnJvcjogZXJyID0+IHRoaXMuZXJyb3JNc2cuc2V0KGVycj8uZXJyb3I/Lm1lc3NhZ2UgPz8gdGhpcy50KCdnZW5lcmljRXJyb3InKSksXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBjb3B5KHNlY3JldDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNlY3JldCk7XG4gICAgICB0aGlzLmNvcGllZC5zZXQodHJ1ZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBjbGlwYm9hcmQgbm8gZGlzcG9uaWJsZSDigJQgZWwgdXNlciBwdWVkZSBzZWxlY2Npb25hciBlbCB0ZXh0byBtYW51YWxtZW50ZVxuICAgIH1cbiAgfVxuXG4gIGZpbmlzaFNlY3JldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlY3JldC5zZXQobnVsbCk7XG4gICAgdGhpcy5jb3BpZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5pMThuTmFtZXNwYWNlKTtcbiAgfVxufVxuIl19
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleXMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcGkta2V5cy1tb2RhbC9hcGkta2V5cy1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBa0IsZUFBZSxFQUEyQyxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUVMLHdCQUF3QixHQUV6QixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRWhILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixD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UDt3QkFDUCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLDJCQUEyQjtxQkFDNUIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUZUO3dEQXdGUSxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25TcGlubmVyLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMsIEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCwgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXBpS2V5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwaWtleXMvYXBpLWtleXMuc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRBcGlLZXksIENsaWVudEFwaUtleVdpdGhTZWNyZXQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcGlrZXlzL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTG9jYWxpemVkTGFiZWwsXG4gIFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSxcbiAgUGVybWlzc2lvblJlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvcGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Blcm1pc3Npb24tc2VsZWN0b3IvcGVybWlzc2lvbi1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBUElfS0VZU19NT0RBTF9JMThOIH0gZnJvbSAnLi9hcGkta2V5cy1tb2RhbC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnU2V0dGluZ3MuQXBpS2V5c01vZGFsJztcblxuLyoqXG4gKiBgdmFsLWFwaS1rZXlzLW1vZGFsYCDigJQgZ2VzdGnDs24gZGUgQ2xpZW50IEFQSSBLZXlzIG9yZy1zY29wZWFkYXMgKEFEUi0wMjMgZmFzZSA2KS5cbiAqXG4gKiBMaXN0YSBsYXMga2V5cyBkZSBsYSBvcmcsIHBlcm1pdGUgY3JlYXIgKG1vc3RyYW5kbyBlbCBzZWNyZXRvIFVOQSB2ZXogY29uIGNvcGlhKVxuICogeSByZXZvY2FyLiBQZW5zYWRvIHBhcmEgaGFiaWxpdGFyIGludGVncmFjaW9uZXMgTTJNIGRlbCBpbXBvcnQgZGUgbWllbWJyb3MsIHBlcm9cbiAqIHNpcnZlIGEgY3VhbHF1aWVyIHBlcm1pc28gZGVsIGNhdMOhbG9nby4gSGVhZGVyIGNhbsOzbmljbyAoUmVnbGEgIzUpLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXBpLWtleXMtbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25TcGlubmVyLFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFBlcm1pc3Npb25TZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyB0KCdjbG9zZScpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3RpdGxlJyksIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ2hpbnQnKSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cblxuICAgICAgQGlmIChzZWNyZXQoKTsgYXMgcykge1xuICAgICAgICA8IS0tIFNlY3JldG8gcmVjacOpbiBjcmVhZG86IG1vc3RyYXIgVU5BIHZleiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHQoJ3NlY3JldFRpdGxlJyksIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogdHJ1ZSB9XCIgLz5cbiAgICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1zZWNyZXRfX3dhcm5cIj57eyB0KCdzZWNyZXRXYXJuaW5nJykgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1zZWNyZXRfX2JveFwiPlxuICAgICAgICAgICAgPGNvZGU+e3sgcy5zZWNyZXQgfX08L2NvZGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiY29weShzLnNlY3JldClcIj5cbiAgICAgICAgICAgICAge3sgY29waWVkKCkgPyB0KCdjb3BpZWQnKSA6IHQoJ2NvcHknKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiZmluaXNoU2VjcmV0KClcIj5cbiAgICAgICAgICAgICAge3sgdCgnZG9uZScpIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPCEtLSBMaXN0YSAtLT5cbiAgICAgICAgICBAaWYgKGtleXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIDx2YWwtdGV4dCBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdlbXB0eScpLCBzaXplOiAnbWVkaXVtJywgY29sb3I6ICdkYXJrJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LWxpc3RcIj5cbiAgICAgICAgICAgICAgQGZvciAoayBvZiBrZXlzKCk7IHRyYWNrIGsua2V5SWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBpa2V5LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1yb3dfX21haW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcGlrZXktcm93X19uYW1lXCI+e3sgay5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwaWtleS1yb3dfX21ldGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLnBlcm1pc3Npb25zLmxlbmd0aCB9fSB7eyB0KCdwZXJtc0NvdW50JykgfX0gwrcge3sgdCgnbGFzdFVzZWQnKSB9fTpcbiAgICAgICAgICAgICAgICAgICAgICB7eyBrLmxhc3RVc2VkQXQgfHwgdCgnbmV2ZXInKSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT1cInNtYWxsXCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJyZXZva2UoaylcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgncmV2b2tlJykgfX1cbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChlcnJvck1zZygpKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImFwaWtleS1lcnJvclwiPnt7IGVycm9yTXNnKCkgfX08L3A+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPCEtLSBDcmVhciDigJQgdmFsLWZvcm0gKG5vbWJyZSArIGV4cGlyYWNpw7NuKSArIHNlbGVjdG9yIGRlIHBlcm1pc29zLiAtLT5cbiAgICAgICAgICBAaWYgKHNob3dDcmVhdGUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1jcmVhdGVcIj5cbiAgICAgICAgICAgICAgPHZhbC1wZXJtaXNzaW9uLXNlbGVjdG9yXG4gICAgICAgICAgICAgICAgW2hlYWRlcl09XCJ0KCdwZXJtaXNzaW9uc0xhYmVsJylcIlxuICAgICAgICAgICAgICAgIFtwZXJtaXNzaW9uc109XCJjYXRhbG9nUGVybWlzc2lvbnMoKVwiXG4gICAgICAgICAgICAgICAgW2FjdGlvbkxhYmVsc109XCJhY3Rpb25MYWJlbHMoKVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkUGVybXMoKVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdGVkUGVybXMuc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cImNyZWF0ZUZvcm0oKVwiIChvblN1Ym1pdCk9XCJvbkNyZWF0ZVN1Ym1pdCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cInNob3dDcmVhdGUuc2V0KGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ2NhbmNlbCcpIH19XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwaWtleS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIGV4cGFuZD1cImJsb2NrXCIgY29sb3I9XCJwcmltYXJ5XCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJvcGVuQ3JlYXRlKClcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCduZXdLZXknKSB9fVxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2lvbi1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiBTaGVldCBtb2RhbDogcGFkZGluZyBpbmZlcmlvciBnZW5lcm9zbyBwYXJhIHBvZGVyIHNjcm9sbGVhciBoYXN0YSBlbFxuICAgICAgICAgw7psdGltbyBlbGVtZW50byAoYm90w7NuIGNyZWFyKSBzaW4gcXVlIHF1ZWRlIGJham8gZWwgYm9yZGUvaW5kaWNhZG9yLiAqL1xuICAgICAgaW9uLWNvbnRlbnQge1xuICAgICAgICAtLXBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgICAgfVxuICAgICAgdmFsLWRpc3BsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgdmFsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1saWdodCk7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXJvd19fbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXJvd19fbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXJvd19fbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLXNoYWRlLCAjNmI2ZTc2KTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktY3JlYXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggMCAwIDA7XG4gICAgICB9XG4gICAgICAuYXBpa2V5LXBlcm1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmFwaWtleS1lcnJvciB7XG4gICAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLCAjYzAzOTJiKTtcbiAgICAgIH1cbiAgICAgIC5hcGlrZXktc2VjcmV0X193YXJuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXNoYWRlLCAjYjg4NjAwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgICAgfVxuICAgICAgLmFwaWtleS1zZWNyZXRfX2JveCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBpS2V5c01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhcGlLZXlzID0gaW5qZWN0KEFwaUtleVNlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcblxuICAvKiogSW55ZWN0YWRvIHBvciBgTW9kYWxTZXJ2aWNlLm9wZW5gLiAqL1xuICBASW5wdXQoKSBfbW9kYWxSZWY/OiB7IGRpc21pc3M6IChkYXRhPzogdW5rbm93biwgcm9sZT86IHN0cmluZykgPT4gdm9pZCB9O1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4bi4gKi9cbiAgQElucHV0KCkgaTE4bk5hbWVzcGFjZSA9IERFRkFVTFRfTkFNRVNQQUNFO1xuXG4gIC8qKiBQZXJtaXNvcyBkZWwgY2F0w6Fsb2dvIFlBIGZpbHRyYWRvcyAoc2luIGludGVybmFsLCBzaW4gb3RyYXMgYXBwcykuICovXG4gIHJlYWRvbmx5IGNhdGFsb2dQZXJtaXNzaW9ucyA9IHNpZ25hbDxQZXJtaXNzaW9uUmVzb3VyY2VbXT4oW10pO1xuICAvKiogTGFiZWxzIGRlIGFjY2nDs24gKGVzL2VuKSBkZWwgYmFja2VuZCwgcGFyYSBlbCBzZWxlY3Rvci4gKi9cbiAgcmVhZG9ubHkgYWN0aW9uTGFiZWxzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIExvY2FsaXplZExhYmVsPj4oe30pO1xuICAvKiogUGVybWlzb3Mgc2VsZWNjaW9uYWRvcyBwYXJhIGxhIG51ZXZhIGtleSAoYHJlc291cmNlOmFjdGlvbmApLiAqL1xuICByZWFkb25seSBzZWxlY3RlZFBlcm1zID0gc2lnbmFsPHN0cmluZ1tdPihbXSk7XG5cbiAgcmVhZG9ubHkga2V5cyA9IHNpZ25hbDxDbGllbnRBcGlLZXlbXT4oW10pO1xuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICByZWFkb25seSBzaG93Q3JlYXRlID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc3VibWl0dGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGVycm9yTXNnID0gc2lnbmFsKCcnKTtcbiAgcmVhZG9ubHkgc2VjcmV0ID0gc2lnbmFsPENsaWVudEFwaUtleVdpdGhTZWNyZXQgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogRm9ybU1ldGFkYXRhIGRlbCBmb3JtIGRlIGNyZWFyIGtleSAodmFsLWZvcm0pLiBSZWFjdGl2byBhIGlkaW9tYSArIHBlcm1pc29zXG4gICAqIGRpc3BvbmlibGVzICsgZXN0YWRvIHN1Ym1pdHRpbmcuIFJlZW1wbGF6YSBsb3MgaW9uLWlucHV0L2lvbi1jaGVja2JveCBjcnVkb3NcbiAgICogcG9yIHZhbC1mb3JtIChjb25zaXN0ZW5jaWEgY29uIGVsIHJlc3RvIGRlIG1vZGFsZXMgZGVsIGZhY3RvcnkpLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlRm9ybSA9IGNvbXB1dGVkPEZvcm1NZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3Qgd29ya2luZyA9IHRoaXMuc3VibWl0dGluZygpO1xuXG4gICAgY29uc3QgbmFtZUZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktbmFtZScsXG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBsYWJlbDogdGhpcy50KCduYW1lTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgnbmFtZVBsYWNlaG9sZGVyJyksXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgIG9yZGVyOiAxLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyMCldLFxuICAgICAgZXJyb3JzOiB7IHJlcXVpcmVkOiB0aGlzLnQoJ25vTmFtZScpIH0sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3QgZXhwaXJlc0ZpZWxkOiBJbnB1dE1ldGFkYXRhID0ge1xuICAgICAgdG9rZW46ICdhcGlrZXktZXhwaXJlcycsXG4gICAgICBuYW1lOiAnZXhwaXJlc0luRGF5cycsXG4gICAgICBsYWJlbDogdGhpcy50KCdleHBpcmVzTGFiZWwnKSxcbiAgICAgIGhpbnQ6ICcnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgdHlwZTogSW5wdXRUeXBlLk5VTUJFUixcbiAgICAgIG9yZGVyOiAzLFxuICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWluKDEpXSxcbiAgICAgIGVycm9yczoge30sXG4gICAgICB2YWx1ZTogJycsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gICAgY29uc3Qgc3VibWl0QnV0dG9uOiBCdXR0b25NZXRhZGF0YSA9IHtcbiAgICAgIHRva2VuOiAnYXBpa2V5LWNyZWF0ZS1zdWJtaXQnLFxuICAgICAgdGV4dDogdGhpcy50KCdjcmVhdGUnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICAgIHN0YXRlOiB3b3JraW5nID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9IGFzIEJ1dHRvbk1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgc3RhdGU6IHdvcmtpbmcgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgc2VjdGlvbnM6IFt7IG5hbWU6ICcnLCBvcmRlcjogMSwgZmllbGRzOiBbbmFtZUZpZWxkLCBleHBpcmVzRmllbGRdIH1dLFxuICAgICAgYWN0aW9uczogc3VibWl0QnV0dG9uLFxuICAgIH07XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKERFRkFVTFRfTkFNRVNQQUNFLCBBUElfS0VZU19NT0RBTF9JMThOKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKHRoaXMuaTE4bk5hbWVzcGFjZSwgQVBJX0tFWVNfTU9EQUxfSTE4Tik7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgdGhpcy5sb2FkQ2F0YWxvZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIGVsIGNhdMOhbG9nbyBkZSBwZXJtaXNvcyB5IGxvIGZpbHRyYSBhIGxvIGFzaWduYWJsZSBhIHVuYSBBUEkgS2V5IGRlIGxhXG4gICAqIG9yZzogZGVzY2FydGEgYHNjb3BlOmludGVybmFsYCAoZWwgYmFja2VuZCB5YSBsb3Mgb21pdGUgcGFyYSBuby1zdGFmZikgeSBsb3NcbiAgICogcGVybWlzb3MgZGUgT1RSQVMgYXBwcyAoYGFwcElkICE9PSBhcHBJZCBkZWwgY2F0w6Fsb2dvYCkuIFF1ZWRhbiBsb3MgcGVybWlzb3MgZGVcbiAgICogb3JnICh1c2Vycy9yb2xlcy9yYmFjKSArIGxvcyBkZSBsYSBhcHAgYWN0dWFsLlxuICAgKi9cbiAgcHJpdmF0ZSBsb2FkQ2F0YWxvZygpOiB2b2lkIHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMuYWN0aXZlT3JnSWQoKTtcbiAgICBpZiAoIW9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5jYXRhbG9nLmdldENhdGFsb2cob3JnSWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICBjb25zdCBhcHBJZCA9IHJlcy5hcHBJZDtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSAocmVzLnBlcm1pc3Npb25zID8/IFtdKS5maWx0ZXIoXG4gICAgICAgICAgcCA9PiBwLnNjb3BlICE9PSAnaW50ZXJuYWwnICYmIChwLnNjb3BlICE9PSAnYXBwJyB8fCBwLmFwcElkID09PSBhcHBJZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jYXRhbG9nUGVybWlzc2lvbnMuc2V0KGZpbHRlcmVkKTtcbiAgICAgICAgdGhpcy5hY3Rpb25MYWJlbHMuc2V0KHJlcy5hY3Rpb25MYWJlbHMgPz8ge30pO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIC8vIFNpbiBjYXTDoWxvZ286IGVsIHNlbGVjdG9yIHF1ZWRhIHZhY8OtbyAoZWwgZm9ybSB2YWxpZGEg4omlMSBwZXJtaXNvKS5cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFjdGl2ZU9yZ0lkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdSA9IHRoaXMuYXV0aC51c2VyKCkgYXMgeyBhY3RpdmVPcmdJZD86IHN0cmluZzsgYWN0aXZlT3JnPzogc3RyaW5nIH0gfCBudWxsO1xuICAgIHJldHVybiB1Py5hY3RpdmVPcmdJZCA/PyB1Py5hY3RpdmVPcmcgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmFwaUtleXMubGlzdCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBrZXlzID0+IHtcbiAgICAgICAgdGhpcy5rZXlzLnNldChrZXlzKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpLFxuICAgIH0pO1xuICB9XG5cbiAgb3BlbkNyZWF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTXNnLnNldCgnJyk7XG4gICAgdGhpcy5zZWxlY3RlZFBlcm1zLnNldChbXSk7XG4gICAgdGhpcy5zaG93Q3JlYXRlLnNldCh0cnVlKTtcbiAgfVxuXG4gIG9uQ3JlYXRlU3VibWl0KGV2ZW50OiBGb3JtU3VibWl0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3VibWl0dGluZygpKSByZXR1cm47XG4gICAgdGhpcy5lcnJvck1zZy5zZXQoJycpO1xuXG4gICAgY29uc3QgbmFtZSA9IFN0cmluZyhldmVudC5maWVsZHNbJ25hbWUnXSA/PyAnJykudHJpbSgpO1xuICAgIGNvbnN0IHBlcm1pc3Npb25zID0gdGhpcy5zZWxlY3RlZFBlcm1zKCk7XG4gICAgY29uc3QgZXhwaXJlc1JhdyA9IE51bWJlcihldmVudC5maWVsZHNbJ2V4cGlyZXNJbkRheXMnXSk7XG5cbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIHRoaXMuZXJyb3JNc2cuc2V0KHRoaXMudCgnbm9OYW1lJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXBlcm1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5lcnJvck1zZy5zZXQodGhpcy50KCdub1Blcm1zJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3VibWl0dGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5hcGlLZXlzXG4gICAgICAuY3JlYXRlKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgIGV4cGlyZXNJbkRheXM6IE51bWJlci5pc0Zpbml0ZShleHBpcmVzUmF3KSAmJiBleHBpcmVzUmF3ID4gMCA/IGV4cGlyZXNSYXcgOiB1bmRlZmluZWQsXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5zdWJtaXR0aW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5zaG93Q3JlYXRlLnNldChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5zZWNyZXQuc2V0KHJlcy5rZXkpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmVycm9yTXNnLnNldChlcnI/LmVycm9yPy5tZXNzYWdlID8/IHRoaXMudCgnZ2VuZXJpY0Vycm9yJykpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICByZXZva2Uoa2V5OiBDbGllbnRBcGlLZXkpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpcm0odGhpcy50KCdyZXZva2VDb25maXJtJykpKSByZXR1cm47XG4gICAgdGhpcy5hcGlLZXlzLnJldm9rZShrZXkua2V5SWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB0aGlzLnJlZnJlc2goKSxcbiAgICAgIGVycm9yOiBlcnIgPT4gdGhpcy5lcnJvck1zZy5zZXQoZXJyPy5lcnJvcj8ubWVzc2FnZSA/PyB0aGlzLnQoJ2dlbmVyaWNFcnJvcicpKSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvcHkoc2VjcmV0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoc2VjcmV0KTtcbiAgICAgIHRoaXMuY29waWVkLnNldCh0cnVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGNsaXBib2FyZCBubyBkaXNwb25pYmxlIOKAlCBlbCB1c2VyIHB1ZWRlIHNlbGVjY2lvbmFyIGVsIHRleHRvIG1hbnVhbG1lbnRlXG4gICAgfVxuICB9XG5cbiAgZmluaXNoU2VjcmV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VjcmV0LnNldChudWxsKTtcbiAgICB0aGlzLmNvcGllZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLmkxOG5OYW1lc3BhY2UpO1xuICB9XG59XG4iXX0=
@@ -198,7 +198,7 @@ export class CommentSectionComponent {
198
198
  <ion-icon name="chatbubbles-outline" class="title-icon"></ion-icon>
199
199
  <h3 class="title">{{ displayTitle }}</h3>
200
200
  @if (props.showCount !== false && props.count !== undefined) {
201
- <ion-badge color="medium" class="count-badge">
201
+ <ion-badge color="dark" class="count-badge">
202
202
  {{ formatCount(props.count) }}
203
203
  </ion-badge>
204
204
  }
@@ -360,7 +360,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
360
360
  <ion-icon name="chatbubbles-outline" class="title-icon"></ion-icon>
361
361
  <h3 class="title">{{ displayTitle }}</h3>
362
362
  @if (props.showCount !== false && props.count !== undefined) {
363
- <ion-badge color="medium" class="count-badge">
363
+ <ion-badge color="dark" class="count-badge">
364
364
  {{ formatCount(props.count) }}
365
365
  </ion-badge>
366
366
  }
@@ -518,4 +518,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
518
518
  }], replyStart: [{
519
519
  type: Output
520
520
  }] } });
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29tbWVudC1zZWN0aW9uL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQWdCNUUsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLG1CQUFtQjtDQUNwQixDQUFD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aWFBQ1gsT0FBTywwTkFDUCxTQUFTLGtWQUNULGVBQWUsNkZBQ2YsVUFBVSx5R0FDVixpQkFBaUIsK0dBQ2pCLHdCQUF3QixtSEFDeEIsZ0JBQWdCLHlMQUNoQixlQUFlLDBHQUNmLGlCQUFpQjs7NEZBOExSLHVCQUF1QjtrQkFoTm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOElUOzhCQWlEUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBR0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7XG4gIElvbkljb24sXG4gIElvbkJ1dHRvbixcbiAgSW9uQmFkZ2UsXG4gIElvblRleHRhcmVhLFxuICBJb25JdGVtLFxuICBJb25TZWxlY3QsXG4gIElvblNlbGVjdE9wdGlvbixcbiAgSW9uU3Bpbm5lcixcbiAgSW9uSW5maW5pdGVTY3JvbGwsXG4gIElvbkluZmluaXRlU2Nyb2xsQ29udGVudCxcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGNoYXRidWJibGVzT3V0bGluZSxcbiAgZmlsdGVyT3V0bGluZSxcbiAgc2VuZE91dGxpbmUsXG4gIGNoYXRidWJibGVFbGxpcHNlc091dGxpbmUsXG4gIHN3YXBWZXJ0aWNhbE91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvbW1lbnRTZWN0aW9uTWV0YWRhdGEsXG4gIENvbW1lbnRTb3J0T3B0aW9uLFxuICBDb21tZW50U29ydENoYW5nZUV2ZW50LFxuICBDb21tZW50U3VibWl0RXZlbnQsXG4gIENvbW1lbnRTZWN0aW9uTG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBDb21tZW50QXV0aG9yQ2xpY2tFdmVudCxcbiAgQ29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudCxcbiAgQ29tbWVudEFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQsXG4gIENvbW1lbnRMb2FkTW9yZUV2ZW50LFxufSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29tbWVudC90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBzZW5kT3V0bGluZSxcbiAgY2hhdGJ1YmJsZUVsbGlwc2VzT3V0bGluZSxcbiAgc3dhcFZlcnRpY2FsT3V0bGluZSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudC1zZWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJb25JY29uLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25CYWRnZSxcbiAgICBJb25UZXh0YXJlYSxcbiAgICBJb25JdGVtLFxuICAgIElvblNlbGVjdCxcbiAgICBJb25TZWxlY3RPcHRpb24sXG4gICAgSW9uU3Bpbm5lcixcbiAgICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgICBJb25JbmZpbml0ZVNjcm9sbENvbnRlbnQsXG4gICAgQ29tbWVudENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgU2tlbGV0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtc2VjdGlvblwiIFtjbGFzcy5sb2FkaW5nXT1cInByb3BzLmxvYWRpbmdcIj5cbiAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoYXRidWJibGVzLW91dGxpbmVcIiBjbGFzcz1cInRpdGxlLWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgIDxoMyBjbGFzcz1cInRpdGxlXCI+e3sgZGlzcGxheVRpdGxlIH19PC9oMz5cbiAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3VudCAhPT0gZmFsc2UgJiYgcHJvcHMuY291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgPGlvbi1iYWRnZSBjb2xvcj1cIm1lZGl1bVwiIGNsYXNzPVwiY291bnQtYmFkZ2VcIj5cbiAgICAgICAgICAgICAge3sgZm9ybWF0Q291bnQocHJvcHMuY291bnQpIH19XG4gICAgICAgICAgICA8L2lvbi1iYWRnZT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAocHJvcHMuc29ydE9wdGlvbnMgJiYgcHJvcHMuc29ydE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIGNsYXNzPVwic29ydC1zZWxlY3QtaXRlbVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInN3YXAtdmVydGljYWwtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiIGNsYXNzPVwic29ydC1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvcHMuc2VsZWN0ZWRTb3J0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMuc29ydExhYmVsIHx8IGdldFNvcnRCeUxhYmVsKClcIlxuICAgICAgICAgICAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzLnNvcnRPcHRpb25zOyB0cmFjayBvcHRpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnRva2VuXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFNvcnRPcHRpb25MYWJlbChvcHRpb24pIH19XG4gICAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24tc2VsZWN0PlxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTmV3IENvbW1lbnQgSW5wdXQgLS0+XG4gICAgICBAaWYgKHByb3BzLnNob3dJbnB1dCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1jb21tZW50LXNlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5pbnB1dENvbmZpZz8uY3VycmVudFVzZXI/LmF2YXRhcikge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmlucHV0Q29uZmlnLmN1cnJlbnRVc2VyLmF2YXRhclwiPjwvdmFsLWF2YXRhcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3Q29tbWVudFRleHRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRJbnB1dFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwicHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCB8fCAyMDAwXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuaW5wdXRDb25maWc/LmRpc2FibGVkIHx8IHByb3BzLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFthdXRvR3Jvd109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiMlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgPjwvaW9uLXRleHRhcmVhPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgQGlmIChwcm9wcy5pbnB1dENvbmZpZz8uc2hvd0NvdW50ZXIgJiYgcHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGFyLWNvdW50ZXJcIiBbY2xhc3Mud2FybmluZ109XCJpc05lYXJMaW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5ld0NvbW1lbnRUZXh0Lmxlbmd0aCB9fSAvIHt7IHByb3BzLmlucHV0Q29uZmlnLm1heExlbmd0aCB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwicHJvcHMuaW5wdXRDb25maWc/LnN1Ym1pdENvbG9yIHx8IHByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXRDb21tZW50KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic2VuZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgIHt7IGdldFN1Ym1pdExhYmVsKCkgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLmxvYWRpbmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctc3RhdGVcIj5cbiAgICAgICAgICBAZm9yIChpIG9mIGdldFNrZWxldG9uQXJyYXkoKTsgdHJhY2sgaSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbiBbcHJvcHNdPVwieyB0eXBlOiAnYXZhdGFyJywgd2lkdGg6ICczNnB4JywgaGVpZ2h0OiAnMzZweCcgfVwiPjwvdmFsLXNrZWxldG9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDx2YWwtc2tlbGV0b24gW3Byb3BzXT1cInsgdHlwZTogJ3RleHQnLCB3aWR0aDogJzEyMHB4JywgaGVpZ2h0OiAnMTRweCcgfVwiPjwvdmFsLXNrZWxldG9uPlxuICAgICAgICAgICAgICAgIDx2YWwtc2tlbGV0b24gW3Byb3BzXT1cInsgdHlwZTogJ3BhcmFncmFwaCcsIGxpbmVzOiAyIH1cIj48L3ZhbC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSBpZiAocHJvcHMuY29tbWVudHMgJiYgcHJvcHMuY29tbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtbGlzdFwiIFtjbGFzcy53aXRoLWRpdmlkZXJzXT1cInByb3BzLnNob3dEaXZpZGVyc1wiPlxuICAgICAgICAgIEBmb3IgKGNvbW1lbnQgb2YgcHJvcHMuY29tbWVudHM7IHRyYWNrIGNvbW1lbnQudG9rZW4pIHtcbiAgICAgICAgICAgIDx2YWwtY29tbWVudFxuICAgICAgICAgICAgICBbcHJvcHNdPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgIChhdXRob3JDbGljayk9XCJhdXRob3JDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAocmVhY3Rpb25DbGljayk9XCJyZWFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvbkNvbW1lbnRBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChtZW51SXRlbUNsaWNrKT1cIm1lbnVJdGVtQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwiY29tbWVudExvYWRNb3JlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChjb2xsYXBzZVRvZ2dsZSk9XCJjb2xsYXBzZVRvZ2dsZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWNvbW1lbnQ+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuc2hvd0RpdmlkZXJzICYmICEkbGFzdCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChwcm9wcy5oYXNNb3JlICYmIHByb3BzLnBhZ2luYXRpb25Nb2RlICE9PSAnaW5maW5pdGUnKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZC1tb3JlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5sb2FkaW5nTW9yZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY2lyY3VsYXJcIiBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCI+PC9pb24tc3Bpbm5lcj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwib25Mb2FkTW9yZSgpXCI+XG4gICAgICAgICAgICAgICAgICB7eyBkaXNwbGF5TG9hZE1vcmVMYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHByb3BzLnBhZ2luYXRpb25Nb2RlID09PSAnaW5maW5pdGUnKSB7XG4gICAgICAgICAgPGlvbi1pbmZpbml0ZS1zY3JvbGxcbiAgICAgICAgICAgIFt0aHJlc2hvbGRdPVwicHJvcHMuaW5maW5pdGVTY3JvbGxUaHJlc2hvbGQgfHwgJzEwMHB4J1wiXG4gICAgICAgICAgICBbcG9zaXRpb25dPVwicHJvcHMuaW5maW5pdGVTY3JvbGxQb3NpdGlvbiB8fCAnYm90dG9tJ1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXByb3BzLmhhc01vcmVcIlxuICAgICAgICAgICAgKGlvbkluZmluaXRlKT1cIm9uSW5maW5pdGVTY3JvbGwoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pbmZpbml0ZS1zY3JvbGwtY29udGVudFxuICAgICAgICAgICAgICBbbG9hZGluZ1NwaW5uZXJdPVwiJ2NyZXNjZW50J1wiXG4gICAgICAgICAgICAgIFtsb2FkaW5nVGV4dF09XCJkaXNwbGF5TG9hZE1vcmVMYWJlbFwiXG4gICAgICAgICAgICA+PC9pb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24taW5maW5pdGUtc2Nyb2xsPlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInByb3BzLmVtcHR5U3RhdGU/Lmljb24gfHwgJ2NoYXRidWJibGUtZWxsaXBzZXMtb3V0bGluZSdcIiBjbGFzcz1cImVtcHR5LWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImVtcHR5LXRpdGxlXCI+e3sgZ2V0RW1wdHlUaXRsZSgpIH19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImVtcHR5LW1lc3NhZ2VcIj57eyBnZXRFbXB0eU1lc3NhZ2UoKSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWNvbW1lbnQtc2VjdGlvblxuICpcbiAqIEFuIG9yZ2FuaXNtIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGEgY29tcGxldGUgY29tbWVudCBzZWN0aW9uIHdpdGg6XG4gKiAtIEhlYWRlciB3aXRoIHRpdGxlIGFuZCBjb3VudFxuICogLSBTb3J0L2ZpbHRlciBvcHRpb25zXG4gKiAtIE5ldyBjb21tZW50IGlucHV0XG4gKiAtIENvbW1lbnRzIGxpc3Qgd2l0aCB2YWwtY29tbWVudFxuICogLSBMb2FkIG1vcmUgcGFnaW5hdGlvblxuICogLSBFbXB0eSBzdGF0ZVxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiA8dmFsLWNvbW1lbnQtc2VjdGlvbiBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0NvbW1lbnRzJyxcbiAqICAgY291bnQ6IDQyLFxuICogICBjb21tZW50czogY29tbWVudHNBcnJheSxcbiAqICAgc2hvd0lucHV0OiB0cnVlXG4gKiB9XCI+PC92YWwtY29tbWVudC1zZWN0aW9uPlxuICpcbiAqIEBleGFtcGxlIFdpdGggc29ydGluZ1xuICogPHZhbC1jb21tZW50LXNlY3Rpb24gW3Byb3BzXT1cIntcbiAqICAgdGl0bGU6ICdSZXZpZXdzJyxcbiAqICAgY291bnQ6IDEyOCxcbiAqICAgY29tbWVudHM6IHJldmlld3MsXG4gKiAgIHNvcnRPcHRpb25zOiBbXG4gKiAgICAgeyB0b2tlbjogJ25ld2VzdCcsIGxhYmVsOiAnTmV3ZXN0IGZpcnN0JyB9LFxuICogICAgIHsgdG9rZW46ICdvbGRlc3QnLCBsYWJlbDogJ09sZGVzdCBmaXJzdCcgfSxcbiAqICAgICB7IHRva2VuOiAncG9wdWxhcicsIGxhYmVsOiAnTW9zdCBwb3B1bGFyJyB9XG4gKiAgIF0sXG4gKiAgIHNlbGVjdGVkU29ydDogJ25ld2VzdCdcbiAqIH1cIiAoc29ydENoYW5nZSk9XCJvblNvcnQoJGV2ZW50KVwiPjwvdmFsLWNvbW1lbnQtc2VjdGlvbj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IENvbW1lbnRTZWN0aW9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VjdGlvblxuICogQG91dHB1dCBzb3J0Q2hhbmdlIC0gU29ydCBvcHRpb24gY2hhbmdlZFxuICogQG91dHB1dCBjb21tZW50U3VibWl0IC0gTmV3IGNvbW1lbnQgc3VibWl0dGVkXG4gKiBAb3V0cHV0IGxvYWRNb3JlIC0gTG9hZCBtb3JlIGNsaWNrZWRcbiAqIEBvdXRwdXQgYXV0aG9yQ2xpY2sgLSBDb21tZW50IGF1dGhvciBjbGlja2VkIChidWJibGVkIGZyb20gdmFsLWNvbW1lbnQpXG4gKiBAb3V0cHV0IHJlYWN0aW9uQ2xpY2sgLSBSZWFjdGlvbiBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBhY3Rpb25DbGljayAtIEFjdGlvbiBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBtZW51SXRlbUNsaWNrIC0gTWVudSBpdGVtIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IGNvbW1lbnRMb2FkTW9yZSAtIExvYWQgbW9yZSByZXBsaWVzIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IGNvbGxhcHNlVG9nZ2xlIC0gQ29tbWVudCBjb2xsYXBzZSB0b2dnbGVkIChidWJibGVkKVxuICovXG5leHBvcnQgY2xhc3MgQ29tbWVudFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBDb21tZW50U2VjdGlvbk1ldGFkYXRhO1xuXG4gIC8vIFNlY3Rpb24gZXZlbnRzXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50U29ydENoYW5nZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgY29tbWVudFN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFN1Ym1pdEV2ZW50PigpO1xuICBAT3V0cHV0KCkgbG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRTZWN0aW9uTG9hZE1vcmVFdmVudD4oKTtcblxuICAvLyBCdWJibGVkIGV2ZW50cyBmcm9tIHZhbC1jb21tZW50XG4gIEBPdXRwdXQoKSBhdXRob3JDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudEF1dGhvckNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZWFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50UmVhY3Rpb25DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBY3Rpb25DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgbWVudUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbW1lbnRMb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudExvYWRNb3JlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjb2xsYXBzZVRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0b2tlbjogc3RyaW5nOyBjb2xsYXBzZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAvLyBSZXBseSBzdGF0ZVxuICBAT3V0cHV0KCkgcmVwbHlTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb21tZW50VG9rZW46IHN0cmluZyB9PigpO1xuXG4gIG5ld0NvbW1lbnRUZXh0ID0gJyc7XG4gIHJlcGx5aW5nVG86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGRpc3BsYXlUaXRsZSA9ICcnO1xuICBkaXNwbGF5TG9hZE1vcmVMYWJlbCA9ICcnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRGlzcGxheVRleHRzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURpc3BsYXlUZXh0cygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlUaXRsZSA9IHRoaXMucHJvcHMudGl0bGUgfHwgdGhpcy5pMThuLnQoJ2NvbW1lbnRzJyk7XG4gICAgdGhpcy5kaXNwbGF5TG9hZE1vcmVMYWJlbCA9IHRoaXMucHJvcHMubG9hZE1vcmVMYWJlbCB8fCB0aGlzLmkxOG4udCgnbG9hZE1vcmVDb21tZW50cycpO1xuICB9XG5cbiAgZ2V0U29ydEJ5TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ3NvcnRCeScpO1xuICB9XG5cbiAgZm9ybWF0Q291bnQoY291bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGNvdW50ID49IDEwMDAwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ00nO1xuICAgIH1cbiAgICBpZiAoY291bnQgPj0gMTAwMCkge1xuICAgICAgcmV0dXJuIChjb3VudCAvIDEwMDApLnRvRml4ZWQoMSkucmVwbGFjZSgvXFwuMCQvLCAnJykgKyAnSyc7XG4gICAgfVxuICAgIHJldHVybiBjb3VudC50b1N0cmluZygpO1xuICB9XG5cbiAgZ2V0U29ydE9wdGlvbkxhYmVsKG9wdGlvbjogQ29tbWVudFNvcnRPcHRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBvcHRpb24ubGFiZWw7XG4gIH1cblxuICBnZXRJbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuaW5wdXRDb25maWc/LnBsYWNlaG9sZGVyIHx8IHRoaXMuaTE4bi50KCd3cml0ZUNvbW1lbnQnKTtcbiAgfVxuXG4gIGdldFN1Ym1pdExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuaW5wdXRDb25maWc/LnN1Ym1pdExhYmVsIHx8IHRoaXMuaTE4bi50KCdwdWJsaXNoJyk7XG4gIH1cblxuICBnZXRFbXB0eVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZW1wdHlTdGF0ZT8udGl0bGUgfHwgdGhpcy5pMThuLnQoJ25vQ29tbWVudHNZZXQnKTtcbiAgfVxuXG4gIGdldEVtcHR5TWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVtcHR5U3RhdGU/Lm1lc3NhZ2UgfHwgdGhpcy5pMThuLnQoJ2JlRmlyc3RUb0NvbW1lbnQnKTtcbiAgfVxuXG4gIGdldFNrZWxldG9uQXJyYXkoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5wcm9wcy5za2VsZXRvbkNvdW50IHx8IDM7XG4gICAgcmV0dXJuIEFycmF5KGNvdW50KVxuICAgICAgLmZpbGwoMClcbiAgICAgIC5tYXAoKF8sIGkpID0+IGkpO1xuICB9XG5cbiAgY2FuU3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1pbkxlbmd0aCA9IHRoaXMucHJvcHMuaW5wdXRDb25maWc/Lm1pbkxlbmd0aCB8fCAxO1xuICAgIHJldHVybiB0aGlzLm5ld0NvbW1lbnRUZXh0LnRyaW0oKS5sZW5ndGggPj0gbWluTGVuZ3RoICYmICF0aGlzLnByb3BzLmxvYWRpbmcgJiYgIXRoaXMucHJvcHMuaW5wdXRDb25maWc/LmRpc2FibGVkO1xuICB9XG5cbiAgaXNOZWFyTGltaXQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5wcm9wcy5pbnB1dENvbmZpZz8ubWF4TGVuZ3RoIHx8IDIwMDA7XG4gICAgcmV0dXJuIHRoaXMubmV3Q29tbWVudFRleHQubGVuZ3RoID4gbWF4TGVuZ3RoICogMC45O1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkVG9rZW4gPSBldmVudC5kZXRhaWwudmFsdWU7XG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5wcm9wcy5zb3J0T3B0aW9ucz8uZmluZChvID0+IG8udG9rZW4gPT09IHNlbGVjdGVkVG9rZW4pO1xuXG4gICAgaWYgKG9wdGlvbikge1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoe1xuICAgICAgICBvcHRpb24sXG4gICAgICAgIHByZXZpb3VzU29ydDogdGhpcy5wcm9wcy5zZWxlY3RlZFNvcnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdENvbW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhblN1Ym1pdCgpKSByZXR1cm47XG5cbiAgICB0aGlzLmNvbW1lbnRTdWJtaXQuZW1pdCh7XG4gICAgICBjb250ZW50OiB0aGlzLm5ld0NvbW1lbnRUZXh0LnRyaW0oKSxcbiAgICAgIHBhcmVudFRva2VuOiB0aGlzLnJlcGx5aW5nVG8gfHwgdW5kZWZpbmVkLFxuICAgICAgc2VjdGlvblRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uZXdDb21tZW50VGV4dCA9ICcnO1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IG51bGw7XG4gIH1cblxuICBvbkNvbW1lbnRBY3Rpb24oZXZlbnQ6IENvbW1lbnRBY3Rpb25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIHJlcGx5IGFjdGlvblxuICAgIGlmIChldmVudC5hY3Rpb24udG9rZW4gPT09ICdyZXBseScpIHtcbiAgICAgIHRoaXMucmVwbHlpbmdUbyA9IGV2ZW50LmNvbW1lbnRUb2tlbjtcbiAgICAgIHRoaXMucmVwbHlTdGFydC5lbWl0KHsgY29tbWVudFRva2VuOiBldmVudC5jb21tZW50VG9rZW4gfSk7XG4gICAgfVxuXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uTG9hZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkTW9yZS5lbWl0KHtcbiAgICAgIHNlY3Rpb25Ub2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGN1cnJlbnRDb3VudDogdGhpcy5wcm9wcy5jb21tZW50cz8ubGVuZ3RoIHx8IDAsXG4gICAgfSk7XG4gIH1cblxuICBvbkluZmluaXRlU2Nyb2xsKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmUuZW1pdCh7XG4gICAgICBzZWN0aW9uVG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjdXJyZW50Q291bnQ6IHRoaXMucHJvcHMuY29tbWVudHM/Lmxlbmd0aCB8fCAwLFxuICAgIH0pO1xuXG4gICAgLy8gVGhlIHBhcmVudCBjb21wb25lbnQgc2hvdWxkIGNhbGwgY29tcGxldGVJbmZpbml0ZVNjcm9sbCgpIHdoZW4gZG9uZSBsb2FkaW5nXG4gICAgLy8gU3RvcmUgcmVmZXJlbmNlIHRvIGNvbXBsZXRlIHRoZSBpbmZpbml0ZSBzY3JvbGxcbiAgICB0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQgPSBldmVudDtcbiAgfVxuXG4gIC8vIENhbGwgdGhpcyBtZXRob2QgZnJvbSBwYXJlbnQgYWZ0ZXIgbG9hZGluZyBtb3JlIGNvbW1lbnRzXG4gIGNvbXBsZXRlSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudCkge1xuICAgICAgKHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudC50YXJnZXQgYXMgSFRNTElvbkluZmluaXRlU2Nyb2xsRWxlbWVudCkuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmZpbml0ZVNjcm9sbEV2ZW50OiBDdXN0b21FdmVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8vIE1ldGhvZCB0byBwcm9ncmFtbWF0aWNhbGx5IHN0YXJ0IGEgcmVwbHlcbiAgc3RhcnRSZXBseShjb21tZW50VG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IGNvbW1lbnRUb2tlbjtcbiAgfVxuXG4gIC8vIE1ldGhvZCB0byBjYW5jZWwgcmVwbHlcbiAgY2FuY2VsUmVwbHkoKTogdm9pZCB7XG4gICAgdGhpcy5yZXBseWluZ1RvID0gbnVsbDtcbiAgfVxufVxuIl19
521
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29tbWVudC1zZWN0aW9uL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQWdCNUUsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLG1CQUFtQjtDQUNwQixDQUFD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aWFBQ1gsT0FBTywwTkFDUCxTQUFTLGtWQUNULGVBQWUsNkZBQ2YsVUFBVSx5R0FDVixpQkFBaUIsK0dBQ2pCLHdCQUF3QixtSEFDeEIsZ0JBQWdCLHlMQUNoQixlQUFlLDBHQUNmLGlCQUFpQjs7NEZBOExSLHVCQUF1QjtrQkFoTm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOElUOzhCQWlEUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBR0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7XG4gIElvbkljb24sXG4gIElvbkJ1dHRvbixcbiAgSW9uQmFkZ2UsXG4gIElvblRleHRhcmVhLFxuICBJb25JdGVtLFxuICBJb25TZWxlY3QsXG4gIElvblNlbGVjdE9wdGlvbixcbiAgSW9uU3Bpbm5lcixcbiAgSW9uSW5maW5pdGVTY3JvbGwsXG4gIElvbkluZmluaXRlU2Nyb2xsQ29udGVudCxcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGNoYXRidWJibGVzT3V0bGluZSxcbiAgZmlsdGVyT3V0bGluZSxcbiAgc2VuZE91dGxpbmUsXG4gIGNoYXRidWJibGVFbGxpcHNlc091dGxpbmUsXG4gIHN3YXBWZXJ0aWNhbE91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNrZWxldG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIENvbW1lbnRTZWN0aW9uTWV0YWRhdGEsXG4gIENvbW1lbnRTb3J0T3B0aW9uLFxuICBDb21tZW50U29ydENoYW5nZUV2ZW50LFxuICBDb21tZW50U3VibWl0RXZlbnQsXG4gIENvbW1lbnRTZWN0aW9uTG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBDb21tZW50QXV0aG9yQ2xpY2tFdmVudCxcbiAgQ29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudCxcbiAgQ29tbWVudEFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQsXG4gIENvbW1lbnRMb2FkTW9yZUV2ZW50LFxufSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29tbWVudC90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBzZW5kT3V0bGluZSxcbiAgY2hhdGJ1YmJsZUVsbGlwc2VzT3V0bGluZSxcbiAgc3dhcFZlcnRpY2FsT3V0bGluZSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudC1zZWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJb25JY29uLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25CYWRnZSxcbiAgICBJb25UZXh0YXJlYSxcbiAgICBJb25JdGVtLFxuICAgIElvblNlbGVjdCxcbiAgICBJb25TZWxlY3RPcHRpb24sXG4gICAgSW9uU3Bpbm5lcixcbiAgICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgICBJb25JbmZpbml0ZVNjcm9sbENvbnRlbnQsXG4gICAgQ29tbWVudENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgU2tlbGV0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtc2VjdGlvblwiIFtjbGFzcy5sb2FkaW5nXT1cInByb3BzLmxvYWRpbmdcIj5cbiAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoYXRidWJibGVzLW91dGxpbmVcIiBjbGFzcz1cInRpdGxlLWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgIDxoMyBjbGFzcz1cInRpdGxlXCI+e3sgZGlzcGxheVRpdGxlIH19PC9oMz5cbiAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3VudCAhPT0gZmFsc2UgJiYgcHJvcHMuY291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgPGlvbi1iYWRnZSBjb2xvcj1cImRhcmtcIiBjbGFzcz1cImNvdW50LWJhZGdlXCI+XG4gICAgICAgICAgICAgIHt7IGZvcm1hdENvdW50KHByb3BzLmNvdW50KSB9fVxuICAgICAgICAgICAgPC9pb24tYmFkZ2U+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHByb3BzLnNvcnRPcHRpb25zICYmIHByb3BzLnNvcnRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBjbGFzcz1cInNvcnQtc2VsZWN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzd2FwLXZlcnRpY2FsLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cInNvcnQtaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BzLnNlbGVjdGVkU29ydFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLnNvcnRMYWJlbCB8fCBnZXRTb3J0QnlMYWJlbCgpXCJcbiAgICAgICAgICAgICAgICBpbnRlcmZhY2U9XCJwb3BvdmVyXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBwcm9wcy5zb3J0T3B0aW9uczsgdHJhY2sgb3B0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICA8aW9uLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi50b2tlblwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBnZXRTb3J0T3B0aW9uTGFiZWwob3B0aW9uKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIE5ldyBDb21tZW50IElucHV0IC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93SW5wdXQgIT09IGZhbHNlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXctY29tbWVudC1zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuaW5wdXRDb25maWc/LmN1cnJlbnRVc2VyPy5hdmF0YXIpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWF2YXRhclwiPlxuICAgICAgICAgICAgICAgIDx2YWwtYXZhdGFyIFtwcm9wc109XCJwcm9wcy5pbnB1dENvbmZpZy5jdXJyZW50VXNlci5hdmF0YXJcIj48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxpb24tdGV4dGFyZWFcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5ld0NvbW1lbnRUZXh0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0SW5wdXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cInByb3BzLmlucHV0Q29uZmlnPy5tYXhMZW5ndGggfHwgMjAwMFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLmlucHV0Q29uZmlnPy5kaXNhYmxlZCB8fCBwcm9wcy5sb2FkaW5nXCJcbiAgICAgICAgICAgICAgICBbYXV0b0dyb3ddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgcm93cz1cIjJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tbWVudC10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgID48L2lvbi10ZXh0YXJlYT5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAocHJvcHMuaW5wdXRDb25maWc/LnNob3dDb3VudGVyICYmIHByb3BzLmlucHV0Q29uZmlnPy5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhci1jb3VudGVyXCIgW2NsYXNzLndhcm5pbmddPVwiaXNOZWFyTGltaXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBuZXdDb21tZW50VGV4dC5sZW5ndGggfX0gLyB7eyBwcm9wcy5pbnB1dENvbmZpZy5tYXhMZW5ndGggfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmlucHV0Q29uZmlnPy5zdWJtaXRDb2xvciB8fCBwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5TdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0Q29tbWVudCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInNlbmQtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRTdWJtaXRMYWJlbCgpIH19XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5sb2FkaW5nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLXN0YXRlXCI+XG4gICAgICAgICAgQGZvciAoaSBvZiBnZXRTa2VsZXRvbkFycmF5KCk7IHRyYWNrIGkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1jb21tZW50XCI+XG4gICAgICAgICAgICAgIDx2YWwtc2tlbGV0b24gW3Byb3BzXT1cInsgdHlwZTogJ2F2YXRhcicsIHdpZHRoOiAnMzZweCcsIGhlaWdodDogJzM2cHgnIH1cIj48L3ZhbC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8dmFsLXNrZWxldG9uIFtwcm9wc109XCJ7IHR5cGU6ICd0ZXh0Jywgd2lkdGg6ICcxMjBweCcsIGhlaWdodDogJzE0cHgnIH1cIj48L3ZhbC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgICA8dmFsLXNrZWxldG9uIFtwcm9wc109XCJ7IHR5cGU6ICdwYXJhZ3JhcGgnLCBsaW5lczogMiB9XCI+PC92YWwtc2tlbGV0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2UgaWYgKHByb3BzLmNvbW1lbnRzICYmIHByb3BzLmNvbW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzLWxpc3RcIiBbY2xhc3Mud2l0aC1kaXZpZGVyc109XCJwcm9wcy5zaG93RGl2aWRlcnNcIj5cbiAgICAgICAgICBAZm9yIChjb21tZW50IG9mIHByb3BzLmNvbW1lbnRzOyB0cmFjayBjb21tZW50LnRva2VuKSB7XG4gICAgICAgICAgICA8dmFsLWNvbW1lbnRcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImNvbW1lbnRcIlxuICAgICAgICAgICAgICAoYXV0aG9yQ2xpY2spPVwiYXV0aG9yQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHJlYWN0aW9uQ2xpY2spPVwicmVhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25Db21tZW50QWN0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJtZW51SXRlbUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChsb2FkTW9yZUNsaWNrKT1cImNvbW1lbnRMb2FkTW9yZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAoY29sbGFwc2VUb2dnbGUpPVwiY29sbGFwc2VUb2dnbGUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3ZhbC1jb21tZW50PlxuXG4gICAgICAgICAgICBAaWYgKHByb3BzLnNob3dEaXZpZGVycyAmJiAhJGxhc3QpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAocHJvcHMuaGFzTW9yZSAmJiBwcm9wcy5wYWdpbmF0aW9uTW9kZSAhPT0gJ2luZmluaXRlJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvYWQtbW9yZS1zZWN0aW9uXCI+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMubG9hZGluZ01vcmUpIHtcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNpcmN1bGFyXCIgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiIGV4cGFuZD1cImJsb2NrXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmUoKVwiPlxuICAgICAgICAgICAgICAgICAge3sgZGlzcGxheUxvYWRNb3JlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChwcm9wcy5wYWdpbmF0aW9uTW9kZSA9PT0gJ2luZmluaXRlJykge1xuICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsXG4gICAgICAgICAgICBbdGhyZXNob2xkXT1cInByb3BzLmluZmluaXRlU2Nyb2xsVGhyZXNob2xkIHx8ICcxMDBweCdcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInByb3BzLmluZmluaXRlU2Nyb2xsUG9zaXRpb24gfHwgJ2JvdHRvbSdcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwcm9wcy5oYXNNb3JlXCJcbiAgICAgICAgICAgIChpb25JbmZpbml0ZSk9XCJvbkluZmluaXRlU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnRcbiAgICAgICAgICAgICAgW2xvYWRpbmdTcGlubmVyXT1cIidjcmVzY2VudCdcIlxuICAgICAgICAgICAgICBbbG9hZGluZ1RleHRdPVwiZGlzcGxheUxvYWRNb3JlTGFiZWxcIlxuICAgICAgICAgICAgPjwvaW9uLWluZmluaXRlLXNjcm9sbC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWluZmluaXRlLXNjcm9sbD5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJwcm9wcy5lbXB0eVN0YXRlPy5pY29uIHx8ICdjaGF0YnViYmxlLWVsbGlwc2VzLW91dGxpbmUnXCIgY2xhc3M9XCJlbXB0eS1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJlbXB0eS10aXRsZVwiPnt7IGdldEVtcHR5VGl0bGUoKSB9fTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3M9XCJlbXB0eS1tZXNzYWdlXCI+e3sgZ2V0RW1wdHlNZXNzYWdlKCkgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50LXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1jb21tZW50LXNlY3Rpb25cbiAqXG4gKiBBbiBvcmdhbmlzbSBjb21wb25lbnQgdGhhdCBwcm92aWRlcyBhIGNvbXBsZXRlIGNvbW1lbnQgc2VjdGlvbiB3aXRoOlxuICogLSBIZWFkZXIgd2l0aCB0aXRsZSBhbmQgY291bnRcbiAqIC0gU29ydC9maWx0ZXIgb3B0aW9uc1xuICogLSBOZXcgY29tbWVudCBpbnB1dFxuICogLSBDb21tZW50cyBsaXN0IHdpdGggdmFsLWNvbW1lbnRcbiAqIC0gTG9hZCBtb3JlIHBhZ2luYXRpb25cbiAqIC0gRW1wdHkgc3RhdGVcbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogPHZhbC1jb21tZW50LXNlY3Rpb24gW3Byb3BzXT1cIntcbiAqICAgdGl0bGU6ICdDb21tZW50cycsXG4gKiAgIGNvdW50OiA0MixcbiAqICAgY29tbWVudHM6IGNvbW1lbnRzQXJyYXksXG4gKiAgIHNob3dJbnB1dDogdHJ1ZVxuICogfVwiPjwvdmFsLWNvbW1lbnQtc2VjdGlvbj5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHNvcnRpbmdcbiAqIDx2YWwtY29tbWVudC1zZWN0aW9uIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnUmV2aWV3cycsXG4gKiAgIGNvdW50OiAxMjgsXG4gKiAgIGNvbW1lbnRzOiByZXZpZXdzLFxuICogICBzb3J0T3B0aW9uczogW1xuICogICAgIHsgdG9rZW46ICduZXdlc3QnLCBsYWJlbDogJ05ld2VzdCBmaXJzdCcgfSxcbiAqICAgICB7IHRva2VuOiAnb2xkZXN0JywgbGFiZWw6ICdPbGRlc3QgZmlyc3QnIH0sXG4gKiAgICAgeyB0b2tlbjogJ3BvcHVsYXInLCBsYWJlbDogJ01vc3QgcG9wdWxhcicgfVxuICogICBdLFxuICogICBzZWxlY3RlZFNvcnQ6ICduZXdlc3QnXG4gKiB9XCIgKHNvcnRDaGFuZ2UpPVwib25Tb3J0KCRldmVudClcIj48L3ZhbC1jb21tZW50LXNlY3Rpb24+XG4gKlxuICogQGlucHV0IHByb3BzOiBDb21tZW50U2VjdGlvbk1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNlY3Rpb25cbiAqIEBvdXRwdXQgc29ydENoYW5nZSAtIFNvcnQgb3B0aW9uIGNoYW5nZWRcbiAqIEBvdXRwdXQgY29tbWVudFN1Ym1pdCAtIE5ldyBjb21tZW50IHN1Ym1pdHRlZFxuICogQG91dHB1dCBsb2FkTW9yZSAtIExvYWQgbW9yZSBjbGlja2VkXG4gKiBAb3V0cHV0IGF1dGhvckNsaWNrIC0gQ29tbWVudCBhdXRob3IgY2xpY2tlZCAoYnViYmxlZCBmcm9tIHZhbC1jb21tZW50KVxuICogQG91dHB1dCByZWFjdGlvbkNsaWNrIC0gUmVhY3Rpb24gY2xpY2tlZCAoYnViYmxlZClcbiAqIEBvdXRwdXQgYWN0aW9uQ2xpY2sgLSBBY3Rpb24gY2xpY2tlZCAoYnViYmxlZClcbiAqIEBvdXRwdXQgbWVudUl0ZW1DbGljayAtIE1lbnUgaXRlbSBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBjb21tZW50TG9hZE1vcmUgLSBMb2FkIG1vcmUgcmVwbGllcyBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBjb2xsYXBzZVRvZ2dsZSAtIENvbW1lbnQgY29sbGFwc2UgdG9nZ2xlZCAoYnViYmxlZClcbiAqL1xuZXhwb3J0IGNsYXNzIENvbW1lbnRTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcm9wczogQ29tbWVudFNlY3Rpb25NZXRhZGF0YTtcblxuICAvLyBTZWN0aW9uIGV2ZW50c1xuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFNvcnRDaGFuZ2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbW1lbnRTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRTdWJtaXRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50U2VjdGlvbkxvYWRNb3JlRXZlbnQ+KCk7XG5cbiAgLy8gQnViYmxlZCBldmVudHMgZnJvbSB2YWwtY29tbWVudFxuICBAT3V0cHV0KCkgYXV0aG9yQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBdXRob3JDbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjb21tZW50TG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRMb2FkTW9yZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgY29sbGFwc2VUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdG9rZW46IHN0cmluZzsgY29sbGFwc2VkOiBib29sZWFuIH0+KCk7XG5cbiAgLy8gUmVwbHkgc3RhdGVcbiAgQE91dHB1dCgpIHJlcGx5U3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29tbWVudFRva2VuOiBzdHJpbmcgfT4oKTtcblxuICBuZXdDb21tZW50VGV4dCA9ICcnO1xuICByZXBseWluZ1RvOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBkaXNwbGF5VGl0bGUgPSAnJztcbiAgZGlzcGxheUxvYWRNb3JlTGFiZWwgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURpc3BsYXlUZXh0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VGV4dHMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5VGl0bGUgPSB0aGlzLnByb3BzLnRpdGxlIHx8IHRoaXMuaTE4bi50KCdjb21tZW50cycpO1xuICAgIHRoaXMuZGlzcGxheUxvYWRNb3JlTGFiZWwgPSB0aGlzLnByb3BzLmxvYWRNb3JlTGFiZWwgfHwgdGhpcy5pMThuLnQoJ2xvYWRNb3JlQ29tbWVudHMnKTtcbiAgfVxuXG4gIGdldFNvcnRCeUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzb3J0QnknKTtcbiAgfVxuXG4gIGZvcm1hdENvdW50KGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChjb3VudCA+PSAxMDAwMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMDAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdNJztcbiAgICB9XG4gICAgaWYgKGNvdW50ID49IDEwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ0snO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGdldFNvcnRPcHRpb25MYWJlbChvcHRpb246IENvbW1lbnRTb3J0T3B0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb3B0aW9uLmxhYmVsO1xuICB9XG5cbiAgZ2V0SW5wdXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5wbGFjZWhvbGRlciB8fCB0aGlzLmkxOG4udCgnd3JpdGVDb21tZW50Jyk7XG4gIH1cblxuICBnZXRTdWJtaXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5zdWJtaXRMYWJlbCB8fCB0aGlzLmkxOG4udCgncHVibGlzaCcpO1xuICB9XG5cbiAgZ2V0RW1wdHlUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVtcHR5U3RhdGU/LnRpdGxlIHx8IHRoaXMuaTE4bi50KCdub0NvbW1lbnRzWWV0Jyk7XG4gIH1cblxuICBnZXRFbXB0eU1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbXB0eVN0YXRlPy5tZXNzYWdlIHx8IHRoaXMuaTE4bi50KCdiZUZpcnN0VG9Db21tZW50Jyk7XG4gIH1cblxuICBnZXRTa2VsZXRvbkFycmF5KCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucHJvcHMuc2tlbGV0b25Db3VudCB8fCAzO1xuICAgIHJldHVybiBBcnJheShjb3VudClcbiAgICAgIC5maWxsKDApXG4gICAgICAubWFwKChfLCBpKSA9PiBpKTtcbiAgfVxuXG4gIGNhblN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtaW5MZW5ndGggPSB0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5taW5MZW5ndGggfHwgMTtcbiAgICByZXR1cm4gdGhpcy5uZXdDb21tZW50VGV4dC50cmltKCkubGVuZ3RoID49IG1pbkxlbmd0aCAmJiAhdGhpcy5wcm9wcy5sb2FkaW5nICYmICF0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5kaXNhYmxlZDtcbiAgfVxuXG4gIGlzTmVhckxpbWl0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMucHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCB8fCAyMDAwO1xuICAgIHJldHVybiB0aGlzLm5ld0NvbW1lbnRUZXh0Lmxlbmd0aCA+IG1heExlbmd0aCAqIDAuOTtcbiAgfVxuXG4gIG9uU29ydENoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFRva2VuID0gZXZlbnQuZGV0YWlsLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMucHJvcHMuc29ydE9wdGlvbnM/LmZpbmQobyA9PiBvLnRva2VuID09PSBzZWxlY3RlZFRva2VuKTtcblxuICAgIGlmIChvcHRpb24pIHtcbiAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHtcbiAgICAgICAgb3B0aW9uLFxuICAgICAgICBwcmV2aW91c1NvcnQ6IHRoaXMucHJvcHMuc2VsZWN0ZWRTb3J0LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJtaXRDb21tZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jYW5TdWJtaXQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb21tZW50U3VibWl0LmVtaXQoe1xuICAgICAgY29udGVudDogdGhpcy5uZXdDb21tZW50VGV4dC50cmltKCksXG4gICAgICBwYXJlbnRUb2tlbjogdGhpcy5yZXBseWluZ1RvIHx8IHVuZGVmaW5lZCxcbiAgICAgIHNlY3Rpb25Ub2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICB9KTtcblxuICAgIHRoaXMubmV3Q29tbWVudFRleHQgPSAnJztcbiAgICB0aGlzLnJlcGx5aW5nVG8gPSBudWxsO1xuICB9XG5cbiAgb25Db21tZW50QWN0aW9uKGV2ZW50OiBDb21tZW50QWN0aW9uQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIC8vIENoZWNrIGlmIGl0J3MgYSByZXBseSBhY3Rpb25cbiAgICBpZiAoZXZlbnQuYWN0aW9uLnRva2VuID09PSAncmVwbHknKSB7XG4gICAgICB0aGlzLnJlcGx5aW5nVG8gPSBldmVudC5jb21tZW50VG9rZW47XG4gICAgICB0aGlzLnJlcGx5U3RhcnQuZW1pdCh7IGNvbW1lbnRUb2tlbjogZXZlbnQuY29tbWVudFRva2VuIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBvbkxvYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmUuZW1pdCh7XG4gICAgICBzZWN0aW9uVG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjdXJyZW50Q291bnQ6IHRoaXMucHJvcHMuY29tbWVudHM/Lmxlbmd0aCB8fCAwLFxuICAgIH0pO1xuICB9XG5cbiAgb25JbmZpbml0ZVNjcm9sbChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRNb3JlLmVtaXQoe1xuICAgICAgc2VjdGlvblRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgICAgY3VycmVudENvdW50OiB0aGlzLnByb3BzLmNvbW1lbnRzPy5sZW5ndGggfHwgMCxcbiAgICB9KTtcblxuICAgIC8vIFRoZSBwYXJlbnQgY29tcG9uZW50IHNob3VsZCBjYWxsIGNvbXBsZXRlSW5maW5pdGVTY3JvbGwoKSB3aGVuIGRvbmUgbG9hZGluZ1xuICAgIC8vIFN0b3JlIHJlZmVyZW5jZSB0byBjb21wbGV0ZSB0aGUgaW5maW5pdGUgc2Nyb2xsXG4gICAgdGhpcy5pbmZpbml0ZVNjcm9sbEV2ZW50ID0gZXZlbnQ7XG4gIH1cblxuICAvLyBDYWxsIHRoaXMgbWV0aG9kIGZyb20gcGFyZW50IGFmdGVyIGxvYWRpbmcgbW9yZSBjb21tZW50c1xuICBjb21wbGV0ZUluZmluaXRlU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQpIHtcbiAgICAgICh0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQudGFyZ2V0IGFzIEhUTUxJb25JbmZpbml0ZVNjcm9sbEVsZW1lbnQpLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5maW5pdGVTY3JvbGxFdmVudDogQ3VzdG9tRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBzdGFydCBhIHJlcGx5XG4gIHN0YXJ0UmVwbHkoY29tbWVudFRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGx5aW5nVG8gPSBjb21tZW50VG9rZW47XG4gIH1cblxuICAvLyBNZXRob2QgdG8gY2FuY2VsIHJlcGx5XG4gIGNhbmNlbFJlcGx5KCk6IHZvaWQge1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -178,7 +178,7 @@ export class CookieSettingsComponent {
178
178
  </div>
179
179
 
180
180
  <div class="vcs__actions">
181
- <ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
181
+ <ion-button fill="outline" size="small" color="dark" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
182
182
 
183
183
  <ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
184
184
 
@@ -224,7 +224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
224
224
  </div>
225
225
 
226
226
  <div class="vcs__actions">
227
- <ion-button fill="outline" size="small" color="medium" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
227
+ <ion-button fill="outline" size="small" color="dark" (click)="onRejectAll()">{{ t('rejectAll') }}</ion-button>
228
228
 
229
229
  <ion-button fill="outline" size="small" color="dark" (click)="onSave()">{{ t('save') }}</ion-button>
230
230
 
@@ -237,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
237
237
  }], saved: [{
238
238
  type: Output
239
239
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29va2llLXNldHRpbmdzL2Nvb2tpZS1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0QsK0VBQStFO0FBQy9FLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO0FBRTVCLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsRUFBRSxFQUFFO1FBQ0YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxXQUFXLEVBQUUsOEVBQThFO1FBQzNGLGlCQUFpQixFQUFFLFlBQVk7UUFDL0IscUJBQXFCLEVBQUUsNkRBQTZEO1FBQ3BGLGlCQUFpQixFQUFFLFdBQVc7UUFDOUIscUJBQXFCLEVBQUUsb0RBQW9EO1FBQzNFLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMseUJBQXlCLEVBQUUsNENBQTRDO1FBQ3ZFLG1CQUFtQixFQUFFLFlB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SSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb25zZW50U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3MtdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcblxuLyoqIEkxOG4gbmFtZXNwYWNlIHVzZWQgYnkgdGhlIGNvbXBvbmVudC4gQXBwcyBjYW4gb3ZlcnJpZGUgdmlhIEkxOG5TZXJ2aWNlLiAqL1xuY29uc3QgTlMgPSAnQ29va2llU2V0dGluZ3MnO1xuXG5jb25zdCBDT09LSUVfU0VUVElOR1NfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZTogJ1ByZWZlcmVuY2lhcyBkZSBjb29raWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnRyb2xhIHF1ZSB0ZWNub2xvZ2lhcyBwZXJtaXRlcy4gUHVlZGVzIGNhbWJpYXIgZXN0byBlbiBjdWFscXVpZXIgbW9tZW50by4nLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsOiAnRXNlbmNpYWxlcycsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWxIaW50OiAnTmVjZXNhcmlhcyBwYXJhIGF1dGVudGljYWNpb24geSBzZWd1cmlkYWQuIFNpZW1wcmUgYWN0aXZhcy4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbGl0aWNhJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdNZXRyaWNhcyBhbm9uaW1hcyBkZSB1c28gcGFyYSBtZWpvcmFyIGVsIHNlcnZpY2lvLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY2lvbmFsaWRhZCcsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlY3VlcmRhbiBwcmVmZXJlbmNpYXMgY29tbyBpZGlvbWEgeSB0ZW1hLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ1B1YmxpY2lkYWQnLFxuICAgIGNhdGVnb3J5QWR2ZXJ0aXNpbmdIaW50OiAnUGVyc29uYWxpemFjaW9uIGRlIGFudW5jaW9zLiBSZXF1ZXJpZG8gcGFyYSBwdWJsaWNpZGFkIHJlbGV2YW50ZS4nLFxuICAgIG5vdERlY2lkZWRZZXQ6ICdBdW4gbm8gaGFzIHRvbWFkbyB1bmEgZGVjaXNpb24gZXhwbGljaXRhLicsXG4gICAgbGFzdFVwZGF0ZWQ6ICdVbHRpbWEgYWN0dWFsaXphY2lvbjoge2RhdGV9JyxcbiAgICBhY2NlcHRBbGw6ICdBY2VwdGFyIHRvZG8nLFxuICAgIHJlamVjdEFsbDogJ1NvbG8gZXNlbmNpYWxlcycsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIHNhdmVkOiAnUHJlZmVyZW5jaWFzIGd1YXJkYWRhcycsXG4gIH0sXG4gIGVuOiB7XG4gICAgdGl0bGU6ICdDb29raWUgcHJlZmVyZW5jZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udHJvbCB3aGljaCB0ZWNobm9sb2dpZXMgeW91IGFsbG93LiBZb3UgY2FuIGNoYW5nZSB0aGlzIGF0IGFueSB0aW1lLicsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWw6ICdFc3NlbnRpYWwnLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsSGludDogJ1JlcXVpcmVkIGZvciBhdXRoZW50aWNhdGlvbiBhbmQgc2VjdXJpdHkuIEFsd2F5cyBvbi4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbHl0aWNzJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdBbm9ueW1vdXMgdXNhZ2UgbWV0cmljcyB0byBpbXByb3ZlIHRoZSBzZXJ2aWNlLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY3Rpb25hbGl0eScsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlbWVtYmVyIHByZWZlcmVuY2VzIGxpa2UgbGFuZ3VhZ2UgYW5kIHRoZW1lLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ0FkdmVydGlzaW5nJyxcbiAgICBjYXRlZ29yeUFkdmVydGlzaW5nSGludDogJ0FkIHBlcnNvbmFsaXphdGlvbi4gUmVxdWlyZWQgZm9yIHJlbGV2YW50IGFkdmVydGlzaW5nLicsXG4gICAgbm90RGVjaWRlZFlldDogJ1lvdSBoYXZlIG5vdCBtYWRlIGFuIGV4cGxpY2l0IGRlY2lzaW9uIHlldC4nLFxuICAgIGxhc3RVcGRhdGVkOiAnTGFzdCB1cGRhdGVkOiB7ZGF0ZX0nLFxuICAgIGFjY2VwdEFsbDogJ0FjY2VwdCBhbGwnLFxuICAgIHJlamVjdEFsbDogJ0Vzc2VudGlhbCBvbmx5JyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgc2F2ZWQ6ICdQcmVmZXJlbmNlcyBzYXZlZCcsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUNhdGVnb3J5IHtcbiAga2V5OiBrZXlvZiBDb25zZW50U2V0dGluZ3M7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIGhpbnRLZXk6IHN0cmluZztcbiAgY29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBgdmFsLWNvb2tpZS1zZXR0aW5nc2Ag4oCUIHBhbmVsIGRlIGdlc3Rpb24gZGUgY29uc2VudCBHRFBSLlxuICpcbiAqIFNlbGYtY29udGFpbmVkOiBpbnllY3RhIEFuYWx5dGljc1NlcnZpY2UgaW50ZXJuYW1lbnRlLiBTb2xvIG5lY2VzaXRhIG1vbnRhcnNlLlxuICogRW1pdGUgYChzYXZlZClgIGN1YW5kbyBlbCB1c3VhcmlvIGd1YXJkYS9hY2VwdGEvcmVjaGF6YSBwYXJhIHF1ZSBlbCBwYWRyZVxuICogcHVlZGEgY2VycmFyIHVuIG1vZGFsLCBuYXZlZ2FyLCBldGMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29va2llLXNldHRpbmdzIChzYXZlZCk9XCJvbkNvbnNlbnRTYXZlZCgpXCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1zZXR0aW5ncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkJ1dHRvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZjc1wiPlxuICAgICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ2Y3NfX3RpdGxlXCI+e3sgdCgndGl0bGUnKSB9fTwvaDI+XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19kZXNjXCI+e3sgdCgnZGVzY3JpcHRpb24nKSB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgQGlmICghaGFzRGVjaWRlZCgpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19zdGF0dXMgdmNzX19zdGF0dXMtLXBlbmRpbmdcIj57eyB0KCdub3REZWNpZGVkWWV0JykgfX08L3A+XG4gICAgICB9IEBlbHNlIGlmIChsYXN0VXBkYXRlZFRleHQoKSkge1xuICAgICAgICA8cCBjbGFzcz1cInZjc19fc3RhdHVzIHZjc19fc3RhdHVzLS1kYXRlXCI+e3sgbGFzdFVwZGF0ZWRUZXh0KCkgfX08L3A+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgQGZvciAoY2F0IG9mIGNhdGVnb3JpZXM7IHRyYWNrIGNhdC5rZXkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmNzX19yb3dcIiBbY2xhc3MudmNzX19yb3ctLWRpc2FibGVkXT1cImNhdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZjc19fcm93LWhlYWRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2Y3NfX3Jvdy1sYWJlbFwiPnt7IHQoY2F0LmxhYmVsS2V5KSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX3RvZ2dsZS13cmFwXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2Fsd2F5cy1vblwiPnt7IGFsd2F5c09uTGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZjc19fc3dpdGNoXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KGNhdC5sYWJlbEtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwidmNzX19jaGVja2JveFwiIFtmb3JtQ29udHJvbF09XCJjYXQuY29udHJvbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmNzX19zbGlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmNzX19yb3ctaGludFwiPnt7IHQoY2F0LmhpbnRLZXkpIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZjc19fYWN0aW9uc1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cIm9uUmVqZWN0QWxsKClcIj57eyB0KCdyZWplY3RBbGwnKSB9fTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJvblNhdmUoKVwiPnt7IHQoJ3NhdmUnKSB9fTwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwic29saWRcIiBzaXplPVwic21hbGxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25BY2NlcHRBbGwoKVwiPnt7IHQoJ2FjY2VwdEFsbCcpIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC52Y3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC52Y3NfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMDAwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgICAgfVxuICAgICAgLnZjc19fZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgICAudmNzX19zdGF0dXMge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3N0YXR1cy0tcGVuZGluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXdhcm5pbmctcmdiLCAyNTUsIDE5NiwgOSksIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXdhcm5pbmctc2hhZGUsICNlMGFjMDgpO1xuICAgICAgfVxuICAgICAgLnZjc19fc3RhdHVzLS1kYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCAjZjRmNWY4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjOTI5NDljKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2NhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93IHtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA2KSk7XG4gICAgICB9XG4gICAgICAudmNzX19yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMDAwKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3Jvdy1oaW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3RvZ2dsZS13cmFwIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAudmNzX19hbHdheXMtb24ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3Itc3VjY2VzcywgIzJkZDM2Zik7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtcmdiLCA0NSwgMjExLCAxMTEpLCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIH1cblxuICAgICAgLyogVG9nZ2xlIHN3aXRjaCBuYXRpdm8g4oCUIG5vIGRlcGVuZGUgZGUgSW9uaWMgKi9cbiAgICAgIC52Y3NfX3N3aXRjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAudmNzX19jaGVja2JveCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3NsaWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjOTI5NDljKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG4gICAgICB9XG4gICAgICAudmNzX19zbGlkZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2NoZWNrYm94OmNoZWNrZWQgKyAudmNzX19zbGlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzcwMjZkZik7XG4gICAgICB9XG4gICAgICAudmNzX19jaGVja2JveDpjaGVja2VkICsgLnZjc19fc2xpZGVyOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICB9XG5cbiAgICAgIC52Y3NfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC52Y3NfX2FjdGlvbnMge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgICAudmNzX19hY3Rpb25zIGlvbi1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZVNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcblxuICAvKiogTXVlc3RyYSB0aXR1bG8geSBkZXNjcmlwY2lvbi4gVXRpbCBkZXNhY3RpdmFybG8gY3VhbmRvIGxhIHBhZ2luYSB5YSB0aWVuZSBoZWFkZXIgcHJvcGlvLiAqL1xuICBASW5wdXQoKSBzaG93VGl0bGUgPSBzaWduYWwodHJ1ZSk7XG5cbiAgLyoqIEVtaXRlIGN1YW5kbyBlbCB1c3VhcmlvIGd1YXJkYS9hY2VwdGEvcmVjaGF6YS4gKi9cbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb25zZW50U2V0dGluZ3M+KCk7XG5cbiAgLy8gRm9ybUNvbnRyb2xzIGludGVybm9zXG4gIHByaXZhdGUgYW5hbHl0aWNzQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPih0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICBwcml2YXRlIGZ1bmN0aW9uYWxpdHlDdHJsID0gbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHRydWUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHByaXZhdGUgYWR2ZXJ0aXNpbmdDdHJsID0gbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICBwcml2YXRlIGVzc2VudGlhbEN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oeyB2YWx1ZTogdHJ1ZSwgZGlzYWJsZWQ6IHRydWUgfSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICByZWFkb25seSBjYXRlZ29yaWVzOiBDb29raWVDYXRlZ29yeVtdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ3NlY3VyaXR5JyxcbiAgICAgIGxhYmVsS2V5OiAnY2F0ZWdvcnlFc3NlbnRpYWwnLFxuICAgICAgaGludEtleTogJ2NhdGVnb3J5RXNzZW50aWFsSGludCcsXG4gICAgICBjb250cm9sOiB0aGlzLmVzc2VudGlhbEN0cmwsXG4gICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICB9LFxuICAgIHsga2V5OiAnYW5hbHl0aWNzJywgbGFiZWxLZXk6ICdjYXRlZ29yeUFuYWx5dGljcycsIGhpbnRLZXk6ICdjYXRlZ29yeUFuYWx5dGljc0hpbnQnLCBjb250cm9sOiB0aGlzLmFuYWx5dGljc0N0cmwgfSxcbiAgICB7XG4gICAgICBrZXk6ICdmdW5jdGlvbmFsaXR5JyxcbiAgICAgIGxhYmVsS2V5OiAnY2F0ZWdvcnlGdW5jdGlvbmFsaXR5JyxcbiAgICAgIGhpbnRLZXk6ICdjYXRlZ29yeUZ1bmN0aW9uYWxpdHlIaW50JyxcbiAgICAgIGNvbnRyb2w6IHRoaXMuZnVuY3Rpb25hbGl0eUN0cmwsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdhZHZlcnRpc2luZycsXG4gICAgICBsYWJlbEtleTogJ2NhdGVnb3J5QWR2ZXJ0aXNpbmcnLFxuICAgICAgaGludEtleTogJ2NhdGVnb3J5QWR2ZXJ0aXNpbmdIaW50JyxcbiAgICAgIGNvbnRyb2w6IHRoaXMuYWR2ZXJ0aXNpbmdDdHJsLFxuICAgIH0sXG4gIF07XG5cbiAgcHJvdGVjdGVkIGNvbnNlbnRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYW5hbHl0aWNzLmNvbnNlbnRTdGF0ZSgpKTtcbiAgcHJvdGVjdGVkIGhhc0RlY2lkZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbnNlbnRTdGF0ZSgpLmhhc0RlY2lkZWQpO1xuXG4gIHByb3RlY3RlZCBsYXN0VXBkYXRlZFRleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdHMgPSB0aGlzLmNvbnNlbnRTdGF0ZSgpLnVwZGF0ZWRBdDtcbiAgICBpZiAoIXRzKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIHRoaXMudCgnbGFzdFVwZGF0ZWQnKS5yZXBsYWNlKCd7ZGF0ZX0nLCBuZXcgRGF0ZSh0cykudG9Mb2NhbGVTdHJpbmcodGhpcy5pMThuLmxhbmcoKSkpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgYWx3YXlzT25MYWJlbCA9ICfinJMnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoTlMsIENPT0tJRV9TRVRUSU5HU19JMThOKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIFN5bmMgY29udHJvbHMgZGVzZGUgZXN0YWRvIGFjdHVhbCBkZSBjb25zZW50XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuY29uc2VudFN0YXRlKCkuc2V0dGluZ3M7XG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbmFseXRpY3NDdHJsLnNldFZhbHVlKHNldHRpbmdzLmFuYWx5dGljcyA/PyB0cnVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy5mdW5jdGlvbmFsaXR5Q3RybC5zZXRWYWx1ZShzZXR0aW5ncy5mdW5jdGlvbmFsaXR5ID8/IHRydWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLmFkdmVydGlzaW5nQ3RybC5zZXRWYWx1ZShzZXR0aW5ncy5hZHZlcnRpc2luZyA/PyBmYWxzZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgb25BY2NlcHRBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3MuZ3JhbnRBbGxDb25zZW50KCk7XG4gICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdzYXZlZCcpLCBkdXJhdGlvbjogMjAwMCwgY29sb3I6ICdkYXJrJywgcG9zaXRpb246ICd0b3AnIH0pO1xuICAgIHRoaXMuc2F2ZWQuZW1pdCh7IGFuYWx5dGljczogdHJ1ZSwgYWR2ZXJ0aXNpbmc6IHRydWUsIGZ1bmN0aW9uYWxpdHk6IHRydWUsIHNlY3VyaXR5OiB0cnVlIH0pO1xuICB9XG5cbiAgb25SZWplY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3MuZGVueUFsbENvbnNlbnQoKTtcbiAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3NhdmVkJyksIGR1cmF0aW9uOiAyMDAwLCBjb2xvcjogJ2RhcmsnLCBwb3NpdGlvbjogJ3RvcCcgfSk7XG4gICAgdGhpcy5zYXZlZC5lbWl0KHsgYW5hbHl0aWNzOiBmYWxzZSwgYWR2ZXJ0aXNpbmc6IGZhbHNlLCBmdW5jdGlvbmFsaXR5OiBmYWxzZSwgc2VjdXJpdHk6IHRydWUgfSk7XG4gIH1cblxuICBvblNhdmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2V0dGluZ3M6IENvbnNlbnRTZXR0aW5ncyA9IHtcbiAgICAgIGFuYWx5dGljczogdGhpcy5hbmFseXRpY3NDdHJsLnZhbHVlLFxuICAgICAgZnVuY3Rpb25hbGl0eTogdGhpcy5mdW5jdGlvbmFsaXR5Q3RybC52YWx1ZSxcbiAgICAgIGFkdmVydGlzaW5nOiB0aGlzLmFkdmVydGlzaW5nQ3RybC52YWx1ZSxcbiAgICAgIHNlY3VyaXR5OiB0cnVlLFxuICAgIH07XG4gICAgdGhpcy5hbmFseXRpY3MudXBkYXRlQ29uc2VudChzZXR0aW5ncyk7XG4gICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdzYXZlZCcpLCBkdXJhdGlvbjogMjAwMCwgY29sb3I6ICdkYXJrJywgcG9zaXRpb246ICd0b3AnIH0pO1xuICAgIHRoaXMuc2F2ZWQuZW1pdChzZXR0aW5ncyk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gdGhpcy5pMThuLnQoa2V5LCBOUyk7XG4gICAgaWYgKHYgJiYgIXYuc3RhcnRzV2l0aCgnWycpKSByZXR1cm4gdjtcbiAgICByZXR1cm4gQ09PS0lFX1NFVFRJTkdTX0kxOE4uZXNba2V5IGFzIGtleW9mIHR5cGVvZiBDT09LSUVfU0VUVElOR1NfSTE4Ti5lc10gPz8ga2V5O1xuICB9XG59XG4iXX0=
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29va2llLXNldHRpbmdzL2Nvb2tpZS1zZXR0aW5ncy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFL0QsK0VBQStFO0FBQy9FLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO0FBRTVCLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsRUFBRSxFQUFFO1FBQ0YsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxXQUFXLEVBQUUsOEVBQThFO1FBQzNGLGlCQUFpQixFQUFFLFlBQVk7UUFDL0IscUJBQXFCLEVBQUUsNkRBQTZEO1FBQ3BGLGlCQUFpQixFQUFFLFdBQVc7UUFDOUIscUJBQXFCLEVBQUUsb0RBQW9EO1FBQzNFLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMseUJBQXlCLEVBQUUsNENBQTRDO1FBQ3ZFLG1CQUFtQixFQUFFLFlB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SSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb25zZW50U2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maXJlYmFzZS9hbmFseXRpY3MtdHlwZXMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcblxuLyoqIEkxOG4gbmFtZXNwYWNlIHVzZWQgYnkgdGhlIGNvbXBvbmVudC4gQXBwcyBjYW4gb3ZlcnJpZGUgdmlhIEkxOG5TZXJ2aWNlLiAqL1xuY29uc3QgTlMgPSAnQ29va2llU2V0dGluZ3MnO1xuXG5jb25zdCBDT09LSUVfU0VUVElOR1NfSTE4TiA9IHtcbiAgZXM6IHtcbiAgICB0aXRsZTogJ1ByZWZlcmVuY2lhcyBkZSBjb29raWVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NvbnRyb2xhIHF1ZSB0ZWNub2xvZ2lhcyBwZXJtaXRlcy4gUHVlZGVzIGNhbWJpYXIgZXN0byBlbiBjdWFscXVpZXIgbW9tZW50by4nLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsOiAnRXNlbmNpYWxlcycsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWxIaW50OiAnTmVjZXNhcmlhcyBwYXJhIGF1dGVudGljYWNpb24geSBzZWd1cmlkYWQuIFNpZW1wcmUgYWN0aXZhcy4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbGl0aWNhJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdNZXRyaWNhcyBhbm9uaW1hcyBkZSB1c28gcGFyYSBtZWpvcmFyIGVsIHNlcnZpY2lvLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY2lvbmFsaWRhZCcsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlY3VlcmRhbiBwcmVmZXJlbmNpYXMgY29tbyBpZGlvbWEgeSB0ZW1hLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ1B1YmxpY2lkYWQnLFxuICAgIGNhdGVnb3J5QWR2ZXJ0aXNpbmdIaW50OiAnUGVyc29uYWxpemFjaW9uIGRlIGFudW5jaW9zLiBSZXF1ZXJpZG8gcGFyYSBwdWJsaWNpZGFkIHJlbGV2YW50ZS4nLFxuICAgIG5vdERlY2lkZWRZZXQ6ICdBdW4gbm8gaGFzIHRvbWFkbyB1bmEgZGVjaXNpb24gZXhwbGljaXRhLicsXG4gICAgbGFzdFVwZGF0ZWQ6ICdVbHRpbWEgYWN0dWFsaXphY2lvbjoge2RhdGV9JyxcbiAgICBhY2NlcHRBbGw6ICdBY2VwdGFyIHRvZG8nLFxuICAgIHJlamVjdEFsbDogJ1NvbG8gZXNlbmNpYWxlcycsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIHNhdmVkOiAnUHJlZmVyZW5jaWFzIGd1YXJkYWRhcycsXG4gIH0sXG4gIGVuOiB7XG4gICAgdGl0bGU6ICdDb29raWUgcHJlZmVyZW5jZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ29udHJvbCB3aGljaCB0ZWNobm9sb2dpZXMgeW91IGFsbG93LiBZb3UgY2FuIGNoYW5nZSB0aGlzIGF0IGFueSB0aW1lLicsXG4gICAgY2F0ZWdvcnlFc3NlbnRpYWw6ICdFc3NlbnRpYWwnLFxuICAgIGNhdGVnb3J5RXNzZW50aWFsSGludDogJ1JlcXVpcmVkIGZvciBhdXRoZW50aWNhdGlvbiBhbmQgc2VjdXJpdHkuIEFsd2F5cyBvbi4nLFxuICAgIGNhdGVnb3J5QW5hbHl0aWNzOiAnQW5hbHl0aWNzJyxcbiAgICBjYXRlZ29yeUFuYWx5dGljc0hpbnQ6ICdBbm9ueW1vdXMgdXNhZ2UgbWV0cmljcyB0byBpbXByb3ZlIHRoZSBzZXJ2aWNlLicsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5OiAnRnVuY3Rpb25hbGl0eScsXG4gICAgY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludDogJ1JlbWVtYmVyIHByZWZlcmVuY2VzIGxpa2UgbGFuZ3VhZ2UgYW5kIHRoZW1lLicsXG4gICAgY2F0ZWdvcnlBZHZlcnRpc2luZzogJ0FkdmVydGlzaW5nJyxcbiAgICBjYXRlZ29yeUFkdmVydGlzaW5nSGludDogJ0FkIHBlcnNvbmFsaXphdGlvbi4gUmVxdWlyZWQgZm9yIHJlbGV2YW50IGFkdmVydGlzaW5nLicsXG4gICAgbm90RGVjaWRlZFlldDogJ1lvdSBoYXZlIG5vdCBtYWRlIGFuIGV4cGxpY2l0IGRlY2lzaW9uIHlldC4nLFxuICAgIGxhc3RVcGRhdGVkOiAnTGFzdCB1cGRhdGVkOiB7ZGF0ZX0nLFxuICAgIGFjY2VwdEFsbDogJ0FjY2VwdCBhbGwnLFxuICAgIHJlamVjdEFsbDogJ0Vzc2VudGlhbCBvbmx5JyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgc2F2ZWQ6ICdQcmVmZXJlbmNlcyBzYXZlZCcsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvb2tpZUNhdGVnb3J5IHtcbiAga2V5OiBrZXlvZiBDb25zZW50U2V0dGluZ3M7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIGhpbnRLZXk6IHN0cmluZztcbiAgY29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBgdmFsLWNvb2tpZS1zZXR0aW5nc2Ag4oCUIHBhbmVsIGRlIGdlc3Rpb24gZGUgY29uc2VudCBHRFBSLlxuICpcbiAqIFNlbGYtY29udGFpbmVkOiBpbnllY3RhIEFuYWx5dGljc1NlcnZpY2UgaW50ZXJuYW1lbnRlLiBTb2xvIG5lY2VzaXRhIG1vbnRhcnNlLlxuICogRW1pdGUgYChzYXZlZClgIGN1YW5kbyBlbCB1c3VhcmlvIGd1YXJkYS9hY2VwdGEvcmVjaGF6YSBwYXJhIHF1ZSBlbCBwYWRyZVxuICogcHVlZGEgY2VycmFyIHVuIG1vZGFsLCBuYXZlZ2FyLCBldGMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtY29va2llLXNldHRpbmdzIChzYXZlZCk9XCJvbkNvbnNlbnRTYXZlZCgpXCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1zZXR0aW5ncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkJ1dHRvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZjc1wiPlxuICAgICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJ2Y3NfX3RpdGxlXCI+e3sgdCgndGl0bGUnKSB9fTwvaDI+XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19kZXNjXCI+e3sgdCgnZGVzY3JpcHRpb24nKSB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgQGlmICghaGFzRGVjaWRlZCgpKSB7XG4gICAgICAgIDxwIGNsYXNzPVwidmNzX19zdGF0dXMgdmNzX19zdGF0dXMtLXBlbmRpbmdcIj57eyB0KCdub3REZWNpZGVkWWV0JykgfX08L3A+XG4gICAgICB9IEBlbHNlIGlmIChsYXN0VXBkYXRlZFRleHQoKSkge1xuICAgICAgICA8cCBjbGFzcz1cInZjc19fc3RhdHVzIHZjc19fc3RhdHVzLS1kYXRlXCI+e3sgbGFzdFVwZGF0ZWRUZXh0KCkgfX08L3A+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2NhdGVnb3JpZXNcIj5cbiAgICAgICAgQGZvciAoY2F0IG9mIGNhdGVnb3JpZXM7IHRyYWNrIGNhdC5rZXkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmNzX19yb3dcIiBbY2xhc3MudmNzX19yb3ctLWRpc2FibGVkXT1cImNhdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZjc19fcm93LWhlYWRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2Y3NfX3Jvdy1sYWJlbFwiPnt7IHQoY2F0LmxhYmVsS2V5KSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX3RvZ2dsZS13cmFwXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjYXQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2Y3NfX2Fsd2F5cy1vblwiPnt7IGFsd2F5c09uTGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZjc19fc3dpdGNoXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KGNhdC5sYWJlbEtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwidmNzX19jaGVja2JveFwiIFtmb3JtQ29udHJvbF09XCJjYXQuY29udHJvbFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmNzX19zbGlkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmNzX19yb3ctaGludFwiPnt7IHQoY2F0LmhpbnRLZXkpIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZjc19fYWN0aW9uc1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJvblJlamVjdEFsbCgpXCI+e3sgdCgncmVqZWN0QWxsJykgfX08L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwib25TYXZlKClcIj57eyB0KCdzYXZlJykgfX08L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWNjZXB0QWxsKClcIj57eyB0KCdhY2NlcHRBbGwnKSB9fTwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAudmNzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAudmNzX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgIH1cbiAgICAgIC52Y3NfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuICAgICAgLnZjc19fc3RhdHVzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG4gICAgICAudmNzX19zdGF0dXMtLXBlbmRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXJnYiwgMjU1LCAxOTYsIDkpLCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci13YXJuaW5nLXNoYWRlLCAjZTBhYzA4KTtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3N0YXR1cy0tZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAudmNzX19jYXRlZ29yaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDgpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC52Y3NfX3JvdyB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNikpO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICAgIC52Y3NfX3Jvdy1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgLnZjc19fcm93LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgICB9XG4gICAgICAudmNzX19yb3ctaGludCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgICAudmNzX190b2dnbGUtd3JhcCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnZjc19fYWx3YXlzLW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MsICMyZGQzNmYpO1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXJnYiwgNDUsIDIxMSwgMTExKSwgMC4xMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC8qIFRvZ2dsZSBzd2l0Y2ggbmF0aXZvIOKAlCBubyBkZXBlbmRlIGRlIElvbmljICovXG4gICAgICAudmNzX19zd2l0Y2gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLnZjc19fY2hlY2tib3gge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgICAudmNzX19zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICAgICAgfVxuICAgICAgLnZjc19fc2xpZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB9XG4gICAgICAudmNzX19jaGVja2JveDpjaGVja2VkICsgLnZjc19fc2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM3MDI2ZGYpO1xuICAgICAgfVxuICAgICAgLnZjc19fY2hlY2tib3g6Y2hlY2tlZCArIC52Y3NfX3NsaWRlcjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgfVxuXG4gICAgICAudmNzX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAudmNzX19hY3Rpb25zIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnZjc19fYWN0aW9ucyBpb24tYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgYW5hbHl0aWNzID0gaW5qZWN0KEFuYWx5dGljc1NlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgLyoqIE11ZXN0cmEgdGl0dWxvIHkgZGVzY3JpcGNpb24uIFV0aWwgZGVzYWN0aXZhcmxvIGN1YW5kbyBsYSBwYWdpbmEgeWEgdGllbmUgaGVhZGVyIHByb3Bpby4gKi9cbiAgQElucHV0KCkgc2hvd1RpdGxlID0gc2lnbmFsKHRydWUpO1xuXG4gIC8qKiBFbWl0ZSBjdWFuZG8gZWwgdXN1YXJpbyBndWFyZGEvYWNlcHRhL3JlY2hhemEuICovXG4gIEBPdXRwdXQoKSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29uc2VudFNldHRpbmdzPigpO1xuXG4gIC8vIEZvcm1Db250cm9scyBpbnRlcm5vc1xuICBwcml2YXRlIGFuYWx5dGljc0N0cmwgPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4odHJ1ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBmdW5jdGlvbmFsaXR5Q3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPih0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICBwcml2YXRlIGFkdmVydGlzaW5nQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBlc3NlbnRpYWxDdHJsID0gbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KHsgdmFsdWU6IHRydWUsIGRpc2FibGVkOiB0cnVlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgY2F0ZWdvcmllczogQ29va2llQ2F0ZWdvcnlbXSA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdzZWN1cml0eScsXG4gICAgICBsYWJlbEtleTogJ2NhdGVnb3J5RXNzZW50aWFsJyxcbiAgICAgIGhpbnRLZXk6ICdjYXRlZ29yeUVzc2VudGlhbEhpbnQnLFxuICAgICAgY29udHJvbDogdGhpcy5lc3NlbnRpYWxDdHJsLFxuICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICB7IGtleTogJ2FuYWx5dGljcycsIGxhYmVsS2V5OiAnY2F0ZWdvcnlBbmFseXRpY3MnLCBoaW50S2V5OiAnY2F0ZWdvcnlBbmFseXRpY3NIaW50JywgY29udHJvbDogdGhpcy5hbmFseXRpY3NDdHJsIH0sXG4gICAge1xuICAgICAga2V5OiAnZnVuY3Rpb25hbGl0eScsXG4gICAgICBsYWJlbEtleTogJ2NhdGVnb3J5RnVuY3Rpb25hbGl0eScsXG4gICAgICBoaW50S2V5OiAnY2F0ZWdvcnlGdW5jdGlvbmFsaXR5SGludCcsXG4gICAgICBjb250cm9sOiB0aGlzLmZ1bmN0aW9uYWxpdHlDdHJsLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnYWR2ZXJ0aXNpbmcnLFxuICAgICAgbGFiZWxLZXk6ICdjYXRlZ29yeUFkdmVydGlzaW5nJyxcbiAgICAgIGhpbnRLZXk6ICdjYXRlZ29yeUFkdmVydGlzaW5nSGludCcsXG4gICAgICBjb250cm9sOiB0aGlzLmFkdmVydGlzaW5nQ3RybCxcbiAgICB9LFxuICBdO1xuXG4gIHByb3RlY3RlZCBjb25zZW50U3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFuYWx5dGljcy5jb25zZW50U3RhdGUoKSk7XG4gIHByb3RlY3RlZCBoYXNEZWNpZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25zZW50U3RhdGUoKS5oYXNEZWNpZGVkKTtcblxuICBwcm90ZWN0ZWQgbGFzdFVwZGF0ZWRUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHRzID0gdGhpcy5jb25zZW50U3RhdGUoKS51cGRhdGVkQXQ7XG4gICAgaWYgKCF0cykgcmV0dXJuICcnO1xuICAgIHJldHVybiB0aGlzLnQoJ2xhc3RVcGRhdGVkJykucmVwbGFjZSgne2RhdGV9JywgbmV3IERhdGUodHMpLnRvTG9jYWxlU3RyaW5nKHRoaXMuaTE4bi5sYW5nKCkpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGFsd2F5c09uTGFiZWwgPSAn4pyTJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KE5TLCBDT09LSUVfU0VUVElOR1NfSTE4Tik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBTeW5jIGNvbnRyb2xzIGRlc2RlIGVzdGFkbyBhY3R1YWwgZGUgY29uc2VudFxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmNvbnNlbnRTdGF0ZSgpLnNldHRpbmdzO1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYW5hbHl0aWNzQ3RybC5zZXRWYWx1ZShzZXR0aW5ncy5hbmFseXRpY3MgPz8gdHJ1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuZnVuY3Rpb25hbGl0eUN0cmwuc2V0VmFsdWUoc2V0dGluZ3MuZnVuY3Rpb25hbGl0eSA/PyB0cnVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy5hZHZlcnRpc2luZ0N0cmwuc2V0VmFsdWUoc2V0dGluZ3MuYWR2ZXJ0aXNpbmcgPz8gZmFsc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIG9uQWNjZXB0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzLmdyYW50QWxsQ29uc2VudCgpO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnc2F2ZWQnKSwgZHVyYXRpb246IDIwMDAsIGNvbG9yOiAnZGFyaycsIHBvc2l0aW9uOiAndG9wJyB9KTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoeyBhbmFseXRpY3M6IHRydWUsIGFkdmVydGlzaW5nOiB0cnVlLCBmdW5jdGlvbmFsaXR5OiB0cnVlLCBzZWN1cml0eTogdHJ1ZSB9KTtcbiAgfVxuXG4gIG9uUmVqZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzLmRlbnlBbGxDb25zZW50KCk7XG4gICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdzYXZlZCcpLCBkdXJhdGlvbjogMjAwMCwgY29sb3I6ICdkYXJrJywgcG9zaXRpb246ICd0b3AnIH0pO1xuICAgIHRoaXMuc2F2ZWQuZW1pdCh7IGFuYWx5dGljczogZmFsc2UsIGFkdmVydGlzaW5nOiBmYWxzZSwgZnVuY3Rpb25hbGl0eTogZmFsc2UsIHNlY3VyaXR5OiB0cnVlIH0pO1xuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNldHRpbmdzOiBDb25zZW50U2V0dGluZ3MgPSB7XG4gICAgICBhbmFseXRpY3M6IHRoaXMuYW5hbHl0aWNzQ3RybC52YWx1ZSxcbiAgICAgIGZ1bmN0aW9uYWxpdHk6IHRoaXMuZnVuY3Rpb25hbGl0eUN0cmwudmFsdWUsXG4gICAgICBhZHZlcnRpc2luZzogdGhpcy5hZHZlcnRpc2luZ0N0cmwudmFsdWUsXG4gICAgICBzZWN1cml0eTogdHJ1ZSxcbiAgICB9O1xuICAgIHRoaXMuYW5hbHl0aWNzLnVwZGF0ZUNvbnNlbnQoc2V0dGluZ3MpO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnc2F2ZWQnKSwgZHVyYXRpb246IDIwMDAsIGNvbG9yOiAnZGFyaycsIHBvc2l0aW9uOiAndG9wJyB9KTtcbiAgICB0aGlzLnNhdmVkLmVtaXQoc2V0dGluZ3MpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdiA9IHRoaXMuaTE4bi50KGtleSwgTlMpO1xuICAgIGlmICh2ICYmICF2LnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHY7XG4gICAgcmV0dXJuIENPT0tJRV9TRVRUSU5HU19JMThOLmVzW2tleSBhcyBrZXlvZiB0eXBlb2YgQ09PS0lFX1NFVFRJTkdTX0kxOE4uZXNdID8/IGtleTtcbiAgfVxufVxuIl19