valtech-components 4.0.4 → 4.0.6

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 (57) hide show
  1. package/esm2022/lib/components/atoms/button/button.component.mjs +15 -5
  2. package/esm2022/lib/components/atoms/fab/fab.component.mjs +8 -18
  3. package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +5 -7
  4. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -1
  5. package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
  6. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +4 -6
  7. package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +5 -5
  8. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +5 -5
  9. package/esm2022/lib/components/molecules/card/card.component.mjs +19 -9
  10. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +21 -13
  11. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +5 -5
  12. package/esm2022/lib/components/molecules/comment/comment.component.mjs +29 -56
  13. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +13 -3
  14. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +7 -15
  15. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +6 -10
  16. package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +13 -5
  17. package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +7 -13
  18. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +12 -28
  19. package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +5 -5
  20. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +5 -5
  21. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +9 -3
  22. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +17 -15
  23. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +7 -5
  24. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  25. package/esm2022/lib/components/molecules/media-object/media-object.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/metric-card/metric-card.component.mjs +5 -3
  27. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +11 -3
  28. package/esm2022/lib/components/molecules/pill/pill.component.mjs +7 -7
  29. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +7 -7
  30. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +3 -3
  31. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +15 -3
  32. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +3 -1
  33. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +5 -5
  34. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +11 -13
  35. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +4 -6
  36. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
  37. package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
  38. package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +3 -1
  39. package/esm2022/lib/components/organisms/cookie-banner/types.mjs +1 -1
  40. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +11 -7
  41. package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
  42. package/esm2022/lib/services/icons.service.mjs +3 -2
  43. package/esm2022/lib/services/page-state/page-state.i18n.mjs +19 -0
  44. package/esm2022/lib/services/page-state/page-state.mjs +101 -0
  45. package/esm2022/lib/version.mjs +2 -2
  46. package/esm2022/public-api.mjs +4 -1
  47. package/fesm2022/valtech-components.mjs +405 -279
  48. package/fesm2022/valtech-components.mjs.map +1 -1
  49. package/lib/components/atoms/progress-bar/types.d.ts +2 -0
  50. package/lib/components/organisms/banner/types.d.ts +1 -1
  51. package/lib/components/organisms/cookie-banner/types.d.ts +2 -0
  52. package/lib/services/page-state/page-state.d.ts +74 -0
  53. package/lib/services/page-state/page-state.i18n.d.ts +6 -0
  54. package/lib/version.d.ts +1 -1
  55. package/package.json +1 -1
  56. package/public-api.d.ts +1 -0
  57. package/src/lib/services/firebase/firebase-messaging-sw.js +145 -0
@@ -1,7 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, inject, Input, Output, EventEmitter } from '@angular/core';
3
3
  import { ReactiveFormsModule, FormControl } from '@angular/forms';
4
- import { IonDatetime, IonDatetimeButton, IonModal, IonNote, IonIcon, } from '@ionic/angular/standalone';
4
+ import { IonDatetime, IonDatetimeButton, IonModal, IonNote, IonIcon } from '@ionic/angular/standalone';
5
5
  import { addIcons } from 'ionicons';
6
6
  import { arrowForwardOutline, calendarOutline } from 'ionicons/icons';
7
7
  import { I18nService } from '../../../services/i18n';
@@ -260,7 +260,7 @@ export class DateRangeInputComponent {
260
260
 
261
261
  <!-- Separator -->
262
262
  <div class="date-separator">
263
- <ion-icon name="arrow-forward-outline"></ion-icon>
263
+ <ion-icon name="arrow-forward-outline" aria-hidden="true"></ion-icon>
264
264
  </div>
265
265
 
266
266
  <!-- End Date -->
@@ -294,9 +294,7 @@ export class DateRangeInputComponent {
294
294
  </div>
295
295
 
296
296
  @if (showDayCount && dayCount !== null) {
297
- <div class="day-count">
298
- {{ dayCount }} {{ getDayLabel() }}
299
- </div>
297
+ <div class="day-count">{{ dayCount }} {{ getDayLabel() }}</div>
300
298
  }
301
299
 
302
300
  @if (props.hint && !hasError) {
@@ -358,7 +356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
358
356
 
359
357
  <!-- Separator -->
360
358
  <div class="date-separator">
361
- <ion-icon name="arrow-forward-outline"></ion-icon>
359
+ <ion-icon name="arrow-forward-outline" aria-hidden="true"></ion-icon>
362
360
  </div>
363
361
 
364
362
  <!-- End Date -->
@@ -392,9 +390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
392
390
  </div>
393
391
 
394
392
  @if (showDayCount && dayCount !== null) {
395
- <div class="day-count">
396
- {{ dayCount }} {{ getDayLabel() }}
397
- </div>
393
+ <div class="day-count">{{ dayCount }} {{ getDayLabel() }}</div>
398
394
  }
399
395
 
400
396
  @if (props.hint && !hasError) {
@@ -413,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
413
409
  }], rangeChange: [{
414
410
  type: Output
415
411
  }] } });
416
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRzlDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUF1R25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJJcEM7UUF3SVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLHlCQUFvQixHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUM1RCx1QkFBa0Is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dUJBQXVCO21HQUF2Qix1QkFBdUIscUpBakl4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThGVCxrc0RBL0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBa0k1Rix1QkFBdUI7a0JBckluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEZUOzhCQW9DUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25EYXRldGltZSxcbiAgSW9uRGF0ZXRpbWVCdXR0b24sXG4gIElvbk1vZGFsLFxuICBJb25Ob3RlLFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YSwgRGF0ZVJhbmdlQ2hhbmdlRXZlbnQsIERhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgYXJyb3dGb3J3YXJkT3V0bGluZSwgY2FsZW5kYXJPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1yYW5nZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWwsIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0ZS1yYW5nZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIlxuICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwicHJvcHMubGF5b3V0ICE9PSAndmVydGljYWwnXCJcbiAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJwcm9wcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwicmFuZ2UtbGFiZWxcIj57eyBnZXRMYWJlbCgpIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXRzLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBTdGFydCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBzdGFydC1kYXRlXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zdGFydExhYmVsIHx8IHByb3BzLnN0YXJ0TGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRTdGFydExhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBbZGF0ZXRpbWVdPVwic3RhcnREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cInN0YXJ0RGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsU3RhcnRDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbcHJlc2VudGF0aW9uXT1cInByb3BzLnByZXNlbnRhdGlvbiB8fCAnZGF0ZSdcIlxuICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwicHJvcHMubG9jYWxlIHx8ICdlcy1FUydcIlxuICAgICAgICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCJwcm9wcy5maXJzdERheU9mV2VlayA/PyAxXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImdldE1pbkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJnZXRNYXhTdGFydERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0U3RhcnRMYWJlbCgpIHx8IGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTZXBhcmF0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXNlcGFyYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZm9yd2FyZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFbmQgRGF0ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQgZW5kLWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmVuZExhYmVsIHx8IHByb3BzLmVuZExhYmVsQ29udGVudEtleSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+e3sgZ2V0RW5kTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJlbmREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cImVuZERhdGV0aW1lSWRcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEVuZENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRW5kRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIHNsb3Q9XCJ0aXRsZVwiPnt7IGdldEVuZExhYmVsKCkgfHwgZ2V0RW5kRGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzaG93RGF5Q291bnQgJiYgZGF5Q291bnQgIT09IG51bGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRheS1jb3VudFwiPlxuICAgICAgICAgIHt7IGRheUNvdW50IH19IHt7IGdldERheUxhYmVsKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcHJvcHMuc2hvd0Vycm9ycykge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L2lvbi1ub3RlPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSByYW5nZSBwaWNrZXIgd2l0aCBzdGFydCBhbmQgZW5kIGRhdGUgc2VsZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBkYXRlUmFuZ2VDb250cm9sLFxuICogICAgIHN0YXJ0TGFiZWw6ICdDaGVjay1pbicsXG4gKiAgICAgZW5kTGFiZWw6ICdDaGVjay1vdXQnXG4gKiAgIH1cIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHZhbGlkYXRpb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHJhbmdlQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1RyaXAgZGF0ZXMnLFxuICogICAgIHJlcXVpcmVCb3RoOiB0cnVlLFxuICogICAgIG1pblJhbmdlRGF5czogMixcbiAqICAgICBtYXhSYW5nZURheXM6IDMwLFxuICogICAgIGRpc2FibGVQYXN0RGF0ZXM6IHRydWUsXG4gKiAgICAgc2hvd0Vycm9yczogdHJ1ZVxuICogICB9XCJcbiAqICAgKHJhbmdlQ2hhbmdlKT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtZGF0ZS1yYW5nZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsU3RhcnRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBpbnRlcm5hbEVuZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgc3RhcnREYXRldGltZUlkID0gYHN0YXJ0LWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gIGVuZERhdGV0aW1lSWQgPSBgZW5kLWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG5cbiAgc2hvd0RheUNvdW50ID0gdHJ1ZTtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICAvKiogR2V0IGRvbmUgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldERvbmVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZG9uZVRleHQgfHwgdGhpcy5pMThuLnQoJ29rJyk7XG4gIH1cblxuICAvKiogR2V0IGNhbmNlbCBidXR0b24gdGV4dCBmcm9tIHByb3BzIG9yIGkxOG4gKi9cbiAgZ2V0Q2FuY2VsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgdGhpcy5pMThuLnQoJ2NhbmNlbCcpO1xuICB9XG5cbiAgLyoqIEdldCBzdGFydCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzdGFydERhdGUnLCAnX2dsb2JhbCcpIHx8ICdTdGFydCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZW5kIGRhdGUgZmFsbGJhY2sgbGFiZWwgKi9cbiAgZ2V0RW5kRGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdlbmREYXRlJywgJ19nbG9iYWwnKSB8fCAnRW5kIGRhdGUnO1xuICB9XG5cbiAgLyoqIEdldCBkYXkvZGF5cyBsYWJlbCBiYXNlZCBvbiBjb3VudCAqL1xuICBnZXREYXlMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheUNvdW50ID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheScsICdfZ2xvYmFsJykgfHwgJ2RheSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZGF5cycsICdfZ2xvYmFsJykgfHwgJ2RheXMnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVXNlIHByb3ZpZGVkIGNvbnRyb2xzIG9yIGludGVybmFsIG9uZXNcbiAgICBpZiAodGhpcy5wcm9wcy5zdGFydENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wgPSB0aGlzLnByb3BzLnN0YXJ0Q29udHJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZW5kQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wgPSB0aGlzLnByb3BzLmVuZENvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh2YWx1ZS5zdGFydCkge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5lbmQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wuc2V0VmFsdWUodmFsdWUuZW5kKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUuc3RhcnQgIT09IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuZW5kICE9PSB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0U3RhcnRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnN0YXJ0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBnZXRFbmRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVuZExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRNaW5EYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZGlzYWJsZVBhc3REYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWluO1xuICB9XG5cbiAgZ2V0TWF4RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVGdXR1cmVEYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0TWF4U3RhcnREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gU3RhcnQgZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgZW5kIGRhdGVcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHJldHVybiBlbmREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNYXhEYXRlKCk7XG4gIH1cblxuICBnZXRNaW5FbmREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gRW5kIGRhdGUgY2Fubm90IGJlIGJlZm9yZSBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gc3RhcnREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNaW5EYXRlKCk7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldCBkYXlDb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgZW5kID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICBjb25zdCBkaWZmVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgZGlmZkRheXMpO1xuICB9XG5cbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25FbmREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWFpbkNvbnRyb2woKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWU6IERhdGVSYW5nZVZhbHVlID0ge1xuICAgICAgc3RhcnQ6IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUsXG4gICAgICBlbmQ6IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIFZhbGlkYXRlIGFuZCBlbWl0XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVSYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHtcbiAgICAgIHZhbHVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGRheUNvdW50OiB0aGlzLmRheUNvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJhbmdlKHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIHJlcXVpcmVkXG4gICAgaWYgKHRoaXMucHJvcHMucmVxdWlyZUJvdGggJiYgKCF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGRheSBjb3VudCBjb25zdHJhaW50c1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRheUNvdW50O1xuICAgIGlmIChkYXlzICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5taW5SYW5nZURheXMgIT09IHVuZGVmaW5lZCAmJiBkYXlzIDwgdGhpcy5wcm9wcy5taW5SYW5nZURheXMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA+IHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHOUMsUUFBUSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQXFHbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBbklwQztRQXNJWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRWpFLFdBQU0sR0FBRyxlQUFlLENBQUM7UUFFekIseUJBQW9CLEdBQUcsSUFBSSxXQUFXLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQzVELHVCQUFrQixH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QkFBdUI7bUdBQXZCLHVCQUF1QixxSkEvSHhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVCxrc0RBN0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBZ0k1Rix1QkFBdUI7a0JBbkluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVDs4QkFvQ1EsS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uRGF0ZXRpbWUsIElvbkRhdGV0aW1lQnV0dG9uLCBJb25Nb2RhbCwgSW9uTm90ZSwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFycm93Rm9yd2FyZE91dGxpbmUsIGNhbGVuZGFyT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhLCBEYXRlUmFuZ2VDaGFuZ2VFdmVudCwgRGF0ZVJhbmdlVmFsdWUgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kYXRlLXJhbmdlLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uRGF0ZXRpbWUsIElvbkRhdGV0aW1lQnV0dG9uLCBJb25Nb2RhbCwgSW9uTm90ZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkYXRlLXJhbmdlLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW2NsYXNzLmhhcy1lcnJvcl09XCJoYXNFcnJvclwiXG4gICAgICBbY2xhc3MuaG9yaXpvbnRhbF09XCJwcm9wcy5sYXlvdXQgIT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLnZlcnRpY2FsXT1cInByb3BzLmxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJyYW5nZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dHMtd3JhcHBlclwiPlxuICAgICAgICA8IS0tIFN0YXJ0IERhdGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWlucHV0IHN0YXJ0LWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnN0YXJ0TGFiZWwgfHwgcHJvcHMuc3RhcnRMYWJlbENvbnRlbnRLZXkpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1sYWJlbFwiPnt7IGdldFN0YXJ0TGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJzdGFydERhdGV0aW1lSWRcIj48L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICAgICAgICAgICBbaWRdPVwic3RhcnREYXRldGltZUlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxTdGFydENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heFN0YXJ0RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkb25lVGV4dF09XCJnZXREb25lVGV4dCgpXCJcbiAgICAgICAgICAgICAgICBbY2FuY2VsVGV4dF09XCJnZXRDYW5jZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBzbG90PVwidGl0bGVcIj57eyBnZXRTdGFydExhYmVsKCkgfHwgZ2V0U3RhcnREYXRlRmFsbGJhY2soKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvaW9uLW1vZGFsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNlcGFyYXRvciAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtc2VwYXJhdG9yXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEVuZCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBlbmQtZGF0ZVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuZW5kTGFiZWwgfHwgcHJvcHMuZW5kTGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRFbmRMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlvbi1kYXRldGltZS1idXR0b24gW2RhdGV0aW1lXT1cImVuZERhdGV0aW1lSWRcIj48L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICAgICAgICAgICBbaWRdPVwiZW5kRGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsRW5kQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgW3ByZXNlbnRhdGlvbl09XCJwcm9wcy5wcmVzZW50YXRpb24gfHwgJ2RhdGUnXCJcbiAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInByb3BzLmxvY2FsZSB8fCAnZXMtRVMnXCJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwicHJvcHMuZmlyc3REYXlPZldlZWsgPz8gMVwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJnZXRNaW5FbmREYXRlKClcIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiZ2V0TWF4RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkb25lVGV4dF09XCJnZXREb25lVGV4dCgpXCJcbiAgICAgICAgICAgICAgICBbY2FuY2VsVGV4dF09XCJnZXRDYW5jZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25FbmREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0RW5kTGFiZWwoKSB8fCBnZXRFbmREYXRlRmFsbGJhY2soKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvaW9uLW1vZGFsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHNob3dEYXlDb3VudCAmJiBkYXlDb3VudCAhPT0gbnVsbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LWNvdW50XCI+e3sgZGF5Q291bnQgfX0ge3sgZ2V0RGF5TGFiZWwoKSB9fTwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLmhpbnQgJiYgIWhhc0Vycm9yKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImhpbnRcIj57eyBnZXRIaW50KCkgfX08L2lvbi1ub3RlPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGhhc0Vycm9yICYmIHByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqXG4gKiBBIGRhdGUgcmFuZ2UgcGlja2VyIHdpdGggc3RhcnQgYW5kIGVuZCBkYXRlIHNlbGVjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kYXRlLXJhbmdlLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogZGF0ZVJhbmdlQ29udHJvbCxcbiAqICAgICBzdGFydExhYmVsOiAnQ2hlY2staW4nLFxuICogICAgIGVuZExhYmVsOiAnQ2hlY2stb3V0J1xuICogICB9XCJcbiAqID48L3ZhbC1kYXRlLXJhbmdlLWlucHV0PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCB2YWxpZGF0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiByYW5nZUNvbnRyb2wsXG4gKiAgICAgbGFiZWw6ICdUcmlwIGRhdGVzJyxcbiAqICAgICByZXF1aXJlQm90aDogdHJ1ZSxcbiAqICAgICBtaW5SYW5nZURheXM6IDIsXG4gKiAgICAgbWF4UmFuZ2VEYXlzOiAzMCxcbiAqICAgICBkaXNhYmxlUGFzdERhdGVzOiB0cnVlLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChyYW5nZUNoYW5nZSk9XCJvblJhbmdlQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVSYW5nZUNoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBpbnRlcm5hbFN0YXJ0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgaW50ZXJuYWxFbmRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHN0YXJ0RGF0ZXRpbWVJZCA9IGBzdGFydC1kYXRldGltZS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuICBlbmREYXRldGltZUlkID0gYGVuZC1kYXRldGltZS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuXG4gIHNob3dEYXlDb3VudCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB2YWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEdldCBkb25lIGJ1dHRvbiB0ZXh0IGZyb20gcHJvcHMgb3IgaTE4biAqL1xuICBnZXREb25lVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmRvbmVUZXh0IHx8IHRoaXMuaTE4bi50KCdvaycpO1xuICB9XG5cbiAgLyoqIEdldCBjYW5jZWwgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldENhbmNlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IHx8IHRoaXMuaTE4bi50KCdjYW5jZWwnKTtcbiAgfVxuXG4gIC8qKiBHZXQgc3RhcnQgZGF0ZSBmYWxsYmFjayBsYWJlbCAqL1xuICBnZXRTdGFydERhdGVGYWxsYmFjaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnc3RhcnREYXRlJywgJ19nbG9iYWwnKSB8fCAnU3RhcnQgZGF0ZSc7XG4gIH1cblxuICAvKiogR2V0IGVuZCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldEVuZERhdGVGYWxsYmFjaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZW5kRGF0ZScsICdfZ2xvYmFsJykgfHwgJ0VuZCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZGF5L2RheXMgbGFiZWwgYmFzZWQgb24gY291bnQgKi9cbiAgZ2V0RGF5TGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kYXlDb3VudCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KCdkYXknLCAnX2dsb2JhbCcpIHx8ICdkYXknO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheXMnLCAnX2dsb2JhbCcpIHx8ICdkYXlzJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFVzZSBwcm92aWRlZCBjb250cm9scyBvciBpbnRlcm5hbCBvbmVzXG4gICAgaWYgKHRoaXMucHJvcHMuc3RhcnRDb250cm9sKSB7XG4gICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sID0gdGhpcy5wcm9wcy5zdGFydENvbnRyb2w7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmVuZENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sID0gdGhpcy5wcm9wcy5lbmRDb250cm9sO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgZnJvbSBtYWluIGNvbnRyb2xcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAodmFsdWUuc3RhcnQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5zdGFydCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuZW5kKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG1haW4gY29udHJvbCBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvcHMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0ICE9PSB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5zdGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmVuZCAhPT0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsRW5kQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5lbmQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldFN0YXJ0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGFydExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0RW5kTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbmRMYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5oaW50IHx8ICcnO1xuICB9XG5cbiAgZ2V0TWluRGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVQYXN0RGF0ZXMpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLm1pbjtcbiAgfVxuXG4gIGdldE1heERhdGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kaXNhYmxlRnV0dXJlRGF0ZXMpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLm1heDtcbiAgfVxuXG4gIGdldE1heFN0YXJ0RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFN0YXJ0IGRhdGUgY2Fubm90IGJlIGFmdGVyIGVuZCBkYXRlXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlO1xuICAgIGlmIChlbmREYXRlKSB7XG4gICAgICByZXR1cm4gZW5kRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWF4RGF0ZSgpO1xuICB9XG5cbiAgZ2V0TWluRW5kRGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuZCBkYXRlIGNhbm5vdCBiZSBiZWZvcmUgc3RhcnQgZGF0ZVxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xuICAgICAgcmV0dXJuIHN0YXJ0RGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWluRGF0ZSgpO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLnByb3BzLmNvbnRyb2w/LnRvdWNoZWQgJiYgdGhpcy5wcm9wcy5jb250cm9sPy5pbnZhbGlkKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wcm9wcy5jb250cm9sPy5lcnJvcnMgfHwgIXRoaXMucHJvcHMuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JLZXlzID0gT2JqZWN0LmtleXModGhpcy5wcm9wcy5jb250cm9sLmVycm9ycyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgZXJyb3JLZXlzKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5lcnJvcnNba2V5XSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5lcnJvcnNba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXQgZGF5Q291bnQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGVuZCA9IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKGVuZCk7XG4gICAgY29uc3QgZGlmZlRpbWUgPSBlbmREYXRlLmdldFRpbWUoKSAtIHN0YXJ0RGF0ZS5nZXRUaW1lKCk7XG4gICAgY29uc3QgZGlmZkRheXMgPSBNYXRoLmNlaWwoZGlmZlRpbWUgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpO1xuXG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIGRpZmZEYXlzKTtcbiAgfVxuXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uRW5kRGF0ZUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1haW5Db250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSA9IHtcbiAgICAgIHN0YXJ0OiB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlLFxuICAgICAgZW5kOiB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICAvLyBWYWxpZGF0ZSBhbmQgZW1pdFxuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlUmFuZ2UodmFsdWUpO1xuICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh7XG4gICAgICB2YWx1ZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICBkYXlDb3VudDogdGhpcy5kYXlDb3VudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSYW5nZSh2YWx1ZTogRGF0ZVJhbmdlVmFsdWUpOiBib29sZWFuIHtcbiAgICAvLyBDaGVjayByZXF1aXJlZFxuICAgIGlmICh0aGlzLnByb3BzLnJlcXVpcmVCb3RoICYmICghdmFsdWUuc3RhcnQgfHwgIXZhbHVlLmVuZCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBkYXkgY291bnQgY29uc3RyYWludHNcbiAgICBjb25zdCBkYXlzID0gdGhpcy5kYXlDb3VudDtcbiAgICBpZiAoZGF5cyAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMubWluUmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA8IHRoaXMucHJvcHMubWluUmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm1heFJhbmdlRGF5cyAhPT0gdW5kZWZpbmVkICYmIGRheXMgPiB0aGlzLnByb3BzLm1heFJhbmdlRGF5cykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -102,7 +102,7 @@ export class DocsCodeExampleComponent {
102
102
  rel="noopener noreferrer"
103
103
  >
104
104
  {{ props.externalLink.label || 'Open in StackBlitz' }}
105
- <ion-icon name="open-outline"></ion-icon>
105
+ <ion-icon name="open-outline" aria-hidden="true"></ion-icon>
106
106
  </a>
107
107
  }
108
108
  </div>
@@ -143,7 +143,11 @@ export class DocsCodeExampleComponent {
143
143
  [attr.aria-label]="copied() ? 'Code copied' : 'Copy code'"
144
144
  (click)="copyCode()"
145
145
  >
146
- <ion-icon slot="icon-only" [name]="copied() ? 'checkmark-outline' : 'copy-outline'"></ion-icon>
146
+ <ion-icon
147
+ slot="icon-only"
148
+ [name]="copied() ? 'checkmark-outline' : 'copy-outline'"
149
+ aria-hidden="true"
150
+ ></ion-icon>
147
151
  </ion-button>
148
152
  }
149
153
  </div>
@@ -182,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
182
186
  rel="noopener noreferrer"
183
187
  >
184
188
  {{ props.externalLink.label || 'Open in StackBlitz' }}
185
- <ion-icon name="open-outline"></ion-icon>
189
+ <ion-icon name="open-outline" aria-hidden="true"></ion-icon>
186
190
  </a>
187
191
  }
188
192
  </div>
@@ -223,7 +227,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
223
227
  [attr.aria-label]="copied() ? 'Code copied' : 'Copy code'"
224
228
  (click)="copyCode()"
225
229
  >
226
- <ion-icon slot="icon-only" [name]="copied() ? 'checkmark-outline' : 'copy-outline'"></ion-icon>
230
+ <ion-icon
231
+ slot="icon-only"
232
+ [name]="copied() ? 'checkmark-outline' : 'copy-outline'"
233
+ aria-hidden="true"
234
+ ></ion-icon>
227
235
  </ion-button>
228
236
  }
229
237
  </div>
@@ -246,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
246
254
  type: ContentChild,
247
255
  args: ['preview']
248
256
  }] } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBK2JILE1BQU0sT0FBTyx3QkFBd0I7SUE5YnJDO1FBK2JXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxD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LFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEsIERvY3NDb2RlVGFiIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFByaXNtLmpzIGltcG9ydHMgKHNhbWUgcGF0dGVybiBhcyBjb2RlLWRpc3BsYXkgYW5kIHBsYWluLWNvZGUtYm94KVxuaW1wb3J0ICogYXMgUHJpc20gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS10eXBlc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXNjc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tYmFzaCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qc29uJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLW1hcmt1cCc7XG5cbmFkZEljb25zKHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICpcbiAqIEEgY29kZSBleGFtcGxlIGNvbXBvbmVudCB3aXRoIHRhYnMsIHByZXZpZXcsIGFuZCBjb3B5IGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1jb2RlLWV4YW1wbGVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogJ0Jhc2ljIEJ1dHRvbicsXG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyBsYWJlbDogJ0hUTUwnLCBsYW5ndWFnZTogJ2h0bWwnLCBjb2RlOiAnPHZhbC1idXR0b24+Q2xpY2sgbWU8L3ZhbC1idXR0b24+JyB9LFxuICogICAgICAgeyBsYWJlbDogJ1R5cGVTY3JpcHQnLCBsYW5ndWFnZTogJ3R5cGVzY3JpcHQnLCBjb2RlOiAnaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAuLi4nIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogPlxuICogICA8bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gKiAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInsgbGFiZWw6ICdDbGljayBtZScgfVwiPjwvdmFsLWJ1dHRvbj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvdmFsLWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgIEBpZiAocHJvcHMudGl0bGUgfHwgcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICAgICAgPGg0IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2g0PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmV4dGVybmFsTGluaykge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICAgIFtocmVmXT1cInByb3BzLmV4dGVybmFsTGluay51cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvcHMuZXh0ZXJuYWxMaW5rLmxhYmVsIHx8ICdPcGVuIGluIFN0YWNrQmxpdHonIH19XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwib3Blbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXZpZXcgLS0+XG4gICAgICBAaWYgKHByZXZpZXdUcGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gVGFicyAtLT5cbiAgICAgIEBpZiAocHJvcHMudGFicz8ubGVuZ3RoKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFic1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3RcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodGFiIG9mIHByb3BzLnRhYnM7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RhYlwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYi5zZXQoaSlcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlVGFiKCkgPT09IGlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBDb2RlIFBhbmVsIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlclwiPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3B5QnV0dG9uICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29waWVkKCkgPyAnQ29kZSBjb3BpZWQnIDogJ0NvcHkgY29kZSdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlDb2RlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiY29waWVkKCkgPyAnY2hlY2ttYXJrLW91dGxpbmUnIDogJ2NvcHktb3V0bGluZSdcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cHJlXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3ByZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlLS1saW5lLW51bWJlcnNdPVwicHJvcHMuc2hvd0xpbmVOdW1iZXJzXCJcbiAgICAgICAgICAgID48Y29kZVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIidsYW5ndWFnZS0nICsgY3VycmVudFRhYigpLmxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJoaWdobGlnaHRlZENvZGUoKVwiXG4gICAgICAgICAgICA+PC9jb2RlPjwvcHJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMWExYTFhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19leHRlcm5hbC1saW5rIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3IHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxOHB4IDhweCAxOHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ1NGIE1vbm8nLCBNb25hY28sIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjODk5Mzk2O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYmFja2dyb3VuZCAwLjJzLFxuICAgICAgICAgIGNvbG9yIDAuMnM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWVmMjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGNvbG9yOiAjMTk0MjJkO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmNmY3O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgIC0tcGFkZGluZy1zdGFydDogMnB4O1xuICAgICAgICAtLXBhZGRpbmctZW5kOiAycHg7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgLS1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbDpob3ZlciAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0bjpob3ZlciB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVycyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgY291bnRlci1yZXNldDogbGluZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCAnU0YgTW9ubycsIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIHRhYi1zaXplOiAyO1xuICAgICAgfVxuXG4gICAgICAvKiBQcmlzbS5qcyBzeW50YXggaGlnaGxpZ2h0aW5nIC0gTGlnaHQgdGhlbWUgKEdpdEh1YiBzdHlsZSkgKi9cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9sb2csXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRvY3R5cGUsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgICAgY29sb3I6ICM2YTczN2Q7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgICBjb2xvcjogIzI0MjkyZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udGFnLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5ib29sZWFuLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNvbnN0YW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zeW1ib2wsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgICBjb2xvcjogIzAwNWNjNTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci1uYW1lLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zdHJpbmcsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJ1aWx0aW4sXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmluc2VydGVkIHtcbiAgICAgICAgY29sb3I6ICMyMjg2M2E7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ub3BlcmF0b3IsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udXJsIHtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXRydWxlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHRyLXZhbHVlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgICAgY29sb3I6ICNkNzNhNDk7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNsYXNzLW5hbWUge1xuICAgICAgICBjb2xvcjogIzZmNDJjMTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5yZWdleCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW1wb3J0YW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICAgIGNvbG9yOiAjZTM2MjA5O1xuICAgICAgfVxuXG4gICAgICAvKiBSZXNwb25zaXZlICovXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogRGFyayBtb2RlIOKAlCBjbGFzcy1iYXNlZCBPTkxZIChJb25pYyBib2R5LmRhcmsgLyBodG1sLmlvbi1wYWxldHRlLWRhcmspICovXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB7XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2hlYWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYnMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi1saXN0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYiB7XG4gICAgICAgICAgY29sb3I6ICM4Yjk0OWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyODJjMzQ7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyODJjMzQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtcGFuZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuIHtcbiAgICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG46aG92ZXIge1xuICAgICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRGFyayBtb2RlIHN5bnRheCBoaWdobGlnaHRpbmcgKi9cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnByb2xvZyxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kb2N0eXBlLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi50YWcsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYm9vbGVhbixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29uc3RhbnQsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3ltYm9sLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjNzljMGZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHRyLW5hbWUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3RyaW5nLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYnVpbHRpbixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbnNlcnRlZCB7XG4gICAgICAgICAgY29sb3I6ICM3ZWU3ODc7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm9wZXJhdG9yLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi51cmwge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHJ1bGUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci12YWx1ZSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgICAgICBjb2xvcjogI2ZmN2I3MjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY2xhc3MtbmFtZSB7XG4gICAgICAgICAgY29sb3I6ICNkMmE4ZmY7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnJlZ2V4LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmltcG9ydGFudCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmE2NTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzQ29kZUV4YW1wbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEgPSB7IHRhYnM6IFtdIH07XG5cbiAgQENvbnRlbnRDaGlsZCgncHJldmlldycpIHByZXZpZXdUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByb3RlY3RlZCBhY3RpdmVUYWIgPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCBjb3BpZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCBjdXJyZW50VGFiKCk6IERvY3NDb2RlVGFiIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50YWJzW3RoaXMuYWN0aXZlVGFiKCldIHx8IHsgbGFiZWw6ICcnLCBjb2RlOiAnJywgbGFuZ3VhZ2U6ICd0ZXh0JyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGhpZ2hsaWdodGVkQ29kZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRhYiA9IHRoaXMuY3VycmVudFRhYigpO1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLm5vcm1hbGl6ZUxhbmd1YWdlKHRhYi5sYW5ndWFnZSk7XG4gICAgY29uc3QgZ3JhbW1hciA9IFByaXNtLmxhbmd1YWdlc1tsYW5nXTtcblxuICAgIGlmICghZ3JhbW1hcikge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlSHRtbCh0YWIuY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByaXNtLmhpZ2hsaWdodCh0YWIuY29kZSwgZ3JhbW1hciwgbGFuZyk7XG4gIH1cblxuICBhc3luYyBjb3B5Q29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jdXJyZW50VGFiKCkuY29kZTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29kZSk7XG4gICAgICB0aGlzLmNvcGllZC5zZXQodHJ1ZSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29waWVkLnNldChmYWxzZSksIDIwMDApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgY29kZTonLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpYXNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHRzOiAndHlwZXNjcmlwdCcsXG4gICAgICBqczogJ2phdmFzY3JpcHQnLFxuICAgICAgaHRtbDogJ21hcmt1cCcsXG4gICAgICB4bWw6ICdtYXJrdXAnLFxuICAgICAgc2g6ICdiYXNoJyxcbiAgICAgIHNoZWxsOiAnYmFzaCcsXG4gICAgfTtcbiAgICByZXR1cm4gYWxpYXNlc1tsYW5ndWFnZS50b0xvd2VyQ2FzZSgpXSB8fCBsYW5ndWFnZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxufVxuIl19
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBbWNILE1BQU0sT0FBTyx3QkFBd0I7SUFsY3JDO1FBbWNXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxD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VTtzQkFBbEMsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIENvbnRlbnRDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24sIElvbkJ1dHRvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjb3B5T3V0bGluZSwgY2hlY2ttYXJrT3V0bGluZSwgb3Blbk91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBEb2NzQ29kZUV4YW1wbGVNZXRhZGF0YSwgRG9jc0NvZGVUYWIgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gUHJpc20uanMgaW1wb3J0cyAoc2FtZSBwYXR0ZXJuIGFzIGNvZGUtZGlzcGxheSBhbmQgcGxhaW4tY29kZS1ib3gpXG5pbXBvcnQgKiBhcyBQcmlzbSBmcm9tICdwcmlzbWpzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tamF2YXNjcmlwdCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1jc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tc2Nzcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1iYXNoJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWpzb24nO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tbWFya3VwJztcblxuYWRkSWNvbnMoeyBjb3B5T3V0bGluZSwgY2hlY2ttYXJrT3V0bGluZSwgb3Blbk91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3MtY29kZS1leGFtcGxlXG4gKlxuICogQSBjb2RlIGV4YW1wbGUgY29tcG9uZW50IHdpdGggdGFicywgcHJldmlldywgYW5kIGNvcHkgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnQmFzaWMgQnV0dG9uJyxcbiAqICAgICB0YWJzOiBbXG4gKiAgICAgICB7IGxhYmVsOiAnSFRNTCcsIGxhbmd1YWdlOiAnaHRtbCcsIGNvZGU6ICc8dmFsLWJ1dHRvbj5DbGljayBtZTwvdmFsLWJ1dHRvbj4nIH0sXG4gKiAgICAgICB7IGxhYmVsOiAnVHlwZVNjcmlwdCcsIGxhbmd1YWdlOiAndHlwZXNjcmlwdCcsIGNvZGU6ICdpbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIC4uLicgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjcHJldmlldz5cbiAqICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwieyBsYWJlbDogJ0NsaWNrIG1lJyB9XCI+PC92YWwtYnV0dG9uPlxuICogICA8L25nLXRlbXBsYXRlPlxuICogPC92YWwtZG9jcy1jb2RlLWV4YW1wbGU+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWRvY3MtY29kZS1leGFtcGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbiwgSW9uQnV0dG9uXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgQGlmIChwcm9wcy50aXRsZSB8fCBwcm9wcy5kZXNjcmlwdGlvbiB8fCBwcm9wcy5leHRlcm5hbExpbmspIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19oZWFkZXJcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnRpdGxlKSB7XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaDQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAocHJvcHMuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2Rlc2NyaXB0aW9uXCI+e3sgcHJvcHMuZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAocHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19leHRlcm5hbC1saW5rXCJcbiAgICAgICAgICAgICAgW2hyZWZdPVwicHJvcHMuZXh0ZXJuYWxMaW5rLnVybFwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBwcm9wcy5leHRlcm5hbExpbmsubGFiZWwgfHwgJ09wZW4gaW4gU3RhY2tCbGl0eicgfX1cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJvcGVuLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gUHJldmlldyAtLT5cbiAgICAgIEBpZiAocHJldmlld1RwbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3ByZXZpZXdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlld1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgQGlmIChwcm9wcy50YWJzPy5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX190YWJzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdFwiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgICAgICBAZm9yICh0YWIgb2YgcHJvcHMudGFiczsgdHJhY2sgdGFiLmxhYmVsOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYigpID09PSBpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZlVGFiLnNldChpKVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIENvZGUgUGFuZWwgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtaGVhZGVyXCI+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuc2hvd0NvcHlCdXR0b24gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG5cIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb3BpZWQoKSA/ICdDb2RlIGNvcGllZCcgOiAnQ29weSBjb2RlJ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29weUNvZGUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uXG4gICAgICAgICAgICAgICAgICAgIHNsb3Q9XCJpY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb3BpZWQoKSA/ICdjaGVja21hcmstb3V0bGluZScgOiAnY29weS1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHByZVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZS0tbGluZS1udW1iZXJzXT1cInByb3BzLnNob3dMaW5lTnVtYmVyc1wiXG4gICAgICAgICAgICA+PGNvZGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZVwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCInbGFuZ3VhZ2UtJyArIGN1cnJlbnRUYWIoKS5sYW5ndWFnZVwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGlnaGxpZ2h0ZWRDb2RlKClcIlxuICAgICAgICAgICAgPjwvY29kZT48L3ByZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjNjY2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2V4dGVybmFsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2V4dGVybmFsLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFhMWExYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFicyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmY5ZmE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMThweCA4cHggMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdTRiBNb25vJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzg5OTM5NjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQgMC4ycyxcbiAgICAgICAgICBjb2xvciAwLjJzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGVlZjI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBjb2xvcjogIzE5NDIyZDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG4ge1xuICAgICAgICAtLXBhZGRpbmctc3RhcnQ6IDJweDtcbiAgICAgICAgLS1wYWRkaW5nLWVuZDogMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIC0tY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtcGFuZWw6aG92ZXIgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG46aG92ZXIge1xuICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwcmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlLS1saW5lLW51bWJlcnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ1NGIE1vbm8nLCBNb25hY28sICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiAjMjQyOTJmO1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICB0YWItc2l6ZTogMjtcbiAgICAgIH1cblxuICAgICAgLyogUHJpc20uanMgc3ludGF4IGhpZ2hsaWdodGluZyAtIExpZ2h0IHRoZW1lIChHaXRIdWIgc3R5bGUpICovXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29tbWVudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvbG9nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kb2N0eXBlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jZGF0YSB7XG4gICAgICAgIGNvbG9yOiAjNmE3MzdkO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnB1bmN0dWF0aW9uIHtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvcGVydHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnRhZyxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYm9vbGVhbixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ubnVtYmVyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb25zdGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3ltYm9sLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kZWxldGVkIHtcbiAgICAgICAgY29sb3I6ICMwMDVjYzU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc2VsZWN0b3IsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItbmFtZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3RyaW5nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jaGFyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5idWlsdGluLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbnNlcnRlZCB7XG4gICAgICAgIGNvbG9yOiAjMjI4NjNhO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm9wZXJhdG9yLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5lbnRpdHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnVybCB7XG4gICAgICAgIGNvbG9yOiAjMjQyOTJmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0cnVsZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci12YWx1ZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ua2V5d29yZCB7XG4gICAgICAgIGNvbG9yOiAjZDczYTQ5O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmZ1bmN0aW9uLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jbGFzcy1uYW1lIHtcbiAgICAgICAgY29sb3I6ICM2ZjQyYzE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucmVnZXgsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmltcG9ydGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udmFyaWFibGUge1xuICAgICAgICBjb2xvcjogI2UzNjIwOTtcbiAgICAgIH1cblxuICAgICAgLyogUmVzcG9uc2l2ZSAqL1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3Qge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjByZW07XG4gICAgICAgIH1cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSDigJQgY2xhc3MtYmFzZWQgT05MWSAoSW9uaWMgYm9keS5kYXJrIC8gaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAqL1xuICAgICAgOmhvc3QtY29udGV4dCguZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkge1xuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19oZWFkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZXZpZXcge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWIge1xuICAgICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWI6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi0tYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjgyYzM0O1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjgyYzM0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYjIyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuOmhvdmVyIHtcbiAgICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIERhcmsgbW9kZSBzeW50YXggaGlnaGxpZ2h0aW5nICovXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29tbWVudCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9sb2csXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZG9jdHlwZSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jZGF0YSB7XG4gICAgICAgICAgY29sb3I6ICM4Yjk0OWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnB1bmN0dWF0aW9uIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvcGVydHksXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udGFnLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJvb2xlYW4sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ubnVtYmVyLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNvbnN0YW50LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN5bWJvbCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kZWxldGVkIHtcbiAgICAgICAgICBjb2xvcjogIzc5YzBmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc2VsZWN0b3IsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci1uYW1lLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN0cmluZyxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jaGFyLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJ1aWx0aW4sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW5zZXJ0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjN2VlNzg3O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5vcGVyYXRvcixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5lbnRpdHksXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udXJsIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXRydWxlLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItdmFsdWUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ua2V5d29yZCB7XG4gICAgICAgICAgY29sb3I6ICNmZjdiNzI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmZ1bmN0aW9uLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNsYXNzLW5hbWUge1xuICAgICAgICAgIGNvbG9yOiAjZDJhOGZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5yZWdleCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbXBvcnRhbnQsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udmFyaWFibGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZhNjU3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IERvY3NDb2RlRXhhbXBsZU1ldGFkYXRhID0geyB0YWJzOiBbXSB9O1xuXG4gIEBDb250ZW50Q2hpbGQoJ3ByZXZpZXcnKSBwcmV2aWV3VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcm90ZWN0ZWQgYWN0aXZlVGFiID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgY3VycmVudFRhYigpOiBEb2NzQ29kZVRhYiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudGFic1t0aGlzLmFjdGl2ZVRhYigpXSB8fCB7IGxhYmVsOiAnJywgY29kZTogJycsIGxhbmd1YWdlOiAndGV4dCcgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoaWdobGlnaHRlZENvZGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLmN1cnJlbnRUYWIoKTtcbiAgICBjb25zdCBsYW5nID0gdGhpcy5ub3JtYWxpemVMYW5ndWFnZSh0YWIubGFuZ3VhZ2UpO1xuICAgIGNvbnN0IGdyYW1tYXIgPSBQcmlzbS5sYW5ndWFnZXNbbGFuZ107XG5cbiAgICBpZiAoIWdyYW1tYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmVzY2FwZUh0bWwodGFiLmNvZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBQcmlzbS5oaWdobGlnaHQodGFiLmNvZGUsIGdyYW1tYXIsIGxhbmcpO1xuICB9XG5cbiAgYXN5bmMgY29weUNvZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuY3VycmVudFRhYigpLmNvZGU7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvZGUpO1xuICAgICAgdGhpcy5jb3BpZWQuc2V0KHRydWUpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvcGllZC5zZXQoZmFsc2UpLCAyMDAwKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGNvZGU6JywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWFzZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICB0czogJ3R5cGVzY3JpcHQnLFxuICAgICAganM6ICdqYXZhc2NyaXB0JyxcbiAgICAgIGh0bWw6ICdtYXJrdXAnLFxuICAgICAgeG1sOiAnbWFya3VwJyxcbiAgICAgIHNoOiAnYmFzaCcsXG4gICAgICBzaGVsbDogJ2Jhc2gnLFxuICAgIH07XG4gICAgcmV0dXJuIGFsaWFzZXNbbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKV0gfHwgbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXNjYXBlSHRtbCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH1cbn1cbiJdfQ==
@@ -56,7 +56,7 @@ export class DocsNavLinksComponent {
56
56
  [href]="getHref(props.previous.route)"
57
57
  (click)="onNavigate($event, props.previous.route)"
58
58
  >
59
- <ion-icon name="arrow-back-outline" class="docs-nav-links__icon"></ion-icon>
59
+ <ion-icon name="arrow-back-outline" class="docs-nav-links__icon" aria-hidden="true"></ion-icon>
60
60
  <div class="docs-nav-links__text">
61
61
  <span class="docs-nav-links__label">{{ props.previous.label || previousLabel() }}</span>
62
62
  <span class="docs-nav-links__title">{{ props.previous.title }}</span>
@@ -66,10 +66,7 @@ export class DocsNavLinksComponent {
66
66
  </div>
67
67
 
68
68
  <!-- Next -->
69
- <div
70
- class="docs-nav-links__item docs-nav-links__item--next"
71
- [class.docs-nav-links__item--empty]="!props.next"
72
- >
69
+ <div class="docs-nav-links__item docs-nav-links__item--next" [class.docs-nav-links__item--empty]="!props.next">
73
70
  @if (props.next) {
74
71
  <a
75
72
  class="docs-nav-links__link"
@@ -80,7 +77,7 @@ export class DocsNavLinksComponent {
80
77
  <span class="docs-nav-links__label">{{ props.next.label || nextLabel() }}</span>
81
78
  <span class="docs-nav-links__title">{{ props.next.title }}</span>
82
79
  </div>
83
- <ion-icon name="arrow-forward-outline" class="docs-nav-links__icon"></ion-icon>
80
+ <ion-icon name="arrow-forward-outline" class="docs-nav-links__icon" aria-hidden="true"></ion-icon>
84
81
  </a>
85
82
  }
86
83
  </div>
@@ -102,7 +99,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
99
  [href]="getHref(props.previous.route)"
103
100
  (click)="onNavigate($event, props.previous.route)"
104
101
  >
105
- <ion-icon name="arrow-back-outline" class="docs-nav-links__icon"></ion-icon>
102
+ <ion-icon name="arrow-back-outline" class="docs-nav-links__icon" aria-hidden="true"></ion-icon>
106
103
  <div class="docs-nav-links__text">
107
104
  <span class="docs-nav-links__label">{{ props.previous.label || previousLabel() }}</span>
108
105
  <span class="docs-nav-links__title">{{ props.previous.title }}</span>
@@ -112,10 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
112
109
  </div>
113
110
 
114
111
  <!-- Next -->
115
- <div
116
- class="docs-nav-links__item docs-nav-links__item--next"
117
- [class.docs-nav-links__item--empty]="!props.next"
118
- >
112
+ <div class="docs-nav-links__item docs-nav-links__item--next" [class.docs-nav-links__item--empty]="!props.next">
119
113
  @if (props.next) {
120
114
  <a
121
115
  class="docs-nav-links__link"
@@ -126,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
126
120
  <span class="docs-nav-links__label">{{ props.next.label || nextLabel() }}</span>
127
121
  <span class="docs-nav-links__title">{{ props.next.title }}</span>
128
122
  </div>
129
- <ion-icon name="arrow-forward-outline" class="docs-nav-links__icon"></ion-icon>
123
+ <ion-icon name="arrow-forward-outline" class="docs-nav-links__icon" aria-hidden="true"></ion-icon>
130
124
  </a>
131
125
  }
132
126
  </div>
@@ -137,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
137
131
  }], navigate: [{
138
132
  type: Output
139
133
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXYtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXJELFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQXVLSCxNQUFNLE9BQU8scUJBQXFCO0lBdEtsQztRQXVLVyxVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUUxQyxZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyx3RUFBd0U7UUFDeEUsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUM7UUFDdEUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztLQWEzRDtJQVhDLE9BQU8sQ0FBQyxLQUFlO1FBQ3JCLDRDQUE0QztRQUM1QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWSxFQUFFLEtBQWU7UUFDdEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0F0QlUscUJBQXFCO21HQUFyQixxQkFBcUIsNklBbEt0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENULDY1REEzQ1MsWUFBWSwrQkFBRSxPQUFPOzs0RkFtS3BCLHFCQUFxQjtrQkF0S2pDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVDs4QkF5SFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYXJyb3dCYWNrT3V0bGluZSwgYXJyb3dGb3J3YXJkT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc01ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBEb2NzTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb2NzL2RvY3MtbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5cbmFkZEljb25zKHsgYXJyb3dCYWNrT3V0bGluZSwgYXJyb3dGb3J3YXJkT3V0bGluZSB9KTtcblxuLyoqXG4gKiB2YWwtZG9jcy1uYXYtbGlua3NcbiAqXG4gKiBOYXZpZ2F0aW9uIGxpbmtzIGZvciBwcmV2aW91cy9uZXh0IHBhZ2UgbmF2aWdhdGlvbiBpbiBkb2N1bWVudGF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtbmF2LWxpbmtzXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgcHJldmlvdXM6IHsgbGFiZWw6ICdQcmV2aW91cycsIHRpdGxlOiAnR2V0dGluZyBTdGFydGVkJywgcm91dGU6IFsnL2RvY3MnLCAnZ2V0dGluZy1zdGFydGVkJ10gfSxcbiAqICAgICBuZXh0OiB7IGxhYmVsOiAnTmV4dCcsIHRpdGxlOiAnQ29tcG9uZW50cycsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnXSB9XG4gKiAgIH1cIlxuICogPjwvdmFsLWRvY3MtbmF2LWxpbmtzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLW5hdi1saW5rcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc1wiIFtjbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiIGFyaWEtbGFiZWw9XCJQYWdlIG5hdmlnYXRpb25cIj5cbiAgICAgIDwhLS0gUHJldmlvdXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2l0ZW0gZG9jcy1uYXYtbGlua3NfX2l0ZW0tLXByZXZcIlxuICAgICAgICBbY2xhc3MuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLWVtcHR5XT1cIiFwcm9wcy5wcmV2aW91c1wiXG4gICAgICA+XG4gICAgICAgIEBpZiAocHJvcHMucHJldmlvdXMpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGlua1wiXG4gICAgICAgICAgICBbaHJlZl09XCJnZXRIcmVmKHByb3BzLnByZXZpb3VzLnJvdXRlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25OYXZpZ2F0ZSgkZXZlbnQsIHByb3BzLnByZXZpb3VzLnJvdXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1iYWNrLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fdGV4dFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19sYWJlbFwiPnt7IHByb3BzLnByZXZpb3VzLmxhYmVsIHx8IHByZXZpb3VzTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fdGl0bGVcIj57eyBwcm9wcy5wcmV2aW91cy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTmV4dCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faXRlbSBkb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dFwiXG4gICAgICAgIFtjbGFzcy5kb2NzLW5hdi1saW5rc19faXRlbS0tZW1wdHldPVwiIXByb3BzLm5leHRcIlxuICAgICAgPlxuICAgICAgICBAaWYgKHByb3BzLm5leHQpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGlua1wiXG4gICAgICAgICAgICBbaHJlZl09XCJnZXRIcmVmKHByb3BzLm5leHQucm91dGUpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk5hdmlnYXRlKCRldmVudCwgcHJvcHMubmV4dC5yb3V0ZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fdGV4dFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19sYWJlbFwiPnt7IHByb3BzLm5leHQubGFiZWwgfHwgbmV4dExhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RpdGxlXCI+e3sgcHJvcHMubmV4dC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1lbXB0eSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dCAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgI2UwZTBlMCk7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19fdGl0bGUge1xuICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIC5kb2NzLW5hdi1saW5rc19faWNvbiB7XG4gICAgICBjb2xvcjogIzFhMWExYTtcbiAgICB9XG5cbiAgICAuZG9jcy1uYXYtbGlua3NfX2ljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLW5hdi1saW5rc19fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgfVxuXG4gICAgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgcmVzcG9uc2l2ZSAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX190ZXh0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGFyayBtb2RlICovXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX19saW5rLFxuICAgIDpob3N0LWNvbnRleHQoW2NvbG9yLXNjaGVtZT0nZGFyayddKSAuZG9jcy1uYXYtbGlua3NfX2xpbmsge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhO1xuICAgIH1cblxuICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlcixcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX190aXRsZSxcbiAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICBjb2xvcjogI2Y0ZjVmODtcbiAgICB9XG4gIGBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzTmF2TGlua3NDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc05hdkxpbmtzTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIHByaXZhdGUgZG9jc05hdiA9IGluamVjdChEb2NzTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8vIGkxOG4gbGFiZWxzIC0gdXNlcyBfZ2xvYmFsIG5hbWVzcGFjZSBmcm9tIHZhbHRlY2gtY29tcG9uZW50cyBkZWZhdWx0c1xuICBwcmV2aW91c0xhYmVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pMThuLnQoJ3ByZXZpb3VzJykgfHwgJ1ByZXZpb3VzJyk7XG4gIG5leHRMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaTE4bi50KCduZXh0JykgfHwgJ05leHQnKTtcblxuICBnZXRIcmVmKHJvdXRlOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgLy8gSGFuZGxlIHJvdXRlcyB0aGF0IGFscmVhZHkgc3RhcnQgd2l0aCAnLydcbiAgICBjb25zdCBwYXRoID0gcm91dGUuam9pbignLycpO1xuICAgIHJldHVybiBwYXRoLnN0YXJ0c1dpdGgoJy8nKSA/IHBhdGggOiAnLycgKyBwYXRoO1xuICB9XG5cbiAgb25OYXZpZ2F0ZShldmVudDogRXZlbnQsIHJvdXRlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcbiAgICB0aGlzLmRvY3NOYXYubmF2aWdhdGVBbmRTY3JvbGwocm91dGUpO1xuICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1uYXYtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLW5hdi1saW5rcy9kb2NzLW5hdi1saW5rcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXJELFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQXNLSCxNQUFNLE9BQU8scUJBQXFCO0lBcktsQztRQXNLVyxVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUUxQyxZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyx3RUFBd0U7UUFDeEUsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUM7UUFDdEUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztLQWEzRDtJQVhDLE9BQU8sQ0FBQyxLQUFlO1FBQ3JCLDRDQUE0QztRQUM1QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWSxFQUFFLEtBQWU7UUFDdEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0F0QlUscUJBQXFCO21HQUFyQixxQkFBcUIsNklBakt0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNULDY1REF4Q1MsWUFBWSwrQkFBRSxPQUFPOzs0RkFrS3BCLHFCQUFxQjtrQkFyS2pDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDVDs4QkEySFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYXJyb3dCYWNrT3V0bGluZSwgYXJyb3dGb3J3YXJkT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IERvY3NOYXZMaW5rc01ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBEb2NzTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kb2NzL2RvY3MtbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5cbmFkZEljb25zKHsgYXJyb3dCYWNrT3V0bGluZSwgYXJyb3dGb3J3YXJkT3V0bGluZSB9KTtcblxuLyoqXG4gKiB2YWwtZG9jcy1uYXYtbGlua3NcbiAqXG4gKiBOYXZpZ2F0aW9uIGxpbmtzIGZvciBwcmV2aW91cy9uZXh0IHBhZ2UgbmF2aWdhdGlvbiBpbiBkb2N1bWVudGF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRvY3MtbmF2LWxpbmtzXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgcHJldmlvdXM6IHsgbGFiZWw6ICdQcmV2aW91cycsIHRpdGxlOiAnR2V0dGluZyBTdGFydGVkJywgcm91dGU6IFsnL2RvY3MnLCAnZ2V0dGluZy1zdGFydGVkJ10gfSxcbiAqICAgICBuZXh0OiB7IGxhYmVsOiAnTmV4dCcsIHRpdGxlOiAnQ29tcG9uZW50cycsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnXSB9XG4gKiAgIH1cIlxuICogPjwvdmFsLWRvY3MtbmF2LWxpbmtzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLW5hdi1saW5rcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuYXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc1wiIFtjbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiIGFyaWEtbGFiZWw9XCJQYWdlIG5hdmlnYXRpb25cIj5cbiAgICAgIDwhLS0gUHJldmlvdXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2l0ZW0gZG9jcy1uYXYtbGlua3NfX2l0ZW0tLXByZXZcIlxuICAgICAgICBbY2xhc3MuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLWVtcHR5XT1cIiFwcm9wcy5wcmV2aW91c1wiXG4gICAgICA+XG4gICAgICAgIEBpZiAocHJvcHMucHJldmlvdXMpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGlua1wiXG4gICAgICAgICAgICBbaHJlZl09XCJnZXRIcmVmKHByb3BzLnByZXZpb3VzLnJvdXRlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25OYXZpZ2F0ZSgkZXZlbnQsIHByb3BzLnByZXZpb3VzLnJvdXRlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1iYWNrLW91dGxpbmVcIiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fdGV4dFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX19sYWJlbFwiPnt7IHByb3BzLnByZXZpb3VzLmxhYmVsIHx8IHByZXZpb3VzTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fdGl0bGVcIj57eyBwcm9wcy5wcmV2aW91cy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTmV4dCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faXRlbSBkb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dFwiIFtjbGFzcy5kb2NzLW5hdi1saW5rc19faXRlbS0tZW1wdHldPVwiIXByb3BzLm5leHRcIj5cbiAgICAgICAgQGlmIChwcm9wcy5uZXh0KSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX2xpbmtcIlxuICAgICAgICAgICAgW2hyZWZdPVwiZ2V0SHJlZihwcm9wcy5uZXh0LnJvdXRlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25OYXZpZ2F0ZSgkZXZlbnQsIHByb3BzLm5leHQucm91dGUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1uYXYtbGlua3NfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLW5hdi1saW5rc19fbGFiZWxcIj57eyBwcm9wcy5uZXh0LmxhYmVsIHx8IG5leHRMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3MtbmF2LWxpbmtzX190aXRsZVwiPnt7IHByb3BzLm5leHQudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZm9yd2FyZC1vdXRsaW5lXCIgY2xhc3M9XCJkb2NzLW5hdi1saW5rc19faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsICNlMGUwZTApO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tZW1wdHkge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2l0ZW0tLW5leHQgLmRvY3MtbmF2LWxpbmtzX19saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IC5kb2NzLW5hdi1saW5rc19fdGV4dCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsICNlMGUwZTApO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX2xpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlciAuZG9jcy1uYXYtbGlua3NfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlciAuZG9jcy1uYXYtbGlua3NfX2ljb24ge1xuICAgICAgICBjb2xvcjogIzFhMWExYTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtbmF2LWxpbmtzX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzY2Nik7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLW5hdi1saW5rc19fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1uYXYtbGlua3NfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC8qIE1vYmlsZSByZXNwb25zaXZlICovXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmRvY3MtbmF2LWxpbmtzIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtbmF2LWxpbmtzX19pdGVtLS1uZXh0IC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLW5hdi1saW5rc19faXRlbS0tbmV4dCAuZG9jcy1uYXYtbGlua3NfX3RleHQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSAqL1xuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX19saW5rLFxuICAgICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPSdkYXJrJ10pIC5kb2NzLW5hdi1saW5rc19fbGluayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNhM2EzYTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmRvY3MtbmF2LWxpbmtzX19saW5rOmhvdmVyLFxuICAgICAgOmhvc3QtY29udGV4dChbY29sb3Itc2NoZW1lPSdkYXJrJ10pIC5kb2NzLW5hdi1saW5rc19fbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoLmRhcmspIC5kb2NzLW5hdi1saW5rc19fdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KFtjb2xvci1zY2hlbWU9J2RhcmsnXSkgLmRvY3MtbmF2LWxpbmtzX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZjRmNWY4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvY3NOYXZMaW5rc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzTmF2TGlua3NNZXRhZGF0YSA9IHt9O1xuXG4gIEBPdXRwdXQoKSBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgcHJpdmF0ZSBkb2NzTmF2ID0gaW5qZWN0KERvY3NOYXZpZ2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLy8gaTE4biBsYWJlbHMgLSB1c2VzIF9nbG9iYWwgbmFtZXNwYWNlIGZyb20gdmFsdGVjaC1jb21wb25lbnRzIGRlZmF1bHRzXG4gIHByZXZpb3VzTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmkxOG4udCgncHJldmlvdXMnKSB8fCAnUHJldmlvdXMnKTtcbiAgbmV4dExhYmVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pMThuLnQoJ25leHQnKSB8fCAnTmV4dCcpO1xuXG4gIGdldEhyZWYocm91dGU6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBIYW5kbGUgcm91dGVzIHRoYXQgYWxyZWFkeSBzdGFydCB3aXRoICcvJ1xuICAgIGNvbnN0IHBhdGggPSByb3V0ZS5qb2luKCcvJyk7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aCA6ICcvJyArIHBhdGg7XG4gIH1cblxuICBvbk5hdmlnYXRlKGV2ZW50OiBFdmVudCwgcm91dGU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm5hdmlnYXRlLmVtaXQocm91dGUpO1xuICAgIHRoaXMuZG9jc05hdi5uYXZpZ2F0ZUFuZFNjcm9sbChyb3V0ZSk7XG4gIH1cbn1cbiJdfQ==