@sumaris-net/ngx-components 2.12.26-alpha2 → 2.12.26

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 (167) hide show
  1. package/doc/changelog.md +6 -0
  2. package/esm2022/src/app/admin/services/validator/person.validator.mjs +11 -8
  3. package/esm2022/src/app/admin/users/users.mjs +11 -5
  4. package/esm2022/src/app/core/account/account.page.mjs +12 -5
  5. package/esm2022/src/app/core/account/new-token.modal.mjs +15 -8
  6. package/esm2022/src/app/core/account/password/change-password.form.mjs +10 -5
  7. package/esm2022/src/app/core/account/password/change-password.page.mjs +9 -4
  8. package/esm2022/src/app/core/account/token.table.mjs +12 -5
  9. package/esm2022/src/app/core/auth/auth.form.mjs +11 -5
  10. package/esm2022/src/app/core/auth/auth.modal.mjs +17 -14
  11. package/esm2022/src/app/core/auth/reset-password.modal.mjs +20 -16
  12. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +13 -5
  13. package/esm2022/src/app/core/form/entity/editor.class.mjs +20 -14
  14. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +21 -10
  15. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +24 -11
  16. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +21 -5
  17. package/esm2022/src/app/core/form/form-container.class.mjs +5 -4
  18. package/esm2022/src/app/core/form/form.class.mjs +13 -13
  19. package/esm2022/src/app/core/form/list/list.form.mjs +20 -10
  20. package/esm2022/src/app/core/form/properties/properties.form.mjs +26 -17
  21. package/esm2022/src/app/core/form/properties/properties.table.mjs +14 -10
  22. package/esm2022/src/app/core/form/properties/property.validator.mjs +8 -5
  23. package/esm2022/src/app/core/form/username/username.form.mjs +10 -5
  24. package/esm2022/src/app/core/home/home.mjs +63 -40
  25. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +34 -21
  26. package/esm2022/src/app/core/menu/menu.component.mjs +53 -33
  27. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +15 -13
  28. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +15 -13
  29. package/esm2022/src/app/core/peer/select-peer.modal.mjs +40 -26
  30. package/esm2022/src/app/core/services/testing/referential.validator.mjs +8 -5
  31. package/esm2022/src/app/core/services/validator/account.validator.mjs +18 -8
  32. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +11 -9
  33. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +10 -8
  34. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +6 -5
  35. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +6 -5
  36. package/esm2022/src/app/core/settings/settings.page.mjs +35 -25
  37. package/esm2022/src/app/core/table/async-table.class.mjs +32 -16
  38. package/esm2022/src/app/core/table/column/actions-column.component.mjs +9 -8
  39. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +9 -8
  40. package/esm2022/src/app/core/table/column/row-field.component.mjs +11 -6
  41. package/esm2022/src/app/core/table/memory-table.class.mjs +4 -4
  42. package/esm2022/src/app/core/table/table.class.mjs +40 -27
  43. package/esm2022/src/app/core/table/table.pipes.mjs +21 -15
  44. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +8 -5
  45. package/esm2022/src/app/core/table/testing/table.testing.mjs +11 -6
  46. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +8 -5
  47. package/esm2022/src/app/core/table/testing/table2.testing.mjs +13 -9
  48. package/esm2022/src/app/shared/form/field.component.mjs +16 -14
  49. package/esm2022/src/app/shared/help/help.modal.mjs +25 -20
  50. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +40 -31
  51. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +18 -14
  52. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +14 -13
  53. package/esm2022/src/app/shared/material/badge/badge.test.mjs +8 -6
  54. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +21 -14
  55. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +12 -5
  56. package/esm2022/src/app/shared/material/chips/material.chips.mjs +23 -18
  57. package/esm2022/src/app/shared/material/datetime/material.date.mjs +41 -33
  58. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +42 -36
  59. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +41 -33
  60. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +13 -11
  61. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +14 -12
  62. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +14 -12
  63. package/esm2022/src/app/shared/material/duration/material.duration.mjs +29 -18
  64. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +14 -12
  65. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +32 -25
  66. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +20 -15
  67. package/esm2022/src/app/shared/material/testing/common.test.mjs +14 -12
  68. package/esm2022/src/app/shared/material/text/text-form.component.mjs +12 -5
  69. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +13 -6
  70. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +12 -13
  71. package/esm2022/src/app/shared/pipes/form.pipes.mjs +26 -18
  72. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +35 -33
  73. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +53 -28
  74. package/esm2022/src/app/shared/toolbar/toolbar.mjs +30 -20
  75. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +16 -14
  76. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +20 -18
  77. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +26 -18
  78. package/esm2022/src/app/social/message/message.form.mjs +10 -5
  79. package/esm2022/src/app/social/message/message.modal.mjs +19 -16
  80. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +27 -18
  81. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +40 -23
  82. package/fesm2022/sumaris-net.ngx-components.mjs +1250 -756
  83. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  84. package/package.json +1 -1
  85. package/src/app/admin/services/validator/person.validator.d.ts +3 -2
  86. package/src/app/admin/users/users.d.ts +4 -2
  87. package/src/app/core/account/account.page.d.ts +4 -2
  88. package/src/app/core/account/new-token.modal.d.ts +3 -2
  89. package/src/app/core/account/password/change-password.form.d.ts +4 -2
  90. package/src/app/core/account/password/change-password.page.d.ts +4 -2
  91. package/src/app/core/account/token.table.d.ts +6 -3
  92. package/src/app/core/auth/auth.form.d.ts +5 -3
  93. package/src/app/core/auth/auth.modal.d.ts +7 -5
  94. package/src/app/core/auth/reset-password.modal.d.ts +6 -6
  95. package/src/app/core/form/array/testing/form-array.test.d.ts +5 -2
  96. package/src/app/core/form/entity/editor.class.d.ts +7 -7
  97. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +5 -3
  98. package/src/app/core/form/entity/entity-editor.class.d.ts +7 -4
  99. package/src/app/core/form/entity/tab-editor.class.d.ts +11 -2
  100. package/src/app/core/form/form-container.class.d.ts +1 -2
  101. package/src/app/core/form/form.class.d.ts +3 -5
  102. package/src/app/core/form/list/list.form.d.ts +8 -3
  103. package/src/app/core/form/properties/properties.form.d.ts +7 -3
  104. package/src/app/core/form/properties/properties.table.d.ts +5 -3
  105. package/src/app/core/form/properties/property.validator.d.ts +3 -1
  106. package/src/app/core/form/username/username.form.d.ts +5 -3
  107. package/src/app/core/home/home.d.ts +22 -16
  108. package/src/app/core/install/install-upgrade-card.component.d.ts +15 -10
  109. package/src/app/core/menu/menu.component.d.ts +17 -13
  110. package/src/app/core/menu/testing/menu-other.testing.d.ts +5 -1
  111. package/src/app/core/menu/testing/menu.testing.d.ts +5 -1
  112. package/src/app/core/peer/select-peer.modal.d.ts +15 -10
  113. package/src/app/core/services/testing/referential.validator.d.ts +3 -2
  114. package/src/app/core/services/validator/account.validator.d.ts +8 -2
  115. package/src/app/core/services/validator/base.validator.class.d.ts +3 -3
  116. package/src/app/core/services/validator/local-settings.validator.d.ts +4 -3
  117. package/src/app/core/services/validator/user-settings.validator.d.ts +2 -2
  118. package/src/app/core/services/validator/user-token.validator.d.ts +2 -2
  119. package/src/app/core/settings/settings.page.d.ts +9 -3
  120. package/src/app/core/table/async-table.class.d.ts +14 -14
  121. package/src/app/core/table/column/actions-column.component.d.ts +3 -3
  122. package/src/app/core/table/column/nav-actions-column.component.d.ts +4 -4
  123. package/src/app/core/table/column/row-field.component.d.ts +2 -2
  124. package/src/app/core/table/memory-table.class.d.ts +2 -2
  125. package/src/app/core/table/table.class.d.ts +14 -15
  126. package/src/app/core/table/table.pipes.d.ts +5 -4
  127. package/src/app/core/table/testing/table-validator.service.d.ts +3 -2
  128. package/src/app/core/table/testing/table.testing.d.ts +4 -2
  129. package/src/app/core/table/testing/table2-validator.service.d.ts +3 -1
  130. package/src/app/core/table/testing/table2.testing.d.ts +4 -2
  131. package/src/app/shared/form/field.component.d.ts +5 -5
  132. package/src/app/shared/help/help.modal.d.ts +8 -7
  133. package/src/app/shared/image/gallery/image-gallery.component.d.ts +8 -8
  134. package/src/app/shared/inputs.d.ts +1 -1
  135. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +7 -6
  136. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +4 -4
  137. package/src/app/shared/material/badge/badge.test.d.ts +3 -2
  138. package/src/app/shared/material/boolean/material.boolean.d.ts +6 -5
  139. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +5 -2
  140. package/src/app/shared/material/chips/material.chips.d.ts +5 -5
  141. package/src/app/shared/material/datetime/material.date.d.ts +11 -10
  142. package/src/app/shared/material/datetime/material.dateshort.d.ts +11 -10
  143. package/src/app/shared/material/datetime/material.datetime.d.ts +11 -10
  144. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +4 -4
  145. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -3
  146. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -3
  147. package/src/app/shared/material/duration/material.duration.d.ts +12 -6
  148. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +3 -3
  149. package/src/app/shared/material/latlong/material.latlong.d.ts +9 -9
  150. package/src/app/shared/material/swipe/material.swipe.d.ts +5 -5
  151. package/src/app/shared/material/testing/common.test.d.ts +4 -4
  152. package/src/app/shared/material/text/text-form.component.d.ts +6 -3
  153. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +5 -2
  154. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +3 -4
  155. package/src/app/shared/pipes/form.pipes.d.ts +7 -6
  156. package/src/app/shared/pipes/selection.pipes.d.ts +10 -10
  157. package/src/app/shared/storage/storage-explorer.component.d.ts +15 -12
  158. package/src/app/shared/toolbar/toolbar.d.ts +12 -10
  159. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +4 -4
  160. package/src/app/shared/upload-file/upload-file.component.d.ts +3 -3
  161. package/src/app/social/job/progression/job-progression.icon.d.ts +6 -5
  162. package/src/app/social/message/message.form.d.ts +4 -2
  163. package/src/app/social/message/message.modal.d.ts +5 -5
  164. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +8 -7
  165. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +9 -8
  166. package/src/assets/manifest.json +1 -1
  167. package/src/theme/_ngx-components.table.scss +1 -2
@@ -1,15 +1,18 @@
1
- import { ChangeDetectorRef, inject, Pipe } from '@angular/core';
2
- import { FormErrorTranslator } from '../validator/form-error-adapter.class';
1
+ import { Pipe } from '@angular/core';
3
2
  import { equals, isNotNil } from '../functions';
4
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "../validator/form-error-adapter.class";
5
5
  export class FormErrorPipe {
6
+ service;
7
+ _ref;
6
8
  _value = '';
7
9
  _lastForm = null;
8
10
  _lastOptions = null;
9
11
  _onFormStatusChanges;
10
- cd = inject(ChangeDetectorRef);
11
- service = inject(FormErrorTranslator);
12
- constructor() { }
12
+ constructor(service, _ref) {
13
+ this.service = service;
14
+ this._ref = _ref;
15
+ }
13
16
  transform(form, opts) {
14
17
  if (!form) {
15
18
  this._dispose();
@@ -43,12 +46,12 @@ export class FormErrorPipe {
43
46
  const newValue = this.service.translateFormErrors(form, opts);
44
47
  if (newValue !== this._value) {
45
48
  this._value = newValue;
46
- this.cd.markForCheck();
49
+ this._ref.markForCheck();
47
50
  }
48
51
  }
49
52
  else if (this._value !== undefined) {
50
53
  this._value = undefined;
51
- this.cd.markForCheck();
54
+ this._ref.markForCheck();
52
55
  }
53
56
  }
54
57
  /**
@@ -58,7 +61,7 @@ export class FormErrorPipe {
58
61
  this._onFormStatusChanges?.unsubscribe();
59
62
  this._onFormStatusChanges = undefined;
60
63
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorPipe, deps: [{ token: i1.FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
62
65
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormErrorPipe, name: "formError", pure: false });
63
66
  }
64
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorPipe, decorators: [{
@@ -67,16 +70,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
67
70
  name: 'formError',
68
71
  pure: false,
69
72
  }]
70
- }], ctorParameters: () => [] });
73
+ }], ctorParameters: () => [{ type: i1.FormErrorTranslator }, { type: i0.ChangeDetectorRef }] });
71
74
  /**
72
75
  * Same a FormErrorPipe
73
76
  * @deprecated use `formError` instead
74
77
  */
75
78
  export class FormErrorTranslatePipe extends FormErrorPipe {
79
+ constructor(service, _ref) {
80
+ super(service, _ref);
81
+ }
76
82
  transform(form, opts) {
77
83
  return super.transform(form, opts);
78
84
  }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorTranslatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe });
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorTranslatePipe, deps: [{ token: i1.FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
80
86
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormErrorTranslatePipe, name: "translateFormError", pure: false });
81
87
  }
82
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormErrorTranslatePipe, decorators: [{
@@ -85,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
85
91
  name: 'translateFormError',
86
92
  pure: false,
87
93
  }]
88
- }] });
94
+ }], ctorParameters: () => [{ type: i1.FormErrorTranslator }, { type: i0.ChangeDetectorRef }] });
89
95
  export class FormGetPipe {
90
96
  transform(form, path) {
91
97
  return form.get(path);
@@ -139,14 +145,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
139
145
  }]
140
146
  }] });
141
147
  export class FormGetValuePipe {
148
+ _ref;
142
149
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
150
  _value = undefined;
144
151
  _lastControl = null;
145
152
  _lastPath;
146
153
  _onControlValueChanges;
147
154
  _onControlStatusChanges;
148
- cd = inject(ChangeDetectorRef);
149
- constructor() { }
155
+ constructor(_ref) {
156
+ this._ref = _ref;
157
+ }
150
158
  transform(form, path, listenStatusChanges = false) {
151
159
  if (!form) {
152
160
  this._dispose();
@@ -170,7 +178,7 @@ export class FormGetValuePipe {
170
178
  this._onControlValueChanges = control.valueChanges.subscribe((value) => {
171
179
  if (value !== this._value) {
172
180
  this._value = value;
173
- this.cd.markForCheck();
181
+ this._ref.markForCheck();
174
182
  }
175
183
  });
176
184
  // subscribe to statusChanges event
@@ -179,7 +187,7 @@ export class FormGetValuePipe {
179
187
  const value = control.value;
180
188
  if (value !== this._value) {
181
189
  this._value = value;
182
- this.cd.markForCheck();
190
+ this._ref.markForCheck();
183
191
  }
184
192
  });
185
193
  }
@@ -198,7 +206,7 @@ export class FormGetValuePipe {
198
206
  this._onControlStatusChanges?.unsubscribe();
199
207
  this._onControlStatusChanges = undefined;
200
208
  }
201
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormGetValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
209
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormGetValuePipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
202
210
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FormGetValuePipe, name: "formGetValue", pure: false });
203
211
  }
204
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FormGetValuePipe, decorators: [{
@@ -207,5 +215,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
207
215
  name: 'formGetValue',
208
216
  pure: false,
209
217
  }]
210
- }], ctorParameters: () => [] });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBYSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBNkIsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV2RyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7SUFDaEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzFDLFlBQVksR0FBcUMsSUFBSSxDQUFDO0lBQ3RELG9CQUFvQixDQUEyQjtJQUVwQyxFQUFFLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXpELGdCQUFlLENBQUM7SUFFaEIsU0FBUyxDQUFDLElBQXNCLEVBQUUsSUFBZ0M7UUFDaEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELDJFQUEyRTtRQUMzRSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXpCLGdC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SyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQzVCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3pCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7SUFDM0MsQ0FBQzt3R0F4RVUsZ0JBQWdCO3NHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMsIEZvcm1FcnJvclRyYW5zbGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3IvZm9ybS1lcnJvci1hZGFwdGVyLmNsYXNzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZXF1YWxzLCBpc05vdE5pbCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBfbGFzdEZvcm06IFVudHlwZWRGb3JtR3JvdXAgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFzdE9wdGlvbnM6IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb25Gb3JtU3RhdHVzQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KEZvcm1FcnJvclRyYW5zbGF0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0cmFuc2Zvcm0oZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmICghZm9ybSkge1xuICAgICAgdGhpcy5fZGlzcG9zZSgpO1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChmb3JtID09PSB0aGlzLl9sYXN0Rm9ybSAmJiBlcXVhbHMob3B0cywgdGhpcy5fbGFzdE9wdGlvbnMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gc3RvcmUgdGhlIHF1ZXJ5LCBpbiBjYXNlIGl0IGNoYW5nZXNcbiAgICB0aGlzLl9sYXN0Rm9ybSA9IGZvcm07XG5cbiAgICAvLyBzdG9yZSB0aGUgcGFyYW1zLCBpbiBjYXNlIHRoZXkgY2hhbmdlXG4gICAgdGhpcy5fbGFzdE9wdGlvbnMgPSBvcHRzO1xuXG4gICAgLy8gc2V0IHRoZSB2YWx1ZVxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlKGZvcm0sIG9wdHMpO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgYSBzdWJzY3JpcHRpb24gdG8gb25MYW5nQ2hhbmdlLCBjbGVhbiBpdFxuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcblxuICAgIC8vIHN1YnNjcmliZSB0byBvblRyYW5zbGF0aW9uQ2hhbmdlIGV2ZW50LCBpbiBjYXNlIHRoZSB0cmFuc2xhdGlvbnMgY2hhbmdlXG4gICAgaWYgKCF0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gZm9ybS5zdGF0dXNDaGFuZ2VzLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlKGZvcm0sIG9wdHMsIHN0YXR1cyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRlT3B0aW9ucywgc3RhdHVzPzogYW55KSB7XG4gICAgaWYgKHN0YXR1cyA/IHN0YXR1cyA9PT0gJ0lOVkFMSUQnIDogZm9ybS5pbnZhbGlkKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuc2VydmljZS50cmFuc2xhdGVGb3JtRXJyb3JzKGZvcm0sIG9wdHMpO1xuICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogU2FtZSBhIEZvcm1FcnJvclBpcGVcbiAqIEBkZXByZWNhdGVkIHVzZSBgZm9ybUVycm9yYCBpbnN0ZWFkXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JUcmFuc2xhdGVQaXBlIGV4dGVuZHMgRm9ybUVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oZm9ybSwgb3B0cyk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRDb250cm9sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEFycmF5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBpc05vdE5pbChwYXRoKSA/IGZvcm0uZ2V0KHBhdGgpIDogZm9ybSkgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0R3JvdXAnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNkID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtPFQgPSBhbnk+KGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcsIGxpc3RlblN0YXR1c0NoYW5nZXMgPSBmYWxzZSk6IFQge1xuICAgIGlmICghZm9ybSkge1xuICAgICAgdGhpcy5fZGlzcG9zZSgpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhc2sgYW5vdGhlciB0aW1lIGZvciB0aGUgc2FtZSBmb3JtIGFuZCBvcHRzLCByZXR1cm4gdGhlIGxhc3QgdmFsdWVcbiAgICBpZiAoZm9ybSA9PT0gdGhpcy5fbGFzdENvbnRyb2wgJiYgZXF1YWxzKHBhdGgsIHRoaXMuX2xhc3RQYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdENvbnRyb2wgPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RQYXRoID0gcGF0aDtcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICBjb25zdCBjb250cm9sID0gcGF0aCA/IGZvcm0uZ2V0KHBhdGgpIDogZm9ybTtcbiAgICB0aGlzLl92YWx1ZSA9IGNvbnRyb2w/LnZhbHVlO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHN1YnNjcmlwdGlvbiwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gYW55IGV4aXN0aW5nIHN1YnNjcmlwdGlvbiB0byBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xWYWx1ZUNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fb25Db250cm9sU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
218
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFNaEQsTUFBTSxPQUFPLGFBQWE7SUFPZDtJQUNBO0lBUEYsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFNBQVMsR0FBNEIsSUFBSSxDQUFDO0lBQzFDLFlBQVksR0FBcUMsSUFBSSxDQUFDO0lBQ3RELG9CQUFvQixDQUEyQjtJQUV2RCxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixTQUFTLENBQUMsSUFBc0IsRUFBRSxJQUFnQztRQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1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Q2xFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQzVCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7SUFDM0MsQ0FBQzt3R0F0RVUsZ0JBQWdCO3NHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zLCBGb3JtRXJyb3JUcmFuc2xhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGVxdWFscywgaXNOb3ROaWwgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtRXJyb3InLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVycm9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ZhbHVlID0gJyc7XG4gIHByaXZhdGUgX2xhc3RGb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2xhc3RPcHRpb25zOiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX29uRm9ybVN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlcnZpY2U6IEZvcm1FcnJvclRyYW5zbGF0b3IsXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdGVPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhc2sgYW5vdGhlciB0aW1lIGZvciB0aGUgc2FtZSBmb3JtIGFuZCBvcHRzLCByZXR1cm4gdGhlIGxhc3QgdmFsdWVcbiAgICBpZiAoZm9ybSA9PT0gdGhpcy5fbGFzdEZvcm0gJiYgZXF1YWxzKG9wdHMsIHRoaXMuX2xhc3RPcHRpb25zKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVmFsdWUoZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPyBzdGF0dXMgPT09ICdJTlZBTElEJyA6IGZvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnNlcnZpY2UudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGFueSBleGlzdGluZyBzdWJzY3JpcHRpb24gdG8gY2hhbmdlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBfZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uRm9ybVN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTYW1lIGEgRm9ybUVycm9yUGlwZVxuICogQGRlcHJlY2F0ZWQgdXNlIGBmb3JtRXJyb3JgIGluc3RlYWRcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlRm9ybUVycm9yJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgZXh0ZW5kcyBGb3JtRXJyb3JQaXBlIHtcbiAgY29uc3RydWN0b3Ioc2VydmljZTogRm9ybUVycm9yVHJhbnNsYXRvciwgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihzZXJ2aWNlLCBfcmVmKTtcbiAgfVxuICB0cmFuc2Zvcm0oZm9ybTogVW50eXBlZEZvcm1Hcm91cCwgb3B0cz86IEZvcm1FcnJvclRyYW5zbGF0ZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oZm9ybSwgb3B0cyk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRDb250cm9sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEFycmF5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBpc05vdE5pbChwYXRoKSA/IGZvcm0uZ2V0KHBhdGgpIDogZm9ybSkgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0R3JvdXAnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHRyYW5zZm9ybTxUID0gYW55Pihmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nLCBsaXN0ZW5TdGF0dXNDaGFuZ2VzID0gZmFsc2UpOiBUIHtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RDb250cm9sICYmIGVxdWFscyhwYXRoLCB0aGlzLl9sYXN0UGF0aCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RDb250cm9sID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0UGF0aCA9IHBhdGg7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgY29uc3QgY29udHJvbCA9IHBhdGggPyBmb3JtLmdldChwYXRoKSA6IGZvcm07XG4gICAgdGhpcy5fdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIC8vIHN1YnNjcmliZSB0byB2YWx1ZUNoYW5nZXMgZXZlbnRcbiAgICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,16 +1,18 @@
1
- import { ChangeDetectorRef, inject, Pipe } from '@angular/core';
1
+ import { Pipe } from '@angular/core';
2
2
  import { filter } from 'rxjs/operators';
3
3
  import { equals } from '../functions';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AbstractSelectionModelPipe {
6
+ _ref;
6
7
  _result = undefined;
7
8
  _lastSelection = null;
8
9
  _lastValue;
9
10
  _lastOpts;
10
11
  _shouldSubscribeToChanges = true;
11
12
  _onSelectionChanges;
12
- cd = inject(ChangeDetectorRef);
13
- constructor() { }
13
+ constructor(_ref) {
14
+ this._ref = _ref;
15
+ }
14
16
  transform(selection, value, opts) {
15
17
  if (!selection) {
16
18
  this._dispose();
@@ -40,11 +42,11 @@ export class AbstractSelectionModelPipe {
40
42
  }
41
43
  _subscribe(selection, value, opts) {
42
44
  // subscribe to valueChanges event
43
- return selection.changed.pipe(filter((selectionChange) => this._filterSelectionChange(selectionChange, value, opts))).subscribe(() => {
45
+ return selection.changed.pipe(filter((selectionChange) => this._filterSelectionChange(selectionChange, value, opts))).subscribe((_) => {
44
46
  const result = this._transform(selection, value);
45
47
  if (this._result !== result) {
46
48
  this._result = result;
47
- this.cd.markForCheck();
49
+ this._ref.markForCheck();
48
50
  }
49
51
  });
50
52
  }
@@ -58,7 +60,7 @@ export class AbstractSelectionModelPipe {
58
60
  _filterSelectionChange(selectionChange, value, opts) {
59
61
  return true;
60
62
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractSelectionModelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractSelectionModelPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
62
64
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AbstractSelectionModelPipe, name: "abstract-selection" });
63
65
  }
64
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractSelectionModelPipe, decorators: [{
@@ -66,19 +68,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
66
68
  args: [{
67
69
  name: 'abstract-selection',
68
70
  }]
69
- }], ctorParameters: () => [] });
71
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
70
72
  export class IsSelectedPipe extends AbstractSelectionModelPipe {
71
- constructor() {
72
- super();
73
+ constructor(_ref) {
74
+ super(_ref);
73
75
  }
74
76
  _transform(selection, value) {
75
77
  return selection.isSelected(value);
76
78
  }
77
79
  _filterSelectionChange(selectionChange, value) {
78
- // console.log('TODO isSelectedPipe._filterSelectionChange()', selectionChange, value);
80
+ console.log('TODO isSelectedPipe._filterSelectionChange()', selectionChange, value);
79
81
  return selectionChange?.added?.includes(value) || selectionChange?.removed?.includes(value) || false;
80
82
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSelectedPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
82
84
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsSelectedPipe, name: "isSelected", pure: false });
83
85
  }
84
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSelectedPipe, decorators: [{
@@ -87,15 +89,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
87
89
  name: 'isSelected',
88
90
  pure: false,
89
91
  }]
90
- }], ctorParameters: () => [] });
92
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
91
93
  export class IsNotEmptySelectionPipe extends AbstractSelectionModelPipe {
92
- constructor() {
93
- super();
94
+ constructor(_ref) {
95
+ super(_ref);
94
96
  }
95
97
  _transform(selection) {
96
98
  return selection.hasValue();
97
99
  }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotEmptySelectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
100
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotEmptySelectionPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
99
101
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsNotEmptySelectionPipe, name: "isNotEmptySelection", pure: false });
100
102
  }
101
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsNotEmptySelectionPipe, decorators: [{
@@ -104,15 +106,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
104
106
  name: 'isNotEmptySelection',
105
107
  pure: false,
106
108
  }]
107
- }], ctorParameters: () => [] });
109
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
108
110
  export class IsEmptySelectionPipe extends AbstractSelectionModelPipe {
109
- constructor() {
110
- super();
111
+ constructor(_ref) {
112
+ super(_ref);
111
113
  }
112
114
  _transform(selection) {
113
115
  return selection.isEmpty();
114
116
  }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsEmptySelectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsEmptySelectionPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
116
118
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsEmptySelectionPipe, name: "isEmptySelection", pure: false });
117
119
  }
118
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsEmptySelectionPipe, decorators: [{
@@ -121,15 +123,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
121
123
  name: 'isEmptySelection',
122
124
  pure: false,
123
125
  }]
124
- }], ctorParameters: () => [] });
126
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
125
127
  export class SelectionLengthPipe extends AbstractSelectionModelPipe {
126
- constructor() {
127
- super();
128
+ constructor(_ref) {
129
+ super(_ref);
128
130
  }
129
131
  _transform(selection) {
130
132
  return selection.selected.length;
131
133
  }
132
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectionLengthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectionLengthPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
133
135
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SelectionLengthPipe, name: "selectionLength", pure: false });
134
136
  }
135
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectionLengthPipe, decorators: [{
@@ -138,16 +140,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
138
140
  name: 'selectionLength',
139
141
  pure: false,
140
142
  }]
141
- }], ctorParameters: () => [] });
143
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
142
144
  export class IsMultipleSelectionPipe extends AbstractSelectionModelPipe {
143
- constructor() {
144
- super();
145
+ constructor(_ref) {
146
+ super(_ref);
145
147
  this._shouldSubscribeToChanges = false;
146
148
  }
147
149
  _transform(selection) {
148
150
  return selection.isMultipleSelection();
149
151
  }
150
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsMultipleSelectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsMultipleSelectionPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
151
153
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsMultipleSelectionPipe, name: "isMultipleSelection", pure: false });
152
154
  }
153
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsMultipleSelectionPipe, decorators: [{
@@ -156,16 +158,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
156
158
  name: 'isMultipleSelection',
157
159
  pure: false,
158
160
  }]
159
- }], ctorParameters: () => [] });
161
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
160
162
  export class IsSingleSelectionPipe extends AbstractSelectionModelPipe {
161
- constructor() {
162
- super();
163
+ constructor(_ref) {
164
+ super(_ref);
163
165
  this._shouldSubscribeToChanges = false;
164
166
  }
165
167
  _transform(selection) {
166
168
  return !selection.isMultipleSelection();
167
169
  }
168
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSingleSelectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSingleSelectionPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
169
171
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: IsSingleSelectionPipe, name: "isSingleSelection", pure: false });
170
172
  }
171
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: IsSingleSelectionPipe, decorators: [{
@@ -174,5 +176,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
174
176
  name: 'isSingleSelection',
175
177
  pure: false,
176
178
  }]
177
- }], ctorParameters: () => [] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvc2VsZWN0aW9uLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUcxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLdEMsTUFBTSxPQUFnQiwwQkFBMEI7SUFDcEMsT0FBTyxHQUFNLFNBQVMsQ0FBQztJQUV6QixjQUFjLEdBQStCLElBQUksQ0FBQztJQUNsRCxVQUFVLENBQUk7SUFDZCxTQUFTLENBQUk7SUFDWCx5QkFBeUIsR0FBRyxJQUFJLENBQUM7SUFDbkMsbUJBQW1CLENBQTJCO0lBQ25DLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVsRCxnQkFBeUIsQ0FBQztJQUUxQixTQUFTLENBQUMsU0FBOEIsRUFBRSxLQUFTLEVBQUUsSUFBUTtRQUMzRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELDJFQUEyRTtRQUMzRSxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbkcsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFFaEMsd0NBQXdDO1FBQ3hDLElBQUksQ0FB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SUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBQ1MsVUFBVSxDQUFDLFNBQThCO1FBQ2pELE9BQU8sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMxQyxDQUFDO3dHQVBVLHFCQUFxQjtzR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWJzdHJhY3Qtc2VsZWN0aW9uJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8VCwgUiwgTyA9IHZvaWQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9yZXN1bHQ6IFIgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0VmFsdWU6IFQ7XG4gIHByaXZhdGUgX2xhc3RPcHRzOiBPO1xuICBwcm90ZWN0ZWQgX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IHRydWU7XG4gIHByaXZhdGUgX29uU2VsZWN0aW9uQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU/OiBULCBvcHRzPzogTyk6IFIge1xuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChzZWxlY3Rpb24gPT09IHRoaXMuX2xhc3RTZWxlY3Rpb24gJiYgdmFsdWUgPT09IHRoaXMuX2xhc3RWYWx1ZSAmJiBlcXVhbHMob3B0cywgdGhpcy5fbGFzdE9wdHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdFNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9sYXN0T3B0cyA9IG9wdHM7XG5cbiAgICAvLyBzZXQgdGhlIHJlc3VsdFxuICAgIHRoaXMuX3Jlc3VsdCA9IHRoaXMuX3RyYW5zZm9ybShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgIGlmICh0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcyA9IHRoaXMuX3N1YnNjcmliZShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdWJzY3JpYmUoc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxUPiwgdmFsdWU6IFQsIG9wdHM/OiBPKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUoZmlsdGVyKChzZWxlY3Rpb25DaGFuZ2UpID0+IHRoaXMuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2UsIHZhbHVlLCBvcHRzKSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl90cmFuc2Zvcm0oc2VsZWN0aW9uLCB2YWx1ZSk7XG4gICAgICBpZiAodGhpcy5fcmVzdWx0ICE9PSByZXN1bHQpIHtcbiAgICAgICAgdGhpcy5fcmVzdWx0ID0gcmVzdWx0O1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGFueSBleGlzdGluZyBzdWJzY3JpcHRpb24gdG8gY2hhbmdlIGV2ZW50c1xuICAgKi9cbiAgcHJvdGVjdGVkIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3RyYW5zZm9ybShzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPFQ+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogUjtcblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNTZWxlY3RlZCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJc1NlbGVjdGVkUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPGFueSwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNTZWxlY3RlZCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZTogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2coJ1RPRE8gaXNTZWxlY3RlZFBpcGUuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZSgpJywgc2VsZWN0aW9uQ2hhbmdlLCB2YWx1ZSk7XG4gICAgcmV0dXJuIHNlbGVjdGlvbkNoYW5nZT8uYWRkZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBzZWxlY3Rpb25DaGFuZ2U/LnJlbW92ZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBmYWxzZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc05vdEVtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTm90RW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaGFzVmFsdWUoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc0VtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzRW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNFbXB0eSgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NlbGVjdGlvbkxlbmd0aCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25MZW5ndGhQaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgbnVtYmVyPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc011bHRpcGxlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTXVsdGlwbGVTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzU2luZ2xlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzU2luZ2xlU2VsZWN0aW9uUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPHZvaWQsIGJvb2xlYW4+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fc2hvdWxkU3Vic2NyaWJlVG9DaGFuZ2VzID0gZmFsc2U7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG4iXX0=
179
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnBpcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvc2VsZWN0aW9uLnBpcGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFLdEMsTUFBTSxPQUFnQiwwQkFBMEI7SUFTZDtJQVJ0QixPQUFPLEdBQU0sU0FBUyxDQUFDO0lBRXpCLGNBQWMsR0FBK0IsSUFBSSxDQUFDO0lBQ2xELFVBQVUsQ0FBSTtJQUNkLFNBQVMsQ0FBSTtJQUNYLHlCQUF5QixHQUFHLElBQUksQ0FBQztJQUNuQyxtQkFBbUIsQ0FBMkI7SUFFdEQsWUFBZ0MsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFBRyxDQUFDO0lBRTNELFNBQVMsQ0FBQyxTQUE4QixFQUFFLEtBQVMsRUFBRSxJQUFRO1FBQzNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxjQUFjLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUVoQyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7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RkFBdkIsdUJBQXVCO2tCQUpuQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxxQkFBcUI7b0JBQzNCLElBQUksRUFBRSxLQUFLO2lCQUNaOztBQWVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBeUM7SUFDbEYsWUFBWSxJQUF1QjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxVQUFVLENBQUMsU0FBOEI7UUFDakQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7d0dBUFUscUJBQXFCO3NHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25DaGFuZ2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWJzdHJhY3Qtc2VsZWN0aW9uJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8VCwgUiwgTyA9IHZvaWQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9yZXN1bHQ6IFIgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0VmFsdWU6IFQ7XG4gIHByaXZhdGUgX2xhc3RPcHRzOiBPO1xuICBwcm90ZWN0ZWQgX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IHRydWU7XG4gIHByaXZhdGUgX29uU2VsZWN0aW9uQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU/OiBULCBvcHRzPzogTyk6IFIge1xuICAgIGlmICghc2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChzZWxlY3Rpb24gPT09IHRoaXMuX2xhc3RTZWxlY3Rpb24gJiYgdmFsdWUgPT09IHRoaXMuX2xhc3RWYWx1ZSAmJiBlcXVhbHMob3B0cywgdGhpcy5fbGFzdE9wdHMpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdFNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9sYXN0T3B0cyA9IG9wdHM7XG5cbiAgICAvLyBzZXQgdGhlIHJlc3VsdFxuICAgIHRoaXMuX3Jlc3VsdCA9IHRoaXMuX3RyYW5zZm9ybShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBzdWJzY3JpcHRpb24sIGNsZWFuIGl0XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuXG4gICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgIGlmICh0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMpIHtcbiAgICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcyA9IHRoaXMuX3N1YnNjcmliZShzZWxlY3Rpb24sIHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zdWJzY3JpYmUoc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxUPiwgdmFsdWU6IFQsIG9wdHM/OiBPKTogU3Vic2NyaXB0aW9uIHtcbiAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgcmV0dXJuIHNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUoZmlsdGVyKChzZWxlY3Rpb25DaGFuZ2UpID0+IHRoaXMuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2UsIHZhbHVlLCBvcHRzKSkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdHJhbnNmb3JtKHNlbGVjdGlvbiwgdmFsdWUpO1xuICAgICAgaWYgKHRoaXMuX3Jlc3VsdCAhPT0gcmVzdWx0KSB7XG4gICAgICAgIHRoaXMuX3Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGFueSBleGlzdGluZyBzdWJzY3JpcHRpb24gdG8gY2hhbmdlIGV2ZW50c1xuICAgKi9cbiAgcHJvdGVjdGVkIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgX3RyYW5zZm9ybShzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPFQ+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogUjtcblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZT86IFQsIG9wdHM/OiBPKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnaXNTZWxlY3RlZCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBJc1NlbGVjdGVkUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPGFueSwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiwgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNTZWxlY3RlZCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2ZpbHRlclNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb25DaGFuZ2U6IFNlbGVjdGlvbkNoYW5nZTxhbnk+LCB2YWx1ZTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ1RPRE8gaXNTZWxlY3RlZFBpcGUuX2ZpbHRlclNlbGVjdGlvbkNoYW5nZSgpJywgc2VsZWN0aW9uQ2hhbmdlLCB2YWx1ZSk7XG4gICAgcmV0dXJuIHNlbGVjdGlvbkNoYW5nZT8uYWRkZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBzZWxlY3Rpb25DaGFuZ2U/LnJlbW92ZWQ/LmluY2x1ZGVzKHZhbHVlKSB8fCBmYWxzZTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc05vdEVtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTm90RW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaGFzVmFsdWUoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc0VtcHR5U2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzRW1wdHlTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4ge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNFbXB0eSgpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NlbGVjdGlvbkxlbmd0aCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25MZW5ndGhQaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgbnVtYmVyPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKF9yZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX3JlZik7XG4gIH1cbiAgcHJvdGVjdGVkIF90cmFuc2Zvcm0oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdpc011bHRpcGxlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzTXVsdGlwbGVTZWxlY3Rpb25QaXBlIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Rpb25Nb2RlbFBpcGU8dm9pZCwgYm9vbGVhbj4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKF9yZWYpO1xuICAgIHRoaXMuX3Nob3VsZFN1YnNjcmliZVRvQ2hhbmdlcyA9IGZhbHNlO1xuICB9XG4gIHByb3RlY3RlZCBfdHJhbnNmb3JtKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWxlY3Rpb24uaXNNdWx0aXBsZVNlbGVjdGlvbigpO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2lzU2luZ2xlU2VsZWN0aW9uJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElzU2luZ2xlU2VsZWN0aW9uUGlwZSBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uTW9kZWxQaXBlPHZvaWQsIGJvb2xlYW4+IHtcbiAgY29uc3RydWN0b3IoX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfcmVmKTtcbiAgICB0aGlzLl9zaG91bGRTdWJzY3JpYmVUb0NoYW5nZXMgPSBmYWxzZTtcbiAgfVxuICBwcm90ZWN0ZWQgX3RyYW5zZm9ybShzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXNlbGVjdGlvbi5pc011bHRpcGxlU2VsZWN0aW9uKCk7XG4gIH1cbn1cbiJdfQ==