@taiga-ui/core 4.37.0 → 4.38.0-canary.30f044e

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 (52) hide show
  1. package/animations/animations.d.ts +74 -2
  2. package/components/alert/alert.component.d.ts +3 -9
  3. package/components/dialog/dialog.component.d.ts +3 -17
  4. package/components/error/error.component.d.ts +0 -1
  5. package/components/expand/expand-content.directive.d.ts +3 -0
  6. package/components/expand/expand.component.d.ts +3 -0
  7. package/components/expand/expand.d.ts +3 -0
  8. package/components/scrollbar/scroll-controls.component.d.ts +0 -1
  9. package/components/textfield/textfield.component.d.ts +2 -1
  10. package/components/textfield/textfield.directive.d.ts +1 -1
  11. package/directives/dropdown/dropdown.component.d.ts +6 -4
  12. package/directives/hint/hint.component.d.ts +2 -9
  13. package/esm2022/animations/animations.mjs +72 -3
  14. package/esm2022/components/alert/alert.component.mjs +11 -14
  15. package/esm2022/components/alert/alerts.component.mjs +4 -4
  16. package/esm2022/components/dialog/dialog.component.mjs +11 -27
  17. package/esm2022/components/dialog/dialogs.component.mjs +12 -5
  18. package/esm2022/components/error/error.component.mjs +6 -10
  19. package/esm2022/components/expand/expand-content.directive.mjs +4 -1
  20. package/esm2022/components/expand/expand.component.mjs +4 -1
  21. package/esm2022/components/expand/expand.mjs +4 -1
  22. package/esm2022/components/root/root.component.mjs +10 -4
  23. package/esm2022/components/scrollbar/scroll-controls.component.mjs +5 -7
  24. package/esm2022/components/textfield/textfield.component.mjs +9 -7
  25. package/esm2022/components/textfield/textfield.directive.mjs +5 -9
  26. package/esm2022/directives/dropdown/dropdown.component.mjs +14 -15
  27. package/esm2022/directives/hint/hint-unstyled.component.mjs +2 -5
  28. package/esm2022/directives/hint/hint.component.mjs +9 -12
  29. package/esm2022/directives/hint/hints.component.mjs +6 -6
  30. package/fesm2022/taiga-ui-core-animations.mjs +71 -2
  31. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-components-alert.mjs +13 -16
  33. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-components-dialog.mjs +21 -29
  35. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-core-components-error.mjs +5 -9
  37. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-components-expand.mjs +9 -0
  39. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-core-components-root.mjs +9 -3
  41. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +4 -6
  43. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-components-textfield.mjs +12 -11
  45. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +14 -14
  47. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-directives-hint.mjs +13 -18
  49. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  50. package/package.json +15 -15
  51. package/styles/mixins/mixins.less +4 -0
  52. package/styles/mixins/mixins.scss +4 -0
@@ -3,15 +3,18 @@ const TRANSITION = '{{duration}}ms ease-in-out';
3
3
  const DURATION = { params: { duration: 300 } };
4
4
  const STAGGER = 300;
5
5
  /**
6
- * Add to enable child :leave animation (fixes https://github.com/angular/angular/issues/15753)
6
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
7
7
  */
8
8
  export const tuiParentAnimation = trigger('tuiParentAnimation', [
9
9
  transition(':leave', [query(':scope > *', [animateChild()], { optional: true })]),
10
10
  ]);
11
11
  /**
12
- * Add on parent to stop initial :enter animation for children
12
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
13
13
  */
14
14
  export const tuiParentStop = trigger('tuiParentStop', [transition(':enter', [])]);
15
+ /**
16
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
17
+ */
15
18
  export const tuiHost = trigger('tuiHost', [
16
19
  transition(':enter', [
17
20
  style({ overflow: 'clip' }),
@@ -19,10 +22,16 @@ export const tuiHost = trigger('tuiHost', [
19
22
  ]),
20
23
  transition(':leave', [query(':scope > *', [animateChild()], { optional: true })]),
21
24
  ]);
25
+ /**
26
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
27
+ */
22
28
  export const tuiHeightCollapse = trigger('tuiHeightCollapse', [
23
29
  transition(':enter', [style({ height: 0 }), animate(TRANSITION, style({ height: '*' }))], DURATION),
24
30
  transition(':leave', [style({ height: '*' }), animate(TRANSITION, style({ height: 0 }))], DURATION),
25
31
  ]);
32
+ /**
33
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
34
+ */
26
35
  export const tuiHeightCollapseList = trigger('tuiHeightCollapseList', [
27
36
  transition('* => *', [
28
37
  query(':enter', [
@@ -39,10 +48,16 @@ export const tuiHeightCollapseList = trigger('tuiHeightCollapseList', [
39
48
  }),
40
49
  ], DURATION),
41
50
  ]);
51
+ /**
52
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
53
+ */
42
54
  export const tuiWidthCollapse = trigger('tuiWidthCollapse', [
43
55
  transition(':enter', [style({ width: 0 }), animate(TRANSITION, style({ width: '*' }))], DURATION),
44
56
  transition(':leave', [style({ width: '*' }), animate(TRANSITION, style({ width: 0 }))], DURATION),
45
57
  ]);
58
+ /**
59
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
60
+ */
46
61
  export const tuiWidthCollapseList = trigger('tuiWidthCollapseList', [
47
62
  transition('* => *', [
48
63
  query(':enter', [
@@ -59,6 +74,9 @@ export const tuiWidthCollapseList = trigger('tuiWidthCollapseList', [
59
74
  }),
60
75
  ], DURATION),
61
76
  ]);
77
+ /**
78
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
79
+ */
62
80
  export const tuiCrossFade = trigger('tuiCrossFade', [
63
81
  transition(':enter', [style({ opacity: 0 }), animate(TRANSITION, style({ opacity: 1 }))], { params: { duration: 300 } }),
64
82
  transition(':leave', [
@@ -81,10 +99,16 @@ export const tuiCrossFade = trigger('tuiCrossFade', [
81
99
  },
82
100
  }),
83
101
  ]);
102
+ /**
103
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
104
+ */
84
105
  export const tuiFadeIn = trigger('tuiFadeIn', [
85
106
  transition(':enter', [style({ opacity: 0 }), animate(TRANSITION, style({ opacity: 1 }))], DURATION),
86
107
  transition(':leave', [style({ opacity: 1 }), animate(TRANSITION, style({ opacity: 0 }))], DURATION),
87
108
  ]);
109
+ /**
110
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
111
+ */
88
112
  export const tuiFadeInList = trigger('tuiFadeInList', [
89
113
  transition('* => *', [
90
114
  query(':enter', [
@@ -101,6 +125,9 @@ export const tuiFadeInList = trigger('tuiFadeInList', [
101
125
  }),
102
126
  ], DURATION),
103
127
  ]);
128
+ /**
129
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
130
+ */
104
131
  export const tuiFadeInTop = trigger('tuiFadeInTop', [
105
132
  transition(':enter', [
106
133
  style({ transform: 'translateY(-{{start}}px)', opacity: 0 }),
@@ -111,6 +138,9 @@ export const tuiFadeInTop = trigger('tuiFadeInTop', [
111
138
  animate(TRANSITION, style({ transform: 'translateY(-{{start}}px)', opacity: 0 })),
112
139
  ], { params: { end: 0, start: 10, duration: 300 } }),
113
140
  ]);
141
+ /**
142
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
143
+ */
114
144
  export const tuiFadeInBottom = trigger('tuiFadeInBottom', [
115
145
  transition(':enter', [
116
146
  style({ transform: 'translateY({{start}}px)', opacity: 0 }),
@@ -121,6 +151,9 @@ export const tuiFadeInBottom = trigger('tuiFadeInBottom', [
121
151
  animate(TRANSITION, style({ transform: 'translateY({{start}}px)', opacity: 0 })),
122
152
  ], { params: { end: 0, start: 10, duration: 300 } }),
123
153
  ]);
154
+ /**
155
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
156
+ */
124
157
  export const tuiDropdownAnimation = trigger('tuiDropdownAnimation', [
125
158
  transition(':enter', [
126
159
  style({ transform: 'translateY(-{{start}}px)', opacity: 0 }),
@@ -131,6 +164,9 @@ export const tuiDropdownAnimation = trigger('tuiDropdownAnimation', [
131
164
  animate(TRANSITION, style({ transform: 'translateY(-{{start}}px)', opacity: 0 })),
132
165
  ], { params: { end: 0, start: 10, duration: 300 } }),
133
166
  ]);
167
+ /**
168
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
169
+ */
134
170
  export const tuiScaleIn = trigger('tuiScaleIn', [
135
171
  transition(':enter', [
136
172
  style({ transform: 'scale({{start}})' }),
@@ -141,6 +177,9 @@ export const tuiScaleIn = trigger('tuiScaleIn', [
141
177
  animate(TRANSITION, style({ transform: 'scale({{start}})' })),
142
178
  ], { params: { end: 1, start: 0, duration: 300 } }),
143
179
  ]);
180
+ /**
181
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
182
+ */
144
183
  export const tuiPop = trigger('tuiPop', [
145
184
  transition(':enter', [
146
185
  style({ transform: 'scale({{start}})' }),
@@ -153,6 +192,9 @@ export const tuiPop = trigger('tuiPop', [
153
192
  animate(TRANSITION, style({ transform: 'scale({{start}})' })),
154
193
  ], { params: { end: 1, middle: 1.1, start: 0, duration: 300 } }),
155
194
  ]);
195
+ /**
196
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
197
+ */
156
198
  export const tuiScaleInList = trigger('tuiScaleInList', [
157
199
  transition('* => *', [
158
200
  query(':enter', [
@@ -169,6 +211,9 @@ export const tuiScaleInList = trigger('tuiScaleInList', [
169
211
  ], { optional: true }),
170
212
  ], { params: { end: 1, start: 0, duration: 300 } }),
171
213
  ]);
214
+ /**
215
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
216
+ */
172
217
  export const tuiSlideIn = trigger('tuiSlideIn', [
173
218
  transition('* => left', [
174
219
  style({ transform: 'translateX(-{{start}})' }),
@@ -187,6 +232,9 @@ export const tuiSlideIn = trigger('tuiSlideIn', [
187
232
  animate(TRANSITION, style({ transform: 'translateX({{start}})' })),
188
233
  ], { params: { end: 0, start: '100%', duration: 300 } }),
189
234
  ]);
235
+ /**
236
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
237
+ */
190
238
  export const tuiSlideInLeft = trigger('tuiSlideInLeft', [
191
239
  transition(':enter', [
192
240
  style({ transform: 'translateX(-{{start}})' }),
@@ -197,6 +245,9 @@ export const tuiSlideInLeft = trigger('tuiSlideInLeft', [
197
245
  animate(TRANSITION, style({ transform: 'translateX(-{{start}})' })),
198
246
  ], { params: { end: 0, start: '100%', duration: 300 } }),
199
247
  ]);
248
+ /**
249
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
250
+ */
200
251
  export const tuiSlideInLeftList = trigger('tuiSlideInLeftList', [
201
252
  transition('* => *', [
202
253
  query(':enter', [
@@ -213,6 +264,9 @@ export const tuiSlideInLeftList = trigger('tuiSlideInLeftList', [
213
264
  ], { optional: true }),
214
265
  ], { params: { end: 0, start: '100%', duration: 300 } }),
215
266
  ]);
267
+ /**
268
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
269
+ */
216
270
  export const tuiSlideInRight = trigger('tuiSlideInRight', [
217
271
  transition(':enter', [
218
272
  style({ transform: 'translateX({{start}})' }),
@@ -223,6 +277,9 @@ export const tuiSlideInRight = trigger('tuiSlideInRight', [
223
277
  animate(TRANSITION, style({ transform: 'translateX({{start}})' })),
224
278
  ], { params: { end: 0, start: '100%', duration: 300 } }),
225
279
  ]);
280
+ /**
281
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
282
+ */
226
283
  export const tuiSlideInRightList = trigger('tuiSlideInRightList', [
227
284
  transition('* => *', [
228
285
  query(':enter', [
@@ -239,6 +296,9 @@ export const tuiSlideInRightList = trigger('tuiSlideInRightList', [
239
296
  ], { optional: true }),
240
297
  ], { params: { end: 0, start: '100%', duration: 300 } }),
241
298
  ]);
299
+ /**
300
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
301
+ */
242
302
  export const tuiSlideInTop = trigger('tuiSlideInTop', [
243
303
  transition(':enter', [
244
304
  style({ transform: 'translate3d(0,{{start}},0)', pointerEvents: 'none' }),
@@ -249,6 +309,9 @@ export const tuiSlideInTop = trigger('tuiSlideInTop', [
249
309
  animate(TRANSITION, style({ transform: 'translate3d(0,{{start}},0)' })),
250
310
  ], { params: { end: 0, start: '100%', duration: 300 } }),
251
311
  ]);
312
+ /**
313
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
314
+ */
252
315
  export const tuiSlideInTopList = trigger('tuiSlideInTopList', [
253
316
  transition('* => *', [
254
317
  query(':enter', [
@@ -265,6 +328,9 @@ export const tuiSlideInTopList = trigger('tuiSlideInTopList', [
265
328
  ], { optional: true }),
266
329
  ], { params: { end: 0, start: '100%', duration: 300 } }),
267
330
  ]);
331
+ /**
332
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
333
+ */
268
334
  export const tuiSlideInBottom = trigger('tuiSlideInBottom', [
269
335
  transition(':enter', [
270
336
  style({ transform: 'translateY(-{{start}})' }),
@@ -275,6 +341,9 @@ export const tuiSlideInBottom = trigger('tuiSlideInBottom', [
275
341
  animate(TRANSITION, style({ transform: 'translateY(-{{start}})' })),
276
342
  ], { params: { end: 0, start: '100%', duration: 300 } }),
277
343
  ]);
344
+ /**
345
+ * @deprecated Angular animations are deprecated, use {@link TuiAnimated} directive and CSS instead
346
+ */
278
347
  export const tuiSlideInBottomList = trigger('tuiSlideInBottomList', [
279
348
  transition('* => *', [
280
349
  query(':enter', [
@@ -291,4 +360,4 @@ export const tuiSlideInBottomList = trigger('tuiSlideInBottomList', [
291
360
  ], { optional: true }),
292
361
  ], { params: { end: 0, start: '100%', duration: 300 } }),
293
362
  ]);
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRCxNQUFNLFFBQVEsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUFDO0FBQzNDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQU9wQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUM1RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRTtJQUN0QyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUN6QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztLQUMxRCxDQUFDO0lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztDQUNsRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUU7SUFDMUQsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxRQUFRLENBQ1g7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9ELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtJQUNsRSxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNsQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEUsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RCxFQUNEO1lBQ0ksUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FDSjtLQUNKLEVBQ0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ3hELFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7SUFDaEUsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUM7WUFDakIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9ELEVBQ0Q7WUFDSSxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUNKO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQztZQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0QsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7S0FDSixFQUNELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFO0lBQ2hELFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDNUI7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDO1lBQ0YsT0FBTyxFQUFFLENBQUM7WUFDVixRQUFRLEVBQUUsVUFBVTtZQUNwQixJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsV0FBVztZQUNsQixNQUFNLEVBQUUsWUFBWTtZQUNwQixHQUFHLEVBQUUsU0FBUztTQUNqQixDQUFDO1FBQ0YsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztLQUMzQyxFQUNEO1FBQ0ksTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFLEdBQUc7WUFDYixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsTUFBTTtTQUNkO0tBQ0osQ0FDSjtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFO0lBQzFDLFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRTtJQUNsRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0QsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRCxFQUNEO1lBQ0ksUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FDSjtLQUNKLEVBQ0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUU7SUFDaEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDN0UsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDL0M7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNyRCxPQUFPLENBQ0gsVUFBVSxFQUNWLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDN0Q7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDdEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDN0UsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDL0M7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNyRCxPQUFPLENBQ0gsVUFBVSxFQUNWLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDNUQ7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtJQUNoRSxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztLQUM3RSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3JELE9BQU8sQ0FDSCxVQUFVLEVBQ1YsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUM3RDtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQy9DO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUU7SUFDNUMsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO0tBQzdFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFDLEVBQUMsQ0FDckU7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO0tBQzlELEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQzlDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUU7SUFDcEMsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7S0FDNUQsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMzRDtJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7UUFDNUQsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO0tBQzlELEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDM0Q7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFO0lBQ3BELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFDLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7YUFDNUQsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO2FBQzlELENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQzlDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUU7SUFDNUMsVUFBVSxDQUNOLFdBQVcsRUFDWDtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQztLQUNqRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtJQUNELFVBQVUsQ0FDTixXQUFXLEVBQ1g7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7S0FDcEUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7SUFDRCxVQUFVLENBQ04sWUFBWSxFQUNaO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO0tBQ2pFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0lBQ0QsVUFBVSxDQUNOLFlBQVksRUFDWjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFDLENBQUMsQ0FBQztLQUNuRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7SUFDcEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQztLQUNqRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7S0FDcEUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsb0JBQW9CLEVBQUU7SUFDNUQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQztZQUM1QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQzthQUNqRSxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUM7WUFDekMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7YUFDcEUsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO0tBQ0osRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3RELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7S0FDakUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQyxDQUFDO0tBQ25FLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFO0lBQzlELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFDLENBQUM7WUFDM0MsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7YUFDakUsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQyxDQUFDO2FBQ25FLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUU7SUFDbEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsMEJBQTBCLEVBQUMsQ0FBQyxDQUFDO0tBQ3RFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDRCQUE0QixFQUFDLENBQUMsQ0FBQztLQUN4RSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtJQUMxRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBQyxDQUFDO1lBQzNDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO2FBQ2pFLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtRQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztZQUN6QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFDLENBQUMsQ0FBQzthQUNuRSxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtJQUN4RCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO0tBQ2pFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQztLQUNwRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtJQUNoRSxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO2FBQ2pFLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtRQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztZQUN6QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQzthQUNwRSxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYW5pbWF0ZSxcbiAgICBhbmltYXRlQ2hpbGQsXG4gICAgcXVlcnksXG4gICAgc3RhZ2dlcixcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5jb25zdCBUUkFOU0lUSU9OID0gJ3t7ZHVyYXRpb259fW1zIGVhc2UtaW4tb3V0JztcbmNvbnN0IERVUkFUSU9OID0ge3BhcmFtczoge2R1cmF0aW9uOiAzMDB9fTtcbmNvbnN0IFNUQUdHRVIgPSAzMDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRHVyYXRpb25PcHRpb25zIHtcbiAgICBwYXJhbXM6IHtkdXJhdGlvbjogbnVtYmVyfTtcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFkZCB0byBlbmFibGUgY2hpbGQgOmxlYXZlIGFuaW1hdGlvbiAoZml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTU3NTMpXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQYXJlbnRBbmltYXRpb24gPSB0cmlnZ2VyKCd0dWlQYXJlbnRBbmltYXRpb24nLCBbXG4gICAgdHJhbnNpdGlvbignOmxlYXZlJywgW3F1ZXJ5KCc6c2NvcGUgPiAqJywgW2FuaW1hdGVDaGlsZCgpXSwge29wdGlvbmFsOiB0cnVlfSldKSxcbl0pO1xuXG4vKipcbiAqIEFkZCBvbiBwYXJlbnQgdG8gc3RvcCBpbml0aWFsIDplbnRlciBhbmltYXRpb24gZm9yIGNoaWxkcmVuXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQYXJlbnRTdG9wID0gdHJpZ2dlcigndHVpUGFyZW50U3RvcCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKTtcblxuZXhwb3J0IGNvbnN0IHR1aUhvc3QgPSB0cmlnZ2VyKCd0dWlIb3N0JywgW1xuICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe292ZXJmbG93OiAnY2xpcCd9KSxcbiAgICAgICAgcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KV0pLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZSA9IHRyaWdnZXIoJ3R1aUhlaWdodENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe2hlaWdodDogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6ICcqJ30pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAwfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpSGVpZ2h0Q29sbGFwc2VMaXN0ID0gdHJpZ2dlcigndHVpSGVpZ2h0Q29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAnKid9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2UgPSB0cmlnZ2VyKCd0dWlXaWR0aENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAnKid9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlXaWR0aENvbGxhcHNlTGlzdCA9IHRyaWdnZXIoJ3R1aVdpZHRoQ29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogJyonfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7d2lkdGg6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpQ3Jvc3NGYWRlID0gdHJpZ2dlcigndHVpQ3Jvc3NGYWRlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe29wYWNpdHk6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMX0pKV0sXG4gICAgICAgIHtwYXJhbXM6IHtkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgbGVmdDogJ3t7bGVmdH19JyxcbiAgICAgICAgICAgICAgICByaWdodDogJ3t7cmlnaHR9fScsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAne3tib3R0b219fScsXG4gICAgICAgICAgICAgICAgdG9wOiAne3t0b3B9fScsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAsXG4gICAgICAgICAgICAgICAgbGVmdDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbiA9IHRyaWdnZXIoJ3R1aUZhZGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW3N0eWxlKHtvcGFjaXR5OiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDF9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbc3R5bGUoe29wYWNpdHk6IDF9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbkxpc3QgPSB0cmlnZ2VyKCd0dWlGYWRlSW5MaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDF9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUZhZGVJblRvcCA9IHRyaWdnZXIoJ3R1aUZhZGVJblRvcCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogMTAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTixcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluQm90dG9tID0gdHJpZ2dlcigndHVpRmFkZUluQm90dG9tJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e3N0YXJ0fX1weCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgIFRSQU5TSVRJT04sXG4gICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRHJvcGRvd25BbmltYXRpb24gPSB0cmlnZ2VyKCd0dWlEcm9wZG93bkFuaW1hdGlvbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogMTAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTixcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbiA9IHRyaWdnZXIoJ3R1aVNjYWxlSW4nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19bXMge3tlYXNpbmd9fScsIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDEsIHN0YXJ0OiAwLCBkdXJhdGlvbjogMzAwLCBlYXNpbmc6ICdlYXNlLWluLW91dCd9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlQb3AgPSB0cmlnZ2VyKCd0dWlQb3AnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3ttaWRkbGV9fSknfSkpLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAxLCBtaWRkbGU6IDEuMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e21pZGRsZX19KSd9KSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgbWlkZGxlOiAxLjEsIHN0YXJ0OiAwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbkxpc3QgPSB0cmlnZ2VyKCd0dWlTY2FsZUluTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluID0gdHJpZ2dlcigndHVpU2xpZGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiBsZWZ0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJ2xlZnQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgte3tzdGFydH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IHJpZ2h0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAncmlnaHQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5MZWZ0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnQnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnRMaXN0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnRMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5Ub3AgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknLCBwb2ludGVyRXZlbnRzOiAnbm9uZSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tlbmR9fSwwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2VuZH19LDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblRvcExpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Cb3R0b20nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbUxpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluQm90dG9tTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG4iXX0=
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRCxNQUFNLFFBQVEsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUFDO0FBQzNDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQVVwQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUM1RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVsRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFO0lBQ3RDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxDQUFDLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFD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QyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO0tBQ0osRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgYW5pbWF0ZUNoaWxkLFxuICAgIHF1ZXJ5LFxuICAgIHN0YWdnZXIsXG4gICAgc3R5bGUsXG4gICAgdHJhbnNpdGlvbixcbiAgICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuY29uc3QgVFJBTlNJVElPTiA9ICd7e2R1cmF0aW9ufX1tcyBlYXNlLWluLW91dCc7XG5jb25zdCBEVVJBVElPTiA9IHtwYXJhbXM6IHtkdXJhdGlvbjogMzAwfX07XG5jb25zdCBTVEFHR0VSID0gMzAwO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR1aUR1cmF0aW9uT3B0aW9ucyB7XG4gICAgcGFyYW1zOiB7ZHVyYXRpb246IG51bWJlcn07XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVBhcmVudEFuaW1hdGlvbiA9IHRyaWdnZXIoJ3R1aVBhcmVudEFuaW1hdGlvbicsIFtcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KV0pLFxuXSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQW5ndWxhciBhbmltYXRpb25zIGFyZSBkZXByZWNhdGVkLCB1c2Uge0BsaW5rIFR1aUFuaW1hdGVkfSBkaXJlY3RpdmUgYW5kIENTUyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQYXJlbnRTdG9wID0gdHJpZ2dlcigndHVpUGFyZW50U3RvcCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aUhvc3QgPSB0cmlnZ2VyKCd0dWlIb3N0JywgW1xuICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe292ZXJmbG93OiAnY2xpcCd9KSxcbiAgICAgICAgcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KV0pLFxuXSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQW5ndWxhciBhbmltYXRpb25zIGFyZSBkZXByZWNhdGVkLCB1c2Uge0BsaW5rIFR1aUFuaW1hdGVkfSBkaXJlY3RpdmUgYW5kIENTUyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZSA9IHRyaWdnZXIoJ3R1aUhlaWdodENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe2hlaWdodDogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6ICcqJ30pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAwfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpSGVpZ2h0Q29sbGFwc2VMaXN0ID0gdHJpZ2dlcigndHVpSGVpZ2h0Q29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAnKid9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2UgPSB0cmlnZ2VyKCd0dWlXaWR0aENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAnKid9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQW5ndWxhciBhbmltYXRpb25zIGFyZSBkZXByZWNhdGVkLCB1c2Uge0BsaW5rIFR1aUFuaW1hdGVkfSBkaXJlY3RpdmUgYW5kIENTUyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlXaWR0aENvbGxhcHNlTGlzdCA9IHRyaWdnZXIoJ3R1aVdpZHRoQ29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogJyonfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7d2lkdGg6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpQ3Jvc3NGYWRlID0gdHJpZ2dlcigndHVpQ3Jvc3NGYWRlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe29wYWNpdHk6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMX0pKV0sXG4gICAgICAgIHtwYXJhbXM6IHtkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgbGVmdDogJ3t7bGVmdH19JyxcbiAgICAgICAgICAgICAgICByaWdodDogJ3t7cmlnaHR9fScsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAne3tib3R0b219fScsXG4gICAgICAgICAgICAgICAgdG9wOiAne3t0b3B9fScsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAsXG4gICAgICAgICAgICAgICAgbGVmdDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbiA9IHRyaWdnZXIoJ3R1aUZhZGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW3N0eWxlKHtvcGFjaXR5OiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDF9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbc3R5bGUoe29wYWNpdHk6IDF9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbkxpc3QgPSB0cmlnZ2VyKCd0dWlGYWRlSW5MaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDF9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aUZhZGVJblRvcCA9IHRyaWdnZXIoJ3R1aUZhZGVJblRvcCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogMTAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTixcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpRmFkZUluQm90dG9tID0gdHJpZ2dlcigndHVpRmFkZUluQm90dG9tJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e3N0YXJ0fX1weCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgIFRSQU5TSVRJT04sXG4gICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpRHJvcGRvd25BbmltYXRpb24gPSB0cmlnZ2VyKCd0dWlEcm9wZG93bkFuaW1hdGlvbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogMTAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KScsIG9wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgVFJBTlNJVElPTixcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbiA9IHRyaWdnZXIoJ3R1aVNjYWxlSW4nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19bXMge3tlYXNpbmd9fScsIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDEsIHN0YXJ0OiAwLCBkdXJhdGlvbjogMzAwLCBlYXNpbmc6ICdlYXNlLWluLW91dCd9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQW5ndWxhciBhbmltYXRpb25zIGFyZSBkZXByZWNhdGVkLCB1c2Uge0BsaW5rIFR1aUFuaW1hdGVkfSBkaXJlY3RpdmUgYW5kIENTUyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQb3AgPSB0cmlnZ2VyKCd0dWlQb3AnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3ttaWRkbGV9fSknfSkpLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAxLCBtaWRkbGU6IDEuMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e21pZGRsZX19KSd9KSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgbWlkZGxlOiAxLjEsIHN0YXJ0OiAwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbkxpc3QgPSB0cmlnZ2VyKCd0dWlTY2FsZUluTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQW5ndWxhciBhbmltYXRpb25zIGFyZSBkZXByZWNhdGVkLCB1c2Uge0BsaW5rIFR1aUFuaW1hdGVkfSBkaXJlY3RpdmUgYW5kIENTUyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluID0gdHJpZ2dlcigndHVpU2xpZGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiBsZWZ0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJ2xlZnQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgte3tzdGFydH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IHJpZ2h0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAncmlnaHQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5MZWZ0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnQnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnRMaXN0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnRMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBBbmd1bGFyIGFuaW1hdGlvbnMgYXJlIGRlcHJlY2F0ZWQsIHVzZSB7QGxpbmsgVHVpQW5pbWF0ZWR9IGRpcmVjdGl2ZSBhbmQgQ1NTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5Ub3AgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknLCBwb2ludGVyRXZlbnRzOiAnbm9uZSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tlbmR9fSwwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2VuZH19LDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblRvcExpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Cb3R0b20nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIEFuZ3VsYXIgYW5pbWF0aW9ucyBhcmUgZGVwcmVjYXRlZCwgdXNlIHtAbGluayBUdWlBbmltYXRlZH0gZGlyZWN0aXZlIGFuZCBDU1MgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbUxpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluQm90dG9tTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG4iXX0=
@@ -1,46 +1,43 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
3
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
4
+ import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
4
5
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
- import { tuiFadeIn, tuiHeightCollapse, tuiSlideIn } from '@taiga-ui/core/animations';
6
6
  import { TuiButton } from '@taiga-ui/core/components/button';
7
7
  import { TuiNotification } from '@taiga-ui/core/components/notification';
8
8
  import { TuiTitle } from '@taiga-ui/core/directives/title';
9
- import { TUI_ANIMATIONS_SPEED, TUI_CLOSE_WORD, TUI_COMMON_ICONS, } from '@taiga-ui/core/tokens';
10
- import { tuiToAnimationOptions } from '@taiga-ui/core/utils';
9
+ import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
11
10
  import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
12
11
  import { EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer } from 'rxjs';
13
12
  import { TUI_ALERT_POSITION } from './alert.tokens';
14
13
  import * as i0 from "@angular/core";
14
+ import * as i1 from "@taiga-ui/cdk/directives/animated";
15
15
  class TuiAlertComponent {
16
16
  constructor() {
17
17
  this.el = tuiInjectElement();
18
18
  this.icons = inject(TUI_COMMON_ICONS);
19
- this.options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));
20
19
  this.close = toSignal(inject(TUI_CLOSE_WORD));
21
20
  this.position = inject(TUI_ALERT_POSITION);
22
21
  this.item = injectContext();
23
- this.animation = this.position.endsWith('auto')
24
- ? { ...this.options, value: 'right' }
25
- : { ...this.options, value: 'left' };
26
22
  this.sub = of(typeof this.item.autoClose === 'function'
27
23
  ? this.item.autoClose(this.item.appearance)
28
24
  : this.item.autoClose)
29
25
  .pipe(switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)), takeUntil(fromEvent(this.el, 'mouseenter')), repeat({ delay: () => fromEvent(this.el, 'mouseleave') }), takeUntilDestroyed())
30
26
  .subscribe(() => this.item.$implicit.complete());
31
27
  }
28
+ get from() {
29
+ return this.position.endsWith('auto') ? 'translateX(100%)' : 'translateX(-100%)';
30
+ }
32
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlertComponent, isStandalone: true, selector: "tui-alert", host: { attributes: { "role": "alert" }, properties: { "style.margin": "position", "@tuiFadeIn": "options", "@tuiSlideIn": "animation", "@tuiHeightCollapse": "animation" } }, ngImport: i0, template: "<tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n>\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n</tui-notification>\n", styles: [":host{display:block;inline-size:18rem;flex-shrink:0;word-break:break-word;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host:not(:first-child){margin-top:.75rem!important}:host:not(:last-child){margin-bottom:0!important}.t-closeable{padding-inline-end:2.5rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], animations: [tuiFadeIn, tuiSlideIn, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlertComponent, isStandalone: true, selector: "tui-alert", host: { attributes: { "role": "alert" }, properties: { "style.margin": "position", "style.--tui-from": "from" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n </tui-notification>\n</div>\n", styles: [":host{display:grid;inline-size:18rem;flex-shrink:0;word-break:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}:host:not(:first-child){margin-top:0!important}:host:not(:last-child){margin-bottom:0!important}.t-wrapper{transition-property:margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;margin-bottom:.75rem;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host.tui-leave .t-wrapper{margin:0}.t-closeable{padding-inline-end:2.5rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
33
  }
35
34
  export { TuiAlertComponent };
36
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlertComponent, decorators: [{
37
36
  type: Component,
38
- args: [{ standalone: true, selector: 'tui-alert', imports: [NgIf, PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, animations: [tuiFadeIn, tuiSlideIn, tuiHeightCollapse], host: {
37
+ args: [{ standalone: true, selector: 'tui-alert', imports: [NgIf, PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
39
38
  role: 'alert',
40
39
  '[style.margin]': 'position',
41
- '[@tuiFadeIn]': 'options',
42
- '[@tuiSlideIn]': 'animation',
43
- '[@tuiHeightCollapse]': 'animation',
44
- }, template: "<tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n>\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n</tui-notification>\n", styles: [":host{display:block;inline-size:18rem;flex-shrink:0;word-break:break-word;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host:not(:first-child){margin-top:.75rem!important}:host:not(:last-child){margin-bottom:0!important}.t-closeable{padding-inline-end:2.5rem}\n"] }]
40
+ '[style.--tui-from]': 'from',
41
+ }, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n </tui-notification>\n</div>\n", styles: [":host{display:grid;inline-size:18rem;flex-shrink:0;word-break:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}:host:not(:first-child){margin-top:0!important}:host:not(:last-child){margin-bottom:0!important}.t-wrapper{transition-property:margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;margin-bottom:.75rem;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host.tui-leave .t-wrapper{margin:0}.t-closeable{padding-inline-end:2.5rem}\n"] }]
45
42
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hbGVydC9hbGVydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxnQkFBZ0IsR0FDbkIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUcvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbEQsTUFnQmEsaUJBQWlCO0lBaEI5QjtRQWlCcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFdEIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzlELFVBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDekMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxhQUFhLEVBQXFDLENBQUM7UUFFMUQsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN6RCxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQztZQUNuQyxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBRXBCLFFBQUcsR0FBRyxFQUFFLENBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUM1QjthQUNJLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUMzQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUMsQ0FBQyxFQUN2RCxrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBQ3hEOytHQXpCWSxpQkFBaUI7bUdBQWpCLGlCQUFpQixvUENyQzlCLHV2QkEyQkEsOFhESGMsSUFBSSw2RkFBRSxrQkFBa0IsOEhBQUUsU0FBUyxvSUFBRSxlQUFlLGdKQUFFLFFBQVEsK0RBSTVELENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FTN0MsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBaEI3QixTQUFTO2lDQUNNLElBQUksWUFDTixXQUFXLFdBQ1osQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsbUJBR3hELHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLFFBQ2hEO3dCQUNGLElBQUksRUFBRSxPQUFPO3dCQUNiLGdCQUFnQixFQUFFLFVBQVU7d0JBQzVCLGNBQWMsRUFBRSxTQUFTO3dCQUN6QixlQUFlLEVBQUUsV0FBVzt3QkFDNUIsc0JBQXNCLEVBQUUsV0FBVztxQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHtUdWlQb3BvdmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aU5vdGlmaWNhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHtUdWlUaXRsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy90aXRsZSc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX1NQRUVELFxuICAgIFRVSV9DTE9TRV9XT1JELFxuICAgIFRVSV9DT01NT05fSUNPTlMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtFTVBUWSwgZnJvbUV2ZW50LCBvZiwgcmVwZWF0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpQWxlcnRPcHRpb25zfSBmcm9tICcuL2FsZXJ0LmludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfQUxFUlRfUE9TSVRJT059IGZyb20gJy4vYWxlcnQudG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hbGVydCcsXG4gICAgaW1wb3J0czogW05nSWYsIFBvbHltb3JwaGV1c091dGxldCwgVHVpQnV0dG9uLCBUdWlOb3RpZmljYXRpb24sIFR1aVRpdGxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNsaWRlSW4sIHR1aUhlaWdodENvbGxhcHNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdhbGVydCcsXG4gICAgICAgICdbc3R5bGUubWFyZ2luXSc6ICdwb3NpdGlvbicsXG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbQHR1aVNsaWRlSW5dJzogJ2FuaW1hdGlvbicsXG4gICAgICAgICdbQHR1aUhlaWdodENvbGxhcHNlXSc6ICdhbmltYXRpb24nLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFsZXJ0Q29tcG9uZW50PE8sIEk+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gdHVpVG9BbmltYXRpb25PcHRpb25zKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZSA9IHRvU2lnbmFsKGluamVjdChUVUlfQ0xPU0VfV09SRCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3NpdGlvbiA9IGluamVjdChUVUlfQUxFUlRfUE9TSVRJT04pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpdGVtID0gaW5qZWN0Q29udGV4dDxUdWlQb3BvdmVyPFR1aUFsZXJ0T3B0aW9uczxJPiwgTz4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYW5pbWF0aW9uID0gdGhpcy5wb3NpdGlvbi5lbmRzV2l0aCgnYXV0bycpXG4gICAgICAgID8gey4uLnRoaXMub3B0aW9ucywgdmFsdWU6ICdyaWdodCd9XG4gICAgICAgIDogey4uLnRoaXMub3B0aW9ucywgdmFsdWU6ICdsZWZ0J307XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViID0gb2YoXG4gICAgICAgIHR5cGVvZiB0aGlzLml0ZW0uYXV0b0Nsb3NlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHRoaXMuaXRlbS5hdXRvQ2xvc2UodGhpcy5pdGVtLmFwcGVhcmFuY2UpXG4gICAgICAgICAgICA6IHRoaXMuaXRlbS5hdXRvQ2xvc2UsXG4gICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoYXV0b0Nsb3NlKSA9PiAoYXV0b0Nsb3NlID8gdGltZXIoYXV0b0Nsb3NlKSA6IEVNUFRZKSksXG4gICAgICAgICAgICB0YWtlVW50aWwoZnJvbUV2ZW50KHRoaXMuZWwsICdtb3VzZWVudGVyJykpLFxuICAgICAgICAgICAgcmVwZWF0KHtkZWxheTogKCkgPT4gZnJvbUV2ZW50KHRoaXMuZWwsICdtb3VzZWxlYXZlJyl9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pdGVtLiRpbXBsaWNpdC5jb21wbGV0ZSgpKTtcbn1cbiIsIjx0dWktbm90aWZpY2F0aW9uXG4gICAgc2l6ZT1cIm1cIlxuICAgIFthcHBlYXJhbmNlXT1cIml0ZW0uYXBwZWFyYW5jZVwiXG4gICAgW2NsYXNzLnQtY2xvc2VhYmxlXT1cIml0ZW0uY2xvc2VhYmxlXCJcbiAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuPlxuICAgIDxzcGFuIHR1aVRpdGxlPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmxhYmVsIGFzIHRleHQ7IGNvbnRleHQ6IGl0ZW1cIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuIHR1aVN1YnRpdGxlPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGl0ZW1cIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpdGVtLmNsb3NlYWJsZVwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuY2xvc2VcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS4kaW1wbGljaXQuY29tcGxldGUoKVwiXG4gICAgPlxuICAgICAgICB7eyBjbG9zZSgpIH19XG4gICAgPC9idXR0b24+XG48L3R1aS1ub3RpZmljYXRpb24+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hbGVydC9hbGVydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUcvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRWxELE1BY2EsaUJBQWlCO0lBZDlCO1FBZXFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXRCLFVBQUssR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxVQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxTQUFJLEdBQUcsYUFBYSxFQUFxQyxDQUFDO1FBRTFELFFBQUcsR0FBRyxFQUFFLENBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVTtZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUM1QjthQUNJLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUMzQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUMsQ0FBQyxFQUN2RCxrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBS3hEO0lBSEcsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0lBQ3JGLENBQUM7K0dBdkJRLGlCQUFpQjttR0FBakIsaUJBQWlCLHlPQzlCOUIsczRCQTZCQSwycEJEVmMsSUFBSSw2RkFBRSxrQkFBa0IsOEhBQUUsU0FBUyxvSUFBRSxlQUFlLGdKQUFFLFFBQVE7O1NBVy9ELGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQWQ3QixTQUFTO2lDQUNNLElBQUksWUFDTixXQUFXLFdBQ1osQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsbUJBR3hELHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsV0FBVyxDQUFDLFFBQ3ZCO3dCQUNGLElBQUksRUFBRSxPQUFPO3dCQUNiLGdCQUFnQixFQUFFLFVBQVU7d0JBQzVCLG9CQUFvQixFQUFFLE1BQU07cUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWQsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1R1aUFuaW1hdGVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlOb3RpZmljYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7VHVpVGl0bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvdGl0bGUnO1xuaW1wb3J0IHtUVUlfQ0xPU0VfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7aW5qZWN0Q29udGV4dCwgUG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7RU1QVFksIGZyb21FdmVudCwgb2YsIHJlcGVhdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aUFsZXJ0T3B0aW9uc30gZnJvbSAnLi9hbGVydC5pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0FMRVJUX1BPU0lUSU9OfSBmcm9tICcuL2FsZXJ0LnRva2Vucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktYWxlcnQnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXQsIFR1aUJ1dHRvbiwgVHVpTm90aWZpY2F0aW9uLCBUdWlUaXRsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FsZXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFuaW1hdGVkXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdhbGVydCcsXG4gICAgICAgICdbc3R5bGUubWFyZ2luXSc6ICdwb3NpdGlvbicsXG4gICAgICAgICdbc3R5bGUuLS10dWktZnJvbV0nOiAnZnJvbScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWxlcnRDb21wb25lbnQ8TywgST4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsb3NlID0gdG9TaWduYWwoaW5qZWN0KFRVSV9DTE9TRV9XT1JEKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5qZWN0KFRVSV9BTEVSVF9QT1NJVElPTik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW0gPSBpbmplY3RDb250ZXh0PFR1aVBvcG92ZXI8VHVpQWxlcnRPcHRpb25zPEk+LCBPPj4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBvZihcbiAgICAgICAgdHlwZW9mIHRoaXMuaXRlbS5hdXRvQ2xvc2UgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gdGhpcy5pdGVtLmF1dG9DbG9zZSh0aGlzLml0ZW0uYXBwZWFyYW5jZSlcbiAgICAgICAgICAgIDogdGhpcy5pdGVtLmF1dG9DbG9zZSxcbiAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChhdXRvQ2xvc2UpID0+IChhdXRvQ2xvc2UgPyB0aW1lcihhdXRvQ2xvc2UpIDogRU1QVFkpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbChmcm9tRXZlbnQodGhpcy5lbCwgJ21vdXNlZW50ZXInKSksXG4gICAgICAgICAgICByZXBlYXQoe2RlbGF5OiAoKSA9PiBmcm9tRXZlbnQodGhpcy5lbCwgJ21vdXNlbGVhdmUnKX0pLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLml0ZW0uJGltcGxpY2l0LmNvbXBsZXRlKCkpO1xuXG4gICAgcHVibGljIGdldCBmcm9tKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvc2l0aW9uLmVuZHNXaXRoKCdhdXRvJykgPyAndHJhbnNsYXRlWCgxMDAlKScgOiAndHJhbnNsYXRlWCgtMTAwJSknO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICA8dHVpLW5vdGlmaWNhdGlvblxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cIml0ZW0uYXBwZWFyYW5jZVwiXG4gICAgICAgIFtjbGFzcy50LWNsb3NlYWJsZV09XCJpdGVtLmNsb3NlYWJsZVwiXG4gICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgPlxuICAgICAgICA8c3BhbiB0dWlUaXRsZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0ubGFiZWwgYXMgdGV4dDsgY29udGV4dDogaXRlbVwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHNwYW4gdHVpU3VidGl0bGU+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5jbG9zZWFibGVcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJpdGVtLiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgY2xvc2UoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1ub3RpZmljYXRpb24+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, INJECTOR, Injector, ViewEncapsulation, } from '@angular/core';
3
+ import { TuiAnimatedParent } from '@taiga-ui/cdk/directives/animated';
3
4
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
4
- import { tuiParentAnimation } from '@taiga-ui/core/animations';
5
5
  // eslint-disable-next-line no-restricted-imports
6
6
  import { POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
7
7
  import { identity } from 'rxjs';
@@ -24,11 +24,11 @@ class TuiAlerts {
24
24
  });
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlerts, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlerts, isStandalone: true, selector: "tui-alerts", ngImport: i0, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;pointer-events:none}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], animations: [tuiParentAnimation], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlerts, isStandalone: true, selector: "tui-alerts", ngImport: i0, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;pointer-events:none}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
28
28
  }
29
29
  export { TuiAlerts };
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlerts, decorators: [{
31
31
  type: Component,
32
- args: [{ standalone: true, selector: 'tui-alerts', imports: [CommonModule, TuiMapperPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [tuiParentAnimation], template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;pointer-events:none}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"] }]
32
+ args: [{ standalone: true, selector: 'tui-alerts', imports: [CommonModule, TuiAnimatedParent, TuiMapperPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;display:flex;flex-direction:column;pointer-events:none}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"] }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hbGVydC9hbGVydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0cy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsRUFDUixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELGlEQUFpRDtBQUNqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFbEQsTUFZYSxTQUFTO0lBWnRCO1FBYXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxRQUFRLENBQUM7UUFDbkIsV0FBTSxHQUFxQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3ZFLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDWixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUTtpQkFDWDthQUNKO1lBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztLQUNWOytHQWZZLFNBQVM7bUdBQVQsU0FBUyxzRUMvQnRCLGlVQVdBLGlQRFdjLFlBQVksb2RBQUUsYUFBYSxvQ0FPekIsQ0FBQyxrQkFBa0IsQ0FBQzs7U0FFdkIsU0FBUzs0RkFBVCxTQUFTO2tCQVpyQixTQUFTO2lDQUNNLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGlCQUd2QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUdwQix1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLENBQUMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbmplY3RvcixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB0eXBlIHtUdWlNYXBwZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQYXJlbnRBbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2lkZW50aXR5fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfQUxFUlRTX0dST1VQRUR9IGZyb20gJy4vYWxlcnQudG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hbGVydHMnLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aU1hcHBlclBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydHMudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnRzLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIFNvIHRoYXQgd2UgZG8gbm90IGZvcmNlIE9uUHVzaCBvbiBjdXN0b20gYWxlcnRzXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBhbmltYXRpb25zOiBbdHVpUGFyZW50QW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWxlcnRzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGVydHMkID0gaW5qZWN0KFRVSV9BTEVSVFNfR1JPVVBFRCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYWNrQnkgPSBpZGVudGl0eTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFwcGVyOiBUdWlNYXBwZXI8W1R5cGU8YW55Pl0sIEluamVjdG9yPiA9ICh1c2VWYWx1ZSkgPT5cbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUE9MWU1PUlBIRVVTX0NPTlRFWFQsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICB9KTtcbn1cbiIsIjxkaXZcbiAgICAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgYWxlcnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgQHR1aVBhcmVudEFuaW1hdGlvblxuPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBcIlxuICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwiaXRlbS5jb21wb25lbnQuY29tcG9uZW50XCJcbiAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0SW5qZWN0b3JdPVwiaXRlbSB8IHR1aU1hcHBlcjogbWFwcGVyXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hbGVydC9hbGVydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0cy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsRUFDUixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELGlEQUFpRDtBQUNqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFbEQsTUFXYSxTQUFTO0lBWHRCO1FBWXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxRQUFRLENBQUM7UUFDbkIsV0FBTSxHQUFxQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3ZFLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDWixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUTtpQkFDWDthQUNKO1lBQ0QsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztLQUNWOytHQWZZLFNBQVM7bUdBQVQsU0FBUyxzRUM5QnRCLCtUQVdBLGlQRFdjLFlBQVkseWRBQUUsaUJBQWlCLDJEQUFFLGFBQWE7O1NBUS9DLFNBQVM7NEZBQVQsU0FBUztrQkFYckIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxpQkFHMUMsaUJBQWlCLENBQUMsSUFBSSxtQkFHcEIsdUJBQXVCLENBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgaW5qZWN0LFxuICAgIElOSkVDVE9SLFxuICAgIEluamVjdG9yLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQW5pbWF0ZWRQYXJlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZCc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB0eXBlIHtUdWlNYXBwZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2lkZW50aXR5fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfQUxFUlRTX0dST1VQRUR9IGZyb20gJy4vYWxlcnQudG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hbGVydHMnLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aUFuaW1hdGVkUGFyZW50LCBUdWlNYXBwZXJQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnRzLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FsZXJ0cy5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICAvLyBTbyB0aGF0IHdlIGRvIG5vdCBmb3JjZSBPblB1c2ggb24gY3VzdG9tIGFsZXJ0c1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFsZXJ0cyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJTkpFQ1RPUik7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxlcnRzJCA9IGluamVjdChUVUlfQUxFUlRTX0dST1VQRUQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFja0J5ID0gaWRlbnRpdHk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hcHBlcjogVHVpTWFwcGVyPFtUeXBlPGFueT5dLCBJbmplY3Rvcj4gPSAodXNlVmFsdWUpID0+XG4gICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBPTFlNT1JQSEVVU19DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgfSk7XG59XG4iLCI8ZGl2XG4gICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGFsZXJ0cyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeVwiXG4gICAgdHVpQW5pbWF0ZWRQYXJlbnRcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cFwiXG4gICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJpdGVtLmNvbXBvbmVudC5jb21wb25lbnRcIlxuICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRJbmplY3Rvcl09XCJpdGVtIHwgdHVpTWFwcGVyOiBtYXBwZXJcIlxuICAgIC8+XG48L2Rpdj5cbiJdfQ==