@ecodev/natural 52.0.0 → 53.2.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 (187) hide show
  1. package/esm2022/lib/classes/providers.mjs +13 -0
  2. package/esm2022/lib/directives/http-prefix.directive.mjs +3 -2
  3. package/esm2022/lib/modules/alert/confirm.component.mjs +5 -4
  4. package/esm2022/lib/modules/alert/public-api.mjs +1 -2
  5. package/esm2022/lib/modules/avatar/component/avatar.component.mjs +8 -8
  6. package/esm2022/lib/modules/avatar/public-api.mjs +1 -2
  7. package/esm2022/lib/modules/avatar/service/avatar.service.mjs +1 -1
  8. package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +29 -11
  9. package/esm2022/lib/modules/columns-picker/public-api.mjs +1 -2
  10. package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +3 -2
  11. package/esm2022/lib/modules/common/directives/src-density.directive.mjs +3 -2
  12. package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +6 -3
  13. package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +6 -3
  14. package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +3 -2
  15. package/esm2022/lib/modules/common/pipes/swiss-date.pipe.mjs +3 -2
  16. package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +3 -2
  17. package/esm2022/lib/modules/common/public-api.mjs +2 -2
  18. package/esm2022/lib/modules/common/services/seo.provider.mjs +23 -0
  19. package/esm2022/lib/modules/detail-header/detail-header.component.mjs +10 -8
  20. package/esm2022/lib/modules/detail-header/public-api.mjs +1 -2
  21. package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +3 -2
  22. package/esm2022/lib/modules/dialog-trigger/public-api.mjs +1 -2
  23. package/esm2022/lib/modules/dropdown-components/public-api.mjs +2 -2
  24. package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +59 -0
  25. package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +27 -11
  26. package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +12 -9
  27. package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +22 -9
  28. package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +22 -9
  29. package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +23 -10
  30. package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +23 -11
  31. package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +10 -8
  32. package/esm2022/lib/modules/file/component/file.component.mjs +22 -13
  33. package/esm2022/lib/modules/file/file-drop.directive.mjs +3 -2
  34. package/esm2022/lib/modules/file/file-select.directive.mjs +3 -2
  35. package/esm2022/lib/modules/file/public-api.mjs +1 -2
  36. package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +9 -7
  37. package/esm2022/lib/modules/fixed-button/public-api.mjs +1 -2
  38. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +7 -6
  39. package/esm2022/lib/modules/fixed-button-detail/public-api.mjs +1 -2
  40. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +29 -12
  41. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +4 -3
  42. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +6 -5
  43. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -3
  44. package/esm2022/lib/modules/hierarchic-selector/public-api.mjs +1 -2
  45. package/esm2022/lib/modules/icon/icon.directive.mjs +9 -6
  46. package/esm2022/lib/modules/icon/icon.module.mjs +31 -41
  47. package/esm2022/lib/modules/icon/public-api.mjs +2 -2
  48. package/esm2022/lib/modules/logger/error-handler.mjs +3 -3
  49. package/esm2022/lib/modules/logger/error.module.mjs +14 -28
  50. package/esm2022/lib/modules/logger/public-api.mjs +2 -2
  51. package/esm2022/lib/modules/matomo/public-api.mjs +1 -2
  52. package/esm2022/lib/modules/panels/panels.component.mjs +3 -3
  53. package/esm2022/lib/modules/panels/panels.module.mjs +8 -31
  54. package/esm2022/lib/modules/panels/public-api.mjs +2 -2
  55. package/esm2022/lib/modules/relations/public-api.mjs +1 -2
  56. package/esm2022/lib/modules/relations/relations.component.mjs +27 -11
  57. package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +7 -6
  58. package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +6 -5
  59. package/esm2022/lib/modules/search/group/group.component.mjs +5 -5
  60. package/esm2022/lib/modules/search/input/input.component.mjs +27 -13
  61. package/esm2022/lib/modules/search/public-api.mjs +1 -2
  62. package/esm2022/lib/modules/search/search/search.component.mjs +23 -8
  63. package/esm2022/lib/modules/select/public-api.mjs +1 -2
  64. package/esm2022/lib/modules/select/select/select.component.mjs +40 -15
  65. package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +22 -8
  66. package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +27 -10
  67. package/esm2022/lib/modules/sidenav/public-api.mjs +1 -2
  68. package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -2
  69. package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +6 -6
  70. package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
  71. package/esm2022/lib/modules/stamp/public-api.mjs +1 -2
  72. package/esm2022/lib/modules/stamp/stamp.component.mjs +6 -6
  73. package/esm2022/lib/modules/table-button/public-api.mjs +1 -2
  74. package/esm2022/lib/modules/table-button/table-button.component.mjs +10 -8
  75. package/esm2022/public-api.mjs +2 -1
  76. package/fesm2022/ecodev-natural.mjs +813 -1127
  77. package/fesm2022/ecodev-natural.mjs.map +1 -1
  78. package/lib/classes/providers.d.ts +5 -0
  79. package/lib/directives/http-prefix.directive.d.ts +1 -1
  80. package/lib/modules/alert/confirm.component.d.ts +1 -1
  81. package/lib/modules/alert/public-api.d.ts +0 -1
  82. package/lib/modules/avatar/component/avatar.component.d.ts +3 -3
  83. package/lib/modules/avatar/public-api.d.ts +0 -1
  84. package/lib/modules/avatar/service/avatar.service.d.ts +2 -2
  85. package/lib/modules/columns-picker/columns-picker.component.d.ts +1 -1
  86. package/lib/modules/columns-picker/public-api.d.ts +0 -1
  87. package/lib/modules/common/directives/linkable-tab.directive.d.ts +1 -1
  88. package/lib/modules/common/directives/src-density.directive.d.ts +1 -1
  89. package/lib/modules/common/pipes/capitalize.pipe.d.ts +1 -1
  90. package/lib/modules/common/pipes/ellipsis.pipe.d.ts +1 -1
  91. package/lib/modules/common/pipes/enum.pipe.d.ts +1 -1
  92. package/lib/modules/common/pipes/swiss-date.pipe.d.ts +1 -1
  93. package/lib/modules/common/pipes/time-ago.pipe.d.ts +1 -1
  94. package/lib/modules/common/public-api.d.ts +1 -1
  95. package/lib/modules/common/services/seo.provider.d.ts +6 -0
  96. package/lib/modules/detail-header/detail-header.component.d.ts +1 -1
  97. package/lib/modules/detail-header/public-api.d.ts +0 -1
  98. package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +1 -1
  99. package/lib/modules/dialog-trigger/public-api.d.ts +0 -1
  100. package/lib/modules/dropdown-components/public-api.d.ts +1 -1
  101. package/lib/modules/dropdown-components/type-boolean/type-boolean.component.d.ts +32 -0
  102. package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +1 -1
  103. package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +1 -1
  104. package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +1 -1
  105. package/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.d.ts +1 -1
  106. package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +1 -1
  107. package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +1 -1
  108. package/lib/modules/dropdown-components/type-text/type-text.component.d.ts +1 -1
  109. package/lib/modules/file/component/file.component.d.ts +3 -3
  110. package/lib/modules/file/file-drop.directive.d.ts +1 -1
  111. package/lib/modules/file/file-select.directive.d.ts +1 -1
  112. package/lib/modules/file/public-api.d.ts +0 -1
  113. package/lib/modules/fixed-button/fixed-button.component.d.ts +1 -1
  114. package/lib/modules/fixed-button/public-api.d.ts +0 -1
  115. package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +1 -1
  116. package/lib/modules/fixed-button-detail/public-api.d.ts +0 -1
  117. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +1 -1
  118. package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +1 -1
  119. package/lib/modules/hierarchic-selector/public-api.d.ts +0 -1
  120. package/lib/modules/icon/icon.directive.d.ts +3 -3
  121. package/lib/modules/icon/icon.module.d.ts +5 -13
  122. package/lib/modules/icon/public-api.d.ts +1 -1
  123. package/lib/modules/logger/error-handler.d.ts +2 -2
  124. package/lib/modules/logger/error.module.d.ts +2 -9
  125. package/lib/modules/logger/public-api.d.ts +1 -1
  126. package/lib/modules/matomo/public-api.d.ts +0 -1
  127. package/lib/modules/panels/panels.component.d.ts +1 -2
  128. package/lib/modules/panels/panels.module.d.ts +2 -12
  129. package/lib/modules/panels/public-api.d.ts +1 -1
  130. package/lib/modules/relations/public-api.d.ts +0 -1
  131. package/lib/modules/relations/relations.component.d.ts +1 -1
  132. package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +1 -1
  133. package/lib/modules/search/facet-selector/facet-selector.component.d.ts +1 -1
  134. package/lib/modules/search/group/group.component.d.ts +1 -1
  135. package/lib/modules/search/input/input.component.d.ts +1 -1
  136. package/lib/modules/search/public-api.d.ts +0 -1
  137. package/lib/modules/search/search/search.component.d.ts +1 -1
  138. package/lib/modules/select/public-api.d.ts +0 -1
  139. package/lib/modules/select/select/select.component.d.ts +1 -1
  140. package/lib/modules/select/select-enum/select-enum.component.d.ts +1 -1
  141. package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +1 -1
  142. package/lib/modules/sidenav/public-api.d.ts +0 -1
  143. package/lib/modules/sidenav/sidenav/sidenav.component.d.ts +1 -1
  144. package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +1 -1
  145. package/lib/modules/sidenav/sidenav-content/sidenav-content.component.d.ts +1 -1
  146. package/lib/modules/stamp/public-api.d.ts +0 -1
  147. package/lib/modules/stamp/stamp.component.d.ts +1 -1
  148. package/lib/modules/table-button/public-api.d.ts +0 -1
  149. package/lib/modules/table-button/table-button.component.d.ts +1 -1
  150. package/package.json +1 -1
  151. package/public-api.d.ts +1 -0
  152. package/esm2022/lib/modules/alert/alert.module.mjs +0 -20
  153. package/esm2022/lib/modules/avatar/avatar.module.mjs +0 -19
  154. package/esm2022/lib/modules/columns-picker/columns-picker.module.mjs +0 -48
  155. package/esm2022/lib/modules/common/common-module.mjs +0 -54
  156. package/esm2022/lib/modules/detail-header/detail-header.module.mjs +0 -22
  157. package/esm2022/lib/modules/dialog-trigger/dialog-trigger.module.mjs +0 -19
  158. package/esm2022/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +0 -90
  159. package/esm2022/lib/modules/file/file.module.mjs +0 -25
  160. package/esm2022/lib/modules/fixed-button/fixed-button.module.mjs +0 -22
  161. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +0 -20
  162. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +0 -79
  163. package/esm2022/lib/modules/matomo/matomo-module.module.mjs +0 -12
  164. package/esm2022/lib/modules/relations/relations.module.mjs +0 -60
  165. package/esm2022/lib/modules/search/search.module.mjs +0 -90
  166. package/esm2022/lib/modules/select/select.module.mjs +0 -70
  167. package/esm2022/lib/modules/sidenav/sidenav.module.mjs +0 -25
  168. package/esm2022/lib/modules/stamp/stamp-module.module.mjs +0 -20
  169. package/esm2022/lib/modules/table-button/table-button.module.mjs +0 -22
  170. package/lib/modules/alert/alert.module.d.ts +0 -11
  171. package/lib/modules/avatar/avatar.module.d.ts +0 -8
  172. package/lib/modules/columns-picker/columns-picker.module.d.ts +0 -15
  173. package/lib/modules/common/common-module.d.ts +0 -18
  174. package/lib/modules/detail-header/detail-header.module.d.ts +0 -12
  175. package/lib/modules/dialog-trigger/dialog-trigger.module.d.ts +0 -9
  176. package/lib/modules/dropdown-components/natural-dropdown-components.module.d.ts +0 -24
  177. package/lib/modules/file/file.module.d.ts +0 -14
  178. package/lib/modules/fixed-button/fixed-button.module.d.ts +0 -12
  179. package/lib/modules/fixed-button-detail/fixed-button-detail.module.d.ts +0 -10
  180. package/lib/modules/hierarchic-selector/hierarchic-selector.module.d.ts +0 -23
  181. package/lib/modules/matomo/matomo-module.module.d.ts +0 -6
  182. package/lib/modules/relations/relations.module.d.ts +0 -18
  183. package/lib/modules/search/search.module.d.ts +0 -23
  184. package/lib/modules/select/select.module.d.ts +0 -22
  185. package/lib/modules/sidenav/sidenav.module.d.ts +0 -13
  186. package/lib/modules/stamp/stamp-module.module.d.ts +0 -9
  187. package/lib/modules/table-button/table-button.module.d.ts +0 -12
@@ -1,6 +1,5 @@
1
1
  /*
2
2
  * Public API Surface of natural
3
3
  */
4
- export { NaturalMatomoModule } from './matomo-module.module';
5
4
  export { NaturalMatomoService } from './matomo.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL21hdG9tby9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQge05hdHVyYWxNYXRvbW9Nb2R1bGV9IGZyb20gJy4vbWF0b21vLW1vZHVsZS5tb2R1bGUnO1xuZXhwb3J0IHtOYXR1cmFsTWF0b21vU2VydmljZX0gZnJvbSAnLi9tYXRvbW8uc2VydmljZSc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL21hdG9tby9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQge05hdHVyYWxNYXRvbW9TZXJ2aWNlfSBmcm9tICcuL21hdG9tby5zZXJ2aWNlJztcbiJdfQ==
@@ -7,20 +7,20 @@ export class NaturalPanelsComponent {
7
7
  // An UrlMatcher (matcher attribute) is required to catch urls with an undefined number of params in url after a given param /panels/
8
8
  constructor(panelsService, route) {
9
9
  this.panelsService = panelsService;
10
- this.route = route;
11
10
  this.panelsService.start(route);
12
11
  }
13
12
  ngOnDestroy() {
14
13
  this.panelsService.stop();
15
14
  }
16
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsComponent, deps: [{ token: i1.NaturalPanelsService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalPanelsComponent, selector: "natural-panels", ngImport: i0, template: '', isInline: true }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalPanelsComponent, isStandalone: true, selector: "natural-panels", ngImport: i0, template: '', isInline: true }); }
18
17
  }
19
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsComponent, decorators: [{
20
19
  type: Component,
21
20
  args: [{
22
21
  selector: 'natural-panels',
23
22
  template: '',
23
+ standalone: true,
24
24
  }]
25
25
  }], ctorParameters: function () { return [{ type: i1.NaturalPanelsService }, { type: i2.ActivatedRoute }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7Ozs7QUFRbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQiwrRkFBK0Y7SUFDL0YscUlBQXFJO0lBQ3JJLFlBQW9DLGFBQW1DLEVBQW1CLEtBQXFCO1FBQTNFLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUFtQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUMzRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FUUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzREFGckIsRUFBRTs7MkZBRUgsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtOYXR1cmFsUGFuZWxzU2VydmljZX0gZnJvbSAnLi9wYW5lbHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1wYW5lbHMnLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFBhbmVsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLy8gUGFuZWxzQ29tcG9uZW50IGlzIGtpbmQgb2YgYSBcImdob3N0XCIgY29tcG9uZW50IHRvIHJlc3BvbmQgdG8gYW4gdXJsIG1hdGNoZXIgaW4gcm91dGUgY29uZmlnLFxuICAgIC8vIEFuIFVybE1hdGNoZXIgKG1hdGNoZXIgYXR0cmlidXRlKSBpcyByZXF1aXJlZCB0byBjYXRjaCB1cmxzIHdpdGggYW4gdW5kZWZpbmVkIG51bWJlciBvZiBwYXJhbXMgaW4gdXJsIGFmdGVyIGEgZ2l2ZW4gcGFyYW0gL3BhbmVscy9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYW5lbHNTZXJ2aWNlOiBOYXR1cmFsUGFuZWxzU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy5wYW5lbHNTZXJ2aWNlLnN0YXJ0KHJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFuZWxzU2VydmljZS5zdG9wKCk7XG4gICAgfVxufVxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7Ozs7QUFTbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQiwrRkFBK0Y7SUFDL0YscUlBQXFJO0lBQ3JJLFlBQW9DLGFBQW1DLEVBQUUsS0FBcUI7UUFBMUQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQVRRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBFQUhyQixFQUFFOzsyRkFHSCxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtOYXR1cmFsUGFuZWxzU2VydmljZX0gZnJvbSAnLi9wYW5lbHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1wYW5lbHMnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsUGFuZWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvLyBQYW5lbHNDb21wb25lbnQgaXMga2luZCBvZiBhIFwiZ2hvc3RcIiBjb21wb25lbnQgdG8gcmVzcG9uZCB0byBhbiB1cmwgbWF0Y2hlciBpbiByb3V0ZSBjb25maWcsXG4gICAgLy8gQW4gVXJsTWF0Y2hlciAobWF0Y2hlciBhdHRyaWJ1dGUpIGlzIHJlcXVpcmVkIHRvIGNhdGNoIHVybHMgd2l0aCBhbiB1bmRlZmluZWQgbnVtYmVyIG9mIHBhcmFtcyBpbiB1cmwgYWZ0ZXIgYSBnaXZlbiBwYXJhbSAvcGFuZWxzL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhbmVsc1NlcnZpY2U6IE5hdHVyYWxQYW5lbHNTZXJ2aWNlLCByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy5wYW5lbHNTZXJ2aWNlLnN0YXJ0KHJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFuZWxzU2VydmljZS5zdG9wKCk7XG4gICAgfVxufVxuIl19
@@ -1,33 +1,10 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { MatDialogModule } from '@angular/material/dialog';
4
- import { RouterModule } from '@angular/router';
5
- import { NaturalPanelsComponent } from './panels.component';
6
1
  import { PanelsHooksConfig } from './types';
7
- import * as i0 from "@angular/core";
8
- const declarations = [NaturalPanelsComponent];
9
- export class NaturalPanelsModule {
10
- static forRoot(hooks) {
11
- return {
12
- ngModule: NaturalPanelsModule,
13
- providers: [
14
- {
15
- provide: PanelsHooksConfig,
16
- useValue: hooks,
17
- },
18
- ],
19
- };
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsModule, declarations: [NaturalPanelsComponent], imports: [CommonModule, RouterModule, MatDialogModule], exports: [NaturalPanelsComponent] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsModule, imports: [CommonModule, RouterModule, MatDialogModule] }); }
2
+ export function providePanels(hooks) {
3
+ return [
4
+ {
5
+ provide: PanelsHooksConfig,
6
+ useValue: hooks,
7
+ },
8
+ ];
24
9
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalPanelsModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- declarations: declarations,
29
- imports: [CommonModule, RouterModule, MatDialogModule],
30
- exports: declarations,
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBMkIsaUJBQWlCLEVBQUMsTUFBTSxTQUFTLENBQUM7O0FBRXBFLE1BQU0sWUFBWSxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQU85QyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBZ0M7UUFDbEQsT0FBTztZQUNILFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFFBQVEsRUFBRSxLQUFLO2lCQUNsQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OEdBWFEsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBUFYsc0JBQXNCLGFBSTlCLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxhQUpuQyxzQkFBc0I7K0dBTy9CLG1CQUFtQixZQUhsQixZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWU7OzJGQUc1QyxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLFlBQVk7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO29CQUN0RCxPQUFPLEVBQUUsWUFBWTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmF0dXJhbFBhbmVsc0NvbXBvbmVudH0gZnJvbSAnLi9wYW5lbHMuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbFBhbmVsc0hvb2tzQ29uZmlnLCBQYW5lbHNIb29rc0NvbmZpZ30gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtOYXR1cmFsUGFuZWxzQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IGRlY2xhcmF0aW9ucyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIE1hdERpYWxvZ01vZHVsZV0sXG4gICAgZXhwb3J0czogZGVjbGFyYXRpb25zLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsUGFuZWxzTW9kdWxlIHtcbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoaG9va3M/OiBOYXR1cmFsUGFuZWxzSG9va3NDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5hdHVyYWxQYW5lbHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOYXR1cmFsUGFuZWxzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBQYW5lbHNIb29rc0NvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGhvb2tzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBMkIsaUJBQWlCLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFcEUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUErQjtJQUN6RCxPQUFPO1FBQ0g7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbFBhbmVsc0hvb2tzQ29uZmlnLCBQYW5lbHNIb29rc0NvbmZpZ30gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUGFuZWxzKGhvb2tzOiBOYXR1cmFsUGFuZWxzSG9va3NDb25maWcpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBQYW5lbHNIb29rc0NvbmZpZyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBob29rcyxcbiAgICAgICAgfSxcbiAgICBdO1xufVxuIl19
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * Public API Surface of natural
3
3
  */
4
- export * from './panels.module';
4
+ export { providePanels } from './panels.module';
5
5
  export * from './panels.component';
6
6
  export * from './panels.service';
7
7
  export { naturalPanelsUrlMatcher } from './panels.urlmatcher';
8
8
  export { fallbackIfNoOpenedPanels } from './fallback-if-no-opened-panels.urlmatcher';
9
9
  export * from './abstract-panel';
10
10
  export * from './types';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcGFuZWxzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhbmVscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYW5lbHMuc2VydmljZSc7XG5leHBvcnQge25hdHVyYWxQYW5lbHNVcmxNYXRjaGVyfSBmcm9tICcuL3BhbmVscy51cmxtYXRjaGVyJztcbmV4cG9ydCB7ZmFsbGJhY2tJZk5vT3BlbmVkUGFuZWxzfSBmcm9tICcuL2ZhbGxiYWNrLWlmLW5vLW9wZW5lZC1wYW5lbHMudXJsbWF0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LXBhbmVsJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuYXR1cmFsXG4gKi9cblxuZXhwb3J0IHtwcm92aWRlUGFuZWxzfSBmcm9tICcuL3BhbmVscy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYW5lbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFuZWxzLnNlcnZpY2UnO1xuZXhwb3J0IHtuYXR1cmFsUGFuZWxzVXJsTWF0Y2hlcn0gZnJvbSAnLi9wYW5lbHMudXJsbWF0Y2hlcic7XG5leHBvcnQge2ZhbGxiYWNrSWZOb09wZW5lZFBhbmVsc30gZnJvbSAnLi9mYWxsYmFjay1pZi1uby1vcGVuZWQtcGFuZWxzLnVybG1hdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1wYW5lbCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -2,5 +2,4 @@
2
2
  * Public API Surface of natural
3
3
  */
4
4
  export * from './relations.component';
5
- export * from './relations.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuYXR1cmFsXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9yZWxhdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVsYXRpb25zLm1vZHVsZSc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcmVsYXRpb25zLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,22 +1,27 @@
1
1
  import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { MatPaginatorModule } from '@angular/material/paginator';
2
3
  import { forkJoin, tap } from 'rxjs';
3
4
  import { NaturalAbstractController } from '../../classes/abstract-controller';
4
5
  import { NaturalDataSource } from '../../classes/data-source';
5
6
  import { NaturalQueryVariablesManager } from '../../classes/query-variable-manager';
6
7
  import { NaturalSelectComponent } from '../select/select/select.component';
7
8
  import { finalize, takeUntil } from 'rxjs/operators';
9
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
10
+ import { NaturalIconDirective } from '../icon/icon.directive';
11
+ import { MatIconModule } from '@angular/material/icon';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
13
+ import { MatButtonModule } from '@angular/material/button';
14
+ import { MatTableModule } from '@angular/material/table';
15
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
8
16
  import * as i0 from "@angular/core";
9
17
  import * as i1 from "../../services/link-mutation.service";
10
18
  import * as i2 from "../hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service";
11
- import * as i3 from "@angular/common";
19
+ import * as i3 from "@angular/material/table";
12
20
  import * as i4 from "@angular/material/button";
13
- import * as i5 from "@angular/material/progress-spinner";
14
- import * as i6 from "../icon/icon.directive";
15
- import * as i7 from "@angular/material/table";
16
- import * as i8 from "../select/select/select.component";
17
- import * as i9 from "@angular/material/paginator";
18
- import * as i10 from "@angular/material/tooltip";
19
- import * as i11 from "@angular/material/icon";
21
+ import * as i5 from "@angular/material/tooltip";
22
+ import * as i6 from "@angular/material/icon";
23
+ import * as i7 from "@angular/material/paginator";
24
+ import * as i8 from "@angular/material/progress-spinner";
20
25
  /**
21
26
  * Custom template usage :
22
27
  * <natural-relations [main]="owner" [service]="svc" [filter]="{}" placeholder="Select an item">
@@ -173,11 +178,22 @@ export class NaturalRelationsComponent extends NaturalAbstractController {
173
178
  return this.hierarchicSelectorConfig.filter(c => !!c.selectableAtKey)[0].selectableAtKey;
174
179
  }
175
180
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalRelationsComponent, deps: [{ token: i1.NaturalLinkMutationService }, { token: i2.NaturalHierarchicSelectorDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
176
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalRelationsComponent, selector: "natural-relations", inputs: { service: "service", placeholder: "placeholder", autocompleteSelectorFilter: "autocompleteSelectorFilter", displayWith: "displayWith", disabled: "disabled", main: "main", hierarchicSelectorFilters: "hierarchicSelectorFilters", hierarchicSelectorConfig: "hierarchicSelectorConfig", otherName: "otherName", filter: "filter" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "select", first: true, predicate: NaturalSelectComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n *ngIf=\"!disabled\"\n (click)=\"removeRelation(element)\"\n [disabled]=\"removing.has(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <mat-icon naturalIcon=\"link_off\"></mat-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n (selectionChange)=\"addRelations([$event])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"$any(getDisplayFn())\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i8.NaturalSelectComponent, selector: "natural-select", inputs: ["service", "optionRequired", "searchField", "searchOperator", "filter", "disabled"] }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
181
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalRelationsComponent, isStandalone: true, selector: "natural-relations", inputs: { service: "service", placeholder: "placeholder", autocompleteSelectorFilter: "autocompleteSelectorFilter", displayWith: "displayWith", disabled: "disabled", main: "main", hierarchicSelectorFilters: "hierarchicSelectorFilters", hierarchicSelectorConfig: "hierarchicSelectorConfig", otherName: "otherName", filter: "filter" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "select", first: true, predicate: NaturalSelectComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n *ngIf=\"!disabled\"\n (click)=\"removeRelation(element)\"\n [disabled]=\"removing.has(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <mat-icon naturalIcon=\"link_off\"></mat-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n (selectionChange)=\"addRelations([$event])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"$any(getDisplayFn())\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: NaturalSelectComponent, selector: "natural-select", inputs: ["service", "optionRequired", "searchField", "searchOperator", "filter", "disabled"] }] }); }
177
182
  }
178
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalRelationsComponent, decorators: [{
179
184
  type: Component,
180
- args: [{ selector: 'natural-relations', template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n *ngIf=\"!disabled\"\n (click)=\"removeRelation(element)\"\n [disabled]=\"removing.has(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <mat-icon naturalIcon=\"link_off\"></mat-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n (selectionChange)=\"addRelations([$event])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"$any(getDisplayFn())\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"] }]
185
+ args: [{ selector: 'natural-relations', standalone: true, imports: [
186
+ NgIf,
187
+ MatTableModule,
188
+ NgTemplateOutlet,
189
+ MatButtonModule,
190
+ MatTooltipModule,
191
+ MatIconModule,
192
+ NaturalIconDirective,
193
+ MatPaginatorModule,
194
+ MatProgressSpinnerModule,
195
+ NaturalSelectComponent,
196
+ ], template: "<div class=\"body\">\n <ng-template #defaultNameCell let-item=\"item\">\n {{ getDisplayFn()(item) }}\n </ng-template>\n\n <table *ngIf=\"dataSource\" [dataSource]=\"dataSource\" class=\"natural-row-click\" mat-table>\n <tr *matHeaderRowDef=\"displayedColumns\" mat-header-row style=\"display: none\"></tr>\n <tr *matRowDef=\"let row; columns: displayedColumns\" mat-row></tr>\n\n <ng-container matColumnDef=\"name\">\n <th *matHeaderCellDef i18n mat-header-cell>Titre</th>\n <td *matCellDef=\"let item\" mat-cell>\n <ng-template\n [ngTemplateOutletContext]=\"{item: item}\"\n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultNameCell\"\n ></ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"unlink\">\n <th *matHeaderCellDef mat-header-cell></th>\n <td *matCellDef=\"let element\" mat-cell>\n <button\n *ngIf=\"!disabled\"\n (click)=\"removeRelation(element)\"\n [disabled]=\"removing.has(element)\"\n color=\"warn\"\n mat-icon-button\n i18n-matTooltip\n matTooltip=\"Dissocier\"\n >\n <mat-icon naturalIcon=\"link_off\"></mat-icon>\n </button>\n </td>\n </ng-container>\n </table>\n\n <mat-paginator\n (page)=\"pagination($event)\"\n *ngIf=\"dataSource?.data && (dataSource?.data?.length || 0) > (dataSource?.data?.pageSize || 0)\"\n [length]=\"dataSource?.data?.length || 0\"\n [pageIndex]=\"dataSource?.data?.pageIndex || 0\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [pageSize]=\"dataSource?.data?.pageSize || 0\"\n ></mat-paginator>\n\n <div *ngIf=\"!loading && dataSource?.data?.length === 0\" class=\"margin-v mat-body\">\n <span i18n>Aucun r\u00E9sultat</span>\n </div>\n\n <mat-progress-spinner *ngIf=\"loading\" [diameter]=\"40\" class=\"loading\" mode=\"indeterminate\"></mat-progress-spinner>\n</div>\n\n<natural-select\n (selectionChange)=\"addRelations([$event])\"\n *ngIf=\"!hierarchicSelectorConfig && service && !disabled\"\n [displayWith]=\"$any(getDisplayFn())\"\n [filter]=\"autocompleteSelectorFilter\"\n [placeholder]=\"placeholder\"\n [service]=\"service\"\n [showIcon]=\"false\"\n></natural-select>\n\n<div *ngIf=\"hierarchicSelectorConfig && !disabled\">\n <button (click)=\"openNaturalHierarchicSelector()\" color=\"primary\" mat-flat-button>{{ placeholder }}</button>\n</div>\n", styles: [":host{display:flex;flex-direction:column}:host>*:not(:last-child){margin-bottom:20px}:host .body{display:flex;flex-direction:column}:host .loading{margin:20px auto}:host .mat-column-unlink{width:2.5em}\n"] }]
181
197
  }], ctorParameters: function () { return [{ type: i1.NaturalLinkMutationService }, { type: i2.NaturalHierarchicSelectorDialogService }]; }, propDecorators: { select: [{
182
198
  type: ViewChild,
183
199
  args: [NaturalSelectComponent]
@@ -208,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
208
224
  }], filter: [{
209
225
  type: Input
210
226
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvcmVsYXRpb25zL3JlbGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsNEJBQTRCLEVBQWtDLE1BQU0sc0NBQXNDLENBQUM7QUFNbkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluRDs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLHlCQWNULFNBQVEseUJBQXlCO0lBNkVqQyxZQUNxQixtQkFBK0MsRUFDL0Msd0JBQWdFO1FBRWpGLEtBQUssRUFBRSxDQUFDO1FBSFMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQUMvQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXdDO1FBdkVyRjs7V0FFRztRQUNhLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBWWpDOztXQUVHO1FBQ2EsYUFBUSxHQUFH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R0FBRyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxPQUFPO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUM3RixDQUFDOzhHQTdPUSx5QkFBeUI7a0dBQXpCLHlCQUF5QixrZUFrQnBCLFdBQVcsd0ZBRGQsc0JBQXNCLDRGQzFEckMsNnBGQWtFQTs7MkZEekJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSxtQkFBbUI7c0tBcUJjLE1BQU07c0JBQWhELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNDLFlBQVk7c0JBQTdDLFlBQVk7dUJBQUMsV0FBVztnQkFFVCxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsMEJBQTBCO3NCQUF6QyxLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLMEIsSUFBSTtzQkFBbkMsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBS0csZUFBZTtzQkFBeEMsTUFBTTtnQkFLUyx5QkFBeUI7c0JBQXhDLEtBQUs7Z0JBS1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBd0NLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQYWdlRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge2ZvcmtKb2luLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsRGF0YVNvdXJjZSwgUGFnaW5hdGVkRGF0YX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFBhZ2luYXRpb25JbnB1dCwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4uLy4uL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0hpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vLi4vbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2NsYXNzZXMvaGllcmFyY2hpYy1maWx0ZXJzLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtMaW5rYWJsZU9iamVjdCwgTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNEaWFsb2dDb25maWd9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge2ZpbmFsaXplLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7RXh0cmFjdFRhbGxPbmUsIEV4dHJhY3RWYWxsfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5cbi8qKlxuICogQ3VzdG9tIHRlbXBsYXRlIHVzYWdlIDpcbiAqIDxuYXR1cmFsLXJlbGF0aW9ucyBbbWFpbl09XCJvd25lclwiIFtzZXJ2aWNlXT1cInN2Y1wiIFtmaWx0ZXJdPVwie31cIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBpdGVtXCI+XG4gKiAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICogICAgICAgICA8c3Bhbj57eyBpdGVtLnh4eCB9fTwvc3Bhbj5cbiAqICAgICA8L25nLXRlbXBsYXRlPlxuICogPC9uYXR1cmFsLXJlbGF0aW9ucz5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtcmVsYXRpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFJlbGF0aW9uc0NvbXBvbmVudDxcbiAgICAgICAgVFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8XG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgUGFnaW5hdGVkRGF0YTxMaW5rYWJsZU9iamVjdD4sXG4gICAgICAgICAgICBRdWVyeVZhcmlhYmxlcyxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgdW5rbm93bixcbiAgICAgICAgICAgIGFueVxuICAgICAgICA+LFxuICAgID5cbiAgICBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgICBAVmlld0NoaWxkKE5hdHVyYWxTZWxlY3RDb21wb25lbnQpIHByaXZhdGUgc2VsZWN0PzogTmF0dXJhbFNlbGVjdENvbXBvbmVudDxUU2VydmljZT47XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgcHVibGljIGl0ZW1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQElucHV0KCkgcHVibGljIHNlcnZpY2U/OiBUU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwbGFjZWhvbGRlciB1c2VkIGluIHRoZSBidXR0b24gdG8gYWRkIGEgbmV3IHJlbGF0aW9uXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZm9yIGF1dG9jb21wbGV0ZSBzZWxlY3RvclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhdXRvY29tcGxldGVTZWxlY3RvckZpbHRlcj86IEV4dHJhY3RWYWxsPFRTZXJ2aWNlPlsnZmlsdGVyJ10gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY3VzdG9taXplIHRoZSByZW5kZXJpbmcgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gYXMgdGV4dCBpbiBpbnB1dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5V2l0aD86IChpdGVtOiBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4gfCBudWxsKSA9PiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByZWxhdGlvbnMgY2FuIGJlIGNoYW5nZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtYWluIG9iamVjdCB0byB3aGljaCBhbGwgcmVsYXRpb25zIGJlbG9uZyB0b1xuICAgICAqL1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgbWFpbiE6IExpbmthYmxlT2JqZWN0ICYge3Blcm1pc3Npb25zPzoge3VwZGF0ZTogYm9vbGVhbn19O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgYWZ0ZXIgcmVsYXRpb25zIHdlcmUgc3VjY2Vzc2Z1bGx5IGFkZGVkIG9uIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgZm9yIGhpZXJhcmNoaWMgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGllcmFyY2hpY1NlbGVjdG9yRmlsdGVycz86IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGluIGNhc2Ugd2UgcHJlZmVyIGhpZXJhcmNoaWMgc2VsZWN0aW9uIG92ZXIgYXV0b2NvbXBsZXRlIHNlbGVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWVyYXJjaGljU2VsZWN0b3JDb25maWc/OiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXTtcblxuICAgIC8qKlxuICAgICAqIExpbmsgbXV0YXRpb24gc2VtYW50aWNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgb3RoZXJOYW1lPzogc3RyaW5nIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIExpc3Rpbmcgc2VydmljZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhU291cmNlPzogTmF0dXJhbERhdGFTb3VyY2U8UGFnaW5hdGVkRGF0YTxMaW5rYWJsZU9iamVjdD4+O1xuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUYWJsZSBjb2x1bW5zXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbnMgPSBbJ25hbWUnXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBbNSwgMjUsIDUwLCAxMDBdO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0UGFnaW5hdGlvbiA9IHtcbiAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICBwYWdlU2l6ZTogMjUsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgdmFyaWFibGVzL29wdGlvbnMgZm9yIGxpc3Rpbmcgc2VydmljZSB1c2FnZSBhbmQgYXBvbGxvIHdhdGNoUXVlcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhcmlhYmxlc01hbmFnZXI6IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8UXVlcnlWYXJpYWJsZXM+ID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIoKTtcblxuICAgIHB1YmxpYyByZWFkb25seSByZW1vdmluZyA9IG5ldyBTZXQ8TGlua2FibGVPYmplY3Q+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua011dGF0aW9uU2VydmljZTogTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nOiBOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmlsdGVyIHVzZWQgdG8gZmlsdGVyIHJlbGF0aW9uc1xuICAgICAqXG4gICAgICogU28gaWYgdGhlIHJlbGF0aW9ucyBhcmUgZnJvbSBvbmUgYWN0aW9uIC0+IHRvIG1hbnkgb2JqZWN0aXZlcywgdGhlbiB0aGUgZmlsdGVyIG11c3QgZmlsdGVyXG4gICAgICogdGhlIG9iamVjdGl2ZXMgdGhhdCBoYXZlIGluZGVlZCBhIHJlbGF0aW9uIHRvIHRoZSBwYXJ0aWN1bGFyIGFjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZmlsdGVyKGZpbHRlcjogRXh0cmFjdFZhbGw8VFNlcnZpY2U+WydmaWx0ZXInXSkge1xuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdyZWxhdGlvbnMtZmlsdGVyJywge2ZpbHRlcjogZmlsdGVyfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24oKTtcblxuICAgICAgICAvLyBGb3JjZSBkaXNhYmxlZCBpZiBjYW5ub3QgdXBkYXRlIG9iamVjdFxuICAgICAgICBpZiAodGhpcy5tYWluICYmIHRoaXMubWFpbi5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMubWFpbi5wZXJtaXNzaW9ucy51cGRhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlJdGVtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgJiYgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmluZGV4T2YoJ3VubGluaycpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wb3AoKTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5kZXhPZigndW5saW5rJykgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgndW5saW5rJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmxpbmsgYWN0aW9uXG4gICAgICogUmVmZXRjaCByZXN1bHQgdG8gZGlzcGxheSBpdCBpbiB0YWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVSZWxhdGlvbihyZWxhdGlvbjogTGlua2FibGVPYmplY3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmluZy5hZGQocmVsYXRpb24pO1xuXG4gICAgICAgIHRoaXMubGlua011dGF0aW9uU2VydmljZVxuICAgICAgICAgICAgLnVubGluayh0aGlzLm1haW4sIHJlbGF0aW9uLCB0aGlzLm90aGVyTmFtZSlcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMucmVtb3ZpbmcuZGVsZXRlKHJlbGF0aW9uKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGF0YVNvdXJjZT8ucmVtb3ZlKHJlbGF0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGluayBhY3Rpb25cbiAgICAgKiBSZWZldGNoIHJlc3VsdCB0byBkaXNwbGF5IGl0IGluIHRhYmxlXG4gICAgICogVE9ETyA6IGNvdWxkIG1heWJlIHVzZSBcInVwZGF0ZVwiIGF0dHJpYnV0ZSBvZiBhcG9sbG8ubXV0YXRlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0YWJsZSBmYXN0ZXIgKGJ1dCBoYXJkIHRvIGRvIGl0IGhlcmUpXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlbGF0aW9ucyhyZWxhdGlvbnM6IChMaW5rYWJsZU9iamVjdCB8IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPiB8IHN0cmluZyB8IG51bGwpW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSByZWxhdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKHJlbGF0aW9uKTogcmVsYXRpb24gaXMgTGlua2FibGVPYmplY3QgPT4gISFyZWxhdGlvbiAmJiB0eXBlb2YgcmVsYXRpb24gPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgLm1hcChyZWxhdGlvbiA9PiB0aGlzLmxpbmtNdXRhdGlvblNlcnZpY2UubGluayh0aGlzLm1haW4sIHJlbGF0aW9uLCB0aGlzLm90aGVyTmFtZSkpO1xuXG4gICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Q/LmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYWdpbmF0aW9uKGV2ZW50PzogUGFnZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGxldCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uSW5wdXQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQgJiZcbiAgICAgICAgICAgIChldmVudC5wYWdlSW5kZXggIT09IHRoaXMuZGVmYXVsdFBhZ2luYXRpb24ucGFnZUluZGV4IHx8IGV2ZW50LnBhZ2VTaXplICE9PSB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLnBhZ2VTaXplKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHBhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICAgICAgcGFnZUluZGV4OiBldmVudC5wYWdlSW5kZXgsXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IGV2ZW50LnBhZ2VTaXplLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3BhZ2luYXRpb24nLCB7cGFnaW5hdGlvbjogcGFnaW5hdGlvbiA/IHBhZ2luYXRpb24gOiB0aGlzLmRlZmF1bHRQYWdpbmF0aW9ufSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpc3BsYXlGbigpOiAoaXRlbTogRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+IHwgbnVsbCkgPT4gc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVdpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlXaXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChpdGVtOiBhbnkpID0+IChpdGVtID8gaXRlbS5mdWxsTmFtZSB8fCBpdGVtLm5hbWUgOiAnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5OYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RBdEtleSA9IHRoaXMuZ2V0U2VsZWN0S2V5KCk7XG5cbiAgICAgICAgaWYgKCFzZWxlY3RBdEtleSB8fCAhdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0ge307XG5cbiAgICAgICAgY29uc3QgaGllcmFyY2hpY0NvbmZpZzogSGllcmFyY2hpY0RpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGhpZXJhcmNoaWNDb25maWc6IHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnLFxuICAgICAgICAgICAgaGllcmFyY2hpY1NlbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgICBoaWVyYXJjaGljRmlsdGVyczogdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JGaWx0ZXJzLFxuICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dcbiAgICAgICAgICAgIC5vcGVuKGhpZXJhcmNoaWNDb25maWcpXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmhpZXJhcmNoaWNTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSByZXN1bHQuaGllcmFyY2hpY1NlbGVjdGlvbltzZWxlY3RBdEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFJlbGF0aW9ucyhzZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGxpc3QgZnJvbSBkYXRhYmFzZVxuICAgICAqL1xuICAgIHByaXZhdGUgcXVlcnlJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVmID0gdGhpcy5zZXJ2aWNlLndhdGNoQWxsKHRoaXMudmFyaWFibGVzTWFuYWdlcikucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBOYXR1cmFsRGF0YVNvdXJjZShxdWVyeVJlZik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RLZXkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnLmZpbHRlcihjID0+ICEhYy5zZWxlY3RhYmxlQXRLZXkpWzBdLnNlbGVjdGFibGVBdEtleTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5hbWVDZWxsIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICB7eyBnZXREaXNwbGF5Rm4oKShpdGVtKSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8dGFibGUgKm5nSWY9XCJkYXRhU291cmNlXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIGNsYXNzPVwibmF0dXJhbC1yb3ctY2xpY2tcIiBtYXQtdGFibGU+XG4gICAgICAgIDx0ciAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiIG1hdC1oZWFkZXItcm93IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPjwvdHI+XG4gICAgICAgIDx0ciAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiIG1hdC1yb3c+PC90cj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgICAgICAgIDx0aCAqbWF0SGVhZGVyQ2VsbERlZiBpMThuIG1hdC1oZWFkZXItY2VsbD5UaXRyZTwvdGg+XG4gICAgICAgICAgICA8dGQgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIG1hdC1jZWxsPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlIDogZGVmYXVsdE5hbWVDZWxsXCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidW5saW5rXCI+XG4gICAgICAgICAgICA8dGggKm1hdEhlYWRlckNlbGxEZWYgbWF0LWhlYWRlci1jZWxsPjwvdGg+XG4gICAgICAgICAgICA8dGQgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIG1hdC1jZWxsPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlUmVsYXRpb24oZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVtb3ZpbmcuaGFzKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGlzc29jaWVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cImxpbmtfb2ZmXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGFibGU+XG5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgICAocGFnZSk9XCJwYWdpbmF0aW9uKCRldmVudClcIlxuICAgICAgICAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGEgJiYgKGRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCB8fCAwKSA+IChkYXRhU291cmNlPy5kYXRhPy5wYWdlU2l6ZSB8fCAwKVwiXG4gICAgICAgIFtsZW5ndGhdPVwiZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoIHx8IDBcIlxuICAgICAgICBbcGFnZUluZGV4XT1cImRhdGFTb3VyY2U/LmRhdGE/LnBhZ2VJbmRleCB8fCAwXCJcbiAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZGF0YVNvdXJjZT8uZGF0YT8ucGFnZVNpemUgfHwgMFwiXG4gICAgPjwvbWF0LXBhZ2luYXRvcj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhU291cmNlPy5kYXRhPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cIm1hcmdpbi12IG1hdC1ib2R5XCI+XG4gICAgICAgIDxzcGFuIGkxOG4+QXVjdW4gcsOpc3VsdGF0PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwibG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbjwvZGl2PlxuXG48bmF0dXJhbC1zZWxlY3RcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImFkZFJlbGF0aW9ucyhbJGV2ZW50XSlcIlxuICAgICpuZ0lmPVwiIWhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyAmJiBzZXJ2aWNlICYmICFkaXNhYmxlZFwiXG4gICAgW2Rpc3BsYXlXaXRoXT1cIiRhbnkoZ2V0RGlzcGxheUZuKCkpXCJcbiAgICBbZmlsdGVyXT1cImF1dG9jb21wbGV0ZVNlbGVjdG9yRmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4+PC9uYXR1cmFsLXNlbGVjdD5cblxuPGRpdiAqbmdJZj1cImhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyAmJiAhZGlzYWJsZWRcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvcigpXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LWZsYXQtYnV0dG9uPnt7IHBsYWNlaG9sZGVyIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvcmVsYXRpb25zL3JlbGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBWSxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsNEJBQTRCLEVBQWtDLE1BQU0sc0NBQXNDLENBQUM7QUFNbkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUduRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUs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bUIsY0FHakIsSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDekI7c0tBbUIwQyxNQUFNO3NCQUFoRCxTQUFTO3VCQUFDLHNCQUFzQjtnQkFDQyxZQUFZO3NCQUE3QyxZQUFZO3VCQUFDLFdBQVc7Z0JBRVQsT0FBTztzQkFBdEIsS0FBSztnQkFLVSxXQUFXO3NCQUExQixLQUFLO2dCQUtVLDBCQUEwQjtzQkFBekMsS0FBSztnQkFLVSxXQUFXO3NCQUExQixLQUFLO2dCQUtVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBSzBCLElBQUk7c0JBQW5DLEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUtHLGVBQWU7c0JBQXhDLE1BQU07Z0JBS1MseUJBQXlCO3NCQUF4QyxLQUFLO2dCQUtVLHdCQUF3QjtzQkFBdkMsS0FBSztnQkFLVSxTQUFTO3NCQUF4QixLQUFLO2dCQXdDSyxNQUFNO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGFnZUV2ZW50LCBNYXRQYWdpbmF0b3JNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge2ZvcmtKb2luLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsRGF0YVNvdXJjZSwgUGFnaW5hdGVkRGF0YX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFBhZ2luYXRpb25JbnB1dCwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4uLy4uL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0hpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vLi4vbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2NsYXNzZXMvaGllcmFyY2hpYy1maWx0ZXJzLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtMaW5rYWJsZU9iamVjdCwgTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNEaWFsb2dDb25maWd9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge2ZpbmFsaXplLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7RXh0cmFjdFRhbGxPbmUsIEV4dHJhY3RWYWxsfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQge05hdHVyYWxJY29uRGlyZWN0aXZlfSBmcm9tICcuLi9pY29uL2ljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge05nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQ3VzdG9tIHRlbXBsYXRlIHVzYWdlIDpcbiAqIDxuYXR1cmFsLXJlbGF0aW9ucyBbbWFpbl09XCJvd25lclwiIFtzZXJ2aWNlXT1cInN2Y1wiIFtmaWx0ZXJdPVwie31cIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBpdGVtXCI+XG4gKiAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICogICAgICAgICA8c3Bhbj57eyBpdGVtLnh4eCB9fTwvc3Bhbj5cbiAqICAgICA8L25nLXRlbXBsYXRlPlxuICogPC9uYXR1cmFsLXJlbGF0aW9ucz5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtcmVsYXRpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgTmF0dXJhbEljb25EaXJlY3RpdmUsXG4gICAgICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBOYXR1cmFsU2VsZWN0Q29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxSZWxhdGlvbnNDb21wb25lbnQ8XG4gICAgICAgIFRTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlPFxuICAgICAgICAgICAgdW5rbm93bixcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIFBhZ2luYXRlZERhdGE8TGlua2FibGVPYmplY3Q+LFxuICAgICAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgdW5rbm93bixcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnlcbiAgICAgICAgPixcbiAgICA+XG4gICAgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG4gICAgQFZpZXdDaGlsZChOYXR1cmFsU2VsZWN0Q29tcG9uZW50KSBwcml2YXRlIHNlbGVjdD86IE5hdHVyYWxTZWxlY3RDb21wb25lbnQ8VFNlcnZpY2U+O1xuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHB1YmxpYyBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlPzogVFNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2Vob2xkZXIgdXNlZCBpbiB0aGUgYnV0dG9uIHRvIGFkZCBhIG5ldyByZWxhdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIGZvciBhdXRvY29tcGxldGUgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlU2VsZWN0b3JGaWx0ZXI/OiBFeHRyYWN0VmFsbDxUU2VydmljZT5bJ2ZpbHRlciddIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgcmVuZGVyaW5nIG9mIHRoZSBzZWxlY3RlZCBpdGVtIGFzIHRleHQgaW4gaW5wdXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheVdpdGg/OiAoaXRlbTogRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+IHwgbnVsbCkgPT4gc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcmVsYXRpb25zIGNhbiBiZSBjaGFuZ2VkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWFpbiBvYmplY3QgdG8gd2hpY2ggYWxsIHJlbGF0aW9ucyBiZWxvbmcgdG9cbiAgICAgKi9cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIG1haW4hOiBMaW5rYWJsZU9iamVjdCAmIHtwZXJtaXNzaW9ucz86IHt1cGRhdGU6IGJvb2xlYW59fTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFmdGVyIHJlbGF0aW9ucyB3ZXJlIHN1Y2Nlc3NmdWxseSBhZGRlZCBvbiB0aGUgc2VydmVyXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIGZvciBoaWVyYXJjaGljIHNlbGVjdG9yXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGhpZXJhcmNoaWNTZWxlY3RvckZpbHRlcnM/OiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBpbiBjYXNlIHdlIHByZWZlciBoaWVyYXJjaGljIHNlbGVjdGlvbiBvdmVyIGF1dG9jb21wbGV0ZSBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnPzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBMaW5rIG11dGF0aW9uIHNlbWFudGljXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG90aGVyTmFtZT86IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMaXN0aW5nIHNlcnZpY2UgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZT86IE5hdHVyYWxEYXRhU291cmNlPFBhZ2luYXRlZERhdGE8TGlua2FibGVPYmplY3Q+PjtcbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGFibGUgY29sdW1uc1xuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5ZWRDb2x1bW5zID0gWyduYW1lJ107XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zID0gWzUsIDI1LCA1MCwgMTAwXTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFBhZ2luYXRpb24gPSB7XG4gICAgICAgIHBhZ2VJbmRleDogMCxcbiAgICAgICAgcGFnZVNpemU6IDI1LFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHZhcmlhYmxlcy9vcHRpb25zIGZvciBsaXN0aW5nIHNlcnZpY2UgdXNhZ2UgYW5kIGFwb2xsbyB3YXRjaFF1ZXJ5XG4gICAgICovXG4gICAgcHJpdmF0ZSB2YXJpYWJsZXNNYW5hZ2VyOiBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyPFF1ZXJ5VmFyaWFibGVzPiA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVtb3ZpbmcgPSBuZXcgU2V0PExpbmthYmxlT2JqZWN0PigpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtNdXRhdGlvblNlcnZpY2U6IE5hdHVyYWxMaW5rTXV0YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZzogTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGZpbHRlciB1c2VkIHRvIGZpbHRlciByZWxhdGlvbnNcbiAgICAgKlxuICAgICAqIFNvIGlmIHRoZSByZWxhdGlvbnMgYXJlIGZyb20gb25lIGFjdGlvbiAtPiB0byBtYW55IG9iamVjdGl2ZXMsIHRoZW4gdGhlIGZpbHRlciBtdXN0IGZpbHRlclxuICAgICAqIHRoZSBvYmplY3RpdmVzIHRoYXQgaGF2ZSBpbmRlZWQgYSByZWxhdGlvbiB0byB0aGUgcGFydGljdWxhciBhY3Rpb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZpbHRlcihmaWx0ZXI6IEV4dHJhY3RWYWxsPFRTZXJ2aWNlPlsnZmlsdGVyJ10pIHtcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncmVsYXRpb25zLWZpbHRlcicsIHtmaWx0ZXI6IGZpbHRlcn0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uKCk7XG5cbiAgICAgICAgLy8gRm9yY2UgZGlzYWJsZWQgaWYgY2Fubm90IHVwZGF0ZSBvYmplY3RcbiAgICAgICAgaWYgKHRoaXMubWFpbiAmJiB0aGlzLm1haW4ucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLm1haW4ucGVybWlzc2lvbnMudXBkYXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5SXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkICYmIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5pbmRleE9mKCd1bmxpbmsnKSA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucG9wKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmluZGV4T2YoJ3VubGluaycpID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ3VubGluaycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5saW5rIGFjdGlvblxuICAgICAqIFJlZmV0Y2ggcmVzdWx0IHRvIGRpc3BsYXkgaXQgaW4gdGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUmVsYXRpb24ocmVsYXRpb246IExpbmthYmxlT2JqZWN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZpbmcuYWRkKHJlbGF0aW9uKTtcblxuICAgICAgICB0aGlzLmxpbmtNdXRhdGlvblNlcnZpY2VcbiAgICAgICAgICAgIC51bmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLnJlbW92aW5nLmRlbGV0ZShyZWxhdGlvbikpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRhdGFTb3VyY2U/LnJlbW92ZShyZWxhdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpbmsgYWN0aW9uXG4gICAgICogUmVmZXRjaCByZXN1bHQgdG8gZGlzcGxheSBpdCBpbiB0YWJsZVxuICAgICAqIFRPRE8gOiBjb3VsZCBtYXliZSB1c2UgXCJ1cGRhdGVcIiBhdHRyaWJ1dGUgb2YgYXBvbGxvLm11dGF0ZSBmdW5jdGlvbiB0byB1cGRhdGUgdGFibGUgZmFzdGVyIChidXQgaGFyZCB0byBkbyBpdCBoZXJlKVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRSZWxhdGlvbnMocmVsYXRpb25zOiAoTGlua2FibGVPYmplY3QgfCBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4gfCBzdHJpbmcgfCBudWxsKVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzID0gcmVsYXRpb25zXG4gICAgICAgICAgICAuZmlsdGVyKChyZWxhdGlvbik6IHJlbGF0aW9uIGlzIExpbmthYmxlT2JqZWN0ID0+ICEhcmVsYXRpb24gJiYgdHlwZW9mIHJlbGF0aW9uID09PSAnb2JqZWN0JylcbiAgICAgICAgICAgIC5tYXAocmVsYXRpb24gPT4gdGhpcy5saW5rTXV0YXRpb25TZXJ2aWNlLmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpKTtcblxuICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Py5jbGVhcigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFnaW5hdGlvbihldmVudD86IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50ICYmXG4gICAgICAgICAgICAoZXZlbnQucGFnZUluZGV4ICE9PSB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLnBhZ2VJbmRleCB8fCBldmVudC5wYWdlU2l6ZSAhPT0gdGhpcy5kZWZhdWx0UGFnaW5hdGlvbi5wYWdlU2l6ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgICAgIHBhZ2VJbmRleDogZXZlbnQucGFnZUluZGV4LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBldmVudC5wYWdlU2l6ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHBhZ2luYXRpb24gPyBwYWdpbmF0aW9uIDogdGhpcy5kZWZhdWx0UGFnaW5hdGlvbn0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPiB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoaXRlbTogYW55KSA9PiAoaXRlbSA/IGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lIDogJycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0QXRLZXkgPSB0aGlzLmdldFNlbGVjdEtleSgpO1xuXG4gICAgICAgIGlmICghc2VsZWN0QXRLZXkgfHwgIXRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHt9O1xuXG4gICAgICAgIGNvbnN0IGhpZXJhcmNoaWNDb25maWc6IEhpZXJhcmNoaWNEaWFsb2dDb25maWcgPSB7XG4gICAgICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyxcbiAgICAgICAgICAgIGhpZXJhcmNoaWNTZWxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICAgICAgaGllcmFyY2hpY0ZpbHRlcnM6IHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRmlsdGVycyxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nXG4gICAgICAgICAgICAub3BlbihoaWVyYXJjaGljQ29uZmlnKVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gcmVzdWx0LmhpZXJhcmNoaWNTZWxlY3Rpb25bc2VsZWN0QXRLZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRSZWxhdGlvbnMoc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBsaXN0IGZyb20gZGF0YWJhc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHF1ZXJ5SXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBxdWVyeVJlZiA9IHRoaXMuc2VydmljZS53YXRjaEFsbCh0aGlzLnZhcmlhYmxlc01hbmFnZXIpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIHRhcCh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTmF0dXJhbERhdGFTb3VyY2UocXVlcnlSZWYpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0S2V5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZy5maWx0ZXIoYyA9PiAhIWMuc2VsZWN0YWJsZUF0S2V5KVswXS5zZWxlY3RhYmxlQXRLZXk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJvZHlcIj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHROYW1lQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAge3sgZ2V0RGlzcGxheUZuKCkoaXRlbSkgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHRhYmxlICpuZ0lmPVwiZGF0YVNvdXJjZVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBjbGFzcz1cIm5hdHVyYWwtcm93LWNsaWNrXCIgbWF0LXRhYmxlPlxuICAgICAgICA8dHIgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIiBtYXQtaGVhZGVyLXJvdyBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L3RyPlxuICAgICAgICA8dHIgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIiBtYXQtcm93PjwvdHI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgICAgICA8dGggKm1hdEhlYWRlckNlbGxEZWYgaTE4biBtYXQtaGVhZGVyLWNlbGw+VGl0cmU8L3RoPlxuICAgICAgICAgICAgPHRkICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBtYXQtY2VsbD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSA/IGl0ZW1UZW1wbGF0ZSA6IGRlZmF1bHROYW1lQ2VsbFwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVubGlua1wiPlxuICAgICAgICAgICAgPHRoICptYXRIZWFkZXJDZWxsRGVmIG1hdC1oZWFkZXItY2VsbD48L3RoPlxuICAgICAgICAgICAgPHRkICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBtYXQtY2VsbD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVJlbGF0aW9uKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlbW92aW5nLmhhcyhlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkRpc3NvY2llclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbmF0dXJhbEljb249XCJsaW5rX29mZlwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wYWdpbmF0b3JcbiAgICAgICAgKHBhZ2UpPVwicGFnaW5hdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCJkYXRhU291cmNlPy5kYXRhICYmIChkYXRhU291cmNlPy5kYXRhPy5sZW5ndGggfHwgMCkgPiAoZGF0YVNvdXJjZT8uZGF0YT8ucGFnZVNpemUgfHwgMClcIlxuICAgICAgICBbbGVuZ3RoXT1cImRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCB8fCAwXCJcbiAgICAgICAgW3BhZ2VJbmRleF09XCJkYXRhU291cmNlPy5kYXRhPy5wYWdlSW5kZXggfHwgMFwiXG4gICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgICAgICAgW3BhZ2VTaXplXT1cImRhdGFTb3VyY2U/LmRhdGE/LnBhZ2VTaXplIHx8IDBcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtYXJnaW4tdiBtYXQtYm9keVwiPlxuICAgICAgICA8c3BhbiBpMThuPkF1Y3VuIHLDqXN1bHRhdDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdcIiBbZGlhbWV0ZXJdPVwiNDBcIiBjbGFzcz1cImxvYWRpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG48L2Rpdj5cblxuPG5hdHVyYWwtc2VsZWN0XG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJhZGRSZWxhdGlvbnMoWyRldmVudF0pXCJcbiAgICAqbmdJZj1cIiFoaWVyYXJjaGljU2VsZWN0b3JDb25maWcgJiYgc2VydmljZSAmJiAhZGlzYWJsZWRcIlxuICAgIFtkaXNwbGF5V2l0aF09XCIkYW55KGdldERpc3BsYXlGbigpKVwiXG4gICAgW2ZpbHRlcl09XCJhdXRvY29tcGxldGVTZWxlY3RvckZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbc2VydmljZV09XCJzZXJ2aWNlXCJcbiAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuPjwvbmF0dXJhbC1zZWxlY3Q+XG5cbjxkaXYgKm5nSWY9XCJoaWVyYXJjaGljU2VsZWN0b3JDb25maWcgJiYgIWRpc2FibGVkXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib3Blbk5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3IoKVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1mbGF0LWJ1dHRvbj57eyBwbGFjZWhvbGRlciB9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,12 +1,13 @@
1
- import { BasePortalOutlet, CdkPortalOutlet } from '@angular/cdk/portal';
1
+ import { BasePortalOutlet, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
2
2
  import { Component, Inject, InjectionToken, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { naturalDropdownAnimations } from './dropdown-container-animations';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { NgIf } from '@angular/common';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/cdk/a11y";
7
- import * as i2 from "@angular/common";
9
+ import * as i2 from "@angular/cdk/portal";
8
10
  import * as i3 from "@angular/material/button";
9
- import * as i4 from "@angular/cdk/portal";
10
11
  export function throwMatDialogContentAlreadyAttachedError() {
11
12
  throw Error('Attempting to attach dialog content after content is already attached');
12
13
  }
@@ -70,11 +71,11 @@ export class NaturalDropdownContainerComponent extends BasePortalOutlet {
70
71
  }
71
72
  }
72
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalDropdownContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }, { token: NATURAL_DROPDOWN_CONTAINER_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalDropdownContainerComponent, selector: "ng-component", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n (@transformMenu.done)=\"onAnimationDone($event)\"\n [@transformMenu]=\"panelAnimationState\"\n class=\"natural-dropdown-container mat-elevation-z2\"\n role=\"menu\"\n tabindex=\"-1\"\n>\n <div class=\"natural-dropdown-container-content\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div *ngIf=\"data.showValidateButton\" class=\"natural-dropdown-validate-button\">\n <button (click)=\"close()\" color=\"primary\" mat-raised-button i18n>Valider</button>\n </div>\n</div>\n", styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems], encapsulation: i0.ViewEncapsulation.None }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalDropdownContainerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n (@transformMenu.done)=\"onAnimationDone($event)\"\n [@transformMenu]=\"panelAnimationState\"\n class=\"natural-dropdown-container mat-elevation-z2\"\n role=\"menu\"\n tabindex=\"-1\"\n>\n <div class=\"natural-dropdown-container-content\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div *ngIf=\"data.showValidateButton\" class=\"natural-dropdown-validate-button\">\n <button (click)=\"close()\" color=\"primary\" mat-raised-button i18n>Valider</button>\n </div>\n</div>\n", styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems], encapsulation: i0.ViewEncapsulation.None }); }
74
75
  }
75
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalDropdownContainerComponent, decorators: [{
76
77
  type: Component,
77
- args: [{ encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems], template: "<div\n (@transformMenu.done)=\"onAnimationDone($event)\"\n [@transformMenu]=\"panelAnimationState\"\n class=\"natural-dropdown-container mat-elevation-z2\"\n role=\"menu\"\n tabindex=\"-1\"\n>\n <div class=\"natural-dropdown-container-content\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div *ngIf=\"data.showValidateButton\" class=\"natural-dropdown-validate-button\">\n <button (click)=\"close()\" color=\"primary\" mat-raised-button i18n>Valider</button>\n </div>\n</div>\n", styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"] }]
78
+ args: [{ encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, animations: [naturalDropdownAnimations.transformMenu, naturalDropdownAnimations.fadeInItems], standalone: true, imports: [PortalModule, NgIf, MatButtonModule], template: "<div\n (@transformMenu.done)=\"onAnimationDone($event)\"\n [@transformMenu]=\"panelAnimationState\"\n class=\"natural-dropdown-container mat-elevation-z2\"\n role=\"menu\"\n tabindex=\"-1\"\n>\n <div class=\"natural-dropdown-container-content\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div *ngIf=\"data.showValidateButton\" class=\"natural-dropdown-validate-button\">\n <button (click)=\"close()\" color=\"primary\" mat-raised-button i18n>Valider</button>\n </div>\n</div>\n", styles: [".natural-dropdown-container{display:flex;flex-direction:column;border-radius:2px;height:100%}.natural-dropdown-container-content{flex:1;padding:5px;overflow:auto}.natural-dropdown-container .natural-dropdown-validate-button{flex:none;display:flex;flex-direction:row;justify-content:flex-end;margin:5px}\n"] }]
78
79
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }, { type: undefined, decorators: [{
79
80
  type: Inject,
80
81
  args: [NATURAL_DROPDOWN_CONTAINER_DATA]
@@ -85,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
85
86
  type: ViewChild,
86
87
  args: [TemplateRef, { static: true }]
87
88
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDdkcsT0FBTyxFQUNILFNBQVMsRUFJVCxNQUFNLEVBQ04sY0FBYyxFQUVkLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQUUxRSxNQUFNLFVBQVUseUNBQXlDO0lBQ3JELE1BQU0sS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7QUFDekYsQ0FBQztBQU1ELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUM3RCw4QkFBOEIsQ0FDakMsQ0FBQztBQVNGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxnQkFBZ0I7SUFlbkUsWUFDcUIsVUFBbUMsRUFDbkMsZ0JBQThDLEVBQ2YsSUFBa0M7UUFFbEYsS0FBSyxFQUFFLENBQUM7UUFKUyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQThCO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBOEI7UUFkdEUsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFN0MsNENBQTRDO1FBQ3JDLHdCQUFtQixHQUFxQixNQUFNLENBQUM7UUFFdEQseURBQXlEO1FBQ2pELGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVwQyxjQUFTLEdBQXFCLElBQUksQ0FBQztRQUNuQyx3Q0FBbUMsR0FBdUIsSUFBSSxDQUFDO0lBUXZFLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLG9CQUFvQixDQUFJLE1BQXlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0scUJBQXFCLENBQUksTUFBMEI7UUFDdEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2pDLHlDQUF5QyxFQUFFLENBQUM7U0FDL0M7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQXFCO1FBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUNqQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxTQUFTO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDaEY7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELCtFQUErRTtJQUN2RSxZQUFZO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQztRQUV6RCx5RkFBeUY7UUFDekYsSUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtZQUNoRCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbkI7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7OEdBN0VRLGlDQUFpQyx3RkFrQjlCLCtCQUErQjtrR0FsQmxDLGlDQUFpQyxrR0FDL0IsZUFBZSw0RkFDZixXQUFXLHFGQ3ZDMUIseWhCQWVBLGcxQkRvQmdCLENBQUMseUJBQXlCLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQzs7MkZBRW5GLGlDQUFpQztrQkFQN0MsU0FBUztvQ0FHUyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLGNBQ2QsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUMsV0FBVyxDQUFDOzswQkFvQnZGLE1BQU07MkJBQUMsK0JBQStCOzRDQWpCUSxZQUFZO3NCQUE5RCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0ssV0FBVztzQkFBekQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25FdmVudH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0NvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksIEZvY3VzVHJhcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtCYXNlUG9ydGFsT3V0bGV0LCBDZGtQb3J0YWxPdXRsZXQsIENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge25hdHVyYWxEcm9wZG93bkFuaW1hdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tY29udGFpbmVyLWFuaW1hdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dNYXREaWFsb2dDb250ZW50QWxyZWFkeUF0dGFjaGVkRXJyb3IoKTogdm9pZCB7XG4gICAgdGhyb3cgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gYXR0YWNoIGRpYWxvZyBjb250ZW50IGFmdGVyIGNvbnRlbnQgaXMgYWxyZWFkeSBhdHRhY2hlZCcpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEge1xuICAgIHNob3dWYWxpZGF0ZUJ1dHRvbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5BVFVSQUxfRFJPUERPV05fQ09OVEFJTkVSX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbERyb3Bkb3duQ29udGFpbmVyRGF0YT4oXG4gICAgJ05hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEnLFxuKTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBhbmltYXRpb25zOiBbbmF0dXJhbERyb3Bkb3duQW5pbWF0aW9ucy50cmFuc2Zvcm1NZW51LCBuYXR1cmFsRHJvcGRvd25BbmltYXRpb25zLmZhZGVJbkl0ZW1zXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgcG9ydGFsT3V0bGV0ITogQ2RrUG9ydGFsT3V0bGV0O1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQ3VycmVudCBzdGF0ZSBvZiB0aGUgcGFuZWwgYW5pbWF0aW9uLiAqL1xuICAgIHB1YmxpYyBwYW5lbEFuaW1hdGlvblN0YXRlOiAndm9pZCcgfCAnZW50ZXInID0gJ3ZvaWQnO1xuXG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIGFuIGFuaW1hdGlvbiBvbiB0aGUgbWVudSBjb21wbGV0ZXMuICovXG4gICAgcHJpdmF0ZSBhbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgZm9jdXNUcmFwOiBGb2N1c1RyYXAgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIGVsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9DT05UQUlORVJfREFUQSkgcHVibGljIGRhdGE6IE5hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxDPihwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPEM+KTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaFRlbXBsYXRlUG9ydGFsKHBvcnRhbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPik6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgICAgIGlmICh0aGlzLnBvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aHJvd01hdERpYWxvZ0NvbnRlbnRBbHJlYWR5QXR0YWNoZWRFcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYW5lbEFuaW1hdGlvblN0YXRlID0gJ2VudGVyJztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJykge1xuICAgICAgICAgICAgdGhpcy50cmFwRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC50b1N0YXRlID09PSAnZXhpdCcpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGlvbkRvbmUubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJhcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNUcmFwKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVHJhcCA9IHRoaXMuZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpO1xuICAgIH1cblxuICAgIC8qKiBSZXN0b3JlcyBmb2N1cyB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyBmb2N1c2VkIGJlZm9yZSB0aGUgZGlhbG9nIG9wZW5lZC4gKi9cbiAgICBwcml2YXRlIHJlc3RvcmVGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9Gb2N1cyA9IHRoaXMuZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQ7XG5cbiAgICAgICAgLy8gV2UgbmVlZCB0aGUgZXh0cmEgY2hlY2ssIGJlY2F1c2UgSUUgY2FuIHNldCB0aGUgYGFjdGl2ZUVsZW1lbnRgIHRvIG51bGwgaW4gc29tZSBjYXNlcy5cbiAgICAgICAgaWYgKHRvRm9jdXMgJiYgdHlwZW9mIHRvRm9jdXMuZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRm9jdXMuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1RyYXAuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIChAdHJhbnNmb3JtTWVudS5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgICBbQHRyYW5zZm9ybU1lbnVdPVwicGFuZWxBbmltYXRpb25TdGF0ZVwiXG4gICAgY2xhc3M9XCJuYXR1cmFsLWRyb3Bkb3duLWNvbnRhaW5lciBtYXQtZWxldmF0aW9uLXoyXCJcbiAgICByb2xlPVwibWVudVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm5hdHVyYWwtZHJvcGRvd24tY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuc2hvd1ZhbGlkYXRlQnV0dG9uXCIgY2xhc3M9XCJuYXR1cmFsLWRyb3Bkb3duLXZhbGlkYXRlLWJ1dHRvblwiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b24gaTE4bj5WYWxpZGVyPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQW1DLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JILE9BQU8sRUFDSCxTQUFTLEVBSVQsTUFBTSxFQUNOLGNBQWMsRUFFZCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRXJDLE1BQU0sVUFBVSx5Q0FBeUM7SUFDckQsTUFBTSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztBQUN6RixDQUFDO0FBTUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQzdELDhCQUE4QixDQUNqQyxDQUFDO0FBV0YsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGdCQUFnQjtJQWVuRSxZQUNxQixVQUFtQyxFQUNuQyxnQkFBOEMsRUFDZixJQUFrQztRQUVsRixLQUFLLEVBQUUs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QyxlQUFlLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNLLFdBQVc7c0JBQXpELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LCBGb2N1c1RyYXB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7QmFzZVBvcnRhbE91dGxldCwgQ2RrUG9ydGFsT3V0bGV0LCBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsLCBQb3J0YWxNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge25hdHVyYWxEcm9wZG93bkFuaW1hdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tY29udGFpbmVyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd01hdERpYWxvZ0NvbnRlbnRBbHJlYWR5QXR0YWNoZWRFcnJvcigpOiB2b2lkIHtcbiAgICB0aHJvdyBFcnJvcignQXR0ZW1wdGluZyB0byBhdHRhY2ggZGlhbG9nIGNvbnRlbnQgYWZ0ZXIgY29udGVudCBpcyBhbHJlYWR5IGF0dGFjaGVkJyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyRGF0YSB7XG4gICAgc2hvd1ZhbGlkYXRlQnV0dG9uOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTkFUVVJBTF9EUk9QRE9XTl9DT05UQUlORVJfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOYXR1cmFsRHJvcGRvd25Db250YWluZXJEYXRhPihcbiAgICAnTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyRGF0YScsXG4pO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGFuaW1hdGlvbnM6IFtuYXR1cmFsRHJvcGRvd25BbmltYXRpb25zLnRyYW5zZm9ybU1lbnUsIG5hdHVyYWxEcm9wZG93bkFuaW1hdGlvbnMuZmFkZUluSXRlbXNdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1BvcnRhbE1vZHVsZSwgTmdJZiwgTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgcG9ydGFsT3V0bGV0ITogQ2RrUG9ydGFsT3V0bGV0O1xuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3NlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQ3VycmVudCBzdGF0ZSBvZiB0aGUgcGFuZWwgYW5pbWF0aW9uLiAqL1xuICAgIHB1YmxpYyBwYW5lbEFuaW1hdGlvblN0YXRlOiAndm9pZCcgfCAnZW50ZXInID0gJ3ZvaWQnO1xuXG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIGFuIGFuaW1hdGlvbiBvbiB0aGUgbWVudSBjb21wbGV0ZXMuICovXG4gICAgcHJpdmF0ZSBhbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgZm9jdXNUcmFwOiBGb2N1c1RyYXAgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIGVsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXG4gICAgICAgIEBJbmplY3QoTkFUVVJBTF9EUk9QRE9XTl9DT05UQUlORVJfREFUQSkgcHVibGljIGRhdGE6IE5hdHVyYWxEcm9wZG93bkNvbnRhaW5lckRhdGEsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxDPihwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPEM+KTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaFRlbXBsYXRlUG9ydGFsKHBvcnRhbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPik6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgICAgIGlmICh0aGlzLnBvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aHJvd01hdERpYWxvZ0NvbnRlbnRBbHJlYWR5QXR0YWNoZWRFcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYW5lbEFuaW1hdGlvblN0YXRlID0gJ2VudGVyJztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJykge1xuICAgICAgICAgICAgdGhpcy50cmFwRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC50b1N0YXRlID09PSAnZXhpdCcpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGlvbkRvbmUubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJhcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNUcmFwKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVHJhcCA9IHRoaXMuZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpO1xuICAgIH1cblxuICAgIC8qKiBSZXN0b3JlcyBmb2N1cyB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyBmb2N1c2VkIGJlZm9yZSB0aGUgZGlhbG9nIG9wZW5lZC4gKi9cbiAgICBwcml2YXRlIHJlc3RvcmVGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9Gb2N1cyA9IHRoaXMuZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQ7XG5cbiAgICAgICAgLy8gV2UgbmVlZCB0aGUgZXh0cmEgY2hlY2ssIGJlY2F1c2UgSUUgY2FuIHNldCB0aGUgYGFjdGl2ZUVsZW1lbnRgIHRvIG51bGwgaW4gc29tZSBjYXNlcy5cbiAgICAgICAgaWYgKHRvRm9jdXMgJiYgdHlwZW9mIHRvRm9jdXMuZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRm9jdXMuZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1RyYXAuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIChAdHJhbnNmb3JtTWVudS5kb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgICBbQHRyYW5zZm9ybU1lbnVdPVwicGFuZWxBbmltYXRpb25TdGF0ZVwiXG4gICAgY2xhc3M9XCJuYXR1cmFsLWRyb3Bkb3duLWNvbnRhaW5lciBtYXQtZWxldmF0aW9uLXoyXCJcbiAgICByb2xlPVwibWVudVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm5hdHVyYWwtZHJvcGRvd24tY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuc2hvd1ZhbGlkYXRlQnV0dG9uXCIgY2xhc3M9XCJuYXR1cmFsLWRyb3Bkb3duLXZhbGlkYXRlLWJ1dHRvblwiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LXJhaXNlZC1idXR0b24gaTE4bj5WYWxpZGVyPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { Component, Inject } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { NATURAL_DROPDOWN_DATA } from '../../search/dropdown-container/dropdown.service';
4
+ import { MatListModule } from '@angular/material/list';
5
+ import { NgIf, NgFor } from '@angular/common';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "../../search/dropdown-container/dropdown-ref";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/list";
8
+ import * as i2 from "@angular/material/list";
8
9
  export class FacetSelectorComponent {
9
10
  constructor(data, dropdownRef) {
10
11
  this.data = data;
@@ -38,13 +39,13 @@ export class FacetSelectorComponent {
38
39
  return true;
39
40
  }
40
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: FacetSelectorComponent, deps: [{ token: NATURAL_DROPDOWN_DATA }, { token: i1.NaturalDropdownRef }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: FacetSelectorComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dropdown-title mat-body-2\" *ngIf=\"data.title\">{{ data.title }}</div>\n<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n", styles: [".mat-nav-list{padding:0}.dropdown-title{padding:5px;font-variant:all-small-caps;font-size:18px;opacity:.7}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }] }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: FacetSelectorComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"dropdown-title mat-body-2\" *ngIf=\"data.title\">{{ data.title }}</div>\n<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n", styles: [".mat-nav-list{padding:0}.dropdown-title{padding:5px;font-variant:all-small-caps;font-size:18px;opacity:.7}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
42
43
  }
43
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: FacetSelectorComponent, decorators: [{
44
45
  type: Component,
45
- args: [{ template: "<div class=\"dropdown-title mat-body-2\" *ngIf=\"data.title\">{{ data.title }}</div>\n<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n", styles: [".mat-nav-list{padding:0}.dropdown-title{padding:5px;font-variant:all-small-caps;font-size:18px;opacity:.7}\n"] }]
46
+ args: [{ standalone: true, imports: [NgIf, MatListModule, NgFor], template: "<div class=\"dropdown-title mat-body-2\" *ngIf=\"data.title\">{{ data.title }}</div>\n<mat-nav-list>\n <mat-list-item (click)=\"selection = facet; close()\" *ngFor=\"let facet of facets\">\n <a>{{ facet.display }}</a>\n </mat-list-item>\n</mat-nav-list>\n", styles: [".mat-nav-list{padding:0}.dropdown-title{padding:5px;font-variant:all-small-caps;font-size:18px;opacity:.7}\n"] }]
46
47
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
47
48
  type: Inject,
48
49
  args: [NATURAL_DROPDOWN_DATA]
49
50
  }] }, { type: i1.NaturalDropdownRef }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2ZhY2V0LXNlbGVjdG9yL2ZhY2V0LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9mYWNldC1zZWxlY3Rvci9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7QUFlNUcsTUFBTSxPQUFPLHNCQUFzQjtJQU0vQixZQUMwQyxJQUFxRCxFQUNqRixXQUErQjtRQURILFNBQUksR0FBSixJQUFJLENBQWlEO1FBQ2pGLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVA3Qyx5QkFBeUI7UUFDbEIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVoRCxjQUFTLEdBQWlCLElBQUksQ0FBQztRQU1sQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLFNBQVMsRUFBRSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUzthQUN4QixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBdENRLHNCQUFzQixrQkFPbkIscUJBQXFCO2tHQVB4QixzQkFBc0Isb0RDbkJuQyw4UUFNQTs7MkZEYWEsc0JBQXNCO2tCQUpsQyxTQUFTOzs7MEJBV0QsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge05hdHVyYWxEcm9wZG93blJlZn0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1yZWYnO1xuaW1wb3J0IHtOQVRVUkFMX0RST1BET1dOX0RBVEEsIE5hdHVyYWxEcm9wZG93bkRhdGF9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuaW1wb3J0IHtGYWNldCwgTmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi4vdHlwZXMvZmFjZXQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGZhY2V0IHNlbGVjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9uIHtcbiAgICBmYWNldHM6IE5hdHVyYWxTZWFyY2hGYWNldHM7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmFjZXQtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmFjZXRTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICAvLyBOZXZlciBoYXMgYSByZWFsIHZhbHVlXG4gICAgcHVibGljIHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBmYWNldHM6IE5hdHVyYWxTZWFyY2hGYWNldHM7XG4gICAgcHVibGljIHNlbGVjdGlvbjogRmFjZXQgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIHB1YmxpYyBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9uPixcbiAgICAgICAgcHJvdGVjdGVkIGRyb3Bkb3duUmVmOiBOYXR1cmFsRHJvcGRvd25SZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZmFjZXRzID0gZGF0YS5jb25maWd1cmF0aW9uLmZhY2V0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdmFsdWUsIGluY2x1ZGluZyByaWNoIG9iamVjdCB0eXBlc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyB0byBjbG9zZSB0aGUgZHJvcGRvd24gd2l0aCBhIHZhbGlkIHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjoge30sXG4gICAgICAgICAgICAgICAgZmFjZXQ6IHRoaXMuc2VsZWN0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWxlY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93bi10aXRsZSBtYXQtYm9keS0yXCIgKm5nSWY9XCJkYXRhLnRpdGxlXCI+e3sgZGF0YS50aXRsZSB9fTwvZGl2PlxuPG1hdC1uYXYtbGlzdD5cbiAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwic2VsZWN0aW9uID0gZmFjZXQ7IGNsb3NlKClcIiAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzXCI+XG4gICAgICAgIDxhPnt7IGZhY2V0LmRpc3BsYXkgfX08L2E+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2ZhY2V0LXNlbGVjdG9yL2ZhY2V0LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9mYWNldC1zZWxlY3Rvci9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUc1RyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWU1QyxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQzBDLElBQXFELEVBQ2pGLFdBQStCO1FBREgsU0FBSSxHQUFKLElBQUksQ0FBaUQ7UUFDakYsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBUDdDLHlCQUF5QjtRQUNsQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWhELGNBQVMsR0FBaUIsSUFBSSxDQUFDO1FBTWxDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNSLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDbkIsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQ3hCLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0F0Q1Esc0JBQXNCLGtCQU9uQixxQkFBcUI7a0dBUHhCLHNCQUFzQix3RUN2Qm5DLDhRQU1BLHNLRGVjLElBQUksNEZBQUUsYUFBYSxrU0FBRSxLQUFLOzsyRkFFM0Isc0JBQXNCO2tCQU5sQyxTQUFTO2lDQUdNLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDOzswQkFTaEMsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge05hdHVyYWxEcm9wZG93blJlZn0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1yZWYnO1xuaW1wb3J0IHtOQVRVUkFMX0RST1BET1dOX0RBVEEsIE5hdHVyYWxEcm9wZG93bkRhdGF9IGZyb20gJy4uLy4uL3NlYXJjaC9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0Ryb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi90eXBlcy9kcm9wZG93bi1jb21wb25lbnQnO1xuaW1wb3J0IHtGYWNldCwgTmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi4vdHlwZXMvZmFjZXQnO1xuaW1wb3J0IHtNYXRMaXN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7TmdJZiwgTmdGb3J9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgZmFjZXQgc2VsZWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjZXRTZWxlY3RvckNvbmZpZ3VyYXRpb24ge1xuICAgIGZhY2V0czogTmF0dXJhbFNlYXJjaEZhY2V0cztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZhY2V0LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdExpc3RNb2R1bGUsIE5nRm9yXSxcbn0pXG5leHBvcnQgY2xhc3MgRmFjZXRTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICAvLyBOZXZlciBoYXMgYSByZWFsIHZhbHVlXG4gICAgcHVibGljIHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyBmYWNldHM6IE5hdHVyYWxTZWFyY2hGYWNldHM7XG4gICAgcHVibGljIHNlbGVjdGlvbjogRmFjZXQgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIHB1YmxpYyBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9uPixcbiAgICAgICAgcHJvdGVjdGVkIGRyb3Bkb3duUmVmOiBOYXR1cmFsRHJvcGRvd25SZWYsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZmFjZXRzID0gZGF0YS5jb25maWd1cmF0aW9uLmZhY2V0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdmFsdWUsIGluY2x1ZGluZyByaWNoIG9iamVjdCB0eXBlc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyB0byBjbG9zZSB0aGUgZHJvcGRvd24gd2l0aCBhIHZhbGlkIHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjoge30sXG4gICAgICAgICAgICAgICAgZmFjZXQ6IHRoaXMuc2VsZWN0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5zZWxlY3Rpb247XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93bi10aXRsZSBtYXQtYm9keS0yXCIgKm5nSWY9XCJkYXRhLnRpdGxlXCI+e3sgZGF0YS50aXRsZSB9fTwvZGl2PlxuPG1hdC1uYXYtbGlzdD5cbiAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwic2VsZWN0aW9uID0gZmFjZXQ7IGNsb3NlKClcIiAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzXCI+XG4gICAgICAgIDxhPnt7IGZhY2V0LmRpc3BsYXkgfX08L2E+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { deepClone } from '../classes/utils';
3
+ import { NaturalInputComponent } from '../input/input.component';
4
+ import { NgFor } from '@angular/common';
3
5
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../input/input.component";
6
6
  export class NaturalGroupComponent {
7
7
  constructor() {
8
8
  /**
@@ -29,11 +29,11 @@ export class NaturalGroupComponent {
29
29
  this.selectionChange.emit(this.innerSelections);
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalGroupComponent, selector: "natural-group", inputs: { dropdownTitle: "dropdownTitle", placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n [dropdownTitle]=\"dropdownTitle\"\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets", "dropdownTitle"], outputs: ["selectionChange", "cleared"] }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: NaturalGroupComponent, isStandalone: true, selector: "natural-group", inputs: { dropdownTitle: "dropdownTitle", placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n [dropdownTitle]=\"dropdownTitle\"\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets", "dropdownTitle"], outputs: ["selectionChange", "cleared"] }] }); }
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: NaturalGroupComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'natural-group', template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n [dropdownTitle]=\"dropdownTitle\"\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"] }]
36
+ args: [{ selector: 'natural-group', standalone: true, imports: [NgFor, NaturalInputComponent], template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n [dropdownTitle]=\"dropdownTitle\"\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"] }]
37
37
  }], propDecorators: { newValueInput: [{
38
38
  type: ViewChild,
39
39
  args: ['newValueInput']
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
50
50
  }], selections: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2dyb3VwL2dyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9ncm91cC9ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFVM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQVFJOztXQUVHO1FBQ2Esa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFHVCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ3pFLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztLQXFCaEQ7SUFuQkcsSUFBb0IsVUFBVSxDQUFDLFNBQTBCO1FBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxXQUFXLENBQUMsU0FBaUMsRUFBRSxLQUFhO1FBQy9ELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWlDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBOUJRLHFCQUFxQjtrR0FBckIscUJBQXFCLDBVQ1hsQyxtZUFpQkE7OzJGRE5hLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSxlQUFlOzhCQUtVLGFBQWE7c0JBQS9DLFNBQVM7dUJBQUMsZUFBZTtnQkFLVixhQUFhO3NCQUE1QixLQUFLO2dCQUMwQixXQUFXO3NCQUExQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxNQUFNO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDRyxlQUFlO3NCQUF4QyxNQUFNO2dCQUdhLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWVwQ2xvbmV9IGZyb20gJy4uL2NsYXNzZXMvdXRpbHMnO1xuaW1wb3J0IHtOYXR1cmFsSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4uL3R5cGVzL2ZhY2V0JztcbmltcG9ydCB7R3JvdXBTZWxlY3Rpb25zLCBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ufSBmcm9tICcuLi90eXBlcy92YWx1ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEdyb3VwQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCduZXdWYWx1ZUlucHV0JykgcHVibGljIG5ld1ZhbHVlSW5wdXQhOiBOYXR1cmFsSW5wdXRDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duIHRvIHNlbGVjdCB0aGUgZmFjZXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZHJvcGRvd25UaXRsZSA9ICcnO1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgcGxhY2Vob2xkZXIhOiBzdHJpbmc7XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBmYWNldHMhOiBOYXR1cmFsU2VhcmNoRmFjZXRzO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHcm91cFNlbGVjdGlvbnM+KCk7XG4gICAgcHVibGljIGlubmVyU2VsZWN0aW9uczogR3JvdXBTZWxlY3Rpb25zID0gW107XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHNlbGVjdGlvbnMoc2VsZWN0aW9uOiBHcm91cFNlbGVjdGlvbnMpIHtcbiAgICAgICAgdGhpcy5pbm5lclNlbGVjdGlvbnMgPSBkZWVwQ2xvbmUoc2VsZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlSW5wdXQoc2VsZWN0aW9uOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5uZXJTZWxlY3Rpb25zW2luZGV4XSA9IHNlbGVjdGlvbjtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmlubmVyU2VsZWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZElucHV0KHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld1ZhbHVlSW5wdXQuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5pbm5lclNlbGVjdGlvbnMucHVzaChzZWxlY3Rpb24pO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuaW5uZXJTZWxlY3Rpb25zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlSW5wdXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmlubmVyU2VsZWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuaW5uZXJTZWxlY3Rpb25zKTtcbiAgICB9XG59XG4iLCI8bmF0dXJhbC1pbnB1dFxuICAgIChjbGVhcmVkKT1cInJlbW92ZUlucHV0KGkpXCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInVwZGF0ZUlucHV0KCRldmVudCwgaSlcIlxuICAgICpuZ0Zvcj1cImxldCBzZWxlY3Rpb24gb2YgaW5uZXJTZWxlY3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICBbZmFjZXRzXT1cImZhY2V0c1wiXG4gICAgW3NlbGVjdGlvbl09XCJzZWxlY3Rpb25cIlxuPjwvbmF0dXJhbC1pbnB1dD5cblxuPG5hdHVyYWwtaW5wdXRcbiAgICAjbmV3VmFsdWVJbnB1dFxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiYWRkSW5wdXQoJGV2ZW50KVwiXG4gICAgW2ZhY2V0c109XCJmYWNldHNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgdGFiSW5kZXg9XCIxMFwiXG4gICAgY2RrRm9jdXNJbml0aWFsXG4gICAgW2Ryb3Bkb3duVGl0bGVdPVwiZHJvcGRvd25UaXRsZVwiXG4+PC9uYXR1cmFsLWlucHV0PlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2dyb3VwL2dyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9ncm91cC9ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHL0QsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQVN0QyxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBVUk7O1dBRUc7UUFDYSxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUdULG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDekUsb0JBQWUsR0FBb0IsRUFBRSxDQUFDO0tBcUJoRDtJQW5CRyxJQUFvQixVQUFVLENBQUMsU0FBMEI7UUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFpQyxFQUFFLEtBQWE7UUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxRQUFRLENBQUMsU0FBaUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0E5QlEscUJBQXFCO2tHQUFyQixxQkFBcUIsOFZDZGxDLG1lQWlCQSxnUURMYyxLQUFLLG1IQUFFLHFCQUFxQjs7MkZBRTdCLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDSSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDOzhCQUdKLGFBQWE7c0JBQS9DLFNBQVM7dUJBQUMsZUFBZTtnQkFLVixhQUFhO3NCQUE1QixLQUFLO2dCQUMwQixXQUFXO3NCQUExQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDUyxNQUFNO3NCQUFyQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFDRyxlQUFlO3NCQUF4QyxNQUFNO2dCQUdhLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWVwQ2xvbmV9IGZyb20gJy4uL2NsYXNzZXMvdXRpbHMnO1xuaW1wb3J0IHtOYXR1cmFsSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4uL3R5cGVzL2ZhY2V0JztcbmltcG9ydCB7R3JvdXBTZWxlY3Rpb25zLCBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ufSBmcm9tICcuLi90eXBlcy92YWx1ZXMnO1xuaW1wb3J0IHtOZ0Zvcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2dyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIE5hdHVyYWxJbnB1dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxHcm91cENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnbmV3VmFsdWVJbnB1dCcpIHB1YmxpYyBuZXdWYWx1ZUlucHV0ITogTmF0dXJhbElucHV0Q29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBkaXNwbGF5IGluIHRoZSBkcm9wZG93biB0byBzZWxlY3QgdGhlIGZhY2V0XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGRyb3Bkb3duVGl0bGUgPSAnJztcbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIHBsYWNlaG9sZGVyITogc3RyaW5nO1xuICAgIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBwdWJsaWMgZmFjZXRzITogTmF0dXJhbFNlYXJjaEZhY2V0cztcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JvdXBTZWxlY3Rpb25zPigpO1xuICAgIHB1YmxpYyBpbm5lclNlbGVjdGlvbnM6IEdyb3VwU2VsZWN0aW9ucyA9IFtdO1xuXG4gICAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3Rpb25zKHNlbGVjdGlvbjogR3JvdXBTZWxlY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuaW5uZXJTZWxlY3Rpb25zID0gZGVlcENsb25lKHNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUlucHV0KHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmlubmVyU2VsZWN0aW9uc1tpbmRleF0gPSBzZWxlY3Rpb247XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5pbm5lclNlbGVjdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRJbnB1dChzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXdWYWx1ZUlucHV0LmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5uZXJTZWxlY3Rpb25zLnB1c2goc2VsZWN0aW9uKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmlubmVyU2VsZWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUlucHV0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbm5lclNlbGVjdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmlubmVyU2VsZWN0aW9ucyk7XG4gICAgfVxufVxuIiwiPG5hdHVyYWwtaW5wdXRcbiAgICAoY2xlYXJlZCk9XCJyZW1vdmVJbnB1dChpKVwiXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ1cGRhdGVJbnB1dCgkZXZlbnQsIGkpXCJcbiAgICAqbmdGb3I9XCJsZXQgc2VsZWN0aW9uIG9mIGlubmVyU2VsZWN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgW2ZhY2V0c109XCJmYWNldHNcIlxuICAgIFtzZWxlY3Rpb25dPVwic2VsZWN0aW9uXCJcbj48L25hdHVyYWwtaW5wdXQ+XG5cbjxuYXR1cmFsLWlucHV0XG4gICAgI25ld1ZhbHVlSW5wdXRcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImFkZElucHV0KCRldmVudClcIlxuICAgIFtmYWNldHNdPVwiZmFjZXRzXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIHRhYkluZGV4PVwiMTBcIlxuICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgIFtkcm9wZG93blRpdGxlXT1cImRyb3Bkb3duVGl0bGVcIlxuPjwvbmF0dXJhbC1pbnB1dD5cbiJdfQ==