valtech-components 4.0.964 → 4.0.965

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 (124) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  4. package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
  5. package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
  6. package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
  7. package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
  8. package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
  9. package/esm2022/lib/components/atoms/notice/notice.component.mjs +3 -3
  10. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
  11. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
  12. package/esm2022/lib/components/atoms/rights-footer/rights-footer.component.mjs +2 -2
  13. package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
  14. package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
  15. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +3 -3
  16. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/animal-card/animal-card.component.mjs +3 -3
  18. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
  19. package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
  20. package/esm2022/lib/components/molecules/chat-composer/chat-composer.component.mjs +3 -3
  21. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
  22. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
  23. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -3
  24. package/esm2022/lib/components/molecules/comment/comment.component.mjs +4 -4
  25. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +3 -3
  27. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
  28. package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +5 -5
  29. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +3 -3
  30. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +3 -3
  31. package/esm2022/lib/components/molecules/empty-state/empty-state.component.mjs +3 -3
  32. package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +3 -3
  33. package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs +3 -3
  34. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
  35. package/esm2022/lib/components/molecules/footer-links/footer-links.component.mjs +3 -3
  36. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +4 -4
  37. package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
  38. package/esm2022/lib/components/molecules/image-crop/image-crop.component.mjs +3 -3
  39. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
  40. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  41. package/esm2022/lib/components/molecules/linked-providers/linked-providers.component.mjs +3 -3
  42. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
  43. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +3 -3
  44. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  45. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +3 -3
  46. package/esm2022/lib/components/molecules/option-cards/option-cards.component.mjs +3 -3
  47. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
  48. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +5 -5
  49. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  50. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
  51. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
  52. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +5 -5
  53. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
  54. package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
  55. package/esm2022/lib/components/molecules/request-form/request-form.component.mjs +3 -3
  56. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
  57. package/esm2022/lib/components/molecules/section-header/section-header.component.mjs +3 -3
  58. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
  59. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +3 -3
  60. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +4 -4
  61. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +3 -3
  62. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
  63. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
  64. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
  65. package/esm2022/lib/components/molecules/typing-indicator/typing-indicator.component.mjs +3 -3
  66. package/esm2022/lib/components/molecules/update-banner/update-banner.component.mjs +3 -3
  67. package/esm2022/lib/components/organisms/access-request-view/access-request-view.component.mjs +3 -3
  68. package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +5 -5
  69. package/esm2022/lib/components/organisms/article/article.component.mjs +3 -3
  70. package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
  71. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
  72. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +5 -5
  73. package/esm2022/lib/components/organisms/confirmation-dialog-v2/confirmation-dialog-v2.component.mjs +3 -3
  74. package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +5 -5
  75. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
  76. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +3 -3
  77. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +3 -3
  78. package/esm2022/lib/components/organisms/field-list/field-list.component.mjs +3 -3
  79. package/esm2022/lib/components/organisms/folder-tabs/folder-tabs.component.mjs +3 -3
  80. package/esm2022/lib/components/organisms/form/form.component.mjs +5 -5
  81. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +3 -3
  82. package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
  83. package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +5 -5
  84. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +3 -3
  85. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +11 -11
  86. package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
  87. package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +6 -6
  88. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +5 -5
  89. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +5 -5
  90. package/esm2022/lib/components/organisms/menu/menu.component.mjs +3 -3
  91. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
  92. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +3 -3
  93. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +3 -3
  94. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +3 -3
  95. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
  96. package/esm2022/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.mjs +5 -5
  97. package/esm2022/lib/components/organisms/notifications-view/notifications-view.component.mjs +3 -3
  98. package/esm2022/lib/components/organisms/option-sheet/option-sheet.component.mjs +3 -3
  99. package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +3 -3
  100. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +11 -11
  101. package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +5 -5
  102. package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +7 -7
  103. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +3 -3
  104. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +5 -5
  105. package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +3 -3
  106. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
  107. package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +5 -5
  108. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
  109. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +3 -3
  110. package/esm2022/lib/components/templates/page-content/page-content.component.mjs +3 -3
  111. package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
  112. package/esm2022/lib/services/confirmation-dialog/types.mjs +2 -2
  113. package/esm2022/lib/services/content/transformer.mjs +3 -3
  114. package/esm2022/lib/services/markdown-article/beautify-legal-article.mjs +2 -2
  115. package/esm2022/lib/services/markdown-article/markdown-article-parser.mjs +2 -2
  116. package/esm2022/lib/services/modal/types.mjs +2 -2
  117. package/esm2022/lib/version.mjs +2 -2
  118. package/fesm2022/valtech-components.mjs +284 -284
  119. package/fesm2022/valtech-components.mjs.map +1 -1
  120. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
  121. package/lib/version.d.ts +1 -1
  122. package/package.json +1 -1
  123. package/src/lib/components/styles/overrides.scss +4 -4
  124. package/src/lib/components/styles/variables.scss +6 -6
@@ -192,7 +192,7 @@ export class DocsSidebarComponent {
192
192
  }
193
193
  </div>
194
194
  </nav>
195
- `, isInline: true, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-dark, #666);--sidebar-active-color: #1a1a1a;--sidebar-active-bg: rgba(0, 0, 0, .05);--sidebar-hover-bg: rgba(0, 0, 0, .03);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#0000000f;color:#555}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary,.docs-sidebar__badge--success,.docs-sidebar__badge--warning,.docs-sidebar__badge--danger{background:#0000000f;color:#555}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}:host-context(.dark) .docs-sidebar__badge,:host-context([color-scheme=dark]) .docs-sidebar__badge{background:#ffffff14;color:#999}:host-context(.dark) .docs-sidebar__badge--primary,:host-context(.dark) .docs-sidebar__badge--success,:host-context(.dark) .docs-sidebar__badge--warning,:host-context(.dark) .docs-sidebar__badge--danger,:host-context([color-scheme=dark]) .docs-sidebar__badge--primary,:host-context([color-scheme=dark]) .docs-sidebar__badge--success,:host-context([color-scheme=dark]) .docs-sidebar__badge--warning,:host-context([color-scheme=dark]) .docs-sidebar__badge--danger{background:#ffffff14;color:#999}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
195
+ `, isInline: true, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-medium, #666);--sidebar-active-color: #1a1a1a;--sidebar-active-bg: rgba(0, 0, 0, .05);--sidebar-hover-bg: rgba(0, 0, 0, .03);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#0000000f;color:#555}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary,.docs-sidebar__badge--success,.docs-sidebar__badge--warning,.docs-sidebar__badge--danger{background:#0000000f;color:#555}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}:host-context(.dark) .docs-sidebar__badge,:host-context([color-scheme=dark]) .docs-sidebar__badge{background:#ffffff14;color:#999}:host-context(.dark) .docs-sidebar__badge--primary,:host-context(.dark) .docs-sidebar__badge--success,:host-context(.dark) .docs-sidebar__badge--warning,:host-context(.dark) .docs-sidebar__badge--danger,:host-context([color-scheme=dark]) .docs-sidebar__badge--primary,:host-context([color-scheme=dark]) .docs-sidebar__badge--success,:host-context([color-scheme=dark]) .docs-sidebar__badge--warning,:host-context([color-scheme=dark]) .docs-sidebar__badge--danger{background:#ffffff14;color:#999}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
196
196
  }
197
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DocsSidebarComponent, decorators: [{
198
198
  type: Component,
@@ -281,10 +281,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
281
281
  }
282
282
  </div>
283
283
  </nav>
284
- `, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-dark, #666);--sidebar-active-color: #1a1a1a;--sidebar-active-bg: rgba(0, 0, 0, .05);--sidebar-hover-bg: rgba(0, 0, 0, .03);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#0000000f;color:#555}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary,.docs-sidebar__badge--success,.docs-sidebar__badge--warning,.docs-sidebar__badge--danger{background:#0000000f;color:#555}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}:host-context(.dark) .docs-sidebar__badge,:host-context([color-scheme=dark]) .docs-sidebar__badge{background:#ffffff14;color:#999}:host-context(.dark) .docs-sidebar__badge--primary,:host-context(.dark) .docs-sidebar__badge--success,:host-context(.dark) .docs-sidebar__badge--warning,:host-context(.dark) .docs-sidebar__badge--danger,:host-context([color-scheme=dark]) .docs-sidebar__badge--primary,:host-context([color-scheme=dark]) .docs-sidebar__badge--success,:host-context([color-scheme=dark]) .docs-sidebar__badge--warning,:host-context([color-scheme=dark]) .docs-sidebar__badge--danger{background:#ffffff14;color:#999}\n"] }]
284
+ `, styles: [".docs-sidebar{--sidebar-text-color: var(--ion-text-color, #1a1a1a);--sidebar-text-secondary: var(--ion-color-medium, #666);--sidebar-active-color: #1a1a1a;--sidebar-active-bg: rgba(0, 0, 0, .05);--sidebar-hover-bg: rgba(0, 0, 0, .03);--sidebar-border-color: var(--ion-border-color, #e0e0e0);font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-sidebar__logo{display:flex;align-items:center;gap:.75rem;padding:1rem 0;margin-bottom:1rem;border-bottom:1px solid var(--sidebar-border-color)}.docs-sidebar__logo--clickable{cursor:pointer;transition:opacity .2s ease}.docs-sidebar__logo--clickable:hover{opacity:.8}.docs-sidebar__logo img{height:32px;width:auto}.docs-sidebar__logo-title{font-size:1.25rem;font-weight:600;color:var(--sidebar-text-color);letter-spacing:.5px}.docs-sidebar__nav{display:flex;flex-direction:column;gap:.25rem}.docs-sidebar__section{margin-bottom:.25rem}.docs-sidebar__section-header{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--sidebar-text-color);transition:all .15s ease}.docs-sidebar__section-header:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__section-header--clickable{cursor:pointer}.docs-sidebar__section-header--clickable:hover{background:var(--sidebar-hover-bg)}.docs-sidebar__section-header--active{color:var(--sidebar-active-color)}.docs-sidebar__section-header--expanded .docs-sidebar__chevron{transform:rotate(0)}.docs-sidebar__section-icon{font-size:1.125rem;color:var(--sidebar-text-secondary)}.docs-sidebar__section-title{flex:1}.docs-sidebar__chevron{font-size:.875rem;color:var(--sidebar-text-secondary);transition:transform .2s ease}.docs-sidebar__children{padding-left:1rem;margin-top:.25rem;border-left:1px solid var(--sidebar-border-color);margin-left:.75rem}.docs-sidebar__link{appearance:none;background:transparent;border:none;width:100%;text-align:left;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;color:var(--sidebar-text-secondary);cursor:pointer;transition:all .15s ease}.docs-sidebar__link:focus-visible{outline:2px solid var(--sidebar-active-color);outline-offset:2px}.docs-sidebar__link:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-color)}.docs-sidebar__link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-color);font-weight:500}.docs-sidebar__link--active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-color)}.docs-sidebar__link-label{flex:1}.docs-sidebar__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#0000000f;color:#555}.docs-sidebar__badge--section{margin-left:auto}.docs-sidebar__badge--primary,.docs-sidebar__badge--success,.docs-sidebar__badge--warning,.docs-sidebar__badge--danger{background:#0000000f;color:#555}:host-context(.dark) .docs-sidebar,:host-context([color-scheme=dark]) .docs-sidebar{--sidebar-text-color: #f4f5f8;--sidebar-text-secondary: #a0a0a0;--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border-color: #3a3a3a}:host-context(.dark) .docs-sidebar__badge,:host-context([color-scheme=dark]) .docs-sidebar__badge{background:#ffffff14;color:#999}:host-context(.dark) .docs-sidebar__badge--primary,:host-context(.dark) .docs-sidebar__badge--success,:host-context(.dark) .docs-sidebar__badge--warning,:host-context(.dark) .docs-sidebar__badge--danger,:host-context([color-scheme=dark]) .docs-sidebar__badge--primary,:host-context([color-scheme=dark]) .docs-sidebar__badge--success,:host-context([color-scheme=dark]) .docs-sidebar__badge--warning,:host-context([color-scheme=dark]) .docs-sidebar__badge--danger{background:#ffffff14;color:#999}\n"] }]
285
285
  }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { props: [{
286
286
  type: Input
287
287
  }], navigate: [{
288
288
  type: Output
289
289
  }] } });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZG9jcy1zaWRlYmFyL2RvY3Mtc2lkZWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd4QyxRQUFRLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBNkZILE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQekIsVUFBSyxHQUF3QixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUVsRCxxQkFBZ0IsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO0lBRUMsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtC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QUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFpQjtRQUNwRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLFdBQVcsS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQzsrR0FqRlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ0tBeEZyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFGVCx3NEhBdEZTLFlBQVksK0JBQUUsT0FBTzs7NEZBeUZwQixvQkFBb0I7a0JBNUZoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUZUOzJFQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2hldnJvbkRvd25PdXRsaW5lLCBjaGV2cm9uRm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb2NzU2lkZWJhck1ldGFkYXRhLCBEb2NzU2lkZWJhclNlY3Rpb24sIERvY3NTaWRlYmFyTGluayB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IGNoZXZyb25Eb3duT3V0bGluZSwgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLXNpZGViYXJcbiAqXG4gKiBBIGhpZXJhcmNoaWNhbCBuYXZpZ2F0aW9uIHNpZGViYXIgZm9yIGRvY3VtZW50YXRpb24gc2l0ZXMuXG4gKiBTdXBwb3J0cyBjb2xsYXBzaWJsZSBzZWN0aW9ucywgYWN0aXZlIHJvdXRlIGhpZ2hsaWdodGluZywgYW5kIGJhZGdlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXNpZGViYXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBsb2dvOiB7IHNyYzogJy9hc3NldHMvbG9nby5zdmcnLCBhbHQ6ICdEb2NzJywgdGl0bGU6ICdET0NTJyB9LFxuICogICAgIHNlY3Rpb25zOiBbXG4gKiAgICAgICB7IHRpdGxlOiAnR2V0dGluZyBTdGFydGVkJywgcm91dGU6IFsnL2RvY3MnLCAnZ2V0dGluZy1zdGFydGVkJ10gfSxcbiAqICAgICAgIHtcbiAqICAgICAgICAgdGl0bGU6ICdDb21wb25lbnRzJyxcbiAqICAgICAgICAgZXhwYW5kZWQ6IHRydWUsXG4gKiAgICAgICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICAgICAgeyBsYWJlbDogJ0J1dHRvbicsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnLCAnYnV0dG9uJ10gfSxcbiAqICAgICAgICAgICB7IGxhYmVsOiAnQ2FyZCcsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnLCAnY2FyZCddLCBiYWRnZTogJ05ldycgfVxuICogICAgICAgICBdXG4gKiAgICAgICB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqICAgKG5hdmlnYXRlKT1cIm9uTmF2aWdhdGUoJGV2ZW50KVwiXG4gKiA+PC92YWwtZG9jcy1zaWRlYmFyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2XG4gICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwicHJvcHMuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJEb2N1bWVudGF0aW9uIG5hdmlnYXRpb25cIlxuICAgID5cbiAgICAgIDwhLS0gTG9nbyAtLT5cbiAgICAgIEBpZiAocHJvcHMubG9nbykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xvZ29cIlxuICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2xvZ28tLWNsaWNrYWJsZV09XCJwcm9wcy5sb2dvLnJvdXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwicHJvcHMubG9nby5yb3V0ZSA/IG9uTmF2aWdhdGUocHJvcHMubG9nby5yb3V0ZSkgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwicHJvcHMubG9nby5zcmNcIlxuICAgICAgICAgICAgW2FsdF09XCJwcm9wcy5sb2dvLmFsdFwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInByb3BzLmxvZ28uaGVpZ2h0IHx8ICczMnB4J1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICBAaWYgKHByb3BzLmxvZ28udGl0bGUpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1zaWRlYmFyX19sb2dvLXRpdGxlXCI+e3sgcHJvcHMubG9nby50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIE5hdmlnYXRpb24gc2VjdGlvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1zaWRlYmFyX19uYXZcIj5cbiAgICAgICAgQGZvciAoc2VjdGlvbiBvZiBwcm9wcy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi50aXRsZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb25cIj5cbiAgICAgICAgICAgIDwhLS0gU2VjdGlvbiBoZWFkZXIgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1oZWFkZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1zaWRlYmFyX19zZWN0aW9uLWhlYWRlci0tYWN0aXZlXT1cImlzU2VjdGlvbkFjdGl2ZShzZWN0aW9uKVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX3NlY3Rpb24taGVhZGVyLS1leHBhbmRlZF09XCJleHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1oZWFkZXItLWNsaWNrYWJsZV09XCJzZWN0aW9uLnJvdXRlIHx8IHNlY3Rpb24uY2hpbGRyZW4/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VjdGlvbi5jaGlsZHJlbj8ubGVuZ3RoID8gZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwic2VjdGlvbi5yb3V0ZSAmJiBpc1NlY3Rpb25BY3RpdmUoc2VjdGlvbikgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VjdGlvbkNsaWNrKHNlY3Rpb24pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwic2VjdGlvbi5pY29uXCIgY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb24taWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb24tdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fYmFkZ2UgZG9jcy1zaWRlYmFyX19iYWRnZS0tc2VjdGlvblwiPnt7IHNlY3Rpb24uYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1zaWRlYmFyX19jaGV2cm9uXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPyAnY2hldnJvbi1kb3duLW91dGxpbmUnIDogJ2NoZXZyb24tZm9yd2FyZC1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8IS0tIFNlY3Rpb24gY2hpbGRyZW4gLS0+XG4gICAgICAgICAgICBAaWYgKHNlY3Rpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiBleHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2NoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBzZWN0aW9uLmNoaWxkcmVuOyB0cmFjayBsaW5rLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2xpbmstLWFjdGl2ZV09XCJpc0xpbmtBY3RpdmUobGluaylcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXNMaW5rQWN0aXZlKGxpbmspID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdmlnYXRlKGxpbmsucm91dGUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xpbmstbGFiZWxcIj57eyBsaW5rLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmsuYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2JhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1wcmltYXJ5XT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1zdWNjZXNzXT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS13YXJuaW5nXT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3dhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1kYW5nZXJdPVwibGluay5iYWRnZUNvbG9yID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsuYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kb2NzLXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1NpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzU2lkZWJhck1ldGFkYXRhID0geyBzZWN0aW9uczogW10gfTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGV4cGFuZGVkU2VjdGlvbnM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gIHByaXZhdGUgY3VycmVudFJvdXRlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplRXhwYW5kZWRTZWN0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlQ3VycmVudFJvdXRlKCk7XG5cbiAgICAvLyBMaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZXNcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudFJvdXRlKCk7XG4gICAgICAgIHRoaXMuYXV0b0V4cGFuZEFjdGl2ZVNlY3Rpb24oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVFeHBhbmRlZFNlY3Rpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRXhwYW5kZWRTZWN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLnNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdID0gc2VjdGlvbi5leHBhbmRlZCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudFJvdXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xuICAgIC8vIFVzZSBhY3RpdmVSb3V0ZSBmcm9tIHByb3BzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucHJvcHMuYWN0aXZlUm91dGUpIHtcbiAgICAgIHRoaXMuY3VycmVudFJvdXRlID0gdGhpcy5wcm9wcy5hY3RpdmVSb3V0ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9FeHBhbmRBY3RpdmVTZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLmNoaWxkcmVuPy5zb21lKGxpbmsgPT4gdGhpcy5pc0xpbmtBY3RpdmUobGluaykpKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblNlY3Rpb25DbGljayhzZWN0aW9uOiBEb2NzU2lkZWJhclNlY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoc2VjdGlvbi5yb3V0ZSkge1xuICAgICAgdGhpcy5vbk5hdmlnYXRlKHNlY3Rpb24ucm91dGUpO1xuICAgIH0gZWxzZSBpZiAoc2VjdGlvbi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPSAhdGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdO1xuICAgIH1cbiAgfVxuXG4gIG9uTmF2aWdhdGUocm91dGU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyb3V0ZSk7XG4gIH1cblxuICBpc1NlY3Rpb25BY3RpdmUoc2VjdGlvbjogRG9jc1NpZGViYXJTZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKHNlY3Rpb24ucm91dGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlc01hdGNoKHNlY3Rpb24ucm91dGUsIHRoaXMuY3VycmVudFJvdXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlY3Rpb24uY2hpbGRyZW4/LnNvbWUobGluayA9PiB0aGlzLmlzTGlua0FjdGl2ZShsaW5rKSkgPz8gZmFsc2U7XG4gIH1cblxuICBpc0xpbmtBY3RpdmUobGluazogRG9jc1NpZGViYXJMaW5rKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVzTWF0Y2gobGluay5yb3V0ZSwgdGhpcy5jdXJyZW50Um91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByb3V0ZXNNYXRjaChyb3V0ZTogc3RyaW5nW10sIGN1cnJlbnQ6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgcm91dGVQYXRoID0gcm91dGUuam9pbignLycpLnJlcGxhY2UoL15cXC8vLCAnJyk7XG4gICAgY29uc3QgY3VycmVudFBhdGggPSBjdXJyZW50LmpvaW4oJy8nKTtcbiAgICByZXR1cm4gY3VycmVudFBhdGggPT09IHJvdXRlUGF0aCB8fCBjdXJyZW50UGF0aC5zdGFydHNXaXRoKHJvdXRlUGF0aCArICcvJyk7XG4gIH1cbn1cbiJdfQ==
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZG9jcy1zaWRlYmFyL2RvY3Mtc2lkZWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd4QyxRQUFRLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBNkZILE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFQekIsVUFBSyxHQUF3QixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUVsRCxxQkFBZ0IsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQWEsRUFBRSxDQUFDO0lBRUMsQ0FBQztJQUV0QyxRQUFRO1FBQ04sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtC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QUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWUsRUFBRSxPQUFpQjtRQUNwRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLFdBQVcsS0FBSyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQzsrR0FqRlUsb0JBQW9CO21HQUFwQixvQkFBb0IsZ0tBeEZyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFGVCwwNEhBdEZTLFlBQVksK0JBQUUsT0FBTzs7NEZBeUZwQixvQkFBb0I7a0JBNUZoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUZUOzJFQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2hldnJvbkRvd25PdXRsaW5lLCBjaGV2cm9uRm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb2NzU2lkZWJhck1ldGFkYXRhLCBEb2NzU2lkZWJhclNlY3Rpb24sIERvY3NTaWRlYmFyTGluayB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7IGNoZXZyb25Eb3duT3V0bGluZSwgY2hldnJvbkZvcndhcmRPdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLXNpZGViYXJcbiAqXG4gKiBBIGhpZXJhcmNoaWNhbCBuYXZpZ2F0aW9uIHNpZGViYXIgZm9yIGRvY3VtZW50YXRpb24gc2l0ZXMuXG4gKiBTdXBwb3J0cyBjb2xsYXBzaWJsZSBzZWN0aW9ucywgYWN0aXZlIHJvdXRlIGhpZ2hsaWdodGluZywgYW5kIGJhZGdlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXNpZGViYXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBsb2dvOiB7IHNyYzogJy9hc3NldHMvbG9nby5zdmcnLCBhbHQ6ICdEb2NzJywgdGl0bGU6ICdET0NTJyB9LFxuICogICAgIHNlY3Rpb25zOiBbXG4gKiAgICAgICB7IHRpdGxlOiAnR2V0dGluZyBTdGFydGVkJywgcm91dGU6IFsnL2RvY3MnLCAnZ2V0dGluZy1zdGFydGVkJ10gfSxcbiAqICAgICAgIHtcbiAqICAgICAgICAgdGl0bGU6ICdDb21wb25lbnRzJyxcbiAqICAgICAgICAgZXhwYW5kZWQ6IHRydWUsXG4gKiAgICAgICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICAgICAgeyBsYWJlbDogJ0J1dHRvbicsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnLCAnYnV0dG9uJ10gfSxcbiAqICAgICAgICAgICB7IGxhYmVsOiAnQ2FyZCcsIHJvdXRlOiBbJy9kb2NzJywgJ2NvbXBvbmVudHMnLCAnY2FyZCddLCBiYWRnZTogJ05ldycgfVxuICogICAgICAgICBdXG4gKiAgICAgICB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqICAgKG5hdmlnYXRlKT1cIm9uTmF2aWdhdGUoJGV2ZW50KVwiXG4gKiA+PC92YWwtZG9jcy1zaWRlYmFyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLXNpZGViYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmF2XG4gICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwicHJvcHMuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJEb2N1bWVudGF0aW9uIG5hdmlnYXRpb25cIlxuICAgID5cbiAgICAgIDwhLS0gTG9nbyAtLT5cbiAgICAgIEBpZiAocHJvcHMubG9nbykge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xvZ29cIlxuICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2xvZ28tLWNsaWNrYWJsZV09XCJwcm9wcy5sb2dvLnJvdXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwicHJvcHMubG9nby5yb3V0ZSA/IG9uTmF2aWdhdGUocHJvcHMubG9nby5yb3V0ZSkgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwicHJvcHMubG9nby5zcmNcIlxuICAgICAgICAgICAgW2FsdF09XCJwcm9wcy5sb2dvLmFsdFwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInByb3BzLmxvZ28uaGVpZ2h0IHx8ICczMnB4J1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICBAaWYgKHByb3BzLmxvZ28udGl0bGUpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1zaWRlYmFyX19sb2dvLXRpdGxlXCI+e3sgcHJvcHMubG9nby50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIE5hdmlnYXRpb24gc2VjdGlvbnMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1zaWRlYmFyX19uYXZcIj5cbiAgICAgICAgQGZvciAoc2VjdGlvbiBvZiBwcm9wcy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi50aXRsZSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb25cIj5cbiAgICAgICAgICAgIDwhLS0gU2VjdGlvbiBoZWFkZXIgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1oZWFkZXJcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1zaWRlYmFyX19zZWN0aW9uLWhlYWRlci0tYWN0aXZlXT1cImlzU2VjdGlvbkFjdGl2ZShzZWN0aW9uKVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX3NlY3Rpb24taGVhZGVyLS1leHBhbmRlZF09XCJleHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRvY3Mtc2lkZWJhcl9fc2VjdGlvbi1oZWFkZXItLWNsaWNrYWJsZV09XCJzZWN0aW9uLnJvdXRlIHx8IHNlY3Rpb24uY2hpbGRyZW4/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VjdGlvbi5jaGlsZHJlbj8ubGVuZ3RoID8gZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwic2VjdGlvbi5yb3V0ZSAmJiBpc1NlY3Rpb25BY3RpdmUoc2VjdGlvbikgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VjdGlvbkNsaWNrKHNlY3Rpb24pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwic2VjdGlvbi5pY29uXCIgY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb24taWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNpZGViYXJfX3NlY3Rpb24tdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fYmFkZ2UgZG9jcy1zaWRlYmFyX19iYWRnZS0tc2VjdGlvblwiPnt7IHNlY3Rpb24uYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1zaWRlYmFyX19jaGV2cm9uXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPyAnY2hldnJvbi1kb3duLW91dGxpbmUnIDogJ2NoZXZyb24tZm9yd2FyZC1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8IS0tIFNlY3Rpb24gY2hpbGRyZW4gLS0+XG4gICAgICAgICAgICBAaWYgKHNlY3Rpb24uY2hpbGRyZW4/Lmxlbmd0aCAmJiBleHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2NoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBzZWN0aW9uLmNoaWxkcmVuOyB0cmFjayBsaW5rLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2lkZWJhcl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2xpbmstLWFjdGl2ZV09XCJpc0xpbmtBY3RpdmUobGluaylcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXNMaW5rQWN0aXZlKGxpbmspID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5hdmlnYXRlKGxpbmsucm91dGUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNpZGViYXJfX2xpbmstbGFiZWxcIj57eyBsaW5rLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmsuYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLXNpZGViYXJfX2JhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1wcmltYXJ5XT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1zdWNjZXNzXT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS13YXJuaW5nXT1cImxpbmsuYmFkZ2VDb2xvciA9PT0gJ3dhcm5pbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNpZGViYXJfX2JhZGdlLS1kYW5nZXJdPVwibGluay5iYWRnZUNvbG9yID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsuYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmF2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kb2NzLXNpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1NpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzU2lkZWJhck1ldGFkYXRhID0geyBzZWN0aW9uczogW10gfTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGV4cGFuZGVkU2VjdGlvbnM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gIHByaXZhdGUgY3VycmVudFJvdXRlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplRXhwYW5kZWRTZWN0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlQ3VycmVudFJvdXRlKCk7XG5cbiAgICAvLyBMaXN0ZW4gZm9yIHJvdXRlIGNoYW5nZXNcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudFJvdXRlKCk7XG4gICAgICAgIHRoaXMuYXV0b0V4cGFuZEFjdGl2ZVNlY3Rpb24oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVFeHBhbmRlZFNlY3Rpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRXhwYW5kZWRTZWN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLnNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdID0gc2VjdGlvbi5leHBhbmRlZCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudFJvdXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pO1xuICAgIC8vIFVzZSBhY3RpdmVSb3V0ZSBmcm9tIHByb3BzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucHJvcHMuYWN0aXZlUm91dGUpIHtcbiAgICAgIHRoaXMuY3VycmVudFJvdXRlID0gdGhpcy5wcm9wcy5hY3RpdmVSb3V0ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9FeHBhbmRBY3RpdmVTZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIGlmIChzZWN0aW9uLmNoaWxkcmVuPy5zb21lKGxpbmsgPT4gdGhpcy5pc0xpbmtBY3RpdmUobGluaykpKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRTZWN0aW9uc1tzZWN0aW9uLnRpdGxlXSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvblNlY3Rpb25DbGljayhzZWN0aW9uOiBEb2NzU2lkZWJhclNlY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoc2VjdGlvbi5yb3V0ZSkge1xuICAgICAgdGhpcy5vbk5hdmlnYXRlKHNlY3Rpb24ucm91dGUpO1xuICAgIH0gZWxzZSBpZiAoc2VjdGlvbi5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkU2VjdGlvbnNbc2VjdGlvbi50aXRsZV0gPSAhdGhpcy5leHBhbmRlZFNlY3Rpb25zW3NlY3Rpb24udGl0bGVdO1xuICAgIH1cbiAgfVxuXG4gIG9uTmF2aWdhdGUocm91dGU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJvdXRlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyb3V0ZSk7XG4gIH1cblxuICBpc1NlY3Rpb25BY3RpdmUoc2VjdGlvbjogRG9jc1NpZGViYXJTZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKHNlY3Rpb24ucm91dGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlc01hdGNoKHNlY3Rpb24ucm91dGUsIHRoaXMuY3VycmVudFJvdXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlY3Rpb24uY2hpbGRyZW4/LnNvbWUobGluayA9PiB0aGlzLmlzTGlua0FjdGl2ZShsaW5rKSkgPz8gZmFsc2U7XG4gIH1cblxuICBpc0xpbmtBY3RpdmUobGluazogRG9jc1NpZGViYXJMaW5rKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVzTWF0Y2gobGluay5yb3V0ZSwgdGhpcy5jdXJyZW50Um91dGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByb3V0ZXNNYXRjaChyb3V0ZTogc3RyaW5nW10sIGN1cnJlbnQ6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgcm91dGVQYXRoID0gcm91dGUuam9pbignLycpLnJlcGxhY2UoL15cXC8vLCAnJyk7XG4gICAgY29uc3QgY3VycmVudFBhdGggPSBjdXJyZW50LmpvaW4oJy8nKTtcbiAgICByZXR1cm4gY3VycmVudFBhdGggPT09IHJvdXRlUGF0aCB8fCBjdXJyZW50UGF0aC5zdGFydHNXaXRoKHJvdXRlUGF0aCArICcvJyk7XG4gIH1cbn1cbiJdfQ==
@@ -118,7 +118,7 @@ export class FieldListComponent {
118
118
  <ion-button
119
119
  class="fl-remove"
120
120
  fill="clear"
121
- color="dark"
121
+ color="medium"
122
122
  size="small"
123
123
  [attr.aria-label]="removeText()"
124
124
  (click)="removeRow($index)"
@@ -174,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
174
174
  <ion-button
175
175
  class="fl-remove"
176
176
  fill="clear"
177
- color="dark"
177
+ color="medium"
178
178
  size="small"
179
179
  [attr.aria-label]="removeText()"
180
180
  (click)="removeRow($index)"
@@ -218,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
218
218
  }], itemsChange: [{
219
219
  type: Output
220
220
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLWxpc3QvZmllbGQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXBELFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQztBQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQW1ISCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCO1FBRlEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQU1uQywwQkFBMEI7UUFDakIsVUFBSyxHQUFzQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUVuRCxtRUFBbUU7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUU1RCxrRUFBa0U7UUFDakQsWUFBTyxHQUFHLE1BQU0s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QUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLEtBQXNCLEVBQUUsS0FBc0I7UUFDdkUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQW5GVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixvS0E5R25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RULG82QkFyRFMsWUFBWSwrQkFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsUUFBUTs7NEZBK0d6QyxrQkFBa0I7a0JBbEg5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUMzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9EVDt3REFrRVEsS0FBSztzQkFBYixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYWRkT3V0bGluZSwgdHJhc2hPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgRmllbGRMaXN0Q29sdW1uLCBGaWVsZExpc3RJdGVtLCBGaWVsZExpc3RNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRklFTERfTElTVF9JMThOIH0gZnJvbSAnLi9maWVsZC1saXN0LmkxOG4nO1xuXG5hZGRJY29ucyh7IGFkZE91dGxpbmUsIHRyYXNoT3V0bGluZSB9KTtcblxuY29uc3QgSTE4Tl9OUyA9ICdGaWVsZExpc3QnO1xuXG4vKipcbiAqIGB2YWwtZmllbGQtbGlzdGAg4oCUIGVkaXRvciBkZSBsaXN0YXMgZGUgY2FtcG9zIHJlcGV0aWJsZXMgKHByZW1pb3MsIHJvbmRhcyxcbiAqIGludGVncmFudGVzLCBldGMuKS4gQ2FkYSDDrXRlbSBlcyB1bmEgKipjYXJkKiogY29uIHN1cyBjYW1wb3MgYXBpbGFkb3MgeSB1biBib3TDs25cbiAqIHBhcmEgcXVpdGFybGE7IGFsIHBpZSB1biBib3TDs24gXCJBZ3JlZ2FyXCIuIE1vYmlsZS1maXJzdCAoMSBjb2x1bW5hKSwgZXNjYWxhIGFcbiAqIHZhcmlhcyBjb2x1bW5hcyBwb3IgZmlsYSBlbiBwYW50YWxsYXMgYW5jaGFzLlxuICpcbiAqIE1hbmVqYSBzdSBwcm9waW8gZXN0YWRvIGludGVybm8geSBlbWl0ZSBlbCBhcnJheSBjb21wbGV0byBlbiBjYWRhIGNhbWJpb1xuICogKGBpdGVtc0NoYW5nZWApLiBQYXRyw7NuIG9iamVjdC1maXJzdCAoYEBJbnB1dCgpIHByb3BzYCkuIEF1dG8tcmVnaXN0cmEgaTE4blxuICogKG5hbWVzcGFjZSBgRmllbGRMaXN0YCkgcGFyYSBsb3MgbGFiZWxzIHBvciBkZWZlY3RvIChhZ3JlZ2FyL3F1aXRhci92YWPDrW8pLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWZpZWxkLWxpc3RcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBmaWVsZHM6IFtcbiAqICAgICAgIHsgbmFtZTogJ25vbWJyZScsIGxhYmVsOiAnTm9tYnJlJyB9LFxuICogICAgICAgeyBuYW1lOiAnZGVzY3JpcGNpb24nLCBsYWJlbDogJ0Rlc2NyaXBjacOzbicgfVxuICogICAgIF0sXG4gKiAgICAgaXRlbXM6IHByZW1pb3MsXG4gKiAgICAgaXRlbUxhYmVsOiAnUHJlbWlvIHtufScsXG4gKiAgICAgYWRkTGFiZWw6ICdBZ3JlZ2FyIHByZW1pbydcbiAqICAgfVwiXG4gKiAgIChpdGVtc0NoYW5nZSk9XCJwcmVtaW9zID0gJGV2ZW50XCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZpZWxkLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKHJvd3MoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIDxwIGNsYXNzPVwiZmwtZW1wdHlcIj57eyBlbXB0eVRleHQoKSB9fTwvcD5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmbC1yb3dzXCI+XG4gICAgICAgIEBmb3IgKHJvdyBvZiByb3dzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbC1jYXJkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmwtY2FyZF9faGVhZFwiPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW1MYWJlbCgpOyBhcyBsYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmwtY2FyZF9fbGFiZWxcIj57eyByb3dMYWJlbChsYWJlbCwgJGluZGV4KSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmwtcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVJvdygkaW5kZXgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInRyYXNoLW91dGxpbmVcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsLWZpZWxkc1wiPlxuICAgICAgICAgICAgICBAZm9yIChmaWVsZCBvZiBmaWVsZHMoKTsgdHJhY2sgZmllbGQubmFtZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbC1maWVsZFwiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD1cInN0YWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGUgPT09ICdudW1iZXInID8gJ251bWJlcicgOiAndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICBbaW5wdXRtb2RlXT1cImZpZWxkLmlucHV0bW9kZSA/PyAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgPyAnbnVtZXJpYycgOiBudWxsKVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiZmllbGQubWF4bGVuZ3RoID8/IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbbWluXT1cImZpZWxkLm1pbiA/PyBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJvd1tmaWVsZC5uYW1lXVwiXG4gICAgICAgICAgICAgICAgICAgIChpb25JbnB1dCk9XCJ1cGRhdGVGaWVsZCgkaW5kZXgsIGZpZWxkLCAkZXZlbnQuZGV0YWlsLnZhbHVlID8/ICcnKVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChjYW5BZGQoKSkge1xuICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJmbC1hZGRcIiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFya1wiIHNpemU9XCJkZWZhdWx0XCIgc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJhZGRSb3coKVwiPlxuICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYWRkSWNvbigpXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAge3sgYWRkVGV4dCgpIH19XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZsLWVtcHR5IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5mbC1yb3dzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgICAgLmZsLWNhcmQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCB2YXIoLS1pb24tY29sb3Itc3RlcC0xNTAsICNlMGUwZTApKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgdmFyKC0taW9uLWNvbG9yLXN0ZXAtNTAsICNmYmZiZmIpKTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4IDE0cHg7XG4gICAgICB9XG4gICAgICAuZmwtY2FyZF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuICAgICAgLmZsLWNhcmRfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyay1zaGFkZSwgIzZiNmU3Nik7XG4gICAgICB9XG4gICAgICAuZmwtcmVtb3ZlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAtLXBhZGRpbmctc3RhcnQ6IDZweDtcbiAgICAgICAgLS1wYWRkaW5nLWVuZDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICB9XG4gICAgICAvKiBDYW1wb3M6IDEgY29sdW1uYSBlbiBtw7N2aWwsIHZhcmlhcyBlbiBhbmNobyAoYXV0by1maWxsLCBtaW4gMjAwcHgpLiAqL1xuICAgICAgLmZsLWZpZWxkcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDEwMCUsIDIwMHB4KSwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweCAxMnB4O1xuICAgICAgfVxuICAgICAgLmZsLWZpZWxkIGlvbi1pbnB1dCB7XG4gICAgICAgIC0tYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIH1cbiAgICAgIC5mbC1hZGQge1xuICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoSTE4Tl9OUywgRklFTERfTElTVF9JMThOKTtcbiAgfVxuXG4gIC8qKiBQcm9wcyBvYmplY3QtZmlyc3QuICovXG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZExpc3RNZXRhZGF0YSA9IHsgZmllbGRzOiBbXSB9O1xuXG4gIC8qKiBFbWl0ZSBlbCBhcnJheSBjb21wbGV0byBkZSDDrXRlbXMgZW4gY2FkYSBhZGQvcmVtb3ZlL2VkaWNpw7NuLiAqL1xuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpZWxkTGlzdEl0ZW1bXT4oKTtcblxuICAvKiogRXN0YWRvIGludGVybm8gZGUgbGFzIGZpbGFzIChzZSBzaWVtYnJhIGRlc2RlIHByb3BzLml0ZW1zKS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSByb3dzU2lnID0gc2lnbmFsPEZpZWxkTGlzdEl0ZW1bXT4oW10pO1xuICByZWFkb25seSByb3dzID0gdGhpcy5yb3dzU2lnLmFzUmVhZG9ubHkoKTtcblxuICByZWFkb25seSBmaWVsZHMgPSBjb21wdXRlZDxGaWVsZExpc3RDb2x1bW5bXT4oKCkgPT4gdGhpcy5wcm9wcy5maWVsZHMgPz8gW10pO1xuICByZWFkb25seSBpdGVtTGFiZWwgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHRoaXMucHJvcHMuaXRlbUxhYmVsID8/ICcnKTtcbiAgcmVhZG9ubHkgYWRkSWNvbiA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5wcm9wcy5hZGRJY29uID8/ICdhZGQtb3V0bGluZScpO1xuXG4gIHJlYWRvbmx5IGFkZFRleHQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFkZExhYmVsID8/IHRoaXMudCgnYWRkJyk7XG4gIH0pO1xuICByZWFkb25seSByZW1vdmVUZXh0ID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZW1vdmVMYWJlbCA/PyB0aGlzLnQoJ3JlbW92ZScpO1xuICB9KTtcbiAgcmVhZG9ubHkgZW1wdHlUZXh0ID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbXB0eVRleHQgPz8gdGhpcy50KCdlbXB0eScpO1xuICB9KTtcblxuICAvKiogUHVlZGUgYWdyZWdhciBzaSBubyBzZSBhbGNhbnrDsyBlbCBtw6F4aW1vLiAqL1xuICByZWFkb25seSBjYW5BZGQgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5wcm9wcy5tYXg7XG4gICAgcmV0dXJuIG1heCA9PSBudWxsIHx8IHRoaXMucm93c1NpZygpLmxlbmd0aCA8IG1heDtcbiAgfSk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFJlLXNpZW1icmEgc29sbyBzaSBjYW1iacOzIGxhIHJlZmVyZW5jaWEgZGUgaXRlbXMgZW50cmFudGUgKGV2aXRhIHBpc2FyIGxvXG4gICAgLy8gZWRpdGFkbyBwb3IgZWwgdXNlciBlbiBjYWRhIENEKS4gRWwgY29uc3VtZXIgY29udHJvbGEgY3XDoW5kbyByZXNlbWJyYXJcbiAgICAvLyBwYXNhbmRvIHVuYSBudWV2YSByZWZlcmVuY2lhIGRlIGFycmF5LlxuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICBjb25zdCBwcmV2ID0gY2hhbmdlc1sncHJvcHMnXS5wcmV2aW91c1ZhbHVlIGFzIEZpZWxkTGlzdE1ldGFkYXRhIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgY3VyciA9IGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlIGFzIEZpZWxkTGlzdE1ldGFkYXRhIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10uZmlyc3RDaGFuZ2UgfHwgcHJldj8uaXRlbXMgIT09IGN1cnI/Lml0ZW1zKSB7XG4gICAgICAgIHRoaXMucm93c1NpZy5zZXQoKGN1cnI/Lml0ZW1zID8/IFtdKS5tYXAoaXQgPT4gKHsgLi4uaXQgfSkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIEkxOE5fTlMpO1xuICB9XG5cbiAgLyoqIFJlZW1wbGF6YSBge259YCBwb3IgZWwgbsO6bWVybyBkZSBmaWxhICgxLWJhc2VkKSBlbiBlbCByw7N0dWxvIGRlIGxhIGNhcmQuICovXG4gIHJvd0xhYmVsKHRlbXBsYXRlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7bn0nLCBTdHJpbmcoaW5kZXggKyAxKSk7XG4gIH1cblxuICBhZGRSb3coKTogdm9pZCB7XG4gICAgY29uc3QgYmxhbms6IEZpZWxkTGlzdEl0ZW0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5maWVsZHMoKSkgYmxhbmtbZi5uYW1lXSA9IGYudHlwZSA9PT0gJ251bWJlcicgPyAwIDogJyc7XG4gICAgdGhpcy5yb3dzU2lnLnVwZGF0ZShsaXN0ID0+IFsuLi5saXN0LCBibGFua10pO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgcmVtb3ZlUm93KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3dzU2lnKCkubGVuZ3RoIDw9ICh0aGlzLnByb3BzLm1pbiA/PyAwKSkgcmV0dXJuO1xuICAgIHRoaXMucm93c1NpZy51cGRhdGUobGlzdCA9PiBsaXN0LmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpKTtcbiAgICB0aGlzLmVtaXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUZpZWxkKGluZGV4OiBudW1iZXIsIGZpZWxkOiBGaWVsZExpc3RDb2x1bW4sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0ID0gZmllbGQudHlwZSA9PT0gJ251bWJlcicgPyBOdW1iZXIodmFsdWUpIHx8IDAgOiB2YWx1ZTtcbiAgICB0aGlzLnJvd3NTaWcudXBkYXRlKGxpc3QgPT4gbGlzdC5tYXAoKHJvdywgaSkgPT4gKGkgPT09IGluZGV4ID8geyAuLi5yb3csIFtmaWVsZC5uYW1lXTogbmV4dCB9IDogcm93KSkpO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0KCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLnJvd3NTaWcoKS5tYXAociA9PiAoeyAuLi5yIH0pKSk7XG4gIH1cbn1cbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLWxpc3QvZmllbGQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXBELFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQztBQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQW1ISCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCO1FBRlEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQU1uQywwQkFBMEI7UUFDakIsVUFBSyxHQUFzQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUVuRCxtRUFBbUU7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUU1RCxrRUFBa0U7UUFDakQsWUFBTyxHQUFHLE1BQU0s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QUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPO1FBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLEtBQXNCLEVBQUUsS0FBc0I7UUFDdkUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQW5GVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixvS0E5R25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RULG82QkFyRFMsWUFBWSwrQkFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsUUFBUTs7NEZBK0d6QyxrQkFBa0I7a0JBbEg5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxZQUMzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9EVDt3REFrRVEsS0FBSztzQkFBYixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYWRkT3V0bGluZSwgdHJhc2hPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgRmllbGRMaXN0Q29sdW1uLCBGaWVsZExpc3RJdGVtLCBGaWVsZExpc3RNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRklFTERfTElTVF9JMThOIH0gZnJvbSAnLi9maWVsZC1saXN0LmkxOG4nO1xuXG5hZGRJY29ucyh7IGFkZE91dGxpbmUsIHRyYXNoT3V0bGluZSB9KTtcblxuY29uc3QgSTE4Tl9OUyA9ICdGaWVsZExpc3QnO1xuXG4vKipcbiAqIGB2YWwtZmllbGQtbGlzdGAg4oCUIGVkaXRvciBkZSBsaXN0YXMgZGUgY2FtcG9zIHJlcGV0aWJsZXMgKHByZW1pb3MsIHJvbmRhcyxcbiAqIGludGVncmFudGVzLCBldGMuKS4gQ2FkYSDDrXRlbSBlcyB1bmEgKipjYXJkKiogY29uIHN1cyBjYW1wb3MgYXBpbGFkb3MgeSB1biBib3TDs25cbiAqIHBhcmEgcXVpdGFybGE7IGFsIHBpZSB1biBib3TDs24gXCJBZ3JlZ2FyXCIuIE1vYmlsZS1maXJzdCAoMSBjb2x1bW5hKSwgZXNjYWxhIGFcbiAqIHZhcmlhcyBjb2x1bW5hcyBwb3IgZmlsYSBlbiBwYW50YWxsYXMgYW5jaGFzLlxuICpcbiAqIE1hbmVqYSBzdSBwcm9waW8gZXN0YWRvIGludGVybm8geSBlbWl0ZSBlbCBhcnJheSBjb21wbGV0byBlbiBjYWRhIGNhbWJpb1xuICogKGBpdGVtc0NoYW5nZWApLiBQYXRyw7NuIG9iamVjdC1maXJzdCAoYEBJbnB1dCgpIHByb3BzYCkuIEF1dG8tcmVnaXN0cmEgaTE4blxuICogKG5hbWVzcGFjZSBgRmllbGRMaXN0YCkgcGFyYSBsb3MgbGFiZWxzIHBvciBkZWZlY3RvIChhZ3JlZ2FyL3F1aXRhci92YWPDrW8pLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWZpZWxkLWxpc3RcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBmaWVsZHM6IFtcbiAqICAgICAgIHsgbmFtZTogJ25vbWJyZScsIGxhYmVsOiAnTm9tYnJlJyB9LFxuICogICAgICAgeyBuYW1lOiAnZGVzY3JpcGNpb24nLCBsYWJlbDogJ0Rlc2NyaXBjacOzbicgfVxuICogICAgIF0sXG4gKiAgICAgaXRlbXM6IHByZW1pb3MsXG4gKiAgICAgaXRlbUxhYmVsOiAnUHJlbWlvIHtufScsXG4gKiAgICAgYWRkTGFiZWw6ICdBZ3JlZ2FyIHByZW1pbydcbiAqICAgfVwiXG4gKiAgIChpdGVtc0NoYW5nZSk9XCJwcmVtaW9zID0gJGV2ZW50XCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZpZWxkLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKHJvd3MoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIDxwIGNsYXNzPVwiZmwtZW1wdHlcIj57eyBlbXB0eVRleHQoKSB9fTwvcD5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJmbC1yb3dzXCI+XG4gICAgICAgIEBmb3IgKHJvdyBvZiByb3dzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbC1jYXJkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmwtY2FyZF9faGVhZFwiPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW1MYWJlbCgpOyBhcyBsYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmwtY2FyZF9fbGFiZWxcIj57eyByb3dMYWJlbChsYWJlbCwgJGluZGV4KSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmwtcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlUm93KCRpbmRleClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2gtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmwtZmllbGRzXCI+XG4gICAgICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIGZpZWxkcygpOyB0cmFjayBmaWVsZC5uYW1lKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWlucHV0XG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PVwic3RhY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiZmllbGQudHlwZSA9PT0gJ251bWJlcicgPyAnbnVtYmVyJyA6ICd0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgIFtpbnB1dG1vZGVdPVwiZmllbGQuaW5wdXRtb2RlID8/IChmaWVsZC50eXBlID09PSAnbnVtYmVyJyA/ICdudW1lcmljJyA6IG51bGwpXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZC5tYXhsZW5ndGggPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZmllbGQubWluID8/IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicm93W2ZpZWxkLm5hbWVdXCJcbiAgICAgICAgICAgICAgICAgICAgKGlvbklucHV0KT1cInVwZGF0ZUZpZWxkKCRpbmRleCwgZmllbGQsICRldmVudC5kZXRhaWwudmFsdWUgPz8gJycpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICBAaWYgKGNhbkFkZCgpKSB7XG4gICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cImZsLWFkZFwiIGZpbGw9XCJvdXRsaW5lXCIgY29sb3I9XCJkYXJrXCIgc2l6ZT1cImRlZmF1bHRcIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cImFkZFJvdygpXCI+XG4gICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJhZGRJY29uKClcIiBzbG90PVwic3RhcnRcIiAvPlxuICAgICAgICB7eyBhZGRUZXh0KCkgfX1cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZmwtZW1wdHkge1xuICAgICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLmZsLXJvd3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAuZmwtY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHZhcigtLWlvbi1jb2xvci1zdGVwLTE1MCwgI2UwZTBlMCkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY2FyZC1iYWNrZ3JvdW5kLCB2YXIoLS1pb24tY29sb3Itc3RlcC01MCwgI2ZiZmJmYikpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHggMTRweDtcbiAgICAgIH1cbiAgICAgIC5mbC1jYXJkX19oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgICAuZmwtY2FyZF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLXNoYWRlLCAjNmI2ZTc2KTtcbiAgICAgIH1cbiAgICAgIC5mbC1yZW1vdmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC0tcGFkZGluZy1zdGFydDogNnB4O1xuICAgICAgICAtLXBhZGRpbmctZW5kOiA2cHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIH1cbiAgICAgIC8qIENhbXBvczogMSBjb2x1bW5hIGVuIG3Ds3ZpbCwgdmFyaWFzIGVuIGFuY2hvIChhdXRvLWZpbGwsIG1pbiAyMDBweCkuICovXG4gICAgICAuZmwtZmllbGRzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMjAwcHgpLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAxMHB4IDEycHg7XG4gICAgICB9XG4gICAgICAuZmwtZmllbGQgaW9uLWlucHV0IHtcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgfVxuICAgICAgLmZsLWFkZCB7XG4gICAgICAgIC0tYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhJMThOX05TLCBGSUVMRF9MSVNUX0kxOE4pO1xuICB9XG5cbiAgLyoqIFByb3BzIG9iamVjdC1maXJzdC4gKi9cbiAgQElucHV0KCkgcHJvcHM6IEZpZWxkTGlzdE1ldGFkYXRhID0geyBmaWVsZHM6IFtdIH07XG5cbiAgLyoqIEVtaXRlIGVsIGFycmF5IGNvbXBsZXRvIGRlIMOtdGVtcyBlbiBjYWRhIGFkZC9yZW1vdmUvZWRpY2nDs24uICovXG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmllbGRMaXN0SXRlbVtdPigpO1xuXG4gIC8qKiBFc3RhZG8gaW50ZXJubyBkZSBsYXMgZmlsYXMgKHNlIHNpZW1icmEgZGVzZGUgcHJvcHMuaXRlbXMpLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd3NTaWcgPSBzaWduYWw8RmllbGRMaXN0SXRlbVtdPihbXSk7XG4gIHJlYWRvbmx5IHJvd3MgPSB0aGlzLnJvd3NTaWcuYXNSZWFkb25seSgpO1xuXG4gIHJlYWRvbmx5IGZpZWxkcyA9IGNvbXB1dGVkPEZpZWxkTGlzdENvbHVtbltdPigoKSA9PiB0aGlzLnByb3BzLmZpZWxkcyA/PyBbXSk7XG4gIHJlYWRvbmx5IGl0ZW1MYWJlbCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5wcm9wcy5pdGVtTGFiZWwgPz8gJycpO1xuICByZWFkb25seSBhZGRJY29uID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB0aGlzLnByb3BzLmFkZEljb24gPz8gJ2FkZC1vdXRsaW5lJyk7XG5cbiAgcmVhZG9ubHkgYWRkVGV4dCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWRkTGFiZWwgPz8gdGhpcy50KCdhZGQnKTtcbiAgfSk7XG4gIHJlYWRvbmx5IHJlbW92ZVRleHQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnJlbW92ZUxhYmVsID8/IHRoaXMudCgncmVtb3ZlJyk7XG4gIH0pO1xuICByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVtcHR5VGV4dCA/PyB0aGlzLnQoJ2VtcHR5Jyk7XG4gIH0pO1xuXG4gIC8qKiBQdWVkZSBhZ3JlZ2FyIHNpIG5vIHNlIGFsY2FuesOzIGVsIG3DoXhpbW8uICovXG4gIHJlYWRvbmx5IGNhbkFkZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICBjb25zdCBtYXggPSB0aGlzLnByb3BzLm1heDtcbiAgICByZXR1cm4gbWF4ID09IG51bGwgfHwgdGhpcy5yb3dzU2lnKCkubGVuZ3RoIDwgbWF4O1xuICB9KTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gUmUtc2llbWJyYSBzb2xvIHNpIGNhbWJpw7MgbGEgcmVmZXJlbmNpYSBkZSBpdGVtcyBlbnRyYW50ZSAoZXZpdGEgcGlzYXIgbG9cbiAgICAvLyBlZGl0YWRvIHBvciBlbCB1c2VyIGVuIGNhZGEgQ0QpLiBFbCBjb25zdW1lciBjb250cm9sYSBjdcOhbmRvIHJlc2VtYnJhclxuICAgIC8vIHBhc2FuZG8gdW5hIG51ZXZhIHJlZmVyZW5jaWEgZGUgYXJyYXkuXG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIGNvbnN0IHByZXYgPSBjaGFuZ2VzWydwcm9wcyddLnByZXZpb3VzVmFsdWUgYXMgRmllbGRMaXN0TWV0YWRhdGEgfCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBjdXJyID0gY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUgYXMgRmllbGRMaXN0TWV0YWRhdGEgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAoY2hhbmdlc1sncHJvcHMnXS5maXJzdENoYW5nZSB8fCBwcmV2Py5pdGVtcyAhPT0gY3Vycj8uaXRlbXMpIHtcbiAgICAgICAgdGhpcy5yb3dzU2lnLnNldCgoY3Vycj8uaXRlbXMgPz8gW10pLm1hcChpdCA9PiAoeyAuLi5pdCB9KSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgSTE4Tl9OUyk7XG4gIH1cblxuICAvKiogUmVlbXBsYXphIGB7bn1gIHBvciBlbCBuw7ptZXJvIGRlIGZpbGEgKDEtYmFzZWQpIGVuIGVsIHLDs3R1bG8gZGUgbGEgY2FyZC4gKi9cbiAgcm93TGFiZWwodGVtcGxhdGU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRlbXBsYXRlLnJlcGxhY2UoJ3tufScsIFN0cmluZyhpbmRleCArIDEpKTtcbiAgfVxuXG4gIGFkZFJvdygpOiB2b2lkIHtcbiAgICBjb25zdCBibGFuazogRmllbGRMaXN0SXRlbSA9IHt9O1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLmZpZWxkcygpKSBibGFua1tmLm5hbWVdID0gZi50eXBlID09PSAnbnVtYmVyJyA/IDAgOiAnJztcbiAgICB0aGlzLnJvd3NTaWcudXBkYXRlKGxpc3QgPT4gWy4uLmxpc3QsIGJsYW5rXSk7XG4gICAgdGhpcy5lbWl0KCk7XG4gIH1cblxuICByZW1vdmVSb3coaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvd3NTaWcoKS5sZW5ndGggPD0gKHRoaXMucHJvcHMubWluID8/IDApKSByZXR1cm47XG4gICAgdGhpcy5yb3dzU2lnLnVwZGF0ZShsaXN0ID0+IGxpc3QuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCkpO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlRmllbGQoaW5kZXg6IG51bWJlciwgZmllbGQ6IEZpZWxkTGlzdENvbHVtbiwgdmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSBmaWVsZC50eXBlID09PSAnbnVtYmVyJyA/IE51bWJlcih2YWx1ZSkgfHwgMCA6IHZhbHVlO1xuICAgIHRoaXMucm93c1NpZy51cGRhdGUobGlzdCA9PiBsaXN0Lm1hcCgocm93LCBpKSA9PiAoaSA9PT0gaW5kZXggPyB7IC4uLnJvdywgW2ZpZWxkLm5hbWVdOiBuZXh0IH0gOiByb3cpKSk7XG4gICAgdGhpcy5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMucm93c1NpZygpLm1hcChyID0+ICh7IC4uLnIgfSkpKTtcbiAgfVxufVxuIl19
@@ -202,7 +202,7 @@ export class FolderTabsComponent {
202
202
  }
203
203
  </div>
204
204
  </div>
205
- `, isInline: true, styles: [":host{display:block;--_rail: var(--val-folder-tabs-rail, var(--ion-color-light, #f1f1f4));--_surface: var(--val-folder-tabs-surface, var(--ion-card-background, var(--ion-background-color, #fff)));--_ink: var(--val-folder-tabs-ink, var(--ion-text-color, #1e1926));--_ink-idle: var(--val-folder-tabs-ink-idle, var(--ion-color-dark, #6e6579));--_r: var(--val-folder-tabs-radius, 20px);--_n: var(--val-folder-tabs-notch, 16px)}.val-folder-tabs{background:var(--_rail);border-radius:var(--_r);overflow:hidden}.val-folder-tabs__rail{position:relative;display:flex;padding:0 calc(var(--_r) + var(--_n));overflow-x:auto;scrollbar-width:none}.val-folder-tabs__rail::-webkit-scrollbar{display:none}.val-folder-tabs__flap{position:absolute;bottom:0;left:0;height:100%;width:var(--flap-w, 0px);transform:translate(var(--flap-x, 0px));background:var(--_surface);border-radius:var(--_r) var(--_r) 0 0;pointer-events:none;z-index:0;transition:transform .42s cubic-bezier(.65,0,.35,1),width .42s cubic-bezier(.65,0,.35,1)}.val-folder-tabs--no-anim .val-folder-tabs__flap{transition:none}.val-folder-tabs__flap:before,.val-folder-tabs__flap:after{content:\"\";position:absolute;bottom:0;width:var(--_n);height:var(--_n);background:transparent}.val-folder-tabs__flap:before{left:calc(var(--_n) * -1);border-bottom-right-radius:50%;box-shadow:calc(var(--_n) / 2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__flap:after{right:calc(var(--_n) * -1);border-bottom-left-radius:50%;box-shadow:calc(var(--_n) / -2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-weight:600;font-size:1rem;color:var(--_ink-idle);padding:1rem 1.35rem;cursor:pointer;z-index:1;transition:color .26s ease}.val-folder-tabs__tab:hover:not([disabled]){color:var(--_ink)}.val-folder-tabs__tab[aria-selected=true]{color:var(--_ink)}.val-folder-tabs__tab[disabled]{opacity:.45;cursor:not-allowed}.val-folder-tabs__tab:focus-visible{outline:2px solid var(--_ink);outline-offset:-4px;border-radius:8px}.val-folder-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:100px;background:var(--ion-color-danger, #eb445a);color:var(--ion-color-danger-contrast, #fff);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.val-folder-tabs__body{position:relative;background:var(--_surface);border-radius:var(--_r);padding:1.5rem;z-index:2}@media (prefers-reduced-motion: reduce){.val-folder-tabs__flap,.val-folder-tabs__tab{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
205
+ `, isInline: true, styles: [":host{display:block;--_rail: var(--val-folder-tabs-rail, var(--ion-color-light, #f1f1f4));--_surface: var(--val-folder-tabs-surface, var(--ion-card-background, var(--ion-background-color, #fff)));--_ink: var(--val-folder-tabs-ink, var(--ion-text-color, #1e1926));--_ink-idle: var(--val-folder-tabs-ink-idle, var(--ion-color-medium, #6e6579));--_r: var(--val-folder-tabs-radius, 20px);--_n: var(--val-folder-tabs-notch, 16px)}.val-folder-tabs{background:var(--_rail);border-radius:var(--_r);overflow:hidden}.val-folder-tabs__rail{position:relative;display:flex;padding:0 calc(var(--_r) + var(--_n));overflow-x:auto;scrollbar-width:none}.val-folder-tabs__rail::-webkit-scrollbar{display:none}.val-folder-tabs__flap{position:absolute;bottom:0;left:0;height:100%;width:var(--flap-w, 0px);transform:translate(var(--flap-x, 0px));background:var(--_surface);border-radius:var(--_r) var(--_r) 0 0;pointer-events:none;z-index:0;transition:transform .42s cubic-bezier(.65,0,.35,1),width .42s cubic-bezier(.65,0,.35,1)}.val-folder-tabs--no-anim .val-folder-tabs__flap{transition:none}.val-folder-tabs__flap:before,.val-folder-tabs__flap:after{content:\"\";position:absolute;bottom:0;width:var(--_n);height:var(--_n);background:transparent}.val-folder-tabs__flap:before{left:calc(var(--_n) * -1);border-bottom-right-radius:50%;box-shadow:calc(var(--_n) / 2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__flap:after{right:calc(var(--_n) * -1);border-bottom-left-radius:50%;box-shadow:calc(var(--_n) / -2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-weight:600;font-size:1rem;color:var(--_ink-idle);padding:1rem 1.35rem;cursor:pointer;z-index:1;transition:color .26s ease}.val-folder-tabs__tab:hover:not([disabled]){color:var(--_ink)}.val-folder-tabs__tab[aria-selected=true]{color:var(--_ink)}.val-folder-tabs__tab[disabled]{opacity:.45;cursor:not-allowed}.val-folder-tabs__tab:focus-visible{outline:2px solid var(--_ink);outline-offset:-4px;border-radius:8px}.val-folder-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:100px;background:var(--ion-color-danger, #eb445a);color:var(--ion-color-danger-contrast, #fff);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.val-folder-tabs__body{position:relative;background:var(--_surface);border-radius:var(--_r);padding:1.5rem;z-index:2}@media (prefers-reduced-motion: reduce){.val-folder-tabs__flap,.val-folder-tabs__tab{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
206
206
  }
207
207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FolderTabsComponent, decorators: [{
208
208
  type: Component,
@@ -246,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
246
246
  }
247
247
  </div>
248
248
  </div>
249
- `, styles: [":host{display:block;--_rail: var(--val-folder-tabs-rail, var(--ion-color-light, #f1f1f4));--_surface: var(--val-folder-tabs-surface, var(--ion-card-background, var(--ion-background-color, #fff)));--_ink: var(--val-folder-tabs-ink, var(--ion-text-color, #1e1926));--_ink-idle: var(--val-folder-tabs-ink-idle, var(--ion-color-dark, #6e6579));--_r: var(--val-folder-tabs-radius, 20px);--_n: var(--val-folder-tabs-notch, 16px)}.val-folder-tabs{background:var(--_rail);border-radius:var(--_r);overflow:hidden}.val-folder-tabs__rail{position:relative;display:flex;padding:0 calc(var(--_r) + var(--_n));overflow-x:auto;scrollbar-width:none}.val-folder-tabs__rail::-webkit-scrollbar{display:none}.val-folder-tabs__flap{position:absolute;bottom:0;left:0;height:100%;width:var(--flap-w, 0px);transform:translate(var(--flap-x, 0px));background:var(--_surface);border-radius:var(--_r) var(--_r) 0 0;pointer-events:none;z-index:0;transition:transform .42s cubic-bezier(.65,0,.35,1),width .42s cubic-bezier(.65,0,.35,1)}.val-folder-tabs--no-anim .val-folder-tabs__flap{transition:none}.val-folder-tabs__flap:before,.val-folder-tabs__flap:after{content:\"\";position:absolute;bottom:0;width:var(--_n);height:var(--_n);background:transparent}.val-folder-tabs__flap:before{left:calc(var(--_n) * -1);border-bottom-right-radius:50%;box-shadow:calc(var(--_n) / 2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__flap:after{right:calc(var(--_n) * -1);border-bottom-left-radius:50%;box-shadow:calc(var(--_n) / -2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-weight:600;font-size:1rem;color:var(--_ink-idle);padding:1rem 1.35rem;cursor:pointer;z-index:1;transition:color .26s ease}.val-folder-tabs__tab:hover:not([disabled]){color:var(--_ink)}.val-folder-tabs__tab[aria-selected=true]{color:var(--_ink)}.val-folder-tabs__tab[disabled]{opacity:.45;cursor:not-allowed}.val-folder-tabs__tab:focus-visible{outline:2px solid var(--_ink);outline-offset:-4px;border-radius:8px}.val-folder-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:100px;background:var(--ion-color-danger, #eb445a);color:var(--ion-color-danger-contrast, #fff);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.val-folder-tabs__body{position:relative;background:var(--_surface);border-radius:var(--_r);padding:1.5rem;z-index:2}@media (prefers-reduced-motion: reduce){.val-folder-tabs__flap,.val-folder-tabs__tab{transition:none}}\n"] }]
249
+ `, styles: [":host{display:block;--_rail: var(--val-folder-tabs-rail, var(--ion-color-light, #f1f1f4));--_surface: var(--val-folder-tabs-surface, var(--ion-card-background, var(--ion-background-color, #fff)));--_ink: var(--val-folder-tabs-ink, var(--ion-text-color, #1e1926));--_ink-idle: var(--val-folder-tabs-ink-idle, var(--ion-color-medium, #6e6579));--_r: var(--val-folder-tabs-radius, 20px);--_n: var(--val-folder-tabs-notch, 16px)}.val-folder-tabs{background:var(--_rail);border-radius:var(--_r);overflow:hidden}.val-folder-tabs__rail{position:relative;display:flex;padding:0 calc(var(--_r) + var(--_n));overflow-x:auto;scrollbar-width:none}.val-folder-tabs__rail::-webkit-scrollbar{display:none}.val-folder-tabs__flap{position:absolute;bottom:0;left:0;height:100%;width:var(--flap-w, 0px);transform:translate(var(--flap-x, 0px));background:var(--_surface);border-radius:var(--_r) var(--_r) 0 0;pointer-events:none;z-index:0;transition:transform .42s cubic-bezier(.65,0,.35,1),width .42s cubic-bezier(.65,0,.35,1)}.val-folder-tabs--no-anim .val-folder-tabs__flap{transition:none}.val-folder-tabs__flap:before,.val-folder-tabs__flap:after{content:\"\";position:absolute;bottom:0;width:var(--_n);height:var(--_n);background:transparent}.val-folder-tabs__flap:before{left:calc(var(--_n) * -1);border-bottom-right-radius:50%;box-shadow:calc(var(--_n) / 2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__flap:after{right:calc(var(--_n) * -1);border-bottom-left-radius:50%;box-shadow:calc(var(--_n) / -2) calc(var(--_n) / 2) 0 calc(var(--_n) / 2) var(--_surface)}.val-folder-tabs__tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font:inherit;font-weight:600;font-size:1rem;color:var(--_ink-idle);padding:1rem 1.35rem;cursor:pointer;z-index:1;transition:color .26s ease}.val-folder-tabs__tab:hover:not([disabled]){color:var(--_ink)}.val-folder-tabs__tab[aria-selected=true]{color:var(--_ink)}.val-folder-tabs__tab[disabled]{opacity:.45;cursor:not-allowed}.val-folder-tabs__tab:focus-visible{outline:2px solid var(--_ink);outline-offset:-4px;border-radius:8px}.val-folder-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:100px;background:var(--ion-color-danger, #eb445a);color:var(--ion-color-danger-contrast, #fff);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.val-folder-tabs__body{position:relative;background:var(--_surface);border-radius:var(--_r);padding:1.5rem;z-index:2}@media (prefers-reduced-motion: reduce){.val-folder-tabs__flap,.val-folder-tabs__tab{transition:none}}\n"] }]
250
250
  }], ctorParameters: () => [], propDecorators: { props: [{
251
251
  type: Input,
252
252
  args: [{ required: true }]
@@ -256,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
256
256
  type: ViewChild,
257
257
  args: ['rail']
258
258
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb2xkZXItdGFicy9mb2xkZXItdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNHO0FBeU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7Ozs7T0FJRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQXlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBc0NEO1FBbkRpQixhQUFRLEdBQUcsTUFBTSxDQUFxQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBZXJFLDhDQUE4QztRQUNwQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUloQyxrQkFBYSxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLG1CQUFtQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FB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RUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0F4SVUsbUJBQW1CO21HQUFuQixtQkFBbUIsNk9Bbk1wQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVCx5ckZBMUNTLFlBQVk7OzRGQXFNWCxtQkFBbUI7a0JBeE0vQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NUO3dEQW9LRyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNmLFNBQVM7c0JBQWxCLE1BQU07Z0JBRW9CLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2xkZXJUYWIsIEZvbGRlclRhYnNDb250ZXh0LCBGb2xkZXJUYWJzTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZm9sZGVyLXRhYnNcbiAqXG4gKiBQZXN0YcOxYXMgZG9uZGUgbGEgYWN0aXZhIHNlIGZ1bmRlIGNvbiBlbCBjdWVycG8sIGNvbW8gbGEgbGVuZ8O8ZXRhIGRlIHVuYVxuICogY2FycGV0YS4gTGEgbGVuZ8O8ZXRhIGVzIFVOIHNvbG8gZWxlbWVudG8gcXVlIHNlIGRlc3BsYXphIGVudHJlIHBvc2ljaW9uZXMsIG5vXG4gKiBlbCBmb25kbyBkZSBjYWRhIGJvdMOzbjogZWwgY2FtYmlvIHNlIGxlZSBjb21vIHVuIG1vdmltaWVudG8geSBubyBjb21vIHVuXG4gKiBlbmNlbmRpZG8uXG4gKlxuICogQ3XDoW5kbyB1c2FyIGVzdGUgeSBubyBsb3Mgb3Ryb3MgZG9zIGNvbXBvbmVudGVzIGRlIHBlc3Rhw7FhcyBkZSBsYSBsaWJyZXLDrWE6XG4gKiAtIGB2YWwtc2VnbWVudC1jb250cm9sYCDigJQgY29ubXV0YXIgdW4gZmlsdHJvLCBzaW4gY29udGVuZWRvciBwcm9waW8uXG4gKiAtIGB2YWwtdGFiYmVkLWNvbnRlbnRgIOKAlCBuYXZlZ2FjacOzbiB0aXBvIHNlZ21lbnRvIHNvYnJlIHBhbmVsZXMuXG4gKiAtIGB2YWwtZm9sZGVyLXRhYnNgIOKAlCBjdWFuZG8gbGFzIHBlc3Rhw7FhcyBDT05USUVORU4gYSBzdSBjb250ZW5pZG8geSBlbFxuICogICBjb25qdW50byBzZSBsZWUgY29tbyB1bmEgc29sYSBwaWV6YSAodW5hIGNhcmQgY29uIHNlY2Npb25lcykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxuZy10ZW1wbGF0ZSAjc2FsZG8+4oCmPC9uZy10ZW1wbGF0ZT5cbiAqIDxuZy10ZW1wbGF0ZSAjcmVzZXJ2YXM+4oCmPC9uZy10ZW1wbGF0ZT5cbiAqXG4gKiA8dmFsLWZvbGRlci10YWJzXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyB2YWx1ZTogJ3NhbGRvJywgbGFiZWw6IHQoJ3NhbGRvJyksIHRlbXBsYXRlOiBzYWxkbyB9LFxuICogICAgICAgeyB2YWx1ZTogJ3Jlc2VydmFzJywgbGFiZWw6IHQoJ3Jlc2VydmFzJyksIGJhZGdlOiAzLCB0ZW1wbGF0ZTogcmVzZXJ2YXMgfVxuICogICAgIF0sXG4gKiAgICAgc2VsZWN0ZWRUYWI6IGFjdGl2ZVRhYigpLFxuICogICAgIGFyaWFMYWJlbDogdCgnc2VjY2lvbmVzRGVMYUN1ZW50YScpXG4gKiAgIH1cIlxuICogICAodGFiQ2hhbmdlKT1cIm9uVGFiKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIElkZW50aWRhZCB2aXN1YWw6IG5vIHRyYWUgcGFsZXRhIHByb3BpYSwgbGVlIGN1YXRybyBjdXN0b20gcHJvcGVydGllcy4gRWxcbiAqIGNvbnN1bWVyIGxhcyByZWRlZmluZSBzb2JyZSBlbCBob3N0IHkgZWwgY29tcG9uZW50ZSBjYW1iaWEgZGUgaWRlbnRpZGFkIHNpblxuICogdG9jYXIgc3UgQ1NTOlxuICogICAtLXZhbC1mb2xkZXItdGFicy1yYWlsICAgICBjb2xvciBkZSBsYSBiYXJyYVxuICogICAtLXZhbC1mb2xkZXItdGFicy1zdXJmYWNlICBjb2xvciBkZWwgY3VlcnBvIHkgZGUgbGEgbGVuZ8O8ZXRhXG4gKiAgIC0tdmFsLWZvbGRlci10YWJzLXJhZGl1cyAgIHJhZGlvIGRlbCBjb250ZW5lZG9yXG4gKiAgIC0tdmFsLWZvbGRlci10YWJzLW5vdGNoICAgIHRhbWHDsW8gZGUgbGEgY3VydmEgcXVlIHVuZSBsZW5nw7xldGEgeSBjdWVycG9cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvbGRlci10YWJzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ2YWwtZm9sZGVyLXRhYnNcIiBbY2xhc3MudmFsLWZvbGRlci10YWJzLS1uby1hbmltXT1cIiFhbmltYXRpb25SZWFkeSgpXCI+XG4gICAgICA8ZGl2ICNyYWlsIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19yYWlsXCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmFyaWFMYWJlbCB8fCBudWxsXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19mbGFwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuXG4gICAgICAgIEBmb3IgKHRhYiBvZiBwcm9wcy50YWJzOyB0cmFjayB0YWIudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgI3RhYkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX190YWJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIudmFsdWUgPT09IGFjdGl2ZVZhbHVlKClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYW5lbElkKHRhYilcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiLnZhbHVlID09PSBhY3RpdmVWYWx1ZSgpID8gMCA6IC0xXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCh0YWIpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQsIGkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cbiAgICAgICAgICAgIEBpZiAodGFiLmJhZGdlKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19iYWRnZVwiPnt7IHRhYi5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtZm9sZGVyLXRhYnNfX2JvZHlcIj5cbiAgICAgICAgQGlmIChhY3RpdmVUYWIoKTsgYXMgdGFiKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1mb2xkZXItdGFic19fcGFuZWxcIiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwicGFuZWxJZCh0YWIpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIubGFiZWxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB0YWIudGVtcGxhdGUgfHwgbnVsbDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogdGFiLnZhbHVlLCB0YWI6IHRhYiwgaW5kZXg6IGFjdGl2ZUluZGV4KCkgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC0tX3JhaWw6IHZhcigtLXZhbC1mb2xkZXItdGFicy1yYWlsLCB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmMWYxZjQpKTtcbiAgICAgICAgLS1fc3VyZmFjZTogdmFyKC0tdmFsLWZvbGRlci10YWJzLXN1cmZhY2UsIHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSkpO1xuICAgICAgICAtLV9pbms6IHZhcigtLXZhbC1mb2xkZXItdGFicy1pbmssIHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWUxOTI2KSk7XG4gICAgICAgIC0tX2luay1pZGxlOiB2YXIoLS12YWwtZm9sZGVyLXRhYnMtaW5rLWlkbGUsIHZhcigtLWlvbi1jb2xvci1kYXJrLCAjNmU2NTc5KSk7XG4gICAgICAgIC0tX3I6IHZhcigtLXZhbC1mb2xkZXItdGFicy1yYWRpdXMsIDIwcHgpO1xuICAgICAgICAtLV9uOiB2YXIoLS12YWwtZm9sZGVyLXRhYnMtbm90Y2gsIDE2cHgpO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tX3JhaWwpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1fcik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3JhaWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8qIFNhbmdyaWEgPSByYWRpbyBkZWwgY29udGVuZWRvciArIGN1cnZhIGRlIGxhIGxlbmd1ZXN0YS5cbiAgICAgICAgICAgRXMgZ2VvbWV0cmlhLCBubyBndXN0bzogbGEgY3VydmEgY29uY2F2YSBzZSBleHRpZW5kZSBcXGBub3RjaFxcYCBweCBoYWNpYVxuICAgICAgICAgICBhZnVlcmEgeSBlbCBjb250ZW5lZG9yIHlhIHZpZW5lIGN1cnZhbmRvIGR1cmFudGUgc3VzIHByaW1lcm9zXG4gICAgICAgICAgIFxcYHJhZGl1c1xcYCBweC4gQ29uIG1lbm9zIHNhbmdyaWEgbGFzIGRvcyBjdXJ2YXMgc2UgZW5jdWVudHJhbiB5IGRlamFuIHVuXG4gICAgICAgICAgIHBpY28gcXVlIGNvcnRhIGVsIGJvcmRlIGRlbCBjb21wb25lbnRlLiAqL1xuICAgICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tX3IpICsgdmFyKC0tX24pKTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX19yYWlsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIExhIGxlbmd1ZXN0YTogVU4gc29sbyBlbGVtZW50byBxdWUgc2UgZGVzcGxhemEuIFNpIGNhZGEgYm90b24gc2UgcGludGFyYVxuICAgICAgICAgYWwgYWN0aXZhcnNlLCBlbCBjYW1iaW8gc2VyaWEgaW5zdGFudGFuZW8geSBsYSBwZXN0YW5hIFwic2FsdGFyaWFcIi4gKi9cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX2ZsYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogdmFyKC0tZmxhcC13LCAwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tZmxhcC14LCAwcHgpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tX3N1cmZhY2UpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1fcikgdmFyKC0tX3IpIDAgMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgdHJhbnNmb3JtIDQyMG1zIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKSxcbiAgICAgICAgICB3aWR0aCA0MjBtcyBjdWJpYy1iZXppZXIoMC42NSwgMCwgMC4zNSwgMSk7XG4gICAgICB9XG5cbiAgICAgIC8qIEFsIG1vbnRhciBubyBkZWJlIGRlc2xpemFyc2UgZGVzZGUgbGEgZXNxdWluYS4gKi9cbiAgICAgIC52YWwtZm9sZGVyLXRhYnMtLW5vLWFuaW0gLnZhbC1mb2xkZXItdGFic19fZmxhcCB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIExhcyBjdXJ2YXMgdmlhamFuIGNvbiBsYSBsZW5ndWVzdGEuIENhZGEgdW5hIGVzIHVuIGN1YWRyYWRvIHRyYW5zcGFyZW50ZVxuICAgICAgICAgY29uIGJvcmRlci1yYWRpdXMgNTAlIHkgdW5hIHNvbWJyYSBzb2xpZGEgZGVzcGxhemFkYTogbGEgc29tYnJhIHBpbnRhXG4gICAgICAgICBzb2xvIGVsIGFyZWEgcG9yIGZ1ZXJhIGRlbCBjaXJjdWxvLCBxdWUgZXMgbGEgY3VydmEgaW52ZXJzYS4gKi9cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX2ZsYXA6OmJlZm9yZSxcbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX2ZsYXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tX24pO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLV9uKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX2ZsYXA6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGModmFyKC0tX24pICogLTEpO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiBjYWxjKHZhcigtLV9uKSAvIDIpIGNhbGModmFyKC0tX24pIC8gMikgMCBjYWxjKHZhcigtLV9uKSAvIDIpIHZhcigtLV9zdXJmYWNlKTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogY2FsYyh2YXIoLS1fbikgKiAtMSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogY2FsYyh2YXIoLS1fbikgLyAtMikgY2FsYyh2YXIoLS1fbikgLyAyKSAwIGNhbGModmFyKC0tX24pIC8gMikgdmFyKC0tX3N1cmZhY2UpO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX190YWIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLV9pbmstaWRsZSk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4zNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAvKiBTb2JyZSBsYSBsZW5ndWVzdGE6IGVsIHRleHRvIG5vIGRlYmUgdGFwYXJzZSBtaWVudHJhcyBlbGxhIHBhc2EuICovXG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDI2MG1zIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3RhYjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBjb2xvcjogdmFyKC0tX2luayk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3RhYlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBjb2xvcjogdmFyKC0tX2luayk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3RhYltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX190YWI6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1faW5rKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC00cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLCAjZWI0NDVhKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXItY29udHJhc3QsICNmZmYpO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fYm9keSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tX3N1cmZhY2UpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1fcik7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcCxcbiAgICAgICAgLnZhbC1mb2xkZXItdGFic19fdGFiIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9sZGVyVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNTaWcgPSBzaWduYWw8Rm9sZGVyVGFic01ldGFkYXRhPih7IHRhYnM6IFtdIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmFjacOzbi4gRXMgdW4gc2lnbmFsIGNvbiBzZXR0ZXIgKG5vIHVuIGNhbXBvIHBsYW5vKSBwb3JxdWUgZGUgw6lsXG4gICAqIGRlcGVuZGVuIGNvbXB1dGVkcyB5IGVsIHJlcG9zaWNpb25hbWllbnRvIGRlIGxhIGxlbmfDvGV0YTogY29uIHVuIGNhbXBvXG4gICAqIHBsYW5vLCB1bmEgcmVhc2lnbmFjacOzbiBubyBkaXNwYXJhcsOtYSBuaW5ndW5vIGRlIGxvcyBkb3MuXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBzZXQgcHJvcHModmFsdWU6IEZvbGRlclRhYnNNZXRhZGF0YSkge1xuICAgIHRoaXMucHJvcHNTaWcuc2V0KHZhbHVlID8/IHsgdGFiczogW10gfSk7XG4gIH1cbiAgZ2V0IHByb3BzKCk6IEZvbGRlclRhYnNNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHNTaWcoKTtcbiAgfVxuXG4gIC8qKiBFbWl0ZSBlbCBgdmFsdWVgIGRlIGxhIHBlc3Rhw7FhIGVsZWdpZGEuICovXG4gIEBPdXRwdXQoKSB0YWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCdyYWlsJykgcHJpdmF0ZSByYWlsUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbFZhbHVlID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYW5pbWF0aW9uUmVhZHkgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyPzogUmVzaXplT2JzZXJ2ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VJZCA9IGB2YWwtZm9sZGVyLXRhYnMtJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA5KX1gO1xuXG4gIC8qKlxuICAgKiBQZXN0YcOxYSBhY3RpdmEuIGBzZWxlY3RlZFRhYmAgZ2FuYSBjdWFuZG8gZWwgY29uc3VtZXIgbGEgcGFzYSAobW9kb1xuICAgKiBjb250cm9sYWRvKTsgc2kgbm8sIG1hbmRhIGxhIHNlbGVjY2nDs24gaW50ZXJuYTsgeSBzaSBuaW5ndW5hIHJlc3VlbHZlLCBsYVxuICAgKiBwcmltZXJhIGhhYmlsaXRhZGEuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlVmFsdWUgPSBjb21wdXRlZDxzdHJpbmcgfCBudWxsPigoKSA9PiB7XG4gICAgY29uc3QgeyB0YWJzLCBzZWxlY3RlZFRhYiB9ID0gdGhpcy5wcm9wc1NpZygpO1xuICAgIGlmICghdGFicz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGV4aXN0cyA9ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgICAgICEhdmFsdWUgJiYgdGFicy5zb21lKHRhYiA9PiB0YWIudmFsdWUgPT09IHZhbHVlICYmICF0YWIuZGlzYWJsZWQpO1xuXG4gICAgaWYgKGV4aXN0cyhzZWxlY3RlZFRhYikpIHJldHVybiBzZWxlY3RlZFRhYiE7XG4gICAgaWYgKGV4aXN0cyh0aGlzLmludGVybmFsVmFsdWUoKSkpIHJldHVybiB0aGlzLmludGVybmFsVmFsdWUoKTtcbiAgICByZXR1cm4gdGFicy5maW5kKHRhYiA9PiAhdGFiLmRpc2FibGVkKT8udmFsdWUgPz8gbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZVRhYiA9IGNvbXB1dGVkPEZvbGRlclRhYiB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYWN0aXZlVmFsdWUoKTtcbiAgICByZXR1cm4gdGhpcy5wcm9wc1NpZygpLnRhYnM/LmZpbmQodGFiID0+IHRhYi52YWx1ZSA9PT0gdmFsdWUpID8/IG51bGw7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVJbmRleCA9IGNvbXB1dGVkPG51bWJlcj4oXG4gICAgKCkgPT4gdGhpcy5wcm9wc1NpZygpLnRhYnM/LmZpbmRJbmRleCh0YWIgPT4gdGFiLnZhbHVlID09PSB0aGlzLmFjdGl2ZVZhbHVlKCkpID8/IC0xXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVwb3NpY2lvbmEgY3VhbmRvIGNhbWJpYSBsYSBwZXN0YcOxYSBhY3RpdmEgbyBsYSBsaXN0YS4gTGVlciBhbWJvcyBzaWduYWxzXG4gICAgLy8gYWPDoSBlcyBsbyBxdWUgYXRhIGxhIGxlbmfDvGV0YSBhbCBlc3RhZG86IHNpbiBlc3RvIHF1ZWRhcsOtYSBkb25kZSBsYSBkZWrDs1xuICAgIC8vIGVsIHByaW1lciByZW5kZXIuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuYWN0aXZlVmFsdWUoKTtcbiAgICAgIHRoaXMucHJvcHNTaWcoKS50YWJzO1xuICAgICAgdW50cmFja2VkKCgpID0+IHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMucGxhY2VGbGFwKCkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYWNlRmxhcCgpO1xuICAgIC8vIExhIHRyYW5zaWNpw7NuIHNlIGhhYmlsaXRhIERFU1BVw4lTIGRlIGxhIHByaW1lcmEgY29sb2NhY2nDs246IHNpIG5vLCBsYVxuICAgIC8vIGxlbmfDvGV0YSBlbnRyYSBkZXNsaXrDoW5kb3NlIGRlc2RlIGxhIGVzcXVpbmEgZW4gY2FkYSBjYXJnYS5cbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB0aGlzLmFuaW1hdGlvblJlYWR5LnNldCh0cnVlKSk7XG5cbiAgICBjb25zdCByYWlsID0gdGhpcy5yYWlsUmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChyYWlsICYmIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIEVsIGFuY2hvIGRlIHVuYSBwZXN0YcOxYSBkZXBlbmRlIGRlIHN1IHRleHRvLCB5IGVsIHRleHRvIGNhbWJpYSBjb24gZWxcbiAgICAgIC8vIGlkaW9tYSwgYWwgdGVybWluYXIgZGUgY2FyZ2FyIGxhIGZ1ZW50ZSB5IGFsIHJvdGFyIGVsIGRpc3Bvc2l0aXZvLlxuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB0aGlzLnBsYWNlRmxhcCgpKTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShyYWlsKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0KHRhYjogRm9sZGVyVGFiKTogdm9pZCB7XG4gICAgaWYgKHRhYi5kaXNhYmxlZCB8fCB0YWIudmFsdWUgPT09IHRoaXMuYWN0aXZlVmFsdWUoKSkgcmV0dXJuO1xuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZS5zZXQodGFiLnZhbHVlKTtcbiAgICB0aGlzLnRhYkNoYW5nZS5lbWl0KHRhYi52YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMucHJvcHNTaWcoKS50YWJzID8/IFtdO1xuICAgIGlmICghdGFicy5sZW5ndGgpIHJldHVybjtcblxuICAgIGNvbnN0IG1vdmUgPSAoZGVsdGE6IG51bWJlcikgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IGJ1dHRvbnMgPSB0aGlzLnJhaWxSZWY/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MQnV0dG9uRWxlbWVudD4oXG4gICAgICAgICcudmFsLWZvbGRlci10YWJzX190YWI6bm90KFtkaXNhYmxlZF0pJ1xuICAgICAgKTtcbiAgICAgIGlmICghYnV0dG9ucz8ubGVuZ3RoKSByZXR1cm47XG4gICAgICBjb25zdCBsaXN0ID0gQXJyYXkuZnJvbShidXR0b25zKTtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBsaXN0LmZpbmRJbmRleChlbCA9PiBlbCA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICAgIGNvbnN0IG5leHQgPSBsaXN0WyhjdXJyZW50ICsgZGVsdGEgKyBsaXN0Lmxlbmd0aCkgJSBsaXN0Lmxlbmd0aF07XG4gICAgICBuZXh0Py5mb2N1cygpO1xuICAgIH07XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIG1vdmUoMSk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcpIG1vdmUoLTEpO1xuICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucmFpbFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxCdXR0b25FbGVtZW50PignLnZhbC1mb2xkZXItdGFic19fdGFiOm5vdChbZGlzYWJsZWRdKScpPy5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgdGFiID0gdGFic1tpbmRleF07XG4gICAgICBpZiAodGFiKSB0aGlzLnNlbGVjdCh0YWIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYW5lbElkKHRhYjogRm9sZGVyVGFiKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbnN0YW5jZUlkfS0ke3RhYi52YWx1ZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pZGUgbGEgcGVzdGHDsWEgYWN0aXZhIHkgbXVldmUgbGEgbGVuZ8O8ZXRhIGhhc3RhIGVsbGEuIFNlIG1pZGUgZW4gY2FkYVxuICAgKiBsbGFtYWRhIGVuIHZleiBkZSBjYWNoZWFyOiBlbCBhbmNobyBkZXBlbmRlIGRlbCB0ZXh0byByZW5kZXJpemFkbywgbm8gZGUgbGFcbiAgICogY29uZmlndXJhY2nDs24uXG4gICAqL1xuICBwcml2YXRlIHBsYWNlRmxhcCgpOiB2b2lkIHtcbiAgICBjb25zdCByYWlsID0gdGhpcy5yYWlsUmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghcmFpbCkgcmV0dXJuO1xuXG4gICAgY29uc3QgYWN0aXZlID0gcmFpbC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnZhbC1mb2xkZXItdGFic19fdGFiW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdJyk7XG4gICAgY29uc3QgZmxhcCA9IHJhaWwucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy52YWwtZm9sZGVyLXRhYnNfX2ZsYXAnKTtcbiAgICBpZiAoIWFjdGl2ZSB8fCAhZmxhcCkgcmV0dXJuO1xuXG4gICAgZmxhcC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1mbGFwLXgnLCBgJHthY3RpdmUub2Zmc2V0TGVmdCAtIHJhaWwuY2xpZW50TGVmdH1weGApO1xuICAgIGZsYXAuc3R5bGUuc2V0UHJvcGVydHkoJy0tZmxhcC13JywgYCR7YWN0aXZlLm9mZnNldFdpZHRofXB4YCk7XG4gIH1cbn1cbiJdfQ==
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb2xkZXItdGFicy9mb2xkZXItdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNHO0FBeU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7Ozs7T0FJRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQXlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBc0NEO1FBbkRpQixhQUFRLEdBQUcsTUFBTSxDQUFxQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBZXJFLDhDQUE4QztRQUNwQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUloQyxrQkFBYSxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDMUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLG1CQUFtQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FB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RUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0F4SVUsbUJBQW1CO21HQUFuQixtQkFBbUIsNk9Bbk1wQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVCwyckZBMUNTLFlBQVk7OzRGQXFNWCxtQkFBbUI7a0JBeE0vQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NUO3dEQW9LRyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNmLFNBQVM7c0JBQWxCLE1BQU07Z0JBRW9CLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2xkZXJUYWIsIEZvbGRlclRhYnNDb250ZXh0LCBGb2xkZXJUYWJzTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZm9sZGVyLXRhYnNcbiAqXG4gKiBQZXN0YcOxYXMgZG9uZGUgbGEgYWN0aXZhIHNlIGZ1bmRlIGNvbiBlbCBjdWVycG8sIGNvbW8gbGEgbGVuZ8O8ZXRhIGRlIHVuYVxuICogY2FycGV0YS4gTGEgbGVuZ8O8ZXRhIGVzIFVOIHNvbG8gZWxlbWVudG8gcXVlIHNlIGRlc3BsYXphIGVudHJlIHBvc2ljaW9uZXMsIG5vXG4gKiBlbCBmb25kbyBkZSBjYWRhIGJvdMOzbjogZWwgY2FtYmlvIHNlIGxlZSBjb21vIHVuIG1vdmltaWVudG8geSBubyBjb21vIHVuXG4gKiBlbmNlbmRpZG8uXG4gKlxuICogQ3XDoW5kbyB1c2FyIGVzdGUgeSBubyBsb3Mgb3Ryb3MgZG9zIGNvbXBvbmVudGVzIGRlIHBlc3Rhw7FhcyBkZSBsYSBsaWJyZXLDrWE6XG4gKiAtIGB2YWwtc2VnbWVudC1jb250cm9sYCDigJQgY29ubXV0YXIgdW4gZmlsdHJvLCBzaW4gY29udGVuZWRvciBwcm9waW8uXG4gKiAtIGB2YWwtdGFiYmVkLWNvbnRlbnRgIOKAlCBuYXZlZ2FjacOzbiB0aXBvIHNlZ21lbnRvIHNvYnJlIHBhbmVsZXMuXG4gKiAtIGB2YWwtZm9sZGVyLXRhYnNgIOKAlCBjdWFuZG8gbGFzIHBlc3Rhw7FhcyBDT05USUVORU4gYSBzdSBjb250ZW5pZG8geSBlbFxuICogICBjb25qdW50byBzZSBsZWUgY29tbyB1bmEgc29sYSBwaWV6YSAodW5hIGNhcmQgY29uIHNlY2Npb25lcykuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxuZy10ZW1wbGF0ZSAjc2FsZG8+4oCmPC9uZy10ZW1wbGF0ZT5cbiAqIDxuZy10ZW1wbGF0ZSAjcmVzZXJ2YXM+4oCmPC9uZy10ZW1wbGF0ZT5cbiAqXG4gKiA8dmFsLWZvbGRlci10YWJzXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyB2YWx1ZTogJ3NhbGRvJywgbGFiZWw6IHQoJ3NhbGRvJyksIHRlbXBsYXRlOiBzYWxkbyB9LFxuICogICAgICAgeyB2YWx1ZTogJ3Jlc2VydmFzJywgbGFiZWw6IHQoJ3Jlc2VydmFzJyksIGJhZGdlOiAzLCB0ZW1wbGF0ZTogcmVzZXJ2YXMgfVxuICogICAgIF0sXG4gKiAgICAgc2VsZWN0ZWRUYWI6IGFjdGl2ZVRhYigpLFxuICogICAgIGFyaWFMYWJlbDogdCgnc2VjY2lvbmVzRGVMYUN1ZW50YScpXG4gKiAgIH1cIlxuICogICAodGFiQ2hhbmdlKT1cIm9uVGFiKCRldmVudClcIlxuICogLz5cbiAqIGBgYFxuICpcbiAqIElkZW50aWRhZCB2aXN1YWw6IG5vIHRyYWUgcGFsZXRhIHByb3BpYSwgbGVlIGN1YXRybyBjdXN0b20gcHJvcGVydGllcy4gRWxcbiAqIGNvbnN1bWVyIGxhcyByZWRlZmluZSBzb2JyZSBlbCBob3N0IHkgZWwgY29tcG9uZW50ZSBjYW1iaWEgZGUgaWRlbnRpZGFkIHNpblxuICogdG9jYXIgc3UgQ1NTOlxuICogICAtLXZhbC1mb2xkZXItdGFicy1yYWlsICAgICBjb2xvciBkZSBsYSBiYXJyYVxuICogICAtLXZhbC1mb2xkZXItdGFicy1zdXJmYWNlICBjb2xvciBkZWwgY3VlcnBvIHkgZGUgbGEgbGVuZ8O8ZXRhXG4gKiAgIC0tdmFsLWZvbGRlci10YWJzLXJhZGl1cyAgIHJhZGlvIGRlbCBjb250ZW5lZG9yXG4gKiAgIC0tdmFsLWZvbGRlci10YWJzLW5vdGNoICAgIHRhbWHDsW8gZGUgbGEgY3VydmEgcXVlIHVuZSBsZW5nw7xldGEgeSBjdWVycG9cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvbGRlci10YWJzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ2YWwtZm9sZGVyLXRhYnNcIiBbY2xhc3MudmFsLWZvbGRlci10YWJzLS1uby1hbmltXT1cIiFhbmltYXRpb25SZWFkeSgpXCI+XG4gICAgICA8ZGl2ICNyYWlsIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19yYWlsXCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmFyaWFMYWJlbCB8fCBudWxsXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19mbGFwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuXG4gICAgICAgIEBmb3IgKHRhYiBvZiBwcm9wcy50YWJzOyB0cmFjayB0YWIudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgI3RhYkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICAgIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX190YWJcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIudmFsdWUgPT09IGFjdGl2ZVZhbHVlKClcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJwYW5lbElkKHRhYilcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiLnZhbHVlID09PSBhY3RpdmVWYWx1ZSgpID8gMCA6IC0xXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCh0YWIpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQsIGkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cbiAgICAgICAgICAgIEBpZiAodGFiLmJhZGdlKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsLWZvbGRlci10YWJzX19iYWRnZVwiPnt7IHRhYi5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWwtZm9sZGVyLXRhYnNfX2JvZHlcIj5cbiAgICAgICAgQGlmIChhY3RpdmVUYWIoKTsgYXMgdGFiKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1mb2xkZXItdGFic19fcGFuZWxcIiByb2xlPVwidGFicGFuZWxcIiBbaWRdPVwicGFuZWxJZCh0YWIpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIubGFiZWxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICB0YWIudGVtcGxhdGUgfHwgbnVsbDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogdGFiLnZhbHVlLCB0YWI6IHRhYiwgaW5kZXg6IGFjdGl2ZUluZGV4KCkgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC0tX3JhaWw6IHZhcigtLXZhbC1mb2xkZXItdGFicy1yYWlsLCB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmMWYxZjQpKTtcbiAgICAgICAgLS1fc3VyZmFjZTogdmFyKC0tdmFsLWZvbGRlci10YWJzLXN1cmZhY2UsIHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSkpO1xuICAgICAgICAtLV9pbms6IHZhcigtLXZhbC1mb2xkZXItdGFicy1pbmssIHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWUxOTI2KSk7XG4gICAgICAgIC0tX2luay1pZGxlOiB2YXIoLS12YWwtZm9sZGVyLXRhYnMtaW5rLWlkbGUsIHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2ZTY1NzkpKTtcbiAgICAgICAgLS1fcjogdmFyKC0tdmFsLWZvbGRlci10YWJzLXJhZGl1cywgMjBweCk7XG4gICAgICAgIC0tX246IHZhcigtLXZhbC1mb2xkZXItdGFicy1ub3RjaCwgMTZweCk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1fcmFpbCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLV9yKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fcmFpbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLyogU2FuZ3JpYSA9IHJhZGlvIGRlbCBjb250ZW5lZG9yICsgY3VydmEgZGUgbGEgbGVuZ3Vlc3RhLlxuICAgICAgICAgICBFcyBnZW9tZXRyaWEsIG5vIGd1c3RvOiBsYSBjdXJ2YSBjb25jYXZhIHNlIGV4dGllbmRlIFxcYG5vdGNoXFxgIHB4IGhhY2lhXG4gICAgICAgICAgIGFmdWVyYSB5IGVsIGNvbnRlbmVkb3IgeWEgdmllbmUgY3VydmFuZG8gZHVyYW50ZSBzdXMgcHJpbWVyb3NcbiAgICAgICAgICAgXFxgcmFkaXVzXFxgIHB4LiBDb24gbWVub3Mgc2FuZ3JpYSBsYXMgZG9zIGN1cnZhcyBzZSBlbmN1ZW50cmFuIHkgZGVqYW4gdW5cbiAgICAgICAgICAgcGljbyBxdWUgY29ydGEgZWwgYm9yZGUgZGVsIGNvbXBvbmVudGUuICovXG4gICAgICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1fcikgKyB2YXIoLS1fbikpO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3JhaWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLyogTGEgbGVuZ3Vlc3RhOiBVTiBzb2xvIGVsZW1lbnRvIHF1ZSBzZSBkZXNwbGF6YS4gU2kgY2FkYSBib3RvbiBzZSBwaW50YXJhXG4gICAgICAgICBhbCBhY3RpdmFyc2UsIGVsIGNhbWJpbyBzZXJpYSBpbnN0YW50YW5lbyB5IGxhIHBlc3RhbmEgXCJzYWx0YXJpYVwiLiAqL1xuICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1mbGFwLXcsIDBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1mbGFwLXgsIDBweCkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1fc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLV9yKSB2YXIoLS1fcikgMCAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICB0cmFuc2Zvcm0gNDIwbXMgY3ViaWMtYmV6aWVyKDAuNjUsIDAsIDAuMzUsIDEpLFxuICAgICAgICAgIHdpZHRoIDQyMG1zIGN1YmljLWJlemllcigwLjY1LCAwLCAwLjM1LCAxKTtcbiAgICAgIH1cblxuICAgICAgLyogQWwgbW9udGFyIG5vIGRlYmUgZGVzbGl6YXJzZSBkZXNkZSBsYSBlc3F1aW5hLiAqL1xuICAgICAgLnZhbC1mb2xkZXItdGFicy0tbm8tYW5pbSAudmFsLWZvbGRlci10YWJzX19mbGFwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLyogTGFzIGN1cnZhcyB2aWFqYW4gY29uIGxhIGxlbmd1ZXN0YS4gQ2FkYSB1bmEgZXMgdW4gY3VhZHJhZG8gdHJhbnNwYXJlbnRlXG4gICAgICAgICBjb24gYm9yZGVyLXJhZGl1cyA1MCUgeSB1bmEgc29tYnJhIHNvbGlkYSBkZXNwbGF6YWRhOiBsYSBzb21icmEgcGludGFcbiAgICAgICAgIHNvbG8gZWwgYXJlYSBwb3IgZnVlcmEgZGVsIGNpcmN1bG8sIHF1ZSBlcyBsYSBjdXJ2YSBpbnZlcnNhLiAqL1xuICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcDo6YmVmb3JlLFxuICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1fbik7XG4gICAgICAgIGhlaWdodDogdmFyKC0tX24pO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fZmxhcDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1fbikgKiAtMSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IGNhbGModmFyKC0tX24pIC8gMikgY2FsYyh2YXIoLS1fbikgLyAyKSAwIGNhbGModmFyKC0tX24pIC8gMikgdmFyKC0tX3N1cmZhY2UpO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX19mbGFwOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLV9uKSAqIC0xKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiBjYWxjKHZhcigtLV9uKSAvIC0yKSBjYWxjKHZhcigtLV9uKSAvIDIpIDAgY2FsYyh2YXIoLS1fbikgLyAyKSB2YXIoLS1fc3VyZmFjZSk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3RhYiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tX2luay1pZGxlKTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjM1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC8qIFNvYnJlIGxhIGxlbmd1ZXN0YTogZWwgdGV4dG8gbm8gZGViZSB0YXBhcnNlIG1pZW50cmFzIGVsbGEgcGFzYS4gKi9cbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjYwbXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fdGFiOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1faW5rKTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fdGFiW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1faW5rKTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mb2xkZXItdGFic19fdGFiW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZm9sZGVyLXRhYnNfX3RhYjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLV9pbmspO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX19iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC4zNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIsICNlYjQ0NWEpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlci1jb250cmFzdCwgI2ZmZik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgfVxuXG4gICAgICAudmFsLWZvbGRlci10YWJzX19ib2R5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1fc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLV9yKTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAudmFsLWZvbGRlci10YWJzX19mbGFwLFxuICAgICAgICAudmFsLWZvbGRlci10YWJzX190YWIge1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb2xkZXJUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wc1NpZyA9IHNpZ25hbDxGb2xkZXJUYWJzTWV0YWRhdGE+KHsgdGFiczogW10gfSk7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYWNpw7NuLiBFcyB1biBzaWduYWwgY29uIHNldHRlciAobm8gdW4gY2FtcG8gcGxhbm8pIHBvcnF1ZSBkZSDDqWxcbiAgICogZGVwZW5kZW4gY29tcHV0ZWRzIHkgZWwgcmVwb3NpY2lvbmFtaWVudG8gZGUgbGEgbGVuZ8O8ZXRhOiBjb24gdW4gY2FtcG9cbiAgICogcGxhbm8sIHVuYSByZWFzaWduYWNpw7NuIG5vIGRpc3BhcmFyw61hIG5pbmd1bm8gZGUgbG9zIGRvcy5cbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNldCBwcm9wcyh2YWx1ZTogRm9sZGVyVGFic01ldGFkYXRhKSB7XG4gICAgdGhpcy5wcm9wc1NpZy5zZXQodmFsdWUgPz8geyB0YWJzOiBbXSB9KTtcbiAgfVxuICBnZXQgcHJvcHMoKTogRm9sZGVyVGFic01ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wc1NpZygpO1xuICB9XG5cbiAgLyoqIEVtaXRlIGVsIGB2YWx1ZWAgZGUgbGEgcGVzdGHDsWEgZWxlZ2lkYS4gKi9cbiAgQE91dHB1dCgpIHRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3JhaWwnKSBwcml2YXRlIHJhaWxSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGludGVybmFsVmFsdWUgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBhbmltYXRpb25SZWFkeSA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZUlkID0gYHZhbC1mb2xkZXItdGFicy0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDkpfWA7XG5cbiAgLyoqXG4gICAqIFBlc3Rhw7FhIGFjdGl2YS4gYHNlbGVjdGVkVGFiYCBnYW5hIGN1YW5kbyBlbCBjb25zdW1lciBsYSBwYXNhIChtb2RvXG4gICAqIGNvbnRyb2xhZG8pOyBzaSBubywgbWFuZGEgbGEgc2VsZWNjacOzbiBpbnRlcm5hOyB5IHNpIG5pbmd1bmEgcmVzdWVsdmUsIGxhXG4gICAqIHByaW1lcmEgaGFiaWxpdGFkYS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVWYWx1ZSA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCB7IHRhYnMsIHNlbGVjdGVkVGFiIH0gPSB0aGlzLnByb3BzU2lnKCk7XG4gICAgaWYgKCF0YWJzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgZXhpc3RzID0gKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICAgICAgISF2YWx1ZSAmJiB0YWJzLnNvbWUodGFiID0+IHRhYi52YWx1ZSA9PT0gdmFsdWUgJiYgIXRhYi5kaXNhYmxlZCk7XG5cbiAgICBpZiAoZXhpc3RzKHNlbGVjdGVkVGFiKSkgcmV0dXJuIHNlbGVjdGVkVGFiITtcbiAgICBpZiAoZXhpc3RzKHRoaXMuaW50ZXJuYWxWYWx1ZSgpKSkgcmV0dXJuIHRoaXMuaW50ZXJuYWxWYWx1ZSgpO1xuICAgIHJldHVybiB0YWJzLmZpbmQodGFiID0+ICF0YWIuZGlzYWJsZWQpPy52YWx1ZSA/PyBudWxsO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlVGFiID0gY29tcHV0ZWQ8Rm9sZGVyVGFiIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5hY3RpdmVWYWx1ZSgpO1xuICAgIHJldHVybiB0aGlzLnByb3BzU2lnKCkudGFicz8uZmluZCh0YWIgPT4gdGFiLnZhbHVlID09PSB2YWx1ZSkgPz8gbnVsbDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZUluZGV4ID0gY29tcHV0ZWQ8bnVtYmVyPihcbiAgICAoKSA9PiB0aGlzLnByb3BzU2lnKCkudGFicz8uZmluZEluZGV4KHRhYiA9PiB0YWIudmFsdWUgPT09IHRoaXMuYWN0aXZlVmFsdWUoKSkgPz8gLTFcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBSZXBvc2ljaW9uYSBjdWFuZG8gY2FtYmlhIGxhIHBlc3Rhw7FhIGFjdGl2YSBvIGxhIGxpc3RhLiBMZWVyIGFtYm9zIHNpZ25hbHNcbiAgICAvLyBhY8OhIGVzIGxvIHF1ZSBhdGEgbGEgbGVuZ8O8ZXRhIGFsIGVzdGFkbzogc2luIGVzdG8gcXVlZGFyw61hIGRvbmRlIGxhIGRlasOzXG4gICAgLy8gZWwgcHJpbWVyIHJlbmRlci5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVWYWx1ZSgpO1xuICAgICAgdGhpcy5wcm9wc1NpZygpLnRhYnM7XG4gICAgICB1bnRyYWNrZWQoKCkgPT4gcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5wbGFjZUZsYXAoKSkpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGxhY2VGbGFwKCk7XG4gICAgLy8gTGEgdHJhbnNpY2nDs24gc2UgaGFiaWxpdGEgREVTUFXDiVMgZGUgbGEgcHJpbWVyYSBjb2xvY2FjacOzbjogc2kgbm8sIGxhXG4gICAgLy8gbGVuZ8O8ZXRhIGVudHJhIGRlc2xpesOhbmRvc2UgZGVzZGUgbGEgZXNxdWluYSBlbiBjYWRhIGNhcmdhLlxuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuYW5pbWF0aW9uUmVhZHkuc2V0KHRydWUpKTtcblxuICAgIGNvbnN0IHJhaWwgPSB0aGlzLnJhaWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHJhaWwgJiYgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gRWwgYW5jaG8gZGUgdW5hIHBlc3Rhw7FhIGRlcGVuZGUgZGUgc3UgdGV4dG8sIHkgZWwgdGV4dG8gY2FtYmlhIGNvbiBlbFxuICAgICAgLy8gaWRpb21hLCBhbCB0ZXJtaW5hciBkZSBjYXJnYXIgbGEgZnVlbnRlIHkgYWwgcm90YXIgZWwgZGlzcG9zaXRpdm8uXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMucGxhY2VGbGFwKCkpO1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHJhaWwpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3QodGFiOiBGb2xkZXJUYWIpOiB2b2lkIHtcbiAgICBpZiAodGFiLmRpc2FibGVkIHx8IHRhYi52YWx1ZSA9PT0gdGhpcy5hY3RpdmVWYWx1ZSgpKSByZXR1cm47XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlLnNldCh0YWIudmFsdWUpO1xuICAgIHRoaXMudGFiQ2hhbmdlLmVtaXQodGFiLnZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0YWJzID0gdGhpcy5wcm9wc1NpZygpLnRhYnMgPz8gW107XG4gICAgaWYgKCF0YWJzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgY29uc3QgbW92ZSA9IChkZWx0YTogbnVtYmVyKSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgYnV0dG9ucyA9IHRoaXMucmFpbFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxCdXR0b25FbGVtZW50PihcbiAgICAgICAgJy52YWwtZm9sZGVyLXRhYnNfX3RhYjpub3QoW2Rpc2FibGVkXSknXG4gICAgICApO1xuICAgICAgaWYgKCFidXR0b25zPy5sZW5ndGgpIHJldHVybjtcbiAgICAgIGNvbnN0IGxpc3QgPSBBcnJheS5mcm9tKGJ1dHRvbnMpO1xuICAgICAgY29uc3QgY3VycmVudCA9IGxpc3QuZmluZEluZGV4KGVsID0+IGVsID09PSBldmVudC50YXJnZXQpO1xuICAgICAgY29uc3QgbmV4dCA9IGxpc3RbKGN1cnJlbnQgKyBkZWx0YSArIGxpc3QubGVuZ3RoKSAlIGxpc3QubGVuZ3RoXTtcbiAgICAgIG5leHQ/LmZvY3VzKCk7XG4gICAgfTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JykgbW92ZSgxKTtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JykgbW92ZSgtMSk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0hvbWUnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5yYWlsUmVmPy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEJ1dHRvbkVsZW1lbnQ+KCcudmFsLWZvbGRlci10YWJzX190YWI6bm90KFtkaXNhYmxlZF0pJyk/LmZvY3VzKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB0YWIgPSB0YWJzW2luZGV4XTtcbiAgICAgIGlmICh0YWIpIHRoaXMuc2VsZWN0KHRhYik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhbmVsSWQodGFiOiBGb2xkZXJUYWIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmluc3RhbmNlSWR9LSR7dGFiLnZhbHVlfWA7XG4gIH1cblxuICAvKipcbiAgICogTWlkZSBsYSBwZXN0YcOxYSBhY3RpdmEgeSBtdWV2ZSBsYSBsZW5nw7xldGEgaGFzdGEgZWxsYS4gU2UgbWlkZSBlbiBjYWRhXG4gICAqIGxsYW1hZGEgZW4gdmV6IGRlIGNhY2hlYXI6IGVsIGFuY2hvIGRlcGVuZGUgZGVsIHRleHRvIHJlbmRlcml6YWRvLCBubyBkZSBsYVxuICAgKiBjb25maWd1cmFjacOzbi5cbiAgICovXG4gIHByaXZhdGUgcGxhY2VGbGFwKCk6IHZvaWQge1xuICAgIGNvbnN0IHJhaWwgPSB0aGlzLnJhaWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFyYWlsKSByZXR1cm47XG5cbiAgICBjb25zdCBhY3RpdmUgPSByYWlsLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcudmFsLWZvbGRlci10YWJzX190YWJbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0nKTtcbiAgICBjb25zdCBmbGFwID0gcmFpbC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnZhbC1mb2xkZXItdGFic19fZmxhcCcpO1xuICAgIGlmICghYWN0aXZlIHx8ICFmbGFwKSByZXR1cm47XG5cbiAgICBmbGFwLnN0eWxlLnNldFByb3BlcnR5KCctLWZsYXAteCcsIGAke2FjdGl2ZS5vZmZzZXRMZWZ0IC0gcmFpbC5jbGllbnRMZWZ0fXB4YCk7XG4gICAgZmxhcC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1mbGFwLXcnLCBgJHthY3RpdmUub2Zmc2V0V2lkdGh9cHhgKTtcbiAgfVxufVxuIl19