@fundamental-ngx/core 0.47.0-rc.9 → 0.47.0

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 (150) hide show
  1. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  2. package/carousel/carousel-item/carousel-item.component.d.ts +4 -4
  3. package/carousel/carousel-item.directive.d.ts +4 -4
  4. package/checkbox/checkbox/checkbox.component.d.ts +10 -10
  5. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  6. package/esm2022/calendar/calendar-header/calendar-header.component.mjs +4 -5
  7. package/esm2022/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +4 -5
  8. package/esm2022/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +4 -5
  9. package/esm2022/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +4 -5
  10. package/esm2022/carousel/carousel-item/carousel-item.component.mjs +1 -1
  11. package/esm2022/carousel/carousel-item.directive.mjs +1 -1
  12. package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
  13. package/esm2022/combobox/combobox.component.mjs +2 -2
  14. package/esm2022/date-picker/date-picker.component.mjs +4 -5
  15. package/esm2022/datetime-picker/datetime-picker.component.mjs +8 -10
  16. package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +2 -2
  17. package/esm2022/feed-input/directives/feed-input-textarea.directive.mjs +16 -19
  18. package/esm2022/form/form-control/form-control.component.mjs +3 -3
  19. package/esm2022/form/form-label/form-label.component.mjs +5 -6
  20. package/esm2022/input-group/input-group.component.mjs +7 -5
  21. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +4 -5
  22. package/esm2022/message-box/directives/message-box-template.directive.mjs +3 -3
  23. package/esm2022/message-strip/message-strip.component.mjs +8 -10
  24. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +4 -4
  25. package/esm2022/multi-combobox/helpers.mjs +1 -1
  26. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +11 -5
  27. package/esm2022/multi-combobox/multi-combobox.component.mjs +6 -6
  28. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -5
  29. package/esm2022/multi-input/multi-input.component.mjs +3 -3
  30. package/esm2022/notification/notification-utils/notification-config.mjs +1 -1
  31. package/esm2022/notification/notification-utils/notification-ref.mjs +1 -1
  32. package/esm2022/object-attribute/fundamental-ngx-core-object-attribute.mjs +5 -0
  33. package/esm2022/object-attribute/index.mjs +3 -0
  34. package/esm2022/object-attribute/object-attribute.component.mjs +49 -0
  35. package/esm2022/object-attribute/object-attribute.module.mjs +16 -0
  36. package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -5
  37. package/esm2022/overflow-layout/overflow-layout.service.mjs +3 -3
  38. package/esm2022/pagination/pagination.component.mjs +2 -2
  39. package/esm2022/popover/popover-mobile/popover-mobile.module.mjs +6 -6
  40. package/esm2022/radio/radio-button/radio-button.component.mjs +2 -2
  41. package/esm2022/select/select-mobile/select-mobile.module.mjs +5 -5
  42. package/esm2022/select/select.component.mjs +3 -3
  43. package/esm2022/select/select.interface.mjs +1 -1
  44. package/esm2022/shellbar/product-menu/product-menu.component.mjs +8 -11
  45. package/esm2022/shellbar/shellbar-action/shellbar-action.component.mjs +6 -7
  46. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +6 -7
  47. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +5 -6
  48. package/esm2022/splitter/splitter-pane-container/splitter-pane-container.component.mjs +1 -1
  49. package/esm2022/switch/switch.component.mjs +1 -1
  50. package/esm2022/tabs/tab-list.component.mjs +6 -3
  51. package/esm2022/tabs/tabs.module.mjs +5 -1
  52. package/esm2022/time/time-column/time-column.component.mjs +1 -1
  53. package/esm2022/time/time.component.mjs +1 -1
  54. package/esm2022/time-picker/time-picker.component.mjs +2 -2
  55. package/esm2022/token/tokenizer.component.mjs +6 -7
  56. package/esm2022/toolbar/toolbar.component.mjs +10 -12
  57. package/esm2022/tree/components/tree-item/tree-item.component.mjs +5 -6
  58. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +4 -6
  59. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +2 -2
  60. package/feed-input/directives/feed-input-textarea.directive.d.ts +7 -8
  61. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +1 -1
  62. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-calendar.mjs +9 -10
  64. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  68. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-date-picker.mjs +3 -4
  70. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +8 -10
  72. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-feed-input.mjs +16 -19
  74. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-form.mjs +6 -7
  76. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-input-group.mjs +6 -4
  78. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-menu.mjs +3 -4
  80. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  82. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-message-strip.mjs +7 -9
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +15 -10
  86. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -7
  88. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +69 -0
  91. package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -0
  92. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +18 -5
  93. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-core-pagination.mjs +1 -1
  95. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  96. package/fesm2022/fundamental-ngx-core-popover.mjs +4 -4
  97. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  98. package/fesm2022/fundamental-ngx-core-radio.mjs +1 -1
  99. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  100. package/fesm2022/fundamental-ngx-core-select.mjs +6 -6
  101. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-shellbar.mjs +12 -14
  103. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-core-tabs.mjs +9 -2
  107. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  109. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-token.mjs +5 -6
  112. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-toolbar.mjs +7 -8
  114. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-tree.mjs +4 -5
  116. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +6 -7
  118. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  119. package/form/form-control/form-control.component.d.ts +3 -3
  120. package/fundamental-ngx-core-v0.47.0.tgz +0 -0
  121. package/input-group/input-group.component.d.ts +10 -4
  122. package/message-box/directives/message-box-template.directive.d.ts +2 -2
  123. package/message-strip/message-strip.component.d.ts +2 -2
  124. package/multi-combobox/base-multi-combobox.class.d.ts +7 -7
  125. package/multi-combobox/helpers.d.ts +3 -3
  126. package/multi-combobox/multi-announcer/multi-announcer.directive.d.ts +4 -2
  127. package/notification/notification-utils/notification-config.d.ts +2 -2
  128. package/notification/notification-utils/notification-ref.d.ts +5 -5
  129. package/object-attribute/README.md +25 -0
  130. package/object-attribute/index.d.ts +2 -0
  131. package/object-attribute/object-attribute.component.d.ts +26 -0
  132. package/object-attribute/object-attribute.module.d.ts +7 -0
  133. package/overflow-layout/overflow-layout.component.d.ts +9 -1
  134. package/overflow-layout/overflow-layout.service.d.ts +1 -1
  135. package/package.json +9 -3
  136. package/pagination/pagination.component.d.ts +2 -2
  137. package/popover/popover-mobile/popover-mobile.module.d.ts +1 -1
  138. package/radio/radio-button/radio-button.component.d.ts +12 -12
  139. package/schematics/add-dependencies/index.js +4 -4
  140. package/select/select-mobile/select-mobile.module.d.ts +1 -1
  141. package/select/select.interface.d.ts +8 -8
  142. package/shellbar/product-menu/product-menu.component.d.ts +3 -3
  143. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +1 -1
  144. package/switch/switch.component.d.ts +1 -1
  145. package/tabs/tab-list.component.d.ts +2 -0
  146. package/tabs/tabs.module.d.ts +4 -0
  147. package/time/time-column/time-column.component.d.ts +3 -3
  148. package/time/time.component.d.ts +1 -1
  149. package/toolbar/toolbar.component.d.ts +2 -2
  150. package/fundamental-ngx-core-v0.47.0-rc.9.tgz +0 -0
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const SELECT_COMPONENT = new InjectionToken('SelectInterface');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NlbGVjdC9zZWxlY3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsY0FBYyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQU9wRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4sIFF1ZXJ5TGlzdCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1vYmlsZU1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE1vYmlsZU1vZGVDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3RJbnRlcmZhY2U+KCdTZWxlY3RJbnRlcmZhY2UnKTtcblxuLyoqXG4gKiBTZWxlY3QgSW50ZXJmYWNlIHRvIGhhdmUgdHlwaW5nIGFuZCBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW5cbiAqIFNlbGVjdENvbXBvbmVudCA8PT0+IFNlbGVjdE1vYmlsZUNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEludGVyZmFjZSBleHRlbmRzIE1vYmlsZU1vZGUge1xuICAgIHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6IG51bWJlcjtcbiAgICBzZWxlY3RlZDogT3B0aW9uQ29tcG9uZW50O1xuICAgIG1vYmlsZUNvbmZpZzogTW9iaWxlTW9kZUNvbmZpZztcbiAgICBfb3B0aW9uczogUXVlcnlMaXN0PGFueT47XG4gICAgX2Rlc3Ryb3k6IGFueTtcbiAgICBfb3B0aW9uUGFuZWw6IEVsZW1lbnRSZWY7XG4gICAgX2lzT3BlbjogYm9vbGVhbjtcbiAgICBfY2FsY3VsYXRlZE1heEhlaWdodDogbnVtYmVyO1xuICAgIF9saXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyO1xuXG4gICAgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgY2xvc2UoZm9yY2VDbG9zZT86IGJvb2xlYW4pOiB2b2lkO1xuICAgIG9wZW4oKTogdm9pZDtcbiAgICBmb2N1cygpOiB2b2lkO1xuICAgIGJsdXIoKTogdm9pZDtcbiAgICBfaXNSdGwoKTogYm9vbGVhbjtcbiAgICBfZ2V0SXRlbUhlaWdodCgpOiBudW1iZXI7XG4gICAgX2dldE9wdGlvblNjcm9sbFBvc2l0aW9uKG9wdGlvbkluZGV4OiBudW1iZXIsIG9wdGlvbkhlaWdodDogbnVtYmVyLCBjdXJyZW50U2Nyb2xsUG9zaXRpb246IG51bWJlcik6IHZvaWQ7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NlbGVjdC9zZWxlY3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBT3BGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFrQixpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNb2JpbGVNb2RlLCBNb2JpbGVNb2RlQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21vYmlsZS1tb2RlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZWxlY3RJbnRlcmZhY2U+KCdTZWxlY3RJbnRlcmZhY2UnKTtcblxuLyoqXG4gKiBTZWxlY3QgSW50ZXJmYWNlIHRvIGhhdmUgdHlwaW5nIGFuZCBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW5cbiAqIFNlbGVjdENvbXBvbmVudCA8PT0+IFNlbGVjdE1vYmlsZUNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEludGVyZmFjZTxUT3B0aW9uID0gYW55PiBleHRlbmRzIE1vYmlsZU1vZGUge1xuICAgIHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6IG51bWJlcjtcbiAgICBzZWxlY3RlZDogT3B0aW9uQ29tcG9uZW50O1xuICAgIG1vYmlsZUNvbmZpZzogTW9iaWxlTW9kZUNvbmZpZztcbiAgICBfb3B0aW9uczogUXVlcnlMaXN0PFRPcHRpb24+O1xuICAgIF9kZXN0cm95OiBTdWJqZWN0PHZvaWQ+O1xuICAgIF9vcHRpb25QYW5lbDogRWxlbWVudFJlZjtcbiAgICBfaXNPcGVuOiBib29sZWFuO1xuICAgIF9jYWxjdWxhdGVkTWF4SGVpZ2h0OiBudW1iZXI7XG4gICAgX2xpdmVBbm5vdW5jZXI6IExpdmVBbm5vdW5jZXI7XG5cbiAgICBpc09wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICBjbG9zZShmb3JjZUNsb3NlPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgb3BlbigpOiB2b2lkO1xuICAgIGZvY3VzKCk6IHZvaWQ7XG4gICAgYmx1cigpOiB2b2lkO1xuICAgIF9pc1J0bCgpOiBib29sZWFuO1xuICAgIF9nZXRJdGVtSGVpZ2h0KCk6IG51bWJlcjtcbiAgICBfZ2V0T3B0aW9uU2Nyb2xsUG9zaXRpb24ob3B0aW9uSW5kZXg6IG51bWJlciwgb3B0aW9uSGVpZ2h0OiBudW1iZXIsIGN1cnJlbnRTY3JvbGxQb3NpdGlvbjogbnVtYmVyKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,14 +1,11 @@
1
+ import { NgFor, NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { MenuComponent } from '@fundamental-ngx/core/menu';
3
- import { IconModule } from '@fundamental-ngx/core/icon';
4
- import { MenuModule } from '@fundamental-ngx/core/menu';
3
+ import { ButtonComponent } from '@fundamental-ngx/core/button';
5
4
  import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
6
- import { ButtonModule } from '@fundamental-ngx/core/button';
7
- import { NgIf, NgFor } from '@angular/common';
5
+ import { IconComponent } from '@fundamental-ngx/core/icon';
6
+ import { MenuComponent, MenuModule } from '@fundamental-ngx/core/menu';
8
7
  import * as i0 from "@angular/core";
9
- import * as i1 from "@fundamental-ngx/core/button";
10
- import * as i2 from "@fundamental-ngx/core/menu";
11
- import * as i3 from "@fundamental-ngx/core/icon";
8
+ import * as i1 from "@fundamental-ngx/core/menu";
12
9
  /**
13
10
  * The component that represents a product menu.
14
11
  * Product menu is used for navigating to applications within the product.
@@ -45,11 +42,11 @@ export class ProductMenuComponent {
45
42
  }
46
43
  }
47
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProductMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProductMenuComponent, isStandalone: true, selector: "fd-product-menu", inputs: { closeOnEscapeKey: "closeOnEscapeKey", closeOnOutsideClick: "closeOnOutsideClick", triggers: "triggers", placement: "placement", disabled: "disabled", fillControlMode: "fillControlMode", control: "control", items: "items", closePopoverOnSelect: "closePopoverOnSelect" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProductMenuComponent, isStandalone: true, selector: "fd-product-menu", inputs: { closeOnEscapeKey: "closeOnEscapeKey", closeOnOutsideClick: "closeOnOutsideClick", triggers: "triggers", placement: "placement", disabled: "disabled", fillControlMode: "fillControlMode", control: "control", items: "items", closePopoverOnSelect: "closePopoverOnSelect" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i1.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i1.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i1.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i1.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i1.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
46
  }
50
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProductMenuComponent, decorators: [{
51
48
  type: Component,
52
- args: [{ selector: 'fd-product-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, ButtonModule, ContentDensityDirective, MenuModule, NgFor, IconModule], template: "<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n" }]
49
+ args: [{ selector: 'fd-product-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, ButtonComponent, ContentDensityDirective, MenuModule, NgFor, IconComponent], template: "<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"slim-arrow-down\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n" }]
53
50
  }], propDecorators: { closeOnEscapeKey: [{
54
51
  type: Input
55
52
  }], closeOnOutsideClick: [{
@@ -72,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
72
69
  type: ViewChild,
73
70
  args: [MenuComponent]
74
71
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3Byb2R1Y3QtbWVudS9wcm9kdWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvcHJvZHVjdC1tZW51L3Byb2R1Y3QtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlDOzs7Ozs7OztHQVFHO0FBU0gsTUFBTSxPQUFPLG9CQUFvQjtJQVJqQztRQVNJLHVFQUF1RTtRQUV2RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsb0ZBQW9GO1FBRXBGLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUUzQjtnR0FDd0Y7UUFFeEYsYUFBUSxHQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0I7bUdBQzJGO1FBRTNGLGNBQVMsR0FBYyxZQUFZLENBQUM7UUFFcEMsdUNBQXVDO1FBRXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUF5QmpCLCtFQUErRTtRQUUvRSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7S0FlaEM7SUFURyxjQUFjO0lBQ2QsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFpQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7OEdBOURRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHlZQW1EbEIsYUFBYSxnREMvRTVCLCsxQ0F3Q0EsNENEZGMsSUFBSSw0RkFBRSxZQUFZLHlLQUFFLHVCQUF1QixtZEFBRSxVQUFVLG92QkFBRSxLQUFLLGtIQUFFLFVBQVU7OzJGQUUzRSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0ksaUJBQWlCLGlCQUVaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQzs4QkFLckYsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQU1OLFFBQVE7c0JBRFAsS0FBSztnQkFNTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQVVOLGVBQWU7c0JBRGQsS0FBSztnQkFRTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sS0FBSztzQkFESixLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFLTixJQUFJO3NCQURILFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgU2hlbGxiYXJNZW51SXRlbSB9IGZyb20gJy4uL21vZGVsL3NoZWxsYmFyLW1lbnUtaXRlbSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQsIFBvcG92ZXJGaWxsTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTWVudU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHByb2R1Y3QgbWVudS5cbiAqIFByb2R1Y3QgbWVudSBpcyB1c2VkIGZvciBuYXZpZ2F0aW5nIHRvIGFwcGxpY2F0aW9ucyB3aXRoaW4gdGhlIHByb2R1Y3QuXG4gKiBgYGBodG1sXG4gKiA8ZmQtcHJvZHVjdC1tZW51IFtjb250cm9sXT1cInByb2R1Y3RNZW51Q29udHJvbFwiXG4gKiAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9kdWN0TWVudUl0ZW1zXCI+XG4gKiA8L2ZkLXByb2R1Y3QtbWVudT5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXByb2R1Y3QtbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBCdXR0b25Nb2R1bGUsIENvbnRlbnREZW5zaXR5RGlyZWN0aXZlLCBNZW51TW9kdWxlLCBOZ0ZvciwgSWNvbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1lbnVDb21wb25lbnQge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIHByZXNzZWQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uRXNjYXBlS2V5ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIGEgY2xpY2sgaXMgbWFkZSBvdXRzaWRlIGl0cyBib3VuZGFyaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbk91dHNpZGVDbGljayA9IHRydWU7XG5cbiAgICAvKiogVGhlIHRyaWdnZXIgZXZlbnRzIHRoYXQgd2lsbCBvcGVuL2Nsb3NlIHRoZSBwb3BvdmVyLlxuICAgICAqICBBY2NlcHRzIGFueSBbSFRNTCBET00gRXZlbnRzXShodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2pzcmVmL2RvbV9vYmpfZXZlbnQuYXNwKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRyaWdnZXJzOiBzdHJpbmdbXSA9IFsnY2xpY2snXTtcblxuICAgIC8qKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyLiBJdCBjYW4gYmUgb25lIG9mOiB0b3AsIHRvcC1zdGFydCwgdG9wLWVuZCwgYm90dG9tLFxuICAgICAqICBib3R0b20tc3RhcnQsIGJvdHRvbS1lbmQsIHJpZ2h0LCByaWdodC1zdGFydCwgcmlnaHQtZW5kLCBsZWZ0LCBsZWZ0LXN0YXJ0LCBsZWZ0LWVuZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1lbmQnO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogUHJlc2V0IG9wdGlvbnMgZm9yIHRoZSBwb3BvdmVyIGJvZHkgd2lkdGguXG4gICAgICogKiBgYXQtbGVhc3RgIHdpbGwgYXBwbHkgYSBtaW5pbXVtIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogYGVxdWFsYCB3aWxsIGFwcGx5IGEgd2lkdGggdG8gdGhlIGJvZHkgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICogKiBMZWF2ZSBibGFuayBmb3Igbm8gZWZmZWN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbENvbnRyb2xNb2RlOiBOdWxsYWJsZTxQb3BvdmVyRmlsbE1vZGU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2wgZWxlbWVudCB0byB0b2dnbGUgdGhlIHByb2R1Y3QgbWVudSxcbiAgICAgKiByZXByZXNlbnRlZCBieSB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBhcHBsaWNhdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbnRyb2w6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqICBUaGUgaXRlbXMgaW4gdGhlIHByb2R1Y3QgbWVudS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBwYXNzZWQgb3IgdGhlcmUgaXMgZW1wdHkgYXJyYXksXG4gICAgICogdGhlIHRlbXBsYXRlIGNoYW5nZXMgYW5kIHNob3dzIG9ubHkgY29udHJvbFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbXM6IFNoZWxsYmFyTWVudUl0ZW1bXTtcblxuICAgIC8qKiBXaGVuIHNldCB0byB0cnVlLCBwb3BvdmVyIGxpc3Qgd2lsbCBiZSBjbG9zZWQgYWZ0ZXIgc2VsZWN0aW5nIHRoZSBvcHRpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlUG9wb3Zlck9uU2VsZWN0ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBpdGVtQ2xpY2tlZChpdGVtOiBhbnksIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlUG9wb3Zlck9uU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLm1lbnUuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbS5jYWxsYmFjaykge1xuICAgICAgICAgICAgaXRlbS5jYWxsYmFjayhldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiIFtuZ0lmRWxzZV09XCJzdWJIZWFkZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2J1dHRvbiBmZC1zaGVsbGJhcl9fYnV0dG9uLS1tZW51XCJcbiAgICAgICAgZ2x5cGg9XCJzbGltLWFycm93LWRvd25cIlxuICAgICAgICBnbHlwaFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICBmZENvenlcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZkLXNoZWxsYmFyX190aXRsZVwiPnt7IGNvbnRyb2wgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZmQtbWVudVxuICAgICAgICAjbWVudVxuICAgICAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudFwiXG4gICAgICAgIFt0cmlnZ2Vyc109XCJ0cmlnZ2Vyc1wiXG4gICAgICAgIFtmaWxsQ29udHJvbE1vZGVdPVwiZmlsbENvbnRyb2xNb2RlXCJcbiAgICAgICAgW2Nsb3NlT25Fc2NhcGVLZXldPVwiY2xvc2VPbkVzY2FwZUtleVwiXG4gICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cImNsb3NlT25PdXRzaWRlQ2xpY2tcIlxuICAgID5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgKGNsaWNrKT1cIml0ZW1DbGlja2VkKGl0ZW0sICRldmVudClcIiBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaXRlbS5saW5rID8gaXRlbS5saW5rIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0ubmV3VGFiID8gJ19ibGFuaycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBmZC1tZW51LWludGVyYWN0aXZlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGZkLWljb24gKm5nSWY9XCJpdGVtLmdseXBoXCIgZmQtbWVudS1hZGRvbiBwb3NpdGlvbj1cImFmdGVyXCIgW2dseXBoXT1cIml0ZW0uZ2x5cGhcIj48L2ZkLWljb24+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgPC9mZC1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdWJIZWFkZXI+XG4gICAgPHNwYW4gY2xhc3M9XCJmZC1zaGVsbGJhcl9fdGl0bGUgZmQtcHJvZHVjdC1tZW51X190aXRsZVwiPlxuICAgICAgICB7eyBjb250cm9sIH19XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3Byb2R1Y3QtbWVudS9wcm9kdWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvcHJvZHVjdC1tZW51L3Byb2R1Y3QtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUl2RTs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxvQkFBb0I7SUFSakM7UUFTSSx1RUFBdUU7UUFFdkUscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLG9GQUFvRjtRQUVwRix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0I7Z0dBQ3dGO1FBRXhGLGFBQVEsR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9CO21HQUMyRjtRQUUzRixjQUFTLEdBQWMsWUFBWSxDQUFDO1FBRXBDLHVDQUF1QztRQUV2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBeUJqQiwrRUFBK0U7UUFFL0UseUJBQW9CLEdBQUcsS0FBSyxDQUFDO0tBZWhDO0lBVEcsY0FBYztJQUNkLFdBQVcsQ0FBQyxJQUFzQixFQUFFLEtBQWlCO1FBQ2pELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQzs4R0E5RFEsb0JBQW9CO2tHQUFwQixvQkFBb0IseVlBbURsQixhQUFhLGdEQzlFNUIsKzFDQXdDQSw0Q0RmYyxJQUFJLDZGQUFFLGVBQWUsd0hBQUUsdUJBQXVCLG1kQUFFLFVBQVUsb3ZCQUFFLEtBQUssbUhBQUUsYUFBYTs7MkZBRWpGLG9CQUFvQjtrQkFSaEMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBRVosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDOzhCQUszRixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBTU4sUUFBUTtzQkFEUCxLQUFLO2dCQU1OLFNBQVM7c0JBRFIsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBVU4sZUFBZTtzQkFEZCxLQUFLO2dCQVFOLE9BQU87c0JBRE4sS0FBSztnQkFRTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sb0JBQW9CO3NCQURuQixLQUFLO2dCQUtOLElBQUk7c0JBREgsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQsIFBvcG92ZXJGaWxsTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgU2hlbGxiYXJNZW51SXRlbSB9IGZyb20gJy4uL21vZGVsL3NoZWxsYmFyLW1lbnUtaXRlbSc7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYSBwcm9kdWN0IG1lbnUuXG4gKiBQcm9kdWN0IG1lbnUgaXMgdXNlZCBmb3IgbmF2aWdhdGluZyB0byBhcHBsaWNhdGlvbnMgd2l0aGluIHRoZSBwcm9kdWN0LlxuICogYGBgaHRtbFxuICogPGZkLXByb2R1Y3QtbWVudSBbY29udHJvbF09XCJwcm9kdWN0TWVudUNvbnRyb2xcIlxuICogICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicHJvZHVjdE1lbnVJdGVtc1wiPlxuICogPC9mZC1wcm9kdWN0LW1lbnU+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wcm9kdWN0LW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgQnV0dG9uQ29tcG9uZW50LCBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSwgTWVudU1vZHVsZSwgTmdGb3IsIEljb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNZW51Q29tcG9uZW50IHtcbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgZXNjYXBlIGtleSBpcyBwcmVzc2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbkVzY2FwZUtleSA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiBhIGNsaWNrIGlzIG1hZGUgb3V0c2lkZSBpdHMgYm91bmRhcmllcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuXG4gICAgLyoqIFRoZSB0cmlnZ2VyIGV2ZW50cyB0aGF0IHdpbGwgb3Blbi9jbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgKiAgQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkuICovXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2Vyczogc3RyaW5nW10gPSBbJ2NsaWNrJ107XG5cbiAgICAvKiogVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3Zlci4gSXQgY2FuIGJlIG9uZSBvZjogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSxcbiAgICAgKiAgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLCByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20tZW5kJztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFByZXNldCBvcHRpb25zIGZvciB0aGUgcG9wb3ZlciBib2R5IHdpZHRoLlxuICAgICAqICogYGF0LWxlYXN0YCB3aWxsIGFwcGx5IGEgbWluaW11bSB3aWR0aCB0byB0aGUgYm9keSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aCBvZiB0aGUgY29udHJvbC5cbiAgICAgKiAqIGBlcXVhbGAgd2lsbCBhcHBseSBhIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogTGVhdmUgYmxhbmsgZm9yIG5vIGVmZmVjdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxDb250cm9sTW9kZTogTnVsbGFibGU8UG9wb3ZlckZpbGxNb2RlPjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sIGVsZW1lbnQgdG8gdG9nZ2xlIHRoZSBwcm9kdWN0IG1lbnUsXG4gICAgICogcmVwcmVzZW50ZWQgYnkgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb250cm9sOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiAgVGhlIGl0ZW1zIGluIHRoZSBwcm9kdWN0IG1lbnUuIElmIHRoZSB2YWx1ZSBpcyBub3QgcGFzc2VkIG9yIHRoZXJlIGlzIGVtcHR5IGFycmF5LFxuICAgICAqIHRoZSB0ZW1wbGF0ZSBjaGFuZ2VzIGFuZCBzaG93cyBvbmx5IGNvbnRyb2xcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zOiBTaGVsbGJhck1lbnVJdGVtW107XG5cbiAgICAvKiogV2hlbiBzZXQgdG8gdHJ1ZSwgcG9wb3ZlciBsaXN0IHdpbGwgYmUgY2xvc2VkIGFmdGVyIHNlbGVjdGluZyB0aGUgb3B0aW9uICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZVBvcG92ZXJPblNlbGVjdCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKE1lbnVDb21wb25lbnQpXG4gICAgbWVudTogTWVudUNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaXRlbUNsaWNrZWQoaXRlbTogU2hlbGxiYXJNZW51SXRlbSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VQb3BvdmVyT25TZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBpdGVtLmNhbGxiYWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwXCIgW25nSWZFbHNlXT1cInN1YkhlYWRlclwiPlxuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYnV0dG9uIGZkLXNoZWxsYmFyX19idXR0b24tLW1lbnVcIlxuICAgICAgICBnbHlwaD1cInNsaW0tYXJyb3ctZG93blwiXG4gICAgICAgIGdseXBoUG9zaXRpb249XCJhZnRlclwiXG4gICAgICAgIGZkQ296eVxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtc2hlbGxiYXJfX3RpdGxlXCI+e3sgY29udHJvbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxmZC1tZW51XG4gICAgICAgICNtZW51XG4gICAgICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgICAgICAgW3RyaWdnZXJzXT1cInRyaWdnZXJzXCJcbiAgICAgICAgW2ZpbGxDb250cm9sTW9kZV09XCJmaWxsQ29udHJvbE1vZGVcIlxuICAgICAgICBbY2xvc2VPbkVzY2FwZUtleV09XCJjbG9zZU9uRXNjYXBlS2V5XCJcbiAgICAgICAgW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwiY2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiAoY2xpY2spPVwiaXRlbUNsaWNrZWQoaXRlbSwgJGV2ZW50KVwiIGZkLW1lbnUtaXRlbT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmxpbmsgPyBpdGVtLmxpbmsgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiaXRlbS5uZXdUYWIgPyAnX2JsYW5rJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGZkLW1lbnUtaW50ZXJhY3RpdmVcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvbiAqbmdJZj1cIml0ZW0uZ2x5cGhcIiBmZC1tZW51LWFkZG9uIHBvc2l0aW9uPVwiYWZ0ZXJcIiBbZ2x5cGhdPVwiaXRlbS5nbHlwaFwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L2ZkLW1lbnU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3N1YkhlYWRlcj5cbiAgICA8c3BhbiBjbGFzcz1cImZkLXNoZWxsYmFyX190aXRsZSBmZC1wcm9kdWN0LW1lbnVfX3RpdGxlXCI+XG4gICAgICAgIHt7IGNvbnRyb2wgfX1cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,10 +1,9 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
- import { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';
3
1
  import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
+ import { ButtonComponent } from '@fundamental-ngx/core/button';
4
4
  import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
5
- import { ButtonModule } from '@fundamental-ngx/core/button';
5
+ import { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@fundamental-ngx/core/button";
8
7
  /**
9
8
  * The component that represents a shellbar action.
10
9
  * ```html
@@ -24,7 +23,7 @@ export class ShellbarActionComponent {
24
23
  provide: FD_SHELLBAR_ACTION_COMPONENT,
25
24
  useExisting: ShellbarActionComponent
26
25
  }
27
- ], ngImport: i0, template: "<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
+ ], ngImport: i0, template: "<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
27
  }
29
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ShellbarActionComponent, decorators: [{
30
29
  type: Component,
@@ -33,7 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
33
32
  provide: FD_SHELLBAR_ACTION_COMPONENT,
34
33
  useExisting: ShellbarActionComponent
35
34
  }
36
- ], standalone: true, imports: [ButtonModule, ContentDensityDirective, NgIf], template: "<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n" }]
35
+ ], standalone: true, imports: [ButtonComponent, ContentDensityDirective, NgIf], template: "<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n" }]
37
36
  }], propDecorators: { glyph: [{
38
37
  type: Input
39
38
  }], callback: [{
@@ -45,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
45
44
  }], notificationCount: [{
46
45
  type: Input
47
46
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLWFjdGlvbi9zaGVsbGJhci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9uL3NoZWxsYmFyLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRTVEOzs7Ozs7Ozs7OztHQVdHO0FBZUgsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbU5BVHJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLDRCQUE0QjtnQkFDckMsV0FBVyxFQUFFLHVCQUF1QjthQUN2QztTQUNKLDBCQzdCTCwrY0FjQSwyQ0RpQmMsWUFBWSx5S0FBRSx1QkFBdUIsb2RBQUUsSUFBSTs7MkZBRTVDLHVCQUF1QjtrQkFkbkMsU0FBUzsrQkFDSSxvQkFBb0IsaUJBRWYsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLHlCQUF5Qjt5QkFDdkM7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDOzhCQUt0RCxLQUFLO3NCQURKLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9BQ1RJT05fQ09NUE9ORU5UIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYSBzaGVsbGJhciBhY3Rpb24uXG4gKiBgYGBodG1sXG4gKiAgPGZkLXNoZWxsYmFyLWFjdGlvbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIlxuICogICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImFjdGlvbi5nbHlwaFwiXG4gKiAgICAgICAgICAgICAgICAgICAgICBbY2FsbGJhY2tdPVwiYWN0aW9uLmNhbGxiYWNrXCJcbiAqICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJhY3Rpb24ubGFiZWxcIlxuICogICAgICAgICAgICAgICAgICAgICAgW25vdGlmaWNhdGlvbkNvdW50XT1cImFjdGlvbi5ub3RpZmljYXRpb25Db3VudFwiXG4gKiAgICAgICAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uTGFiZWxdPVwiYWN0aW9uLm5vdGlmaWNhdGlvbkxhYmVsXCI+XG4gKiAgPC9mZC1zaGVsbGJhci1hY3Rpb24+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1zaGVsbGJhci1hY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGVsbGJhci1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX1NIRUxMQkFSX0FDVElPTl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2hlbGxiYXJBY3Rpb25Db21wb25lbnRcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQnV0dG9uTW9kdWxlLCBDb250ZW50RGVuc2l0eURpcmVjdGl2ZSwgTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxiYXJBY3Rpb25Db21wb25lbnQge1xuICAgIC8qKiBUaGUgZ2x5cGggKGljb24pIG5hbWUgKi9cbiAgICBASW5wdXQoKVxuICAgIGdseXBoOiBzdHJpbmc7XG5cbiAgICAvKiogQ2FsbGJhY2sgdGhhdCBoYW5sZGxlcyB0aGUgcmVzcG9uc2UgdG8gY2xpY2tzIG9uIGFueSBvZiB0aGUgYWN0aW9ucy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhbGxiYWNrOiBOdWxsYWJsZTwoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ+O1xuXG4gICAgLyoqIFRoZSBhY3Rpb24gbGFiZWwuICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSBub3RpZmljYXRpb24gbGFiZWwuICovXG4gICAgQElucHV0KClcbiAgICBub3RpZmljYXRpb25MYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBub3RpZmljYXRpb25zLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm90aWZpY2F0aW9uQ291bnQ6IG51bWJlcjtcbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYWN0aW9uIGZkLXNoZWxsYmFyX19hY3Rpb24tLWRlc2t0b3BcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGZkLWJ1dHRvblxuICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2J1dHRvblwiXG4gICAgICAgIGZkQ296eVxuICAgICAgICBbZ2x5cGhdPVwiZ2x5cGhcIlxuICAgICAgICAoY2xpY2spPVwiY2FsbGJhY2sgPyBjYWxsYmFjaygkZXZlbnQpIDogJydcIlxuICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJub3RpZmljYXRpb25Db3VudFwiIGNsYXNzPVwiZmQtYnV0dG9uX19iYWRnZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibm90aWZpY2F0aW9uTGFiZWxcIj5cbiAgICAgICAgICAgIHt7IG5vdGlmaWNhdGlvbkNvdW50IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3NoZWxsYmFyLWFjdGlvbi9zaGVsbGJhci1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9uL3NoZWxsYmFyLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFekQ7Ozs7Ozs7Ozs7O0dBV0c7QUFlSCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1QixtTkFUckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxXQUFXLEVBQUUsdUJBQXVCO2FBQ3ZDO1NBQ0osMEJDN0JMLCtjQWNBLDRDRGlCYyxlQUFlLHdIQUFFLHVCQUF1QixvZEFBRSxJQUFJOzsyRkFFL0MsdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNJLG9CQUFvQixpQkFFZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcseUJBQXlCO3lCQUN2QztxQkFDSixjQUNXLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLENBQUM7OEJBS3pELEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9BQ1RJT05fQ09NUE9ORU5UIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHNoZWxsYmFyIGFjdGlvbi5cbiAqIGBgYGh0bWxcbiAqICA8ZmQtc2hlbGxiYXItYWN0aW9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiXG4gKiAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiYWN0aW9uLmdseXBoXCJcbiAqICAgICAgICAgICAgICAgICAgICAgIFtjYWxsYmFja109XCJhY3Rpb24uY2FsbGJhY2tcIlxuICogICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gKiAgICAgICAgICAgICAgICAgICAgICBbbm90aWZpY2F0aW9uQ291bnRdPVwiYWN0aW9uLm5vdGlmaWNhdGlvbkNvdW50XCJcbiAqICAgICAgICAgICAgICAgICAgICAgIFtub3RpZmljYXRpb25MYWJlbF09XCJhY3Rpb24ubm90aWZpY2F0aW9uTGFiZWxcIj5cbiAqICA8L2ZkLXNoZWxsYmFyLWFjdGlvbj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXNoZWxsYmFyLWFjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsYmFyLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfU0hFTExCQVJfQUNUSU9OX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTaGVsbGJhckFjdGlvbkNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCdXR0b25Db21wb25lbnQsIENvbnRlbnREZW5zaXR5RGlyZWN0aXZlLCBOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBTaGVsbGJhckFjdGlvbkNvbXBvbmVudCB7XG4gICAgLyoqIFRoZSBnbHlwaCAoaWNvbikgbmFtZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2x5cGg6IHN0cmluZztcblxuICAgIC8qKiBDYWxsYmFjayB0aGF0IGhhbmxkbGVzIHRoZSByZXNwb25zZSB0byBjbGlja3Mgb24gYW55IG9mIHRoZSBhY3Rpb25zLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2FsbGJhY2s6IE51bGxhYmxlPChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZD47XG5cbiAgICAvKiogVGhlIGFjdGlvbiBsYWJlbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIG5vdGlmaWNhdGlvbiBsYWJlbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG5vdGlmaWNhdGlvbkxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIG5vdGlmaWNhdGlvbnMuICovXG4gICAgQElucHV0KClcbiAgICBub3RpZmljYXRpb25Db3VudDogbnVtYmVyO1xufVxuIiwiPGRpdiBjbGFzcz1cImZkLXNoZWxsYmFyX19hY3Rpb24gZmQtc2hlbGxiYXJfX2FjdGlvbi0tZGVza3RvcFwiPlxuICAgIDxidXR0b25cbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYnV0dG9uXCJcbiAgICAgICAgZmRDb3p5XG4gICAgICAgIFtnbHlwaF09XCJnbHlwaFwiXG4gICAgICAgIChjbGljayk9XCJjYWxsYmFjayA/IGNhbGxiYWNrKCRldmVudCkgOiAnJ1wiXG4gICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm5vdGlmaWNhdGlvbkNvdW50XCIgY2xhc3M9XCJmZC1idXR0b25fX2JhZGdlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJub3RpZmljYXRpb25MYWJlbFwiPlxuICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uQ291bnQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,11 +1,10 @@
1
+ import { NgFor, NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, QueryList, ViewEncapsulation } from '@angular/core';
2
- import { FdTranslatePipe } from '@fundamental-ngx/i18n';
3
- import { NgIf, NgFor } from '@angular/common';
4
- import { ButtonModule } from '@fundamental-ngx/core/button';
5
3
  import { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';
4
+ import { ButtonComponent } from '@fundamental-ngx/core/button';
5
+ import { FdTranslatePipe } from '@fundamental-ngx/i18n';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@fundamental-ngx/core/action-sheet";
8
- import * as i2 from "@fundamental-ngx/core/button";
9
8
  export class ShellbarActionsMobileComponent {
10
9
  constructor() {
11
10
  /**
@@ -31,11 +30,11 @@ export class ShellbarActionsMobileComponent {
31
30
  });
32
31
  }
33
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ShellbarActionsMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ShellbarActionsMobileComponent, isStandalone: true, selector: "fd-shellbar-actions-mobile", inputs: { shellbarActions: "shellbarActions", searchExists: "searchExists" }, outputs: { showSearch: "showSearch" }, ngImport: i0, template: "<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ActionSheetModule }, { kind: "component", type: i1.ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: i1.ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "component", type: i1.ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: i1.ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ShellbarActionsMobileComponent, isStandalone: true, selector: "fd-shellbar-actions-mobile", inputs: { shellbarActions: "shellbarActions", searchExists: "searchExists" }, outputs: { showSearch: "showSearch" }, ngImport: i0, template: "<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n", dependencies: [{ kind: "ngmodule", type: ActionSheetModule }, { kind: "component", type: i1.ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: i1.ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "component", type: i1.ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: i1.ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
35
34
  }
36
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ShellbarActionsMobileComponent, decorators: [{
37
36
  type: Component,
38
- args: [{ selector: 'fd-shellbar-actions-mobile', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ActionSheetModule, ButtonModule, NgIf, NgFor, FdTranslatePipe], template: "<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n" }]
37
+ args: [{ selector: 'fd-shellbar-actions-mobile', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ActionSheetModule, ButtonComponent, NgIf, NgFor, FdTranslatePipe], template: "<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n" }]
39
38
  }], propDecorators: { shellbarActions: [{
40
39
  type: Input
41
40
  }], searchExists: [{
@@ -43,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
43
42
  }], showSearch: [{
44
43
  type: Output
45
44
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFVdkUsTUFBTSxPQUFPLDhCQUE4QjtJQVIzQztRQWFJOztXQUVHO1FBRUgsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBYztRQUVkLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBc0J6QztJQWpCRyxjQUFjO0lBQ2QsYUFBYSxDQUFDLElBQTZCLEVBQUUsS0FBaUI7UUFDMUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsS0FBSyxRQUFRLEVBQUU7Z0JBQzFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2FBQ2hGO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQWxDUSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyTUN4QjNDLCs4Q0FzQ0EsMkNEaEJjLGlCQUFpQix5c0JBQUUsWUFBWSx5S0FBRSxJQUFJLDZGQUFFLEtBQUssOEdBQUUsZUFBZTs7MkZBRTlELDhCQUE4QjtrQkFSMUMsU0FBUzsrQkFDSSw0QkFBNEIsaUJBRXZCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDOzhCQUt4RSxlQUFlO3NCQURkLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFVBQVU7c0JBRFQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGVsbGJhckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NoZWxsYmFyLWFjdGlvbi9zaGVsbGJhci1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IEFjdGlvblNoZWV0TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2FjdGlvbi1zaGVldCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGVsbGJhci1hY3Rpb25zLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBY3Rpb25TaGVldE1vZHVsZSwgQnV0dG9uTW9kdWxlLCBOZ0lmLCBOZ0ZvciwgRmRUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBTaGVsbGJhckFjdGlvbnNNb2JpbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hlbGxiYXJBY3Rpb25zOiBRdWVyeUxpc3Q8U2hlbGxiYXJBY3Rpb25Db21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgc2VhcmNoIGlzIHByZXNlbnQgaW4gdGhlIHNoZWxsYmFyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoRXhpc3RzID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNob3dTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRvdGFsTm90aWZpY2F0aW9uczogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhY3Rpb25DbGlja2VkKGl0ZW06IFNoZWxsYmFyQWN0aW9uQ29tcG9uZW50LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5jYWxsYmFjaykge1xuICAgICAgICAgICAgaXRlbS5jYWxsYmFjayhldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b3RhbE5vdGlmaWNhdGlvbnMgPSAwO1xuXG4gICAgICAgIHRoaXMuc2hlbGxiYXJBY3Rpb25zLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5ub3RpZmljYXRpb25Db3VudCAmJiB0eXBlb2YgYWN0aW9uLm5vdGlmaWNhdGlvbkNvdW50ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxOb3RpZmljYXRpb25zID0gdGhpcy50b3RhbE5vdGlmaWNhdGlvbnMgKyBhY3Rpb24ubm90aWZpY2F0aW9uQ291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1zaGVsbGJhci1jb2xsYXBzZVwiPlxuICAgIDxmZC1hY3Rpb24tc2hlZXQgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiICNhY3Rpb25TaGVldD5cbiAgICAgICAgPGZkLWFjdGlvbi1zaGVldC1jb250cm9sPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXNoZWxsYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVTaGVsbGJhci5jb2xsYXBzZWRJdGVtTWVudUxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvdGFsTm90aWZpY2F0aW9uc1wiIGNsYXNzPVwiZmQtYnV0dG9uX19iYWRnZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0b3RhbE5vdGlmaWNhdGlvbnMgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mZC1hY3Rpb24tc2hlZXQtY29udHJvbD5cblxuICAgICAgICA8ZmQtYWN0aW9uLXNoZWV0LWJvZHk+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICBmZC1hY3Rpb24tc2hlZXQtaXRlbVxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoRXhpc3RzXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ3NlYXJjaCdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInY29yZVNoZWxsYmFyLnNlYXJjaCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dTZWFyY2guZW1pdCgpOyBhY3Rpb25TaGVldC5jbG9zZSgpXCJcbiAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgZmQtYWN0aW9uLXNoZWV0LWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHNoZWxsYmFyQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cImFjdGlvbi5nbHlwaFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbkNsaWNrZWQoYWN0aW9uLCAkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFjdGlvbi5ub3RpZmljYXRpb25Db3VudFwiIGNsYXNzPVwiZmQtYnV0dG9uX19iYWRnZVwiPnt7IGFjdGlvbi5ub3RpZmljYXRpb25Db3VudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvZmQtYWN0aW9uLXNoZWV0LWJvZHk+XG4gICAgPC9mZC1hY3Rpb24tc2hlZXQ+XG48L2Rpdj5cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUvc2hlbGxiYXItYWN0aW9ucy1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVd4RCxNQUFNLE9BQU8sOEJBQThCO0lBUjNDO1FBYUk7O1dBRUc7UUFFSCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixjQUFjO1FBRWQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FzQnpDO0lBakJHLGNBQWM7SUFDZCxhQUFhLENBQUMsSUFBNkIsRUFBRSxLQUFpQjtRQUMxRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLElBQUksTUFBTSxDQUFDLGlCQUFpQixJQUFJLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixLQUFLLFFBQVEsRUFBRTtnQkFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUM7YUFDaEY7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBbENRLDhCQUE4QjtrR0FBOUIsOEJBQThCLDJNQ3hCM0MsKzhDQXNDQSwyQ0RoQmMsaUJBQWlCLDBzQkFBRSxlQUFlLHdIQUFFLElBQUksNkZBQUUsS0FBSyw4R0FBRSxlQUFlOzsyRkFFakUsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDRCQUE0QixpQkFFdkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLENBQUM7OEJBSzNFLGVBQWU7c0JBRGQsS0FBSztnQkFPTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvblNoZWV0TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2FjdGlvbi1zaGVldCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBTaGVsbGJhckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NoZWxsYmFyLWFjdGlvbi9zaGVsbGJhci1hY3Rpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1zaGVsbGJhci1hY3Rpb25zLW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsYmFyLWFjdGlvbnMtbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FjdGlvblNoZWV0TW9kdWxlLCBCdXR0b25Db21wb25lbnQsIE5nSWYsIE5nRm9yLCBGZFRyYW5zbGF0ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyQWN0aW9uc01vYmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzaGVsbGJhckFjdGlvbnM6IFF1ZXJ5TGlzdDxTaGVsbGJhckFjdGlvbkNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggaXMgcHJlc2VudCBpbiB0aGUgc2hlbGxiYXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hFeGlzdHMgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2hvd1NlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdG90YWxOb3RpZmljYXRpb25zOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFjdGlvbkNsaWNrZWQoaXRlbTogU2hlbGxiYXJBY3Rpb25Db21wb25lbnQsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBpdGVtLmNhbGxiYWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvdGFsTm90aWZpY2F0aW9ucyA9IDA7XG5cbiAgICAgICAgdGhpcy5zaGVsbGJhckFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uLm5vdGlmaWNhdGlvbkNvdW50ICYmIHR5cGVvZiBhY3Rpb24ubm90aWZpY2F0aW9uQ291bnQgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbE5vdGlmaWNhdGlvbnMgPSB0aGlzLnRvdGFsTm90aWZpY2F0aW9ucyArIGFjdGlvbi5ub3RpZmljYXRpb25Db3VudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLXNoZWxsYmFyLWNvbGxhcHNlXCI+XG4gICAgPGZkLWFjdGlvbi1zaGVldCBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCIgI2FjdGlvblNoZWV0PlxuICAgICAgICA8ZmQtYWN0aW9uLXNoZWV0LWNvbnRyb2w+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwib3ZlcmZsb3dcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2J1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZVNoZWxsYmFyLmNvbGxhcHNlZEl0ZW1NZW51TGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxOb3RpZmljYXRpb25zXCIgY2xhc3M9XCJmZC1idXR0b25fX2JhZGdlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRvdGFsTm90aWZpY2F0aW9ucyB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZkLWFjdGlvbi1zaGVldC1jb250cm9sPlxuXG4gICAgICAgIDxmZC1hY3Rpb24tc2hlZXQtYm9keT5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGZkLWFjdGlvbi1zaGVldC1pdGVtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hFeGlzdHNcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCInc2VhcmNoJ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb3JlU2hlbGxiYXIuc2VhcmNoJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1NlYXJjaC5lbWl0KCk7IGFjdGlvblNoZWV0LmNsb3NlKClcIlxuICAgICAgICAgICAgPjwvbGk+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICBmZC1hY3Rpb24tc2hlZXQtaXRlbVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygc2hlbGxiYXJBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiYWN0aW9uLmdseXBoXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uQ2xpY2tlZChhY3Rpb24sICRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9uLm5vdGlmaWNhdGlvbkNvdW50XCIgY2xhc3M9XCJmZC1idXR0b25fX2JhZGdlXCI+e3sgYWN0aW9uLm5vdGlmaWNhdGlvbkNvdW50IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9mZC1hY3Rpb24tc2hlZXQtYm9keT5cbiAgICA8L2ZkLWFjdGlvbi1zaGVldD5cbjwvZGl2PlxuIl19
@@ -1,11 +1,10 @@
1
1
  import { NgFor, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
3
  import { AvatarComponent } from '@fundamental-ngx/core/avatar';
4
- import { ButtonModule } from '@fundamental-ngx/core/button';
4
+ import { ButtonComponent } from '@fundamental-ngx/core/button';
5
5
  import { MenuComponent, MenuModule } from '@fundamental-ngx/core/menu';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@fundamental-ngx/core/button";
8
- import * as i2 from "@fundamental-ngx/core/menu";
7
+ import * as i1 from "@fundamental-ngx/core/menu";
9
8
  /**
10
9
  * This Component extends popover component and passes all the options and events from outside to popover component
11
10
  * and Vice Versa
@@ -39,11 +38,11 @@ export class ShellbarUserMenuComponent {
39
38
  }
40
39
  }
41
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ShellbarUserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ShellbarUserMenuComponent, isStandalone: true, selector: "fd-shellbar-user-menu", inputs: { user: "user", userMenu: "userMenu", fillControlMode: "fillControlMode", placement: "placement", triggers: "triggers", closeOnEscapeKey: "closeOnEscapeKey", closeOnOutsideClick: "closeOnOutsideClick", disabled: "disabled", noArrow: "noArrow" }, outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n *ngIf=\"userMenu\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i2.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i2.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i2.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i2.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i2.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ShellbarUserMenuComponent, isStandalone: true, selector: "fd-shellbar-user-menu", inputs: { user: "user", userMenu: "userMenu", fillControlMode: "fillControlMode", placement: "placement", triggers: "triggers", closeOnEscapeKey: "closeOnEscapeKey", closeOnOutsideClick: "closeOnOutsideClick", disabled: "disabled", noArrow: "noArrow" }, outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n *ngIf=\"userMenu\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i1.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i1.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i1.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i1.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i1.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
42
  }
44
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ShellbarUserMenuComponent, decorators: [{
45
44
  type: Component,
46
- args: [{ selector: 'fd-shellbar-user-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, ButtonModule, MenuModule, AvatarComponent, NgFor], template: "<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n *ngIf=\"userMenu\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n" }]
45
+ args: [{ selector: 'fd-shellbar-user-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, ButtonComponent, MenuModule, AvatarComponent, NgFor], template: "<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n *ngIf=\"userMenu\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n" }]
47
46
  }], propDecorators: { user: [{
48
47
  type: Input
49
48
  }], userMenu: [{
@@ -68,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
68
67
  type: ViewChild,
69
68
  args: [MenuComponent]
70
69
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItdXNlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3VzZXItbWVudS9zaGVsbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvdXNlci1tZW51L3NoZWxsYmFyLXVzZXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUt2RTs7O0tBR0s7QUFRTCxNQUFNLE9BQU8seUJBQXlCO0lBUHRDO1FBeUJJO21HQUMyRjtRQUUzRixjQUFTLEdBQWMsWUFBWSxDQUFDO1FBRXBDO2dHQUN3RjtRQUV4RixhQUFRLEdBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQix1RUFBdUU7UUFFdkUscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLG9GQUFvRjtRQUVwRix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0IsdUNBQXVDO1FBRXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsK0NBQStDO1FBRS9DLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsa0NBQWtDO1FBRWxDLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FlOUQ7SUFURzs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFzQixFQUFFLEtBQWlCO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7OEdBNURRLHlCQUF5QjtrR0FBekIseUJBQXlCLDhaQWlEdkIsYUFBYSxnREN0RTVCLG1nREE2Q0EsNENEMUJjLElBQUksNEZBQUUsWUFBWSx3S0FBRSxVQUFVLG92QkFBRSxlQUFlLDJXQUFFLEtBQUs7OzJGQUV2RCx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUM7OEJBS2pFLElBQUk7c0JBREgsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBVU4sZUFBZTtzQkFEZCxLQUFLO2dCQU1OLFNBQVM7c0JBRFIsS0FBSztnQkFNTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sV0FBVztzQkFEVixNQUFNO2dCQUtQLElBQUk7c0JBREgsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2F2YXRhcic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQsIFBvcG92ZXJGaWxsTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgU2hlbGxiYXJVc2VyIH0gZnJvbSAnLi4vbW9kZWwvc2hlbGxiYXItdXNlcic7XG5pbXBvcnQgeyBTaGVsbGJhclVzZXJNZW51IH0gZnJvbSAnLi4vbW9kZWwvc2hlbGxiYXItdXNlci1tZW51JztcblxuLyoqXG4gKiBUaGlzIENvbXBvbmVudCBleHRlbmRzIHBvcG92ZXIgY29tcG9uZW50IGFuZCBwYXNzZXMgYWxsIHRoZSBvcHRpb25zIGFuZCBldmVudHMgZnJvbSBvdXRzaWRlIHRvIHBvcG92ZXIgY29tcG9uZW50XG4gKiBhbmQgVmljZSBWZXJzYVxuICogKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtc2hlbGxiYXItdXNlci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hlbGxiYXItdXNlci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBCdXR0b25Nb2R1bGUsIE1lbnVNb2R1bGUsIEF2YXRhckNvbXBvbmVudCwgTmdGb3JdXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsYmFyVXNlck1lbnVDb21wb25lbnQge1xuICAgIC8qKiBUaGUgdXNlciBkYXRhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXNlcjogU2hlbGxiYXJVc2VyO1xuXG4gICAgLyoqIFRoZSB1c2VyIG1lbnUgZGF0YS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHVzZXJNZW51OiBTaGVsbGJhclVzZXJNZW51W107XG5cbiAgICAvKipcbiAgICAgKiBQcmVzZXQgb3B0aW9ucyBmb3IgdGhlIHBvcG92ZXIgYm9keSB3aWR0aC5cbiAgICAgKiAqIGBhdC1sZWFzdGAgd2lsbCBhcHBseSBhIG1pbmltdW0gd2lkdGggdG8gdGhlIGJvZHkgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICogKiBgZXF1YWxgIHdpbGwgYXBwbHkgYSB3aWR0aCB0byB0aGUgYm9keSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aCBvZiB0aGUgY29udHJvbC5cbiAgICAgKiAqIExlYXZlIGJsYW5rIGZvciBubyBlZmZlY3QuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaWxsQ29udHJvbE1vZGU6IE51bGxhYmxlPFBvcG92ZXJGaWxsTW9kZT47XG5cbiAgICAvKiogVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3Zlci4gSXQgY2FuIGJlIG9uZSBvZjogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSxcbiAgICAgKiAgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLCByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20tZW5kJztcblxuICAgIC8qKiBUaGUgdHJpZ2dlciBldmVudHMgdGhhdCB3aWxsIG9wZW4vY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAgICogIEFjY2VwdHMgYW55IFtIVE1MIERPTSBFdmVudHNdKGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vanNyZWYvZG9tX29ial9ldmVudC5hc3ApLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlcnM6IHN0cmluZ1tdID0gWydjbGljayddO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25Fc2NhcGVLZXkgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGNsb3NlIHdoZW4gYSBjbGljayBpcyBtYWRlIG91dHNpZGUgaXRzIGJvdW5kYXJpZXMuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uT3V0c2lkZUNsaWNrID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBwb3BvdmVyIGFycm93ICovXG4gICAgQElucHV0KClcbiAgICBub0Fycm93ID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBvbiBpdGVtIGNsaWNrICovXG4gICAgQE91dHB1dCgpXG4gICAgaXRlbUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gTWVudSBDb21wb25lbnQgKi9cbiAgICBAVmlld0NoaWxkKE1lbnVDb21wb25lbnQpXG4gICAgbWVudTogTWVudUNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBpdGVtQ2xpY2soaXRlbTogU2hlbGxiYXJVc2VyTWVudSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIGlmIChpdGVtLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBpdGVtLmNhbGxiYWNrKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYWN0aW9uIGZkLXNoZWxsYmFyX19hY3Rpb24tLXNob3ctYWx3YXlzXCIgKm5nSWY9XCJ1c2VyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZkLXVzZXItbWVudVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmQtc2hlbGxiYXJfX2J1dHRvbiBmZC1zaGVsbGJhcl9fYnV0dG9uLS11c2VyLW1lbnVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZmQtYXZhdGFyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiF1c2VyLmltYWdlXCJcbiAgICAgICAgICAgICAgICBbY29sb3JBY2NlbnRdPVwidXNlci5jb2xvckFjY2VudFwiXG4gICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cInt7IHVzZXIuZnVsbE5hbWUgfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9mZC1hdmF0YXI+XG5cbiAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICBbY29sb3JBY2NlbnRdPVwidXNlci5jb2xvckFjY2VudFwiXG4gICAgICAgICAgICAgICAgW2NpcmNsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5pbWFnZVwiXG4gICAgICAgICAgICAgICAgaW1hZ2U9XCJ7eyB1c2VyLmltYWdlIH19XCJcbiAgICAgICAgICAgID48L2ZkLWF2YXRhcj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGZkLW1lbnVcbiAgICAgICAgICAgICNtZW51XG4gICAgICAgICAgICAqbmdJZj1cInVzZXJNZW51XCJcbiAgICAgICAgICAgIFt0cmlnZ2Vyc109XCJ0cmlnZ2Vyc1wiXG4gICAgICAgICAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudFwiXG4gICAgICAgICAgICBbZmlsbENvbnRyb2xNb2RlXT1cImZpbGxDb250cm9sTW9kZVwiXG4gICAgICAgICAgICBbY2xvc2VPbkVzY2FwZUtleV09XCJjbG9zZU9uRXNjYXBlS2V5XCJcbiAgICAgICAgICAgIFtub0Fycm93XT1cIm5vQXJyb3dcIlxuICAgICAgICAgICAgW2Nsb3NlT25PdXRzaWRlQ2xpY2tdPVwiY2xvc2VPbk91dHNpZGVDbGlja1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgdXNlck1lbnVcIiAoY2xpY2spPVwiaXRlbUNsaWNrKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9mZC1tZW51PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGxiYXItdXNlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NoZWxsYmFyL3VzZXItbWVudS9zaGVsbGJhci11c2VyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2hlbGxiYXIvdXNlci1tZW51L3NoZWxsYmFyLXVzZXItbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBS3ZFOzs7S0FHSztBQVFMLE1BQU0sT0FBTyx5QkFBeUI7SUFQdEM7UUF5Qkk7bUdBQzJGO1FBRTNGLGNBQVMsR0FBYyxZQUFZLENBQUM7UUFFcEM7Z0dBQ3dGO1FBRXhGLGFBQVEsR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9CLHVFQUF1RTtRQUV2RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsb0ZBQW9GO1FBRXBGLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUUzQix1Q0FBdUM7UUFFdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQiwrQ0FBK0M7UUFFL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixrQ0FBa0M7UUFFbEMsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWU5RDtJQVRHOztPQUVHO0lBQ0gsU0FBUyxDQUFDLElBQXNCLEVBQUUsS0FBaUI7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQzs4R0E1RFEseUJBQXlCO2tHQUF6Qix5QkFBeUIsOFpBaUR2QixhQUFhLGdEQ3RFNUIsbWdEQTZDQSw0Q0QxQmMsSUFBSSw2RkFBRSxlQUFlLHVIQUFFLFVBQVUsb3ZCQUFFLGVBQWUsMldBQUUsS0FBSzs7MkZBRTFELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQzs4QkFLcEUsSUFBSTtzQkFESCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFVTixlQUFlO3NCQURkLEtBQUs7Z0JBTU4sU0FBUztzQkFEUixLQUFLO2dCQU1OLFFBQVE7c0JBRFAsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixXQUFXO3NCQURWLE1BQU07Z0JBS1AsSUFBSTtzQkFESCxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYXZhdGFyJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCwgTWVudU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IFBsYWNlbWVudCwgUG9wb3ZlckZpbGxNb2RlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBTaGVsbGJhclVzZXIgfSBmcm9tICcuLi9tb2RlbC9zaGVsbGJhci11c2VyJztcbmltcG9ydCB7IFNoZWxsYmFyVXNlck1lbnUgfSBmcm9tICcuLi9tb2RlbC9zaGVsbGJhci11c2VyLW1lbnUnO1xuXG4vKipcbiAqIFRoaXMgQ29tcG9uZW50IGV4dGVuZHMgcG9wb3ZlciBjb21wb25lbnQgYW5kIHBhc3NlcyBhbGwgdGhlIG9wdGlvbnMgYW5kIGV2ZW50cyBmcm9tIG91dHNpZGUgdG8gcG9wb3ZlciBjb21wb25lbnRcbiAqIGFuZCBWaWNlIFZlcnNhXG4gKiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1zaGVsbGJhci11c2VyLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGVsbGJhci11c2VyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIEJ1dHRvbkNvbXBvbmVudCwgTWVudU1vZHVsZSwgQXZhdGFyQ29tcG9uZW50LCBOZ0Zvcl1cbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxiYXJVc2VyTWVudUNvbXBvbmVudCB7XG4gICAgLyoqIFRoZSB1c2VyIGRhdGEuICovXG4gICAgQElucHV0KClcbiAgICB1c2VyOiBTaGVsbGJhclVzZXI7XG5cbiAgICAvKiogVGhlIHVzZXIgbWVudSBkYXRhLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXNlck1lbnU6IFNoZWxsYmFyVXNlck1lbnVbXTtcblxuICAgIC8qKlxuICAgICAqIFByZXNldCBvcHRpb25zIGZvciB0aGUgcG9wb3ZlciBib2R5IHdpZHRoLlxuICAgICAqICogYGF0LWxlYXN0YCB3aWxsIGFwcGx5IGEgbWluaW11bSB3aWR0aCB0byB0aGUgYm9keSBlcXVpdmFsZW50IHRvIHRoZSB3aWR0aCBvZiB0aGUgY29udHJvbC5cbiAgICAgKiAqIGBlcXVhbGAgd2lsbCBhcHBseSBhIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogTGVhdmUgYmxhbmsgZm9yIG5vIGVmZmVjdC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbGxDb250cm9sTW9kZTogTnVsbGFibGU8UG9wb3ZlckZpbGxNb2RlPjtcblxuICAgIC8qKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyLiBJdCBjYW4gYmUgb25lIG9mOiB0b3AsIHRvcC1zdGFydCwgdG9wLWVuZCwgYm90dG9tLFxuICAgICAqICBib3R0b20tc3RhcnQsIGJvdHRvbS1lbmQsIHJpZ2h0LCByaWdodC1zdGFydCwgcmlnaHQtZW5kLCBsZWZ0LCBsZWZ0LXN0YXJ0LCBsZWZ0LWVuZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1lbmQnO1xuXG4gICAgLyoqIFRoZSB0cmlnZ2VyIGV2ZW50cyB0aGF0IHdpbGwgb3Blbi9jbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgKiAgQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkuICovXG4gICAgQElucHV0KClcbiAgICB0cmlnZ2Vyczogc3RyaW5nW10gPSBbJ2NsaWNrJ107XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgZXNjYXBlIGtleSBpcyBwcmVzc2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbkVzY2FwZUtleSA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiBhIGNsaWNrIGlzIG1hZGUgb3V0c2lkZSBpdHMgYm91bmRhcmllcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNsb3NlT25PdXRzaWRlQ2xpY2sgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIHBvcG92ZXIgYXJyb3cgKi9cbiAgICBASW5wdXQoKVxuICAgIG5vQXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIG9uIGl0ZW0gY2xpY2sgKi9cbiAgICBAT3V0cHV0KClcbiAgICBpdGVtQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byBNZW51IENvbXBvbmVudCAqL1xuICAgIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudClcbiAgICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIGl0ZW1DbGljayhpdGVtOiBTaGVsbGJhclVzZXJNZW51LCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoKTtcbiAgICAgICAgaWYgKGl0ZW0uY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGl0ZW0uY2FsbGJhY2soZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLXNoZWxsYmFyX19hY3Rpb24gZmQtc2hlbGxiYXJfX2FjdGlvbi0tc2hvdy1hbHdheXNcIiAqbmdJZj1cInVzZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdXNlci1tZW51XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1zaGVsbGJhcl9fYnV0dG9uIGZkLXNoZWxsYmFyX19idXR0b24tLXVzZXItbWVudVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1hdmF0YXJcbiAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXVzZXIuaW1hZ2VcIlxuICAgICAgICAgICAgICAgIFtjb2xvckFjY2VudF09XCJ1c2VyLmNvbG9yQWNjZW50XCJcbiAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwie3sgdXNlci5mdWxsTmFtZSB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2ZkLWF2YXRhcj5cblxuICAgICAgICAgICAgPGZkLWF2YXRhclxuICAgICAgICAgICAgICAgIFtjb2xvckFjY2VudF09XCJ1c2VyLmNvbG9yQWNjZW50XCJcbiAgICAgICAgICAgICAgICBbY2lyY2xlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmltYWdlXCJcbiAgICAgICAgICAgICAgICBpbWFnZT1cInt7IHVzZXIuaW1hZ2UgfX1cIlxuICAgICAgICAgICAgPjwvZmQtYXZhdGFyPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZmQtbWVudVxuICAgICAgICAgICAgI21lbnVcbiAgICAgICAgICAgICpuZ0lmPVwidXNlck1lbnVcIlxuICAgICAgICAgICAgW3RyaWdnZXJzXT1cInRyaWdnZXJzXCJcbiAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgICAgICAgICAgIFtmaWxsQ29udHJvbE1vZGVdPVwiZmlsbENvbnRyb2xNb2RlXCJcbiAgICAgICAgICAgIFtjbG9zZU9uRXNjYXBlS2V5XT1cImNsb3NlT25Fc2NhcGVLZXlcIlxuICAgICAgICAgICAgW25vQXJyb3ddPVwibm9BcnJvd1wiXG4gICAgICAgICAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJjbG9zZU9uT3V0c2lkZUNsaWNrXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiB1c2VyTWVudVwiIChjbGljayk9XCJpdGVtQ2xpY2soaXRlbSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L2ZkLW1lbnU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -354,4 +354,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
354
354
  standalone: true
355
355
  }]
356
356
  }], ctorParameters: function () { return [{ type: SplitterPaneContainerComponent }]; } });
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsRUFDakIsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFD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QUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQVhRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUGlwZSxcbiAgICBQaXBlVHJhbnNmb3JtLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUEFORV9BVVRPX1NJWkUsIFBBTkVfTk9ORV9TSVpFLCBSRVNJWkVSX1NJWkVfUFgsIFJPT1RfUEFHRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTcGxpdHRlclBhbmVSZXNpemVFdmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3BsaXR0ZXItcGFuZS1yZXNpemUtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNwbGl0dGVyUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NwbGl0dGVyLXBhZ2luYXRpb24vc3BsaXR0ZXItcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BsaXR0ZXJSZXNpemVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc3BsaXR0ZXItcmVzaXplci9zcGxpdHRlci1yZXNpemVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudCB9IGZyb20gJy4uL3NwbGl0dGVyLXNwbGl0LXBhbmUvc3BsaXR0ZXItc3BsaXQtcGFuZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9zcGxpdHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvbixcbiAgICBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvblR5cGVcbn0gZnJvbSAnLi9zcGxpdHRlci1wYW5lLW9yaWVudGF0aW9uLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXNwbGl0dGVyLXBhbmUtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lcicsXG4gICAgICAgICdbY2xhc3MuZmQtc3BsaXR0ZXJfX3BhbmUtY29udGFpbmVyLS1ob3Jpem9udGFsXSc6ICchX2lzUm9vdENvbnRhaW5lciAmJiBfaXNIb3Jpem9udGFsJyxcbiAgICAgICAgJ1tjbGFzcy5mZC1zcGxpdHRlcl9fcGFuZS1jb250YWluZXItLXZlcnRpY2FsXSc6ICdfaXNSb290Q29udGFpbmVyIHx8IF9pc1ZlcnRpY2FsJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFNwbGl0dGVyUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIFBvcnRhbE1vZHVsZSxcbiAgICAgICAgU3BsaXR0ZXJSZXNpemVyQ29tcG9uZW50LFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IE5vRGVmYXVsdFBhbmVQaXBlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU3BsaXR0ZXJQYW5lQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogUGFuZSB0eXBlIC0gdmVydGljYWwgKGRlZmF1bHQpIG9yIGhvcml6b250YWwuICovXG4gICAgQElucHV0KClcbiAgICBvcmllbnRhdGlvbjogU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb25UeXBlID0gU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb24udmVydGljYWw7XG5cbiAgICAvKipcbiAgICAgKiBTdHlsZSBvZiB0aGUgcmVzaXplci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlc2l6ZXJUeXBlOiAnZGVmYXVsdCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zbHVjZW50JyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIGFmdGVyIGNvbnRhaW5lcidzIHBhbmVzIGhhcyByZXNpemVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIHJlYWRvbmx5IHJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BsaXR0ZXJQYW5lUmVzaXplRXZlbnRbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9wYW5lczogUXVlcnlMaXN0PFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudClcbiAgICBfZGlyZWN0UGFuZXM6IFF1ZXJ5TGlzdDxTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kZWZhdWx0UGFuZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wYWdlczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2N1cnJlbnRQYWdlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BhbmVTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfd2FudGVkUGFuZXNTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbFBhbmVTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNIb3Jpem9udGFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiA9PT0gU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb24uaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09IFNwbGl0dGVyUGFuZUNvbnRhaW5lck9yaWVudGF0aW9uLnZlcnRpY2FsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9pc1Jvb3RDb250YWluZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5fcGFyZW50U3BsaXR0ZXJQYW5lQ29udGFpbmVyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9wYW5lc09uQ2FudmFzKCk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlyZWN0UGFuZXMuZmlsdGVyKChwYW5lKSA9PiBwYW5lLmlzT25DYW52YXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9hY3RpdmVQYW5lcygpOiBTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudFtdIHtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYWdlID09PSBST09UX1BBR0UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYW5lc09uQ2FudmFzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhbmVzLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCA9PT0gdGhpcy5fY3VycmVudFBhZ2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplKCk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICBjb25zdCBwYW5lcyA9IHRoaXMuX2RpcmVjdFBhbmVzLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCAhPT0gdGhpcy5fZGVmYXVsdFBhbmU/LmlkKTtcblxuICAgICAgICBpZiAodGhpcy5fZGVmYXVsdFBhbmUpIHtcbiAgICAgICAgICAgIHBhbmVzLnVuc2hpZnQodGhpcy5fZGVmYXVsdFBhbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhbmVzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2lzUnRsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcnRsU2VydmljZT8ucnRsLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfc3BsaXR0ZXI6IFNwbGl0dGVyQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRTcGxpdHRlclBhbmVDb250YWluZXI6IFNwbGl0dGVyUGFuZUNvbnRhaW5lckNvbXBvbmVudFxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNSb290Q29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXREZWZhdWx0UGFuZSgpO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUGFnZXMoKTtcblxuICAgICAgICAgICAgdGhpcy5fcGFuZXMuZm9yRWFjaCgocGFuZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiQuYWRkKHBhbmUudG9nZ2xlT25DYW52YXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3VwZGF0ZVBhZ2VzKCkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFBhbmVzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2dldFBhbmVTdHlsZXMocGFuZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQpOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgICAgICAgICdtaW4td2lkdGgnOiBQQU5FX0FVVE9fU0laRSxcbiAgICAgICAgICAgICdtYXgtd2lkdGgnOiBQQU5FX05PTkVfU0laRSxcbiAgICAgICAgICAgICdtaW4taGVpZ2h0JzogUEFORV9BVVRPX1NJWkUsXG4gICAgICAgICAgICAnbWF4LWhlaWdodCc6IFBBTkVfTk9ORV9TSVpFXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMuX2lzVmVydGljYWwgJiYgcGFuZS5pc09uQ2FudmFzICYmIHBhbmUuX2FjdHVhbFNpemUgIT09IFBBTkVfQVVUT19TSVpFKSB7XG4gICAgICAgICAgICBzdHlsZVsnbWluLXdpZHRoJ10gPSBwYW5lLl9hY3R1YWxTaXplO1xuICAgICAgICAgICAgc3R5bGVbJ21heC13aWR0aCddID0gcGFuZS5fYWN0dWFsU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9pc0hvcml6b250YWwgJiYgcGFuZS5pc09uQ2FudmFzICYmIHBhbmUuX2FjdHVhbFNpemUgIT09IFBBTkVfQVVUT19TSVpFKSB7XG4gICAgICAgICAgICBzdHlsZVsnbWluLWhlaWdodCddID0gcGFuZS5fYWN0dWFsU2l6ZTtcbiAgICAgICAgICAgIHN0eWxlWydtYXgtaGVpZ2h0J10gPSBwYW5lLl9hY3R1YWxTaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3N0YXJ0UmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wYW5lU2l6ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5faW5pdGlhbFBhbmVTaXplcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZvckVhY2goKHBhbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhbmVTaXplID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnRTaXplUHgocGFuZS5pZCk7XG5cbiAgICAgICAgICAgIHRoaXMuX3BhbmVTaXplcy5wdXNoKHBhbmVTaXplKTtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxQYW5lU2l6ZXMucHVzaChwYW5lU2l6ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2VuZFJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2hhbmdlZFBhbmVTaXplczogU3BsaXR0ZXJQYW5lUmVzaXplRXZlbnRbXSA9IFtdO1xuXG4gICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZvckVhY2goKHBhbmUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcGFuZVNpemVzW2luZGV4XSAhPT0gdGhpcy5faW5pdGlhbFBhbmVTaXplc1tpbmRleF0pIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VkUGFuZVNpemVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBwYW5lSWQ6IHBhbmUuaWQsXG4gICAgICAgICAgICAgICAgICAgIG9sZFNpemU6IHRoaXMuX2luaXRpYWxQYW5lU2l6ZXNbaW5kZXhdICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgbmV3U2l6ZTogdGhpcy5fcGFuZVNpemVzW2luZGV4XSArICdweCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXNpemUuZW1pdChjaGFuZ2VkUGFuZVNpemVzKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVQYW5lc1RvRml0SW5Db250YWluZXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SZXNpemUocGFuZUlkOiBzdHJpbmcsIGRpZmY6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoZGlmZiA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlmZiAqPSB0aGlzLl9pc1J0bCAmJiB0aGlzLm9yaWVudGF0aW9uID09PSBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvbi52ZXJ0aWNhbCA/IC0xIDogMTtcblxuICAgICAgICBjb25zdCByZXNpemVkUGFuZUluZGV4ID1cbiAgICAgICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZpbmRJbmRleCgocGFuZSkgPT4gcGFuZS5pZCA9PT0gcGFuZUlkKSArIChkaWZmIDwgMCA/IDEgOiAwKTtcbiAgICAgICAgY29uc3QgcmVzaXplZFBhbmUgPSB0aGlzLl9wYW5lc0luUmlnaHRPcmRlckZvclJlc2l6ZVtyZXNpemVkUGFuZUluZGV4XTtcblxuICAgICAgICBsZXQgc2libGluZ1BhbmVJbmRleCA9IHJlc2l6ZWRQYW5lSW5kZXg7XG4gICAgICAgIGxldCBzaWJsaW5nUGFuZTtcbiAgICAgICAgbGV0IHNpYmxpbmdQYW5lU2l6ZTtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgICBzaWJsaW5nUGFuZUluZGV4ICs9IGRpZmYgPCAwID8gLTEgOiAxO1xuICAgICAgICAgICAgc2libGluZ1BhbmUgPSB0aGlzLl9wYW5lc0luUmlnaHRPcmRlckZvclJlc2l6ZVtzaWJsaW5nUGFuZUluZGV4XTtcbiAgICAgICAgICAgIHNpYmxpbmdQYW5lU2l6ZSA9IHRoaXMuX3BhbmVTaXplc1tzaWJsaW5nUGFuZUluZGV4XTtcblxuICAgICAgICAgICAgaWYgKCFzaWJsaW5nUGFuZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAoIXNpYmxpbmdQYW5lU2l6ZSk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplZFBhbmVOZXdTaXplID0gdGhpcy5fcGFuZVNpemVzW3Jlc2l6ZWRQYW5lSW5kZXhdICsgZGlmZiAqIChkaWZmIDwgMCA/IC0xIDogMSk7XG4gICAgICAgIGNvbnN0IHNpYmxpbmdQYW5lTmV3U2l6ZSA9IHRoaXMuX3BhbmVTaXplc1tzaWJsaW5nUGFuZUluZGV4XSArIGRpZmYgKiAoZGlmZiA8IDAgPyAxIDogLTEpO1xuXG4gICAgICAgIC8qKiBQcmV2ZW50IGZyb20gc2V0dGluZyBuZWdhdGl2ZSBzaXplICovXG4gICAgICAgIGlmIChyZXNpemVkUGFuZU5ld1NpemUgPCAwIHx8IHNpYmxpbmdQYW5lTmV3U2l6ZSA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3BhbmVTaXplc1tyZXNpemVkUGFuZUluZGV4XSA9IHJlc2l6ZWRQYW5lTmV3U2l6ZTtcbiAgICAgICAgdGhpcy5fcGFuZVNpemVzW3NpYmxpbmdQYW5lSW5kZXhdID0gc2libGluZ1BhbmVOZXdTaXplO1xuXG4gICAgICAgIHJlc2l6ZWRQYW5lLnNpemUgPSB0aGlzLl9wYW5lU2l6ZXNbcmVzaXplZFBhbmVJbmRleF0gKyAncHgnO1xuICAgICAgICBzaWJsaW5nUGFuZS5zaXplID0gdGhpcy5fcGFuZVNpemVzW3NpYmxpbmdQYW5lSW5kZXhdICsgJ3B4JztcblxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25QYWdlQ2hhbmdlKHBhZ2U6IHN0cmluZyA9IFJPT1RfUEFHRSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG5cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBhZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wYWdlcyA9IFtdO1xuXG4gICAgICAgIGNvbnN0IG9mZkNhbnZhc0RlbWFuZFBhZ2VzID0gdGhpcy5fcGFuZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKHBhbmUpID0+ICFwYW5lLmlzT25DYW52YXMgJiYgcGFuZS5kZW1hbmRQYW5lKVxuICAgICAgICAgICAgLm1hcCgocGFuZSkgPT4gcGFuZS5pZCk7XG4gICAgICAgIGxldCBuZXdQYWdlID0gUk9PVF9QQUdFO1xuXG4gICAgICAgIGlmIChvZmZDYW52YXNEZW1hbmRQYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhZ2VzID0gb2ZmQ2FudmFzRGVtYW5kUGFnZXM7XG4gICAgICAgICAgICBuZXdQYWdlID0gb2ZmQ2FudmFzRGVtYW5kUGFnZXNbMF07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9wYW5lc09uQ2FudmFzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYWdlcy51bnNoaWZ0KFJPT1RfUEFHRSk7XG4gICAgICAgICAgICAgICAgbmV3UGFnZSA9IFJPT1RfUEFHRTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX3BhbmVzT25DYW52YXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGFnZXMudW5zaGlmdCh0aGlzLl9wYW5lc09uQ2FudmFzWzBdLmlkKTtcbiAgICAgICAgICAgICAgICBuZXdQYWdlID0gdGhpcy5fcGFuZXNPbkNhbnZhc1swXS5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3QgPSB0aGlzLl9wYWdlcy5pbmNsdWRlcyh0aGlzLl9jdXJyZW50UGFnZSk7XG5cbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0KSB7XG4gICAgICAgICAgICAvKiogRGV0YWNoaW5nIGJhc2ljYWxseSB3b3JrcyB3aXRob3V0IHRoZSBjb2RlIGJ1dCBpdCdzIHRoZSBlZGdlLWNhc2UgKi9cbiAgICAgICAgICAgIGNvbnN0IGlzU2hvdWxkRGV0YWNoRGVmYXVsdFBhbmUgPSB0aGlzLl9jdXJyZW50UGFnZSA9PT0gdGhpcy5fZGVmYXVsdFBhbmU/LmlkICYmIG5ld1BhZ2UgPT09IFJPT1RfUEFHRTtcblxuICAgICAgICAgICAgaWYgKGlzU2hvdWxkRGV0YWNoRGVmYXVsdFBhbmUgJiYgdGhpcy5fZGVmYXVsdFBhbmU/Ll9jb250ZW50Py5pc0F0dGFjaGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFBhbmUuX2NvbnRlbnQuZGV0YWNoKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX29uUGFnZUNoYW5nZShuZXdQYWdlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFBhbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVQYW5lc1RvRml0SW5Db250YWluZXIodHJ1ZSk7XG5cbiAgICAgICAgY29uc3Qgc2V0RGlyZWN0UGFuZXNTdWJzY3JpcHRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kaXJlY3RQYW5lU3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2RpcmVjdFBhbmVzLmZvckVhY2goKHBhbmUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kaXJlY3RQYW5lU3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICAgICAgICAgIHBhbmUudG9nZ2xlT25DYW52YXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcigpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgcHJldkRpcmVjdFBhbmVzID0gWy4uLnRoaXMuX2RpcmVjdFBhbmVzXTtcbiAgICAgICAgY29uc3QgYXJlRGlyZWN0UGFuZXNTYW1lID0gKHBhbmVzOiBRdWVyeUxpc3Q8U3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQ+KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBpZiAocGFuZXMubGVuZ3RoICE9PSBwcmV2RGlyZWN0UGFuZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJldkRpcmVjdFBhbmVzLmV2ZXJ5KChwcmV2UGFuZSkgPT4gISFwYW5lcy5maW5kKChwYW5lKSA9PiBwYW5lLmlkID09PSBwcmV2UGFuZS5pZCkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHNldERpcmVjdFBhbmVzU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICB0aGlzLl9wYW5lcy5jaGFuZ2VzLnBpcGUoZmlsdGVyKChwYW5lcykgPT4gIWFyZURpcmVjdFBhbmVzU2FtZShwYW5lcykpKS5zdWJzY3JpYmUoKHBhbmVzTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHByZXZEaXJlY3RQYW5lcyA9IHBhbmVzTGlzdC50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICBzZXREaXJlY3RQYW5lc1N1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzaXplUGFuZXNUb0ZpdEluQ29udGFpbmVyKHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24kLmFkZCh0aGlzLl92aWV3cG9ydFJ1bGVyLmNoYW5nZSgxMCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcigpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXREZWZhdWx0UGFuZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2V0RGVmYXVsdFBhbmUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc3BsaXR0ZXIuZGVmYXVsdFBhbmVJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRQYW5lID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFuZXMuZmluZCgocGFuZSkgPT4gcGFuZS5pZCA9PT0gdGhpcy5fc3BsaXR0ZXIuZGVmYXVsdFBhbmVJZCkgPz8gdGhpcy5fZGlyZWN0UGFuZXNbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qKiBEZXRhY2hpbmcgYmFzaWNhbGx5IHdvcmtzIHdpdGhvdXQgdGhlIGNvZGUgYnV0IGl0J3MgdGhlIGVkZ2UtY2FzZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuX2RlZmF1bHRQYW5lPy5fY29udGVudD8uaXNBdHRhY2hlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRQYW5lLl9jb250ZW50LmRldGFjaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNldERlZmF1bHRQYW5lKCk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICB0aGlzLl9zcGxpdHRlci5fZGVmYXVsdFBhbmVJZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBhbmUoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcih0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQYWdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcihzZXRJbml0aWFsU2l6ZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChzZXRJbml0aWFsU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNpemVQeCA9IHRoaXMuX2lzSG9yaXpvbnRhbFxuICAgICAgICAgICAgPyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgbGV0IGF2YWlsYWJsZVNwYWNlUHggPSBjb250YWluZXJTaXplUHggLSBSRVNJWkVSX1NJWkVfUFggKiAodGhpcy5fZGlyZWN0UGFuZXMubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgdGhpcy5fZGlyZWN0UGFuZXMuZm9yRWFjaCgocGFuZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghYXZhaWxhYmxlU3BhY2VQeCkge1xuICAgICAgICAgICAgICAgIHBhbmUuX2FjdHVhbFNpemUgPSAnMHB4JztcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXRJbml0aWFsU2l6ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3dhbnRlZFBhbmVzU2l6ZXNbaW5kZXhdID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnRTaXplUHgocGFuZS5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhbmVTaXplID0gdGhpcy5fd2FudGVkUGFuZXNTaXplc1tpbmRleF07XG5cbiAgICAgICAgICAgIGlmIChhdmFpbGFibGVTcGFjZVB4IC0gdGhpcy5fd2FudGVkUGFuZXNTaXplc1tpbmRleF0gPCAwKSB7XG4gICAgICAgICAgICAgICAgcGFuZS5fYWN0dWFsU2l6ZSA9IGF2YWlsYWJsZVNwYWNlUHggKyAncHgnO1xuICAgICAgICAgICAgICAgIGF2YWlsYWJsZVNwYWNlUHggPSAwO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFuZS5fYWN0dWFsU2l6ZSA9IHBhbmUuc2l6ZSA9PT0gUEFORV9BVVRPX1NJWkUgPyBQQU5FX0FVVE9fU0laRSA6IHBhbmVTaXplICsgJ3B4JztcbiAgICAgICAgICAgIGF2YWlsYWJsZVNwYWNlUHggLT0gcGFuZVNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQYW5lRWxlbWVudFNpemVQeChwYW5lSWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhbmVFbGVtZW50ID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnQocGFuZUlkKTtcblxuICAgICAgICBpZiAoIXBhbmVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0hvcml6b250YWwgPyBwYW5lRWxlbWVudC5vZmZzZXRIZWlnaHQgOiBwYW5lRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFBhbmVFbGVtZW50KHBhbmVJZDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3BhbmVJZH1gKTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnbm9EZWZhdWx0UGFuZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOb0RlZmF1bHRQYW5lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfc3BsaXR0ZXJQYW5lQ29udGFpbmVyOiBTcGxpdHRlclBhbmVDb250YWluZXJDb21wb25lbnQpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnRbXSwgZXhjbHVkaW5nQ29uZGl0aW9uID0gdHJ1ZSk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICBpZiAoIWV4Y2x1ZGluZ0NvbmRpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCAhPT0gdGhpcy5fc3BsaXR0ZXJQYW5lQ29udGFpbmVyLl9kZWZhdWx0UGFuZT8uaWQpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNSb290Q29udGFpbmVyOyBlbHNlIHBhbmVzT25DYW52YXNUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZGVmYXVsdFBhbmU/LmlzT25DYW52YXMgJiYgX2FjdGl2ZVBhbmVzLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYW5lc1RlbXBsYXRlOyBjb250ZXh0OiB7IHBhbmVzOiBbX2RlZmF1bHRQYW5lXSwgc2hvd1Jlc2l6ZXI6IHRydWUgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJmZC1zcGxpdHRlcl9fc3BsaXQtcGFuZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtc3BsaXR0ZXJfX3BhbmUtY29udGFpbmVyLS1ob3Jpem9udGFsXT1cIiFfaXNSb290Q29udGFpbmVyICYmIF9pc0hvcml6b250YWxcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lci0tdmVydGljYWxdPVwiX2lzUm9vdENvbnRhaW5lciB8fCBfaXNWZXJ0aWNhbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBwYW5lc1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYW5lczogX2FjdGl2ZVBhbmVzIHwgbm9EZWZhdWx0UGFuZSA6IF9kZWZhdWx0UGFuZT8uaXNPbkNhbnZhcyAmJiBfYWN0aXZlUGFuZXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGZkLXNwbGl0dGVyLXBhZ2luYXRpb25cbiAgICAgICAgICAgICpuZ0lmPVwiX3BhZ2VzLmxlbmd0aFwiXG4gICAgICAgICAgICBbcGFnZXNdPVwiX3BhZ2VzXCJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJfY3VycmVudFBhZ2VcIlxuICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJfb25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9mZC1zcGxpdHRlci1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZXNPbkNhbnZhc1RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYW5lc1RlbXBsYXRlOyBjb250ZXh0OiB7IHBhbmVzOiBfcGFuZXNPbkNhbnZhcyB9XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIElERSB3b24ndCByZWNvZ25pemUgdHlwZXMgcHJvcGVybHkgYmVsb3cgLS0+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZXNUZW1wbGF0ZSBsZXQtcGFuZXM9XCJwYW5lc1wiIGxldC1zaG93UmVzaXplcj1cInNob3dSZXNpemVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZSBvZiBwYW5lczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgIDxzZWN0aW9uIFtpZF09XCJwYW5lLmlkXCIgY2xhc3M9XCJmZC1zcGxpdHRlcl9fc3BsaXQtcGFuZVwiIFtzdHlsZV09XCJfZ2V0UGFuZVN0eWxlcyhwYW5lKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicGFuZS5fY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICA8ZmQtc3BsaXR0ZXItcmVzaXplclxuICAgICAgICAgICAgKm5nSWY9XCIhbGFzdCB8fCBzaG93UmVzaXplclwiXG4gICAgICAgICAgICBbb3JpZW50YXRpb25dPVwib3JpZW50YXRpb25cIlxuICAgICAgICAgICAgKHN0YXJ0UmVzaXplKT1cIl9zdGFydFJlc2l6ZSgpXCJcbiAgICAgICAgICAgIChlbmRSZXNpemUpPVwiX2VuZFJlc2l6ZSgpXCJcbiAgICAgICAgICAgIChyZXNpemUpPVwiX29uUmVzaXplKHBhbmUuaWQsICRldmVudClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIidmZC1zcGxpdHRlcl9fcmVzaXplci0tJyArIHJlc2l6ZXJUeXBlXCJcbiAgICAgICAgPjwvZmQtc3BsaXR0ZXItcmVzaXplcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc3BsaXR0ZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIvc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsRUFDakIsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFDSCxnQ0FBZ0MsRUFFbkMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBdUIxQyxNQUFNLE9BQU8sOEJBQThCO0lBZ0R2QyxjQUFjO0lBQ2QsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLGdDQUFnQyxDQUFDLFVBQVUsQ0FBQztJQUM1RSxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUM7SUFDMUUsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxZQUFZO1FBQ1osSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsY0FBYztJQUNkLElBQVksMkJBQTJCO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEYsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFZLE1BQU07UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFDcUIsSUFBdUIsRUFDdkIsV0FBdUIsRUFDdkIsU0FBNEIsRUFDNUIsY0FBNkIsRUFDakIsV0FBdUIsRUFDWCw0QkFBNEQ7UUFMcEYsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQWdDO1FBbkd6RyxvREFBb0Q7UUFFcEQsZ0JBQVcsR0FBeUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDO1FBRTlGOztXQUVHO1FBRUgsZ0JBQVcsR0FBOEMsU0FBUyxDQUFDO1FBRW5FLHlEQUF5RDtRQUdoRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFhaEUsY0FBYztRQUNkLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFLdEIsY0FBYztRQUNOLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFFbEMsY0FBYztRQUNOLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztRQUV6QyxjQUFjO1FBQ04sc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBRXpDLGNBQWM7UUFDTiw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRELGNBQWM7UUFDTixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUF1RHpDLENBQUM7SUFFSixjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWM7SUFDZCxjQUFjLENBQUMsSUFBZ0M7UUFDM0MsTUFBTSxLQUFLLEdBQUc7WUFDVixXQUFXLEVBQUUsY0FBYztZQUMzQixXQUFXLEVBQUUsY0FBYztZQUMzQixZQUFZLEVBQUUsY0FBYztZQUM1QixZQUFZLEVBQUUsY0FBYztTQUMvQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUU7WUFDNUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDdEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLGNBQWMsRUFBRTtZQUM5RSxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUMxQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVTtRQUNOLE1BQU0sZ0JBQWdCLEdBQThCLEVBQUUsQ0FBQztRQUV2RCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFELGdCQUFnQixDQUFDLElBQUksQ0FBQztvQkFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSTtvQkFDN0MsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSTtpQkFDekMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ2xDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssZ0NBQWdDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9GLE1BQU0sZ0JBQWdCLEdBQ2xCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZFLElBQUksZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDeEMsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxlQUFlLENBQUM7UUFFcEIsR0FBRztZQUNDLGdCQUFnQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsV0FBVyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pFLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDZCxPQUFPO2FBQ1Y7U0FDSixRQUFRLENBQUMsZUFBZSxFQUFFO1FBRTNCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUYseUNBQXlDO1FBQ3pDLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixHQUFHLENBQUMsRUFBRTtZQUNsRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsa0JBQWtCLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO1FBRXZELFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM1RCxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNkLGFBQWEsQ0FBQyxPQUFlLFNBQVM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNOLFlBQVk7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFakIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTTthQUNuQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3JELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUV4QixJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDO1lBQ25DLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sR0FBRyxTQUFTLENBQUM7YUFDdkI7WUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0MsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3ZDO1NBQ0o7UUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkIsd0VBQXdFO1lBQ3hFLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxPQUFPLEtBQUssU0FBUyxDQUFDO1lBRXZHLElBQUkseUJBQXlCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2dCQUN0RSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN2QztZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNOLFNBQVM7UUFDYixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsTUFBTSwwQkFBMEIsR0FBRyxHQUFTLEVBQUU7WUFDMUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBRW5ELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLENBQzNFLENBQUM7WUFDTixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGLElBQUksZUFBZSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQTRDLEVBQVcsRUFBRTtZQUNqRixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDekMsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFFRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLENBQUMsQ0FBQztRQUVGLDBCQUEwQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzVGLGVBQWUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFdEMsMEJBQTBCLEVBQUUsQ0FBQztZQUU3QixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELGNBQWM7SUFDTixlQUFlO1FBQ25CLE1BQU0sY0FBYyxHQUFHLEdBQVMsRUFBRTtZQUM5QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO2dCQUM5QixJQUFJLENBQUMsWUFBWTtvQkFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEc7WUFFRCx3RUFBd0U7WUFDeEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3ZDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsY0FBYyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUUxQixjQUFjLEVBQUUsQ0FBQztZQUVqQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNOLDRCQUE0QixDQUFDLGNBQWMsR0FBRyxLQUFLO1FBQ3ZELElBQUksY0FBYyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDN0I7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYTtZQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWTtZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ2pELElBQUksZ0JBQWdCLEdBQUcsZUFBZSxHQUFHLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLE9BQU87YUFDVjtZQUVELElBQUksY0FBYyxFQUFFO2dCQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN2RTtZQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUvQyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUMzQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNuRixnQkFBZ0IsSUFBSSxRQUFRLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO0lBQ04scUJBQXFCLENBQUMsTUFBYztRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxPQUFPLENBQUMsQ0FBQztTQUNaO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO0lBQ25GLENBQUM7SUFFRCxjQUFjO0lBQ04sZUFBZSxDQUFDLE1BQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OEdBcFlRLDhCQUE4QjtrR0FBOUIsOEJBQThCLGtjQWlCdEIsMEJBQTBCLGtFQUkxQiwwQkFBMEIsNkJDakYvQyxtcUVBc0RBLCtFREhRLElBQUksb0lBQ0osZ0JBQWdCLDJMQUNoQiwyQkFBMkIsdUtBQzNCLEtBQUsseUpBQ0wsWUFBWSxnUkFDWix3QkFBd0IsNEtBK1luQixpQkFBaUI7OzJGQTNZakIsOEJBQThCO2tCQXJCMUMsU0FBUzsrQkFDSSw0QkFBNEIsaUJBRXZCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLDZCQUE2Qjt3QkFDcEMsaURBQWlELEVBQUUsb0NBQW9DO3dCQUN2RiwrQ0FBK0MsRUFBRSxpQ0FBaUM7cUJBQ3JGLGNBQ1csSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLEtBQUs7d0JBQ0wsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztxQkFDdEM7OzBCQXFHSSxRQUFROzswQkFDUixRQUFROzswQkFBSSxRQUFROzRDQWpHekIsV0FBVztzQkFEVixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFNRyxNQUFNO3NCQUZkLE1BQU07Z0JBTVAsTUFBTTtzQkFETCxlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFLbEUsWUFBWTtzQkFEWCxlQUFlO3VCQUFDLDBCQUEwQjs7QUFzWC9DLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsY0FBYztJQUNkLFlBQTZCLHNCQUFzRDtRQUF0RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQWdDO0lBQUcsQ0FBQztJQUV2RixjQUFjO0lBQ2QsU0FBUyxDQUFDLEtBQW1DLEVBQUUsa0JBQWtCLEdBQUcsSUFBSTtRQUNwRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDckIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDOzhHQVhRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUGlwZSxcbiAgICBQaXBlVHJhbnNmb3JtLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUEFORV9BVVRPX1NJWkUsIFBBTkVfTk9ORV9TSVpFLCBSRVNJWkVSX1NJWkVfUFgsIFJPT1RfUEFHRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTcGxpdHRlclBhbmVSZXNpemVFdmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3BsaXR0ZXItcGFuZS1yZXNpemUtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNwbGl0dGVyUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NwbGl0dGVyLXBhZ2luYXRpb24vc3BsaXR0ZXItcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BsaXR0ZXJSZXNpemVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc3BsaXR0ZXItcmVzaXplci9zcGxpdHRlci1yZXNpemVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudCB9IGZyb20gJy4uL3NwbGl0dGVyLXNwbGl0LXBhbmUvc3BsaXR0ZXItc3BsaXQtcGFuZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9zcGxpdHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvbixcbiAgICBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvblR5cGVcbn0gZnJvbSAnLi9zcGxpdHRlci1wYW5lLW9yaWVudGF0aW9uLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXNwbGl0dGVyLXBhbmUtY29udGFpbmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXItcGFuZS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lcicsXG4gICAgICAgICdbY2xhc3MuZmQtc3BsaXR0ZXJfX3BhbmUtY29udGFpbmVyLS1ob3Jpem9udGFsXSc6ICchX2lzUm9vdENvbnRhaW5lciAmJiBfaXNIb3Jpem9udGFsJyxcbiAgICAgICAgJ1tjbGFzcy5mZC1zcGxpdHRlcl9fcGFuZS1jb250YWluZXItLXZlcnRpY2FsXSc6ICdfaXNSb290Q29udGFpbmVyIHx8IF9pc1ZlcnRpY2FsJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFNwbGl0dGVyUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIFBvcnRhbE1vZHVsZSxcbiAgICAgICAgU3BsaXR0ZXJSZXNpemVyQ29tcG9uZW50LFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IE5vRGVmYXVsdFBhbmVQaXBlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU3BsaXR0ZXJQYW5lQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogUGFuZSB0eXBlIC0gdmVydGljYWwgKGRlZmF1bHQpIG9yIGhvcml6b250YWwuICovXG4gICAgQElucHV0KClcbiAgICBvcmllbnRhdGlvbjogU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb25UeXBlID0gU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb24udmVydGljYWw7XG5cbiAgICAvKipcbiAgICAgKiBTdHlsZSBvZiB0aGUgcmVzaXplci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlc2l6ZXJUeXBlOiAnZGVmYXVsdCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zbHVjZW50JyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIGFmdGVyIGNvbnRhaW5lcidzIHBhbmVzIGhhcyByZXNpemVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIHJlYWRvbmx5IHJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BsaXR0ZXJQYW5lUmVzaXplRXZlbnRbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIF9wYW5lczogUXVlcnlMaXN0PFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudClcbiAgICBfZGlyZWN0UGFuZXM6IFF1ZXJ5TGlzdDxTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kZWZhdWx0UGFuZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wYWdlczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2N1cnJlbnRQYWdlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BhbmVTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfd2FudGVkUGFuZXNTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbFBhbmVTaXplczogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNIb3Jpem9udGFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiA9PT0gU3BsaXR0ZXJQYW5lQ29udGFpbmVyT3JpZW50YXRpb24uaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09IFNwbGl0dGVyUGFuZUNvbnRhaW5lck9yaWVudGF0aW9uLnZlcnRpY2FsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9pc1Jvb3RDb250YWluZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5fcGFyZW50U3BsaXR0ZXJQYW5lQ29udGFpbmVyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9wYW5lc09uQ2FudmFzKCk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlyZWN0UGFuZXMuZmlsdGVyKChwYW5lKSA9PiBwYW5lLmlzT25DYW52YXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9hY3RpdmVQYW5lcygpOiBTcGxpdHRlclNwbGl0UGFuZUNvbXBvbmVudFtdIHtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYWdlID09PSBST09UX1BBR0UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYW5lc09uQ2FudmFzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhbmVzLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCA9PT0gdGhpcy5fY3VycmVudFBhZ2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplKCk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICBjb25zdCBwYW5lcyA9IHRoaXMuX2RpcmVjdFBhbmVzLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCAhPT0gdGhpcy5fZGVmYXVsdFBhbmU/LmlkKTtcblxuICAgICAgICBpZiAodGhpcy5fZGVmYXVsdFBhbmUpIHtcbiAgICAgICAgICAgIHBhbmVzLnVuc2hpZnQodGhpcy5fZGVmYXVsdFBhbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhbmVzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2lzUnRsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcnRsU2VydmljZT8ucnRsLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfc3BsaXR0ZXI6IFNwbGl0dGVyQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRTcGxpdHRlclBhbmVDb250YWluZXI6IFNwbGl0dGVyUGFuZUNvbnRhaW5lckNvbXBvbmVudFxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNSb290Q29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXREZWZhdWx0UGFuZSgpO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUGFnZXMoKTtcblxuICAgICAgICAgICAgdGhpcy5fcGFuZXMuZm9yRWFjaCgocGFuZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiQuYWRkKHBhbmUudG9nZ2xlT25DYW52YXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3VwZGF0ZVBhZ2VzKCkpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFBhbmVzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2dldFBhbmVTdHlsZXMocGFuZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQpOiB7IFtrbGFzczogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCBzdHlsZSA9IHtcbiAgICAgICAgICAgICdtaW4td2lkdGgnOiBQQU5FX0FVVE9fU0laRSxcbiAgICAgICAgICAgICdtYXgtd2lkdGgnOiBQQU5FX05PTkVfU0laRSxcbiAgICAgICAgICAgICdtaW4taGVpZ2h0JzogUEFORV9BVVRPX1NJWkUsXG4gICAgICAgICAgICAnbWF4LWhlaWdodCc6IFBBTkVfTk9ORV9TSVpFXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMuX2lzVmVydGljYWwgJiYgcGFuZS5pc09uQ2FudmFzICYmIHBhbmUuX2FjdHVhbFNpemUgIT09IFBBTkVfQVVUT19TSVpFKSB7XG4gICAgICAgICAgICBzdHlsZVsnbWluLXdpZHRoJ10gPSBwYW5lLl9hY3R1YWxTaXplO1xuICAgICAgICAgICAgc3R5bGVbJ21heC13aWR0aCddID0gcGFuZS5fYWN0dWFsU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9pc0hvcml6b250YWwgJiYgcGFuZS5pc09uQ2FudmFzICYmIHBhbmUuX2FjdHVhbFNpemUgIT09IFBBTkVfQVVUT19TSVpFKSB7XG4gICAgICAgICAgICBzdHlsZVsnbWluLWhlaWdodCddID0gcGFuZS5fYWN0dWFsU2l6ZTtcbiAgICAgICAgICAgIHN0eWxlWydtYXgtaGVpZ2h0J10gPSBwYW5lLl9hY3R1YWxTaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3N0YXJ0UmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wYW5lU2l6ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5faW5pdGlhbFBhbmVTaXplcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZvckVhY2goKHBhbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhbmVTaXplID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnRTaXplUHgocGFuZS5pZCk7XG5cbiAgICAgICAgICAgIHRoaXMuX3BhbmVTaXplcy5wdXNoKHBhbmVTaXplKTtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxQYW5lU2l6ZXMucHVzaChwYW5lU2l6ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2VuZFJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2hhbmdlZFBhbmVTaXplczogU3BsaXR0ZXJQYW5lUmVzaXplRXZlbnRbXSA9IFtdO1xuXG4gICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZvckVhY2goKHBhbmUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fcGFuZVNpemVzW2luZGV4XSAhPT0gdGhpcy5faW5pdGlhbFBhbmVTaXplc1tpbmRleF0pIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VkUGFuZVNpemVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBwYW5lSWQ6IHBhbmUuaWQsXG4gICAgICAgICAgICAgICAgICAgIG9sZFNpemU6IHRoaXMuX2luaXRpYWxQYW5lU2l6ZXNbaW5kZXhdICsgJ3B4JyxcbiAgICAgICAgICAgICAgICAgICAgbmV3U2l6ZTogdGhpcy5fcGFuZVNpemVzW2luZGV4XSArICdweCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXNpemUuZW1pdChjaGFuZ2VkUGFuZVNpemVzKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVQYW5lc1RvRml0SW5Db250YWluZXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25SZXNpemUocGFuZUlkOiBzdHJpbmcsIGRpZmY6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoZGlmZiA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlmZiAqPSB0aGlzLl9pc1J0bCAmJiB0aGlzLm9yaWVudGF0aW9uID09PSBTcGxpdHRlclBhbmVDb250YWluZXJPcmllbnRhdGlvbi52ZXJ0aWNhbCA/IC0xIDogMTtcblxuICAgICAgICBjb25zdCByZXNpemVkUGFuZUluZGV4ID1cbiAgICAgICAgICAgIHRoaXMuX3BhbmVzSW5SaWdodE9yZGVyRm9yUmVzaXplLmZpbmRJbmRleCgocGFuZSkgPT4gcGFuZS5pZCA9PT0gcGFuZUlkKSArIChkaWZmIDwgMCA/IDEgOiAwKTtcbiAgICAgICAgY29uc3QgcmVzaXplZFBhbmUgPSB0aGlzLl9wYW5lc0luUmlnaHRPcmRlckZvclJlc2l6ZVtyZXNpemVkUGFuZUluZGV4XTtcblxuICAgICAgICBsZXQgc2libGluZ1BhbmVJbmRleCA9IHJlc2l6ZWRQYW5lSW5kZXg7XG4gICAgICAgIGxldCBzaWJsaW5nUGFuZTtcbiAgICAgICAgbGV0IHNpYmxpbmdQYW5lU2l6ZTtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgICBzaWJsaW5nUGFuZUluZGV4ICs9IGRpZmYgPCAwID8gLTEgOiAxO1xuICAgICAgICAgICAgc2libGluZ1BhbmUgPSB0aGlzLl9wYW5lc0luUmlnaHRPcmRlckZvclJlc2l6ZVtzaWJsaW5nUGFuZUluZGV4XTtcbiAgICAgICAgICAgIHNpYmxpbmdQYW5lU2l6ZSA9IHRoaXMuX3BhbmVTaXplc1tzaWJsaW5nUGFuZUluZGV4XTtcblxuICAgICAgICAgICAgaWYgKCFzaWJsaW5nUGFuZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAoIXNpYmxpbmdQYW5lU2l6ZSk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplZFBhbmVOZXdTaXplID0gdGhpcy5fcGFuZVNpemVzW3Jlc2l6ZWRQYW5lSW5kZXhdICsgZGlmZiAqIChkaWZmIDwgMCA/IC0xIDogMSk7XG4gICAgICAgIGNvbnN0IHNpYmxpbmdQYW5lTmV3U2l6ZSA9IHRoaXMuX3BhbmVTaXplc1tzaWJsaW5nUGFuZUluZGV4XSArIGRpZmYgKiAoZGlmZiA8IDAgPyAxIDogLTEpO1xuXG4gICAgICAgIC8qKiBQcmV2ZW50IGZyb20gc2V0dGluZyBuZWdhdGl2ZSBzaXplICovXG4gICAgICAgIGlmIChyZXNpemVkUGFuZU5ld1NpemUgPCAwIHx8IHNpYmxpbmdQYW5lTmV3U2l6ZSA8IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3BhbmVTaXplc1tyZXNpemVkUGFuZUluZGV4XSA9IHJlc2l6ZWRQYW5lTmV3U2l6ZTtcbiAgICAgICAgdGhpcy5fcGFuZVNpemVzW3NpYmxpbmdQYW5lSW5kZXhdID0gc2libGluZ1BhbmVOZXdTaXplO1xuXG4gICAgICAgIHJlc2l6ZWRQYW5lLnNpemUgPSB0aGlzLl9wYW5lU2l6ZXNbcmVzaXplZFBhbmVJbmRleF0gKyAncHgnO1xuICAgICAgICBzaWJsaW5nUGFuZS5zaXplID0gdGhpcy5fcGFuZVNpemVzW3NpYmxpbmdQYW5lSW5kZXhdICsgJ3B4JztcblxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25QYWdlQ2hhbmdlKHBhZ2U6IHN0cmluZyA9IFJPT1RfUEFHRSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG5cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBhZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wYWdlcyA9IFtdO1xuXG4gICAgICAgIGNvbnN0IG9mZkNhbnZhc0RlbWFuZFBhZ2VzID0gdGhpcy5fcGFuZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKHBhbmUpID0+ICFwYW5lLmlzT25DYW52YXMgJiYgcGFuZS5kZW1hbmRQYW5lKVxuICAgICAgICAgICAgLm1hcCgocGFuZSkgPT4gcGFuZS5pZCk7XG4gICAgICAgIGxldCBuZXdQYWdlID0gUk9PVF9QQUdFO1xuXG4gICAgICAgIGlmIChvZmZDYW52YXNEZW1hbmRQYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhZ2VzID0gb2ZmQ2FudmFzRGVtYW5kUGFnZXM7XG4gICAgICAgICAgICBuZXdQYWdlID0gb2ZmQ2FudmFzRGVtYW5kUGFnZXNbMF07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9wYW5lc09uQ2FudmFzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wYWdlcy51bnNoaWZ0KFJPT1RfUEFHRSk7XG4gICAgICAgICAgICAgICAgbmV3UGFnZSA9IFJPT1RfUEFHRTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX3BhbmVzT25DYW52YXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcGFnZXMudW5zaGlmdCh0aGlzLl9wYW5lc09uQ2FudmFzWzBdLmlkKTtcbiAgICAgICAgICAgICAgICBuZXdQYWdlID0gdGhpcy5fcGFuZXNPbkNhbnZhc1swXS5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3QgPSB0aGlzLl9wYWdlcy5pbmNsdWRlcyh0aGlzLl9jdXJyZW50UGFnZSk7XG5cbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0KSB7XG4gICAgICAgICAgICAvKiogRGV0YWNoaW5nIGJhc2ljYWxseSB3b3JrcyB3aXRob3V0IHRoZSBjb2RlIGJ1dCBpdCdzIHRoZSBlZGdlLWNhc2UgKi9cbiAgICAgICAgICAgIGNvbnN0IGlzU2hvdWxkRGV0YWNoRGVmYXVsdFBhbmUgPSB0aGlzLl9jdXJyZW50UGFnZSA9PT0gdGhpcy5fZGVmYXVsdFBhbmU/LmlkICYmIG5ld1BhZ2UgPT09IFJPT1RfUEFHRTtcblxuICAgICAgICAgICAgaWYgKGlzU2hvdWxkRGV0YWNoRGVmYXVsdFBhbmUgJiYgdGhpcy5fZGVmYXVsdFBhbmU/Ll9jb250ZW50Py5pc0F0dGFjaGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFBhbmUuX2NvbnRlbnQuZGV0YWNoKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX29uUGFnZUNoYW5nZShuZXdQYWdlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFBhbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVQYW5lc1RvRml0SW5Db250YWluZXIodHJ1ZSk7XG5cbiAgICAgICAgY29uc3Qgc2V0RGlyZWN0UGFuZXNTdWJzY3JpcHRpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kaXJlY3RQYW5lU3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5fZGlyZWN0UGFuZVN1YnNjcmlwdGlvbiQgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2RpcmVjdFBhbmVzLmZvckVhY2goKHBhbmUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kaXJlY3RQYW5lU3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICAgICAgICAgIHBhbmUudG9nZ2xlT25DYW52YXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcigpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgcHJldkRpcmVjdFBhbmVzID0gWy4uLnRoaXMuX2RpcmVjdFBhbmVzXTtcbiAgICAgICAgY29uc3QgYXJlRGlyZWN0UGFuZXNTYW1lID0gKHBhbmVzOiBRdWVyeUxpc3Q8U3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnQ+KTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBpZiAocGFuZXMubGVuZ3RoICE9PSBwcmV2RGlyZWN0UGFuZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJldkRpcmVjdFBhbmVzLmV2ZXJ5KChwcmV2UGFuZSkgPT4gISFwYW5lcy5maW5kKChwYW5lKSA9PiBwYW5lLmlkID09PSBwcmV2UGFuZS5pZCkpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHNldERpcmVjdFBhbmVzU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICB0aGlzLl9wYW5lcy5jaGFuZ2VzLnBpcGUoZmlsdGVyKChwYW5lcykgPT4gIWFyZURpcmVjdFBhbmVzU2FtZShwYW5lcykpKS5zdWJzY3JpYmUoKHBhbmVzTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHByZXZEaXJlY3RQYW5lcyA9IHBhbmVzTGlzdC50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICBzZXREaXJlY3RQYW5lc1N1YnNjcmlwdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzaXplUGFuZXNUb0ZpdEluQ29udGFpbmVyKHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24kLmFkZCh0aGlzLl92aWV3cG9ydFJ1bGVyLmNoYW5nZSgxMCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcigpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXREZWZhdWx0UGFuZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2V0RGVmYXVsdFBhbmUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc3BsaXR0ZXIuZGVmYXVsdFBhbmVJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRQYW5lID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFuZXMuZmluZCgocGFuZSkgPT4gcGFuZS5pZCA9PT0gdGhpcy5fc3BsaXR0ZXIuZGVmYXVsdFBhbmVJZCkgPz8gdGhpcy5fZGlyZWN0UGFuZXNbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qKiBEZXRhY2hpbmcgYmFzaWNhbGx5IHdvcmtzIHdpdGhvdXQgdGhlIGNvZGUgYnV0IGl0J3MgdGhlIGVkZ2UtY2FzZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuX2RlZmF1bHRQYW5lPy5fY29udGVudD8uaXNBdHRhY2hlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRQYW5lLl9jb250ZW50LmRldGFjaCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNldERlZmF1bHRQYW5lKCk7XG5cbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uJC5hZGQoXG4gICAgICAgICAgICB0aGlzLl9zcGxpdHRlci5fZGVmYXVsdFBhbmVJZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFBhbmUoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcih0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQYWdlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZVBhbmVzVG9GaXRJbkNvbnRhaW5lcihzZXRJbml0aWFsU2l6ZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChzZXRJbml0aWFsU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNpemVQeCA9IHRoaXMuX2lzSG9yaXpvbnRhbFxuICAgICAgICAgICAgPyB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgbGV0IGF2YWlsYWJsZVNwYWNlUHggPSBjb250YWluZXJTaXplUHggLSBSRVNJWkVSX1NJWkVfUFggKiAodGhpcy5fZGlyZWN0UGFuZXMubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgdGhpcy5fZGlyZWN0UGFuZXMuZm9yRWFjaCgocGFuZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghYXZhaWxhYmxlU3BhY2VQeCkge1xuICAgICAgICAgICAgICAgIHBhbmUuX2FjdHVhbFNpemUgPSAnMHB4JztcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZXRJbml0aWFsU2l6ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3dhbnRlZFBhbmVzU2l6ZXNbaW5kZXhdID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnRTaXplUHgocGFuZS5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhbmVTaXplID0gdGhpcy5fd2FudGVkUGFuZXNTaXplc1tpbmRleF07XG5cbiAgICAgICAgICAgIGlmIChhdmFpbGFibGVTcGFjZVB4IC0gdGhpcy5fd2FudGVkUGFuZXNTaXplc1tpbmRleF0gPCAwKSB7XG4gICAgICAgICAgICAgICAgcGFuZS5fYWN0dWFsU2l6ZSA9IGF2YWlsYWJsZVNwYWNlUHggKyAncHgnO1xuICAgICAgICAgICAgICAgIGF2YWlsYWJsZVNwYWNlUHggPSAwO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFuZS5fYWN0dWFsU2l6ZSA9IHBhbmUuc2l6ZSA9PT0gUEFORV9BVVRPX1NJWkUgPyBQQU5FX0FVVE9fU0laRSA6IHBhbmVTaXplICsgJ3B4JztcbiAgICAgICAgICAgIGF2YWlsYWJsZVNwYWNlUHggLT0gcGFuZVNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQYW5lRWxlbWVudFNpemVQeChwYW5lSWQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBhbmVFbGVtZW50ID0gdGhpcy5fZ2V0UGFuZUVsZW1lbnQocGFuZUlkKTtcblxuICAgICAgICBpZiAoIXBhbmVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc0hvcml6b250YWwgPyBwYW5lRWxlbWVudC5vZmZzZXRIZWlnaHQgOiBwYW5lRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFBhbmVFbGVtZW50KHBhbmVJZDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3BhbmVJZH1gKTtcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnbm9EZWZhdWx0UGFuZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOb0RlZmF1bHRQYW5lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfc3BsaXR0ZXJQYW5lQ29udGFpbmVyOiBTcGxpdHRlclBhbmVDb250YWluZXJDb21wb25lbnQpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogU3BsaXR0ZXJTcGxpdFBhbmVDb21wb25lbnRbXSwgZXhjbHVkaW5nQ29uZGl0aW9uID0gdHJ1ZSk6IFNwbGl0dGVyU3BsaXRQYW5lQ29tcG9uZW50W10ge1xuICAgICAgICBpZiAoIWV4Y2x1ZGluZ0NvbmRpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcigocGFuZSkgPT4gcGFuZS5pZCAhPT0gdGhpcy5fc3BsaXR0ZXJQYW5lQ29udGFpbmVyLl9kZWZhdWx0UGFuZT8uaWQpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNSb290Q29udGFpbmVyOyBlbHNlIHBhbmVzT25DYW52YXNUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZGVmYXVsdFBhbmU/LmlzT25DYW52YXMgJiYgX2FjdGl2ZVBhbmVzLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYW5lc1RlbXBsYXRlOyBjb250ZXh0OiB7IHBhbmVzOiBbX2RlZmF1bHRQYW5lXSwgc2hvd1Jlc2l6ZXI6IHRydWUgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2xhc3M9XCJmZC1zcGxpdHRlcl9fc3BsaXQtcGFuZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtc3BsaXR0ZXJfX3BhbmUtY29udGFpbmVyLS1ob3Jpem9udGFsXT1cIiFfaXNSb290Q29udGFpbmVyICYmIF9pc0hvcml6b250YWxcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLXNwbGl0dGVyX19wYW5lLWNvbnRhaW5lci0tdmVydGljYWxdPVwiX2lzUm9vdENvbnRhaW5lciB8fCBfaXNWZXJ0aWNhbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBwYW5lc1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYW5lczogX2FjdGl2ZVBhbmVzIHwgbm9EZWZhdWx0UGFuZSA6IF9kZWZhdWx0UGFuZT8uaXNPbkNhbnZhcyAmJiBfYWN0aXZlUGFuZXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGZkLXNwbGl0dGVyLXBhZ2luYXRpb25cbiAgICAgICAgICAgICpuZ0lmPVwiX3BhZ2VzLmxlbmd0aFwiXG4gICAgICAgICAgICBbcGFnZXNdPVwiX3BhZ2VzXCJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJfY3VycmVudFBhZ2VcIlxuICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJfb25QYWdlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9mZC1zcGxpdHRlci1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZXNPbkNhbnZhc1RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYW5lc1RlbXBsYXRlOyBjb250ZXh0OiB7IHBhbmVzOiBfcGFuZXNPbkNhbnZhcyB9XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIElERSB3b24ndCByZWNvZ25pemUgdHlwZXMgcHJvcGVybHkgYmVsb3cgLS0+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZXNUZW1wbGF0ZSBsZXQtcGFuZXM9XCJwYW5lc1wiIGxldC1zaG93UmVzaXplcj1cInNob3dSZXNpemVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZSBvZiBwYW5lczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgIDxzZWN0aW9uIFtpZF09XCJwYW5lLmlkXCIgY2xhc3M9XCJmZC1zcGxpdHRlcl9fc3BsaXQtcGFuZVwiIFtzdHlsZV09XCJfZ2V0UGFuZVN0eWxlcyhwYW5lKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicGFuZS5fY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICA8ZmQtc3BsaXR0ZXItcmVzaXplclxuICAgICAgICAgICAgKm5nSWY9XCIhbGFzdCB8fCBzaG93UmVzaXplclwiXG4gICAgICAgICAgICBbb3JpZW50YXRpb25dPVwib3JpZW50YXRpb25cIlxuICAgICAgICAgICAgKHN0YXJ0UmVzaXplKT1cIl9zdGFydFJlc2l6ZSgpXCJcbiAgICAgICAgICAgIChlbmRSZXNpemUpPVwiX2VuZFJlc2l6ZSgpXCJcbiAgICAgICAgICAgIChyZXNpemUpPVwiX29uUmVzaXplKHBhbmUuaWQsICRldmVudClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIidmZC1zcGxpdHRlcl9fcmVzaXplci0tJyArIHJlc2l6ZXJUeXBlXCJcbiAgICAgICAgPjwvZmQtc3BsaXR0ZXItcmVzaXplcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=