@spw-ds/spw-angular-library 0.0.2

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.
@@ -0,0 +1,1442 @@
1
+ import { __decorate } from "tslib";
2
+ /* tslint:disable */
3
+ /* auto-generated angular directive proxies */
4
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
+ import * as i0 from "@angular/core";
7
+ let SpwAccordion = class SpwAccordion {
8
+ constructor(c, r, z) {
9
+ this.z = z;
10
+ c.detach();
11
+ this.el = r.nativeElement;
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwAccordion, selector: "spw-accordion", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ };
16
+ SpwAccordion = __decorate([
17
+ ProxyCmp({})
18
+ ], SpwAccordion);
19
+ export { SpwAccordion };
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordion, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'spw-accordion',
24
+ changeDetection: ChangeDetectionStrategy.OnPush,
25
+ template: '<ng-content></ng-content>',
26
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
27
+ inputs: [],
28
+ }]
29
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
30
+ let SpwAccordionContent = class SpwAccordionContent {
31
+ constructor(c, r, z) {
32
+ this.z = z;
33
+ c.detach();
34
+ this.el = r.nativeElement;
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwAccordionContent, selector: "spw-accordion-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ };
39
+ SpwAccordionContent = __decorate([
40
+ ProxyCmp({})
41
+ ], SpwAccordionContent);
42
+ export { SpwAccordionContent };
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionContent, decorators: [{
44
+ type: Component,
45
+ args: [{
46
+ selector: 'spw-accordion-content',
47
+ changeDetection: ChangeDetectionStrategy.OnPush,
48
+ template: '<ng-content></ng-content>',
49
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
50
+ inputs: [],
51
+ }]
52
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
53
+ let SpwAccordionItem = class SpwAccordionItem {
54
+ constructor(c, r, z) {
55
+ this.z = z;
56
+ c.detach();
57
+ this.el = r.nativeElement;
58
+ proxyOutputs(this, this.el, ['accordionToggle']);
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwAccordionItem, selector: "spw-accordion-item", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ };
63
+ SpwAccordionItem = __decorate([
64
+ ProxyCmp({})
65
+ ], SpwAccordionItem);
66
+ export { SpwAccordionItem };
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionItem, decorators: [{
68
+ type: Component,
69
+ args: [{
70
+ selector: 'spw-accordion-item',
71
+ changeDetection: ChangeDetectionStrategy.OnPush,
72
+ template: '<ng-content></ng-content>',
73
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
74
+ inputs: [],
75
+ }]
76
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
77
+ let SpwAccordionTitle = class SpwAccordionTitle {
78
+ constructor(c, r, z) {
79
+ this.z = z;
80
+ c.detach();
81
+ this.el = r.nativeElement;
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwAccordionTitle, selector: "spw-accordion-title", inputs: { icon: "icon", tag: "tag" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
+ };
86
+ SpwAccordionTitle = __decorate([
87
+ ProxyCmp({
88
+ inputs: ['icon', 'tag']
89
+ })
90
+ ], SpwAccordionTitle);
91
+ export { SpwAccordionTitle };
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwAccordionTitle, decorators: [{
93
+ type: Component,
94
+ args: [{
95
+ selector: 'spw-accordion-title',
96
+ changeDetection: ChangeDetectionStrategy.OnPush,
97
+ template: '<ng-content></ng-content>',
98
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
99
+ inputs: ['icon', 'tag'],
100
+ }]
101
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
102
+ let SpwBreadcrumb = class SpwBreadcrumb {
103
+ constructor(c, r, z) {
104
+ this.z = z;
105
+ c.detach();
106
+ this.el = r.nativeElement;
107
+ }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwBreadcrumb, selector: "spw-breadcrumb", inputs: { surface: "surface", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
+ };
111
+ SpwBreadcrumb = __decorate([
112
+ ProxyCmp({
113
+ inputs: ['surface', 'variant']
114
+ })
115
+ ], SpwBreadcrumb);
116
+ export { SpwBreadcrumb };
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwBreadcrumb, decorators: [{
118
+ type: Component,
119
+ args: [{
120
+ selector: 'spw-breadcrumb',
121
+ changeDetection: ChangeDetectionStrategy.OnPush,
122
+ template: '<ng-content></ng-content>',
123
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
124
+ inputs: ['surface', 'variant'],
125
+ }]
126
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
127
+ let SpwBreadcrumbItem = class SpwBreadcrumbItem {
128
+ constructor(c, r, z) {
129
+ this.z = z;
130
+ c.detach();
131
+ this.el = r.nativeElement;
132
+ }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwBreadcrumbItem, selector: "spw-breadcrumb-item", inputs: { href: "href" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
135
+ };
136
+ SpwBreadcrumbItem = __decorate([
137
+ ProxyCmp({
138
+ inputs: ['href']
139
+ })
140
+ ], SpwBreadcrumbItem);
141
+ export { SpwBreadcrumbItem };
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwBreadcrumbItem, decorators: [{
143
+ type: Component,
144
+ args: [{
145
+ selector: 'spw-breadcrumb-item',
146
+ changeDetection: ChangeDetectionStrategy.OnPush,
147
+ template: '<ng-content></ng-content>',
148
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
149
+ inputs: ['href'],
150
+ }]
151
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
152
+ let SpwButton = class SpwButton {
153
+ constructor(c, r, z) {
154
+ this.z = z;
155
+ c.detach();
156
+ this.el = r.nativeElement;
157
+ proxyOutputs(this, this.el, ['spwFocus', 'spwBlur', 'spwNavigate']);
158
+ }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwButton, selector: "spw-button", inputs: { accAriaLabel: "accAriaLabel", disabled: "disabled", download: "download", href: "href", icon: "icon", iconPosition: "iconPosition", isFullWidth: "isFullWidth", isFullWidthMobile: "isFullWidthMobile", name: "name", rel: "rel", size: "size", surface: "surface", target: "target", type: "type", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
161
+ };
162
+ SpwButton = __decorate([
163
+ ProxyCmp({
164
+ inputs: ['accAriaLabel', 'disabled', 'download', 'href', 'icon', 'iconPosition', 'isFullWidth', 'isFullWidthMobile', 'name', 'rel', 'size', 'surface', 'target', 'type', 'value', 'variant']
165
+ })
166
+ ], SpwButton);
167
+ export { SpwButton };
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwButton, decorators: [{
169
+ type: Component,
170
+ args: [{
171
+ selector: 'spw-button',
172
+ changeDetection: ChangeDetectionStrategy.OnPush,
173
+ template: '<ng-content></ng-content>',
174
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
175
+ inputs: ['accAriaLabel', 'disabled', 'download', 'href', 'icon', 'iconPosition', 'isFullWidth', 'isFullWidthMobile', 'name', 'rel', 'size', 'surface', 'target', 'type', 'value', 'variant'],
176
+ }]
177
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
178
+ let SpwCard = class SpwCard {
179
+ constructor(c, r, z) {
180
+ this.z = z;
181
+ c.detach();
182
+ this.el = r.nativeElement;
183
+ }
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
185
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCard, selector: "spw-card", inputs: { accAriaLabel: "accAriaLabel", dateEnd: "dateEnd", dateStart: "dateStart", disabled: "disabled", elementType: "elementType", fullHeight: "fullHeight", href: "href", rel: "rel", target: "target", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
186
+ };
187
+ SpwCard = __decorate([
188
+ ProxyCmp({
189
+ inputs: ['accAriaLabel', 'dateEnd', 'dateStart', 'disabled', 'elementType', 'fullHeight', 'href', 'rel', 'target', 'variant']
190
+ })
191
+ ], SpwCard);
192
+ export { SpwCard };
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCard, decorators: [{
194
+ type: Component,
195
+ args: [{
196
+ selector: 'spw-card',
197
+ changeDetection: ChangeDetectionStrategy.OnPush,
198
+ template: '<ng-content></ng-content>',
199
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
200
+ inputs: ['accAriaLabel', 'dateEnd', 'dateStart', 'disabled', 'elementType', 'fullHeight', 'href', 'rel', 'target', 'variant'],
201
+ }]
202
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
203
+ let SpwCardContent = class SpwCardContent {
204
+ constructor(c, r, z) {
205
+ this.z = z;
206
+ c.detach();
207
+ this.el = r.nativeElement;
208
+ }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardContent, selector: "spw-card-content", inputs: { date: "date", tag: "tag" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
211
+ };
212
+ SpwCardContent = __decorate([
213
+ ProxyCmp({
214
+ inputs: ['date', 'tag']
215
+ })
216
+ ], SpwCardContent);
217
+ export { SpwCardContent };
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardContent, decorators: [{
219
+ type: Component,
220
+ args: [{
221
+ selector: 'spw-card-content',
222
+ changeDetection: ChangeDetectionStrategy.OnPush,
223
+ template: '<ng-content></ng-content>',
224
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
225
+ inputs: ['date', 'tag'],
226
+ }]
227
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
228
+ let SpwCardExcerpt = class SpwCardExcerpt {
229
+ constructor(c, r, z) {
230
+ this.z = z;
231
+ c.detach();
232
+ this.el = r.nativeElement;
233
+ }
234
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardExcerpt, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
235
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardExcerpt, selector: "spw-card-excerpt", inputs: { lineClamp: "lineClamp" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
236
+ };
237
+ SpwCardExcerpt = __decorate([
238
+ ProxyCmp({
239
+ inputs: ['lineClamp']
240
+ })
241
+ ], SpwCardExcerpt);
242
+ export { SpwCardExcerpt };
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardExcerpt, decorators: [{
244
+ type: Component,
245
+ args: [{
246
+ selector: 'spw-card-excerpt',
247
+ changeDetection: ChangeDetectionStrategy.OnPush,
248
+ template: '<ng-content></ng-content>',
249
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
250
+ inputs: ['lineClamp'],
251
+ }]
252
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
253
+ let SpwCardImage = class SpwCardImage {
254
+ constructor(c, r, z) {
255
+ this.z = z;
256
+ c.detach();
257
+ this.el = r.nativeElement;
258
+ }
259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardImage, selector: "spw-card-image", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
261
+ };
262
+ SpwCardImage = __decorate([
263
+ ProxyCmp({
264
+ inputs: ['label']
265
+ })
266
+ ], SpwCardImage);
267
+ export { SpwCardImage };
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardImage, decorators: [{
269
+ type: Component,
270
+ args: [{
271
+ selector: 'spw-card-image',
272
+ changeDetection: ChangeDetectionStrategy.OnPush,
273
+ template: '<ng-content></ng-content>',
274
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
275
+ inputs: ['label'],
276
+ }]
277
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
278
+ let SpwCardSubtagItem = class SpwCardSubtagItem {
279
+ constructor(c, r, z) {
280
+ this.z = z;
281
+ c.detach();
282
+ this.el = r.nativeElement;
283
+ }
284
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardSubtagItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
285
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardSubtagItem, selector: "spw-card-subtag-item", inputs: { link: "link" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
286
+ };
287
+ SpwCardSubtagItem = __decorate([
288
+ ProxyCmp({
289
+ inputs: ['link']
290
+ })
291
+ ], SpwCardSubtagItem);
292
+ export { SpwCardSubtagItem };
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardSubtagItem, decorators: [{
294
+ type: Component,
295
+ args: [{
296
+ selector: 'spw-card-subtag-item',
297
+ changeDetection: ChangeDetectionStrategy.OnPush,
298
+ template: '<ng-content></ng-content>',
299
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
300
+ inputs: ['link'],
301
+ }]
302
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
303
+ let SpwCardSubtags = class SpwCardSubtags {
304
+ constructor(c, r, z) {
305
+ this.z = z;
306
+ c.detach();
307
+ this.el = r.nativeElement;
308
+ }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardSubtags, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardSubtags, selector: "spw-card-subtags", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
311
+ };
312
+ SpwCardSubtags = __decorate([
313
+ ProxyCmp({
314
+ inputs: ['variant']
315
+ })
316
+ ], SpwCardSubtags);
317
+ export { SpwCardSubtags };
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardSubtags, decorators: [{
319
+ type: Component,
320
+ args: [{
321
+ selector: 'spw-card-subtags',
322
+ changeDetection: ChangeDetectionStrategy.OnPush,
323
+ template: '<ng-content></ng-content>',
324
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
325
+ inputs: ['variant'],
326
+ }]
327
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
328
+ let SpwCardTitle = class SpwCardTitle {
329
+ constructor(c, r, z) {
330
+ this.z = z;
331
+ c.detach();
332
+ this.el = r.nativeElement;
333
+ }
334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCardTitle, selector: "spw-card-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
336
+ };
337
+ SpwCardTitle = __decorate([
338
+ ProxyCmp({})
339
+ ], SpwCardTitle);
340
+ export { SpwCardTitle };
341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCardTitle, decorators: [{
342
+ type: Component,
343
+ args: [{
344
+ selector: 'spw-card-title',
345
+ changeDetection: ChangeDetectionStrategy.OnPush,
346
+ template: '<ng-content></ng-content>',
347
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
348
+ inputs: [],
349
+ }]
350
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
351
+ let SpwCheckbox = class SpwCheckbox {
352
+ constructor(c, r, z) {
353
+ this.z = z;
354
+ c.detach();
355
+ this.el = r.nativeElement;
356
+ proxyOutputs(this, this.el, ['spwChange']);
357
+ }
358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
359
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCheckbox, selector: "spw-checkbox", inputs: { checked: "checked", disabled: "disabled", error: "error", icon: "icon", name: "name" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
360
+ };
361
+ SpwCheckbox = __decorate([
362
+ ProxyCmp({
363
+ inputs: ['checked', 'disabled', 'error', 'icon', 'name'],
364
+ methods: ['toggleCheckedState']
365
+ })
366
+ ], SpwCheckbox);
367
+ export { SpwCheckbox };
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCheckbox, decorators: [{
369
+ type: Component,
370
+ args: [{
371
+ selector: 'spw-checkbox',
372
+ changeDetection: ChangeDetectionStrategy.OnPush,
373
+ template: '<ng-content></ng-content>',
374
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
375
+ inputs: ['checked', 'disabled', 'error', 'icon', 'name'],
376
+ }]
377
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
378
+ let SpwCookies = class SpwCookies {
379
+ constructor(c, r, z) {
380
+ this.z = z;
381
+ c.detach();
382
+ this.el = r.nativeElement;
383
+ }
384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCookies, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
385
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCookies, selector: "spw-cookies", inputs: { acceptAllButtonText: "acceptAllButtonText", acceptRequiredButtonText: "acceptRequiredButtonText", cookiesDescription: "cookiesDescription", cookiesTitle: "cookiesTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
386
+ };
387
+ SpwCookies = __decorate([
388
+ ProxyCmp({
389
+ inputs: ['acceptAllButtonText', 'acceptRequiredButtonText', 'cookiesDescription', 'cookiesTitle']
390
+ })
391
+ ], SpwCookies);
392
+ export { SpwCookies };
393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCookies, decorators: [{
394
+ type: Component,
395
+ args: [{
396
+ selector: 'spw-cookies',
397
+ changeDetection: ChangeDetectionStrategy.OnPush,
398
+ template: '<ng-content></ng-content>',
399
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
400
+ inputs: ['acceptAllButtonText', 'acceptRequiredButtonText', 'cookiesDescription', 'cookiesTitle'],
401
+ }]
402
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
403
+ let SpwCustomSelect = class SpwCustomSelect {
404
+ constructor(c, r, z) {
405
+ this.z = z;
406
+ c.detach();
407
+ this.el = r.nativeElement;
408
+ proxyOutputs(this, this.el, ['valueChanged']);
409
+ }
410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCustomSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwCustomSelect, selector: "spw-custom-select", inputs: { assistiveText: "assistiveText", disabled: "disabled", error: "error", hint: "hint", isSearch: "isSearch", label: "label", multiple: "multiple", name: "name", options: "options", placeholder: "placeholder", required: "required", showErrorIcon: "showErrorIcon", showHintIcon: "showHintIcon", showSuccessIcon: "showSuccessIcon", size: "size", success: "success", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
412
+ };
413
+ SpwCustomSelect = __decorate([
414
+ ProxyCmp({
415
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'isSearch', 'label', 'multiple', 'name', 'options', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value']
416
+ })
417
+ ], SpwCustomSelect);
418
+ export { SpwCustomSelect };
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwCustomSelect, decorators: [{
420
+ type: Component,
421
+ args: [{
422
+ selector: 'spw-custom-select',
423
+ changeDetection: ChangeDetectionStrategy.OnPush,
424
+ template: '<ng-content></ng-content>',
425
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
426
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'isSearch', 'label', 'multiple', 'name', 'options', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value'],
427
+ }]
428
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
429
+ let SpwFieldLabel = class SpwFieldLabel {
430
+ constructor(c, r, z) {
431
+ this.z = z;
432
+ c.detach();
433
+ this.el = r.nativeElement;
434
+ }
435
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFieldLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
436
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFieldLabel, selector: "spw-field-label", inputs: { label: "label", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
437
+ };
438
+ SpwFieldLabel = __decorate([
439
+ ProxyCmp({
440
+ inputs: ['label', 'name', 'required']
441
+ })
442
+ ], SpwFieldLabel);
443
+ export { SpwFieldLabel };
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFieldLabel, decorators: [{
445
+ type: Component,
446
+ args: [{
447
+ selector: 'spw-field-label',
448
+ changeDetection: ChangeDetectionStrategy.OnPush,
449
+ template: '<ng-content></ng-content>',
450
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
451
+ inputs: ['label', 'name', 'required'],
452
+ }]
453
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
454
+ let SpwFieldMessage = class SpwFieldMessage {
455
+ constructor(c, r, z) {
456
+ this.z = z;
457
+ c.detach();
458
+ this.el = r.nativeElement;
459
+ }
460
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFieldMessage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
461
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFieldMessage, selector: "spw-field-message", inputs: { showIcon: "showIcon", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
462
+ };
463
+ SpwFieldMessage = __decorate([
464
+ ProxyCmp({
465
+ inputs: ['showIcon', 'variant']
466
+ })
467
+ ], SpwFieldMessage);
468
+ export { SpwFieldMessage };
469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFieldMessage, decorators: [{
470
+ type: Component,
471
+ args: [{
472
+ selector: 'spw-field-message',
473
+ changeDetection: ChangeDetectionStrategy.OnPush,
474
+ template: '<ng-content></ng-content>',
475
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
476
+ inputs: ['showIcon', 'variant'],
477
+ }]
478
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
479
+ let SpwFileUpload = class SpwFileUpload {
480
+ constructor(c, r, z) {
481
+ this.z = z;
482
+ c.detach();
483
+ this.el = r.nativeElement;
484
+ proxyOutputs(this, this.el, ['spwFileChange']);
485
+ }
486
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFileUpload, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
487
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFileUpload, selector: "spw-file-upload", inputs: { accept: "accept", disabled: "disabled", enableDropZone: "enableDropZone", error: "error", maxFileSize: "maxFileSize", maxFiles: "maxFiles", multiple: "multiple", name: "name", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
488
+ };
489
+ SpwFileUpload = __decorate([
490
+ ProxyCmp({
491
+ inputs: ['accept', 'disabled', 'enableDropZone', 'error', 'maxFileSize', 'maxFiles', 'multiple', 'name', 'value'],
492
+ methods: ['resetInput']
493
+ })
494
+ ], SpwFileUpload);
495
+ export { SpwFileUpload };
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFileUpload, decorators: [{
497
+ type: Component,
498
+ args: [{
499
+ selector: 'spw-file-upload',
500
+ changeDetection: ChangeDetectionStrategy.OnPush,
501
+ template: '<ng-content></ng-content>',
502
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
503
+ inputs: ['accept', 'disabled', 'enableDropZone', 'error', 'maxFileSize', 'maxFiles', 'multiple', 'name', 'value'],
504
+ }]
505
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
506
+ let SpwFooter = class SpwFooter {
507
+ constructor(c, r, z) {
508
+ this.z = z;
509
+ c.detach();
510
+ this.el = r.nativeElement;
511
+ }
512
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
513
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooter, selector: "spw-footer", inputs: { colsDesktop: "colsDesktop", colsMobile: "colsMobile", colsTablet: "colsTablet" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
514
+ };
515
+ SpwFooter = __decorate([
516
+ ProxyCmp({
517
+ inputs: ['colsDesktop', 'colsMobile', 'colsTablet']
518
+ })
519
+ ], SpwFooter);
520
+ export { SpwFooter };
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooter, decorators: [{
522
+ type: Component,
523
+ args: [{
524
+ selector: 'spw-footer',
525
+ changeDetection: ChangeDetectionStrategy.OnPush,
526
+ template: '<ng-content></ng-content>',
527
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
528
+ inputs: ['colsDesktop', 'colsMobile', 'colsTablet'],
529
+ }]
530
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
531
+ let SpwFooterBottom = class SpwFooterBottom {
532
+ constructor(c, r, z) {
533
+ this.z = z;
534
+ c.detach();
535
+ this.el = r.nativeElement;
536
+ }
537
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterBottom, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
538
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooterBottom, selector: "spw-footer-bottom", inputs: { siteTitle: "siteTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
539
+ };
540
+ SpwFooterBottom = __decorate([
541
+ ProxyCmp({
542
+ inputs: ['siteTitle']
543
+ })
544
+ ], SpwFooterBottom);
545
+ export { SpwFooterBottom };
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterBottom, decorators: [{
547
+ type: Component,
548
+ args: [{
549
+ selector: 'spw-footer-bottom',
550
+ changeDetection: ChangeDetectionStrategy.OnPush,
551
+ template: '<ng-content></ng-content>',
552
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
553
+ inputs: ['siteTitle'],
554
+ }]
555
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
556
+ let SpwFooterContent = class SpwFooterContent {
557
+ constructor(c, r, z) {
558
+ this.z = z;
559
+ c.detach();
560
+ this.el = r.nativeElement;
561
+ }
562
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
563
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooterContent, selector: "spw-footer-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
564
+ };
565
+ SpwFooterContent = __decorate([
566
+ ProxyCmp({})
567
+ ], SpwFooterContent);
568
+ export { SpwFooterContent };
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterContent, decorators: [{
570
+ type: Component,
571
+ args: [{
572
+ selector: 'spw-footer-content',
573
+ changeDetection: ChangeDetectionStrategy.OnPush,
574
+ template: '<ng-content></ng-content>',
575
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
576
+ inputs: [],
577
+ }]
578
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
579
+ let SpwFooterContentCol = class SpwFooterContentCol {
580
+ constructor(c, r, z) {
581
+ this.z = z;
582
+ c.detach();
583
+ this.el = r.nativeElement;
584
+ }
585
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterContentCol, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
586
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooterContentCol, selector: "spw-footer-content-col", inputs: { colTitle: "colTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
587
+ };
588
+ SpwFooterContentCol = __decorate([
589
+ ProxyCmp({
590
+ inputs: ['colTitle']
591
+ })
592
+ ], SpwFooterContentCol);
593
+ export { SpwFooterContentCol };
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterContentCol, decorators: [{
595
+ type: Component,
596
+ args: [{
597
+ selector: 'spw-footer-content-col',
598
+ changeDetection: ChangeDetectionStrategy.OnPush,
599
+ template: '<ng-content></ng-content>',
600
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
601
+ inputs: ['colTitle'],
602
+ }]
603
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
604
+ let SpwFooterLink = class SpwFooterLink {
605
+ constructor(c, r, z) {
606
+ this.z = z;
607
+ c.detach();
608
+ this.el = r.nativeElement;
609
+ }
610
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterLink, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
611
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooterLink, selector: "spw-footer-link", inputs: { href: "href", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
612
+ };
613
+ SpwFooterLink = __decorate([
614
+ ProxyCmp({
615
+ inputs: ['href', 'target']
616
+ })
617
+ ], SpwFooterLink);
618
+ export { SpwFooterLink };
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterLink, decorators: [{
620
+ type: Component,
621
+ args: [{
622
+ selector: 'spw-footer-link',
623
+ changeDetection: ChangeDetectionStrategy.OnPush,
624
+ template: '<ng-content></ng-content>',
625
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
626
+ inputs: ['href', 'target'],
627
+ }]
628
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
629
+ let SpwFooterSocials = class SpwFooterSocials {
630
+ constructor(c, r, z) {
631
+ this.z = z;
632
+ c.detach();
633
+ this.el = r.nativeElement;
634
+ }
635
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterSocials, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
636
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwFooterSocials, selector: "spw-footer-socials", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
637
+ };
638
+ SpwFooterSocials = __decorate([
639
+ ProxyCmp({})
640
+ ], SpwFooterSocials);
641
+ export { SpwFooterSocials };
642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwFooterSocials, decorators: [{
643
+ type: Component,
644
+ args: [{
645
+ selector: 'spw-footer-socials',
646
+ changeDetection: ChangeDetectionStrategy.OnPush,
647
+ template: '<ng-content></ng-content>',
648
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
649
+ inputs: [],
650
+ }]
651
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
652
+ let SpwGroup = class SpwGroup {
653
+ constructor(c, r, z) {
654
+ this.z = z;
655
+ c.detach();
656
+ this.el = r.nativeElement;
657
+ }
658
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
659
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwGroup, selector: "spw-group", inputs: { alignment: "alignment", disabled: "disabled", label: "label", name: "name", orientation: "orientation", required: "required", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
660
+ };
661
+ SpwGroup = __decorate([
662
+ ProxyCmp({
663
+ inputs: ['alignment', 'disabled', 'label', 'name', 'orientation', 'required', 'type']
664
+ })
665
+ ], SpwGroup);
666
+ export { SpwGroup };
667
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwGroup, decorators: [{
668
+ type: Component,
669
+ args: [{
670
+ selector: 'spw-group',
671
+ changeDetection: ChangeDetectionStrategy.OnPush,
672
+ template: '<ng-content></ng-content>',
673
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
674
+ inputs: ['alignment', 'disabled', 'label', 'name', 'orientation', 'required', 'type'],
675
+ }]
676
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
677
+ let SpwHeader = class SpwHeader {
678
+ constructor(c, r, z) {
679
+ this.z = z;
680
+ c.detach();
681
+ this.el = r.nativeElement;
682
+ }
683
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
684
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeader, selector: "spw-header", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
685
+ };
686
+ SpwHeader = __decorate([
687
+ ProxyCmp({})
688
+ ], SpwHeader);
689
+ export { SpwHeader };
690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeader, decorators: [{
691
+ type: Component,
692
+ args: [{
693
+ selector: 'spw-header',
694
+ changeDetection: ChangeDetectionStrategy.OnPush,
695
+ template: '<ng-content></ng-content>',
696
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
697
+ inputs: [],
698
+ }]
699
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
700
+ let SpwHeaderLang = class SpwHeaderLang {
701
+ constructor(c, r, z) {
702
+ this.z = z;
703
+ c.detach();
704
+ this.el = r.nativeElement;
705
+ }
706
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderLang, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
707
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderLang, selector: "spw-header-lang", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
708
+ };
709
+ SpwHeaderLang = __decorate([
710
+ ProxyCmp({})
711
+ ], SpwHeaderLang);
712
+ export { SpwHeaderLang };
713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderLang, decorators: [{
714
+ type: Component,
715
+ args: [{
716
+ selector: 'spw-header-lang',
717
+ changeDetection: ChangeDetectionStrategy.OnPush,
718
+ template: '<ng-content></ng-content>',
719
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
720
+ inputs: [],
721
+ }]
722
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
723
+ let SpwHeaderLangItem = class SpwHeaderLangItem {
724
+ constructor(c, r, z) {
725
+ this.z = z;
726
+ c.detach();
727
+ this.el = r.nativeElement;
728
+ }
729
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderLangItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
730
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderLangItem, selector: "spw-header-lang-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
731
+ };
732
+ SpwHeaderLangItem = __decorate([
733
+ ProxyCmp({
734
+ inputs: ['active']
735
+ })
736
+ ], SpwHeaderLangItem);
737
+ export { SpwHeaderLangItem };
738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderLangItem, decorators: [{
739
+ type: Component,
740
+ args: [{
741
+ selector: 'spw-header-lang-item',
742
+ changeDetection: ChangeDetectionStrategy.OnPush,
743
+ template: '<ng-content></ng-content>',
744
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
745
+ inputs: ['active'],
746
+ }]
747
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
748
+ let SpwHeaderNavigation = class SpwHeaderNavigation {
749
+ constructor(c, r, z) {
750
+ this.z = z;
751
+ c.detach();
752
+ this.el = r.nativeElement;
753
+ }
754
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigation, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
755
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderNavigation, selector: "spw-header-navigation", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
756
+ };
757
+ SpwHeaderNavigation = __decorate([
758
+ ProxyCmp({})
759
+ ], SpwHeaderNavigation);
760
+ export { SpwHeaderNavigation };
761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigation, decorators: [{
762
+ type: Component,
763
+ args: [{
764
+ selector: 'spw-header-navigation',
765
+ changeDetection: ChangeDetectionStrategy.OnPush,
766
+ template: '<ng-content></ng-content>',
767
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
768
+ inputs: [],
769
+ }]
770
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
771
+ let SpwHeaderNavigationDropdown = class SpwHeaderNavigationDropdown {
772
+ constructor(c, r, z) {
773
+ this.z = z;
774
+ c.detach();
775
+ this.el = r.nativeElement;
776
+ }
777
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigationDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
778
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderNavigationDropdown, selector: "spw-header-navigation-dropdown", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
779
+ };
780
+ SpwHeaderNavigationDropdown = __decorate([
781
+ ProxyCmp({})
782
+ ], SpwHeaderNavigationDropdown);
783
+ export { SpwHeaderNavigationDropdown };
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigationDropdown, decorators: [{
785
+ type: Component,
786
+ args: [{
787
+ selector: 'spw-header-navigation-dropdown',
788
+ changeDetection: ChangeDetectionStrategy.OnPush,
789
+ template: '<ng-content></ng-content>',
790
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
791
+ inputs: [],
792
+ }]
793
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
794
+ let SpwHeaderNavigationItem = class SpwHeaderNavigationItem {
795
+ constructor(c, r, z) {
796
+ this.z = z;
797
+ c.detach();
798
+ this.el = r.nativeElement;
799
+ proxyOutputs(this, this.el, ['spwHeaderNavigationNavigate']);
800
+ }
801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
802
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderNavigationItem, selector: "spw-header-navigation-item", inputs: { isActive: "isActive" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
803
+ };
804
+ SpwHeaderNavigationItem = __decorate([
805
+ ProxyCmp({
806
+ inputs: ['isActive']
807
+ })
808
+ ], SpwHeaderNavigationItem);
809
+ export { SpwHeaderNavigationItem };
810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderNavigationItem, decorators: [{
811
+ type: Component,
812
+ args: [{
813
+ selector: 'spw-header-navigation-item',
814
+ changeDetection: ChangeDetectionStrategy.OnPush,
815
+ template: '<ng-content></ng-content>',
816
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
817
+ inputs: ['isActive'],
818
+ }]
819
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
820
+ let SpwHeaderPersona = class SpwHeaderPersona {
821
+ constructor(c, r, z) {
822
+ this.z = z;
823
+ c.detach();
824
+ this.el = r.nativeElement;
825
+ }
826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderPersona, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderPersona, selector: "spw-header-persona", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
828
+ };
829
+ SpwHeaderPersona = __decorate([
830
+ ProxyCmp({})
831
+ ], SpwHeaderPersona);
832
+ export { SpwHeaderPersona };
833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderPersona, decorators: [{
834
+ type: Component,
835
+ args: [{
836
+ selector: 'spw-header-persona',
837
+ changeDetection: ChangeDetectionStrategy.OnPush,
838
+ template: '<ng-content></ng-content>',
839
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
840
+ inputs: [],
841
+ }]
842
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
843
+ let SpwHeaderPersonaItem = class SpwHeaderPersonaItem {
844
+ constructor(c, r, z) {
845
+ this.z = z;
846
+ c.detach();
847
+ this.el = r.nativeElement;
848
+ }
849
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderPersonaItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
850
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwHeaderPersonaItem, selector: "spw-header-persona-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
851
+ };
852
+ SpwHeaderPersonaItem = __decorate([
853
+ ProxyCmp({
854
+ inputs: ['active']
855
+ })
856
+ ], SpwHeaderPersonaItem);
857
+ export { SpwHeaderPersonaItem };
858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwHeaderPersonaItem, decorators: [{
859
+ type: Component,
860
+ args: [{
861
+ selector: 'spw-header-persona-item',
862
+ changeDetection: ChangeDetectionStrategy.OnPush,
863
+ template: '<ng-content></ng-content>',
864
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
865
+ inputs: ['active'],
866
+ }]
867
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
868
+ let SpwIcon = class SpwIcon {
869
+ constructor(c, r, z) {
870
+ this.z = z;
871
+ c.detach();
872
+ this.el = r.nativeElement;
873
+ }
874
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
875
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwIcon, selector: "spw-icon", inputs: { icon: "icon", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
876
+ };
877
+ SpwIcon = __decorate([
878
+ ProxyCmp({
879
+ inputs: ['icon', 'variant']
880
+ })
881
+ ], SpwIcon);
882
+ export { SpwIcon };
883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwIcon, decorators: [{
884
+ type: Component,
885
+ args: [{
886
+ selector: 'spw-icon',
887
+ changeDetection: ChangeDetectionStrategy.OnPush,
888
+ template: '<ng-content></ng-content>',
889
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
890
+ inputs: ['icon', 'variant'],
891
+ }]
892
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
893
+ let SpwIodda = class SpwIodda {
894
+ constructor(c, r, z) {
895
+ this.z = z;
896
+ c.detach();
897
+ this.el = r.nativeElement;
898
+ }
899
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwIodda, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
900
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwIodda, selector: "spw-iodda", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
901
+ };
902
+ SpwIodda = __decorate([
903
+ ProxyCmp({})
904
+ ], SpwIodda);
905
+ export { SpwIodda };
906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwIodda, decorators: [{
907
+ type: Component,
908
+ args: [{
909
+ selector: 'spw-iodda',
910
+ changeDetection: ChangeDetectionStrategy.OnPush,
911
+ template: '<ng-content></ng-content>',
912
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
913
+ inputs: [],
914
+ }]
915
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
916
+ let SpwLink = class SpwLink {
917
+ constructor(c, r, z) {
918
+ this.z = z;
919
+ c.detach();
920
+ this.el = r.nativeElement;
921
+ proxyOutputs(this, this.el, ['spwClick']);
922
+ }
923
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwLink, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwLink, selector: "spw-link", inputs: { accAriaLabel: "accAriaLabel", disabled: "disabled", href: "href", icon: "icon", iconPosition: "iconPosition", rel: "rel", surface: "surface", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
925
+ };
926
+ SpwLink = __decorate([
927
+ ProxyCmp({
928
+ inputs: ['accAriaLabel', 'disabled', 'href', 'icon', 'iconPosition', 'rel', 'surface', 'target']
929
+ })
930
+ ], SpwLink);
931
+ export { SpwLink };
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwLink, decorators: [{
933
+ type: Component,
934
+ args: [{
935
+ selector: 'spw-link',
936
+ changeDetection: ChangeDetectionStrategy.OnPush,
937
+ template: '<ng-content></ng-content>',
938
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
939
+ inputs: ['accAriaLabel', 'disabled', 'href', 'icon', 'iconPosition', 'rel', 'surface', 'target'],
940
+ }]
941
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
942
+ let SpwLoading = class SpwLoading {
943
+ constructor(c, r, z) {
944
+ this.z = z;
945
+ c.detach();
946
+ this.el = r.nativeElement;
947
+ }
948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwLoading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
949
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwLoading, selector: "spw-loading", inputs: { text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
950
+ };
951
+ SpwLoading = __decorate([
952
+ ProxyCmp({
953
+ inputs: ['text']
954
+ })
955
+ ], SpwLoading);
956
+ export { SpwLoading };
957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwLoading, decorators: [{
958
+ type: Component,
959
+ args: [{
960
+ selector: 'spw-loading',
961
+ changeDetection: ChangeDetectionStrategy.OnPush,
962
+ template: '<ng-content></ng-content>',
963
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
964
+ inputs: ['text'],
965
+ }]
966
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
967
+ let SpwMessage = class SpwMessage {
968
+ constructor(c, r, z) {
969
+ this.z = z;
970
+ c.detach();
971
+ this.el = r.nativeElement;
972
+ }
973
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMessage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
974
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwMessage, selector: "spw-message", inputs: { dismissableText: "dismissableText", isDismissable: "isDismissable", messageId: "messageId", messageTitle: "messageTitle", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
975
+ };
976
+ SpwMessage = __decorate([
977
+ ProxyCmp({
978
+ inputs: ['dismissableText', 'isDismissable', 'messageId', 'messageTitle', 'variant']
979
+ })
980
+ ], SpwMessage);
981
+ export { SpwMessage };
982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMessage, decorators: [{
983
+ type: Component,
984
+ args: [{
985
+ selector: 'spw-message',
986
+ changeDetection: ChangeDetectionStrategy.OnPush,
987
+ template: '<ng-content></ng-content>',
988
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
989
+ inputs: ['dismissableText', 'isDismissable', 'messageId', 'messageTitle', 'variant'],
990
+ }]
991
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
992
+ let SpwModal = class SpwModal {
993
+ constructor(c, r, z) {
994
+ this.z = z;
995
+ c.detach();
996
+ this.el = r.nativeElement;
997
+ proxyOutputs(this, this.el, ['spwModalOpen', 'spwModalClose']);
998
+ }
999
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1000
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwModal, selector: "spw-modal", inputs: { alertIcon: "alertIcon", cancelButtonLabel: "cancelButtonLabel", caption: "caption", closeOnOverlayClick: "closeOnOverlayClick", okButtonLabel: "okButtonLabel", opened: "opened", showCloseButton: "showCloseButton", size: "size", stickyButtons: "stickyButtons" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1001
+ };
1002
+ SpwModal = __decorate([
1003
+ ProxyCmp({
1004
+ inputs: ['alertIcon', 'cancelButtonLabel', 'caption', 'closeOnOverlayClick', 'okButtonLabel', 'opened', 'showCloseButton', 'size', 'stickyButtons']
1005
+ })
1006
+ ], SpwModal);
1007
+ export { SpwModal };
1008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwModal, decorators: [{
1009
+ type: Component,
1010
+ args: [{
1011
+ selector: 'spw-modal',
1012
+ changeDetection: ChangeDetectionStrategy.OnPush,
1013
+ template: '<ng-content></ng-content>',
1014
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1015
+ inputs: ['alertIcon', 'cancelButtonLabel', 'caption', 'closeOnOverlayClick', 'okButtonLabel', 'opened', 'showCloseButton', 'size', 'stickyButtons'],
1016
+ }]
1017
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1018
+ let SpwMosaic = class SpwMosaic {
1019
+ constructor(c, r, z) {
1020
+ this.z = z;
1021
+ c.detach();
1022
+ this.el = r.nativeElement;
1023
+ }
1024
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMosaic, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1025
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwMosaic, selector: "spw-mosaic", inputs: { colsDesktop: "colsDesktop", colsMobile: "colsMobile", colsTablet: "colsTablet", isMasonry: "isMasonry", items: "items" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1026
+ };
1027
+ SpwMosaic = __decorate([
1028
+ ProxyCmp({
1029
+ inputs: ['colsDesktop', 'colsMobile', 'colsTablet', 'isMasonry', 'items'],
1030
+ methods: ['waitForImages', 'initializeMasonry']
1031
+ })
1032
+ ], SpwMosaic);
1033
+ export { SpwMosaic };
1034
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMosaic, decorators: [{
1035
+ type: Component,
1036
+ args: [{
1037
+ selector: 'spw-mosaic',
1038
+ changeDetection: ChangeDetectionStrategy.OnPush,
1039
+ template: '<ng-content></ng-content>',
1040
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1041
+ inputs: ['colsDesktop', 'colsMobile', 'colsTablet', 'isMasonry', 'items'],
1042
+ }]
1043
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1044
+ let SpwMosaicItem = class SpwMosaicItem {
1045
+ constructor(c, r, z) {
1046
+ this.z = z;
1047
+ c.detach();
1048
+ this.el = r.nativeElement;
1049
+ }
1050
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMosaicItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1051
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwMosaicItem, selector: "spw-mosaic-item", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1052
+ };
1053
+ SpwMosaicItem = __decorate([
1054
+ ProxyCmp({})
1055
+ ], SpwMosaicItem);
1056
+ export { SpwMosaicItem };
1057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwMosaicItem, decorators: [{
1058
+ type: Component,
1059
+ args: [{
1060
+ selector: 'spw-mosaic-item',
1061
+ changeDetection: ChangeDetectionStrategy.OnPush,
1062
+ template: '<ng-content></ng-content>',
1063
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1064
+ inputs: [],
1065
+ }]
1066
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1067
+ let SpwPagination = class SpwPagination {
1068
+ constructor(c, r, z) {
1069
+ this.z = z;
1070
+ c.detach();
1071
+ this.el = r.nativeElement;
1072
+ proxyOutputs(this, this.el, ['pageChanged']);
1073
+ }
1074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1075
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwPagination, selector: "spw-pagination", inputs: { currentPage: "currentPage", isDisabled: "isDisabled", itemsPerPage: "itemsPerPage", totalItems: "totalItems", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1076
+ };
1077
+ SpwPagination = __decorate([
1078
+ ProxyCmp({
1079
+ inputs: ['currentPage', 'isDisabled', 'itemsPerPage', 'totalItems', 'variant']
1080
+ })
1081
+ ], SpwPagination);
1082
+ export { SpwPagination };
1083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwPagination, decorators: [{
1084
+ type: Component,
1085
+ args: [{
1086
+ selector: 'spw-pagination',
1087
+ changeDetection: ChangeDetectionStrategy.OnPush,
1088
+ template: '<ng-content></ng-content>',
1089
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1090
+ inputs: ['currentPage', 'isDisabled', 'itemsPerPage', 'totalItems', 'variant'],
1091
+ }]
1092
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1093
+ let SpwRadio = class SpwRadio {
1094
+ constructor(c, r, z) {
1095
+ this.z = z;
1096
+ c.detach();
1097
+ this.el = r.nativeElement;
1098
+ proxyOutputs(this, this.el, ['spwChange']);
1099
+ }
1100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwRadio, selector: "spw-radio", inputs: { checked: "checked", disabled: "disabled", error: "error", name: "name", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1102
+ };
1103
+ SpwRadio = __decorate([
1104
+ ProxyCmp({
1105
+ inputs: ['checked', 'disabled', 'error', 'name', 'value'],
1106
+ methods: ['setChecked']
1107
+ })
1108
+ ], SpwRadio);
1109
+ export { SpwRadio };
1110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwRadio, decorators: [{
1111
+ type: Component,
1112
+ args: [{
1113
+ selector: 'spw-radio',
1114
+ changeDetection: ChangeDetectionStrategy.OnPush,
1115
+ template: '<ng-content></ng-content>',
1116
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1117
+ inputs: ['checked', 'disabled', 'error', 'name', 'value'],
1118
+ }]
1119
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1120
+ let SpwSearchField = class SpwSearchField {
1121
+ constructor(c, r, z) {
1122
+ this.z = z;
1123
+ c.detach();
1124
+ this.el = r.nativeElement;
1125
+ }
1126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSearchField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwSearchField, selector: "spw-search-field", inputs: { assistiveText: "assistiveText", disabled: "disabled", items: "items", label: "label", name: "name", placeholder: "placeholder", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1128
+ };
1129
+ SpwSearchField = __decorate([
1130
+ ProxyCmp({
1131
+ inputs: ['assistiveText', 'disabled', 'items', 'label', 'name', 'placeholder', 'required']
1132
+ })
1133
+ ], SpwSearchField);
1134
+ export { SpwSearchField };
1135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSearchField, decorators: [{
1136
+ type: Component,
1137
+ args: [{
1138
+ selector: 'spw-search-field',
1139
+ changeDetection: ChangeDetectionStrategy.OnPush,
1140
+ template: '<ng-content></ng-content>',
1141
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1142
+ inputs: ['assistiveText', 'disabled', 'items', 'label', 'name', 'placeholder', 'required'],
1143
+ }]
1144
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1145
+ let SpwSelect = class SpwSelect {
1146
+ constructor(c, r, z) {
1147
+ this.z = z;
1148
+ c.detach();
1149
+ this.el = r.nativeElement;
1150
+ proxyOutputs(this, this.el, ['valueChanged']);
1151
+ }
1152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwSelect, selector: "spw-select", inputs: { assistiveText: "assistiveText", disabled: "disabled", error: "error", hint: "hint", label: "label", name: "name", placeholder: "placeholder", required: "required", showErrorIcon: "showErrorIcon", showHintIcon: "showHintIcon", showSuccessIcon: "showSuccessIcon", size: "size", success: "success", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1154
+ };
1155
+ SpwSelect = __decorate([
1156
+ ProxyCmp({
1157
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'label', 'name', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value']
1158
+ })
1159
+ ], SpwSelect);
1160
+ export { SpwSelect };
1161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSelect, decorators: [{
1162
+ type: Component,
1163
+ args: [{
1164
+ selector: 'spw-select',
1165
+ changeDetection: ChangeDetectionStrategy.OnPush,
1166
+ template: '<ng-content></ng-content>',
1167
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1168
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'label', 'name', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value'],
1169
+ }]
1170
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1171
+ let SpwSeparator = class SpwSeparator {
1172
+ constructor(c, r, z) {
1173
+ this.z = z;
1174
+ c.detach();
1175
+ this.el = r.nativeElement;
1176
+ }
1177
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSeparator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1178
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwSeparator, selector: "spw-separator", inputs: { direction: "direction", height: "height", surface: "surface", thickness: "thickness", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1179
+ };
1180
+ SpwSeparator = __decorate([
1181
+ ProxyCmp({
1182
+ inputs: ['direction', 'height', 'surface', 'thickness', 'width']
1183
+ })
1184
+ ], SpwSeparator);
1185
+ export { SpwSeparator };
1186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwSeparator, decorators: [{
1187
+ type: Component,
1188
+ args: [{
1189
+ selector: 'spw-separator',
1190
+ changeDetection: ChangeDetectionStrategy.OnPush,
1191
+ template: '<ng-content></ng-content>',
1192
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1193
+ inputs: ['direction', 'height', 'surface', 'thickness', 'width'],
1194
+ }]
1195
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1196
+ let SpwTable = class SpwTable {
1197
+ constructor(c, r, z) {
1198
+ this.z = z;
1199
+ c.detach();
1200
+ this.el = r.nativeElement;
1201
+ }
1202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTable, selector: "spw-table", inputs: { accAriaLabel: "accAriaLabel", isSticky: "isSticky", maxHeight: "maxHeight", minWidth: "minWidth" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1204
+ };
1205
+ SpwTable = __decorate([
1206
+ ProxyCmp({
1207
+ inputs: ['accAriaLabel', 'isSticky', 'maxHeight', 'minWidth']
1208
+ })
1209
+ ], SpwTable);
1210
+ export { SpwTable };
1211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTable, decorators: [{
1212
+ type: Component,
1213
+ args: [{
1214
+ selector: 'spw-table',
1215
+ changeDetection: ChangeDetectionStrategy.OnPush,
1216
+ template: '<ng-content></ng-content>',
1217
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1218
+ inputs: ['accAriaLabel', 'isSticky', 'maxHeight', 'minWidth'],
1219
+ }]
1220
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1221
+ let SpwTableBody = class SpwTableBody {
1222
+ constructor(c, r, z) {
1223
+ this.z = z;
1224
+ c.detach();
1225
+ this.el = r.nativeElement;
1226
+ }
1227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1228
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTableBody, selector: "spw-table-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1229
+ };
1230
+ SpwTableBody = __decorate([
1231
+ ProxyCmp({})
1232
+ ], SpwTableBody);
1233
+ export { SpwTableBody };
1234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableBody, decorators: [{
1235
+ type: Component,
1236
+ args: [{
1237
+ selector: 'spw-table-body',
1238
+ changeDetection: ChangeDetectionStrategy.OnPush,
1239
+ template: '<ng-content></ng-content>',
1240
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1241
+ inputs: [],
1242
+ }]
1243
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1244
+ let SpwTableCell = class SpwTableCell {
1245
+ constructor(c, r, z) {
1246
+ this.z = z;
1247
+ c.detach();
1248
+ this.el = r.nativeElement;
1249
+ }
1250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableCell, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTableCell, selector: "spw-table-cell", inputs: { colspan: "colspan", headers: "headers", isHighlighted: "isHighlighted", rowspan: "rowspan", textAlign: "textAlign", verticalAlign: "verticalAlign" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1252
+ };
1253
+ SpwTableCell = __decorate([
1254
+ ProxyCmp({
1255
+ inputs: ['colspan', 'headers', 'isHighlighted', 'rowspan', 'textAlign', 'verticalAlign']
1256
+ })
1257
+ ], SpwTableCell);
1258
+ export { SpwTableCell };
1259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableCell, decorators: [{
1260
+ type: Component,
1261
+ args: [{
1262
+ selector: 'spw-table-cell',
1263
+ changeDetection: ChangeDetectionStrategy.OnPush,
1264
+ template: '<ng-content></ng-content>',
1265
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1266
+ inputs: ['colspan', 'headers', 'isHighlighted', 'rowspan', 'textAlign', 'verticalAlign'],
1267
+ }]
1268
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1269
+ let SpwTableHead = class SpwTableHead {
1270
+ constructor(c, r, z) {
1271
+ this.z = z;
1272
+ c.detach();
1273
+ this.el = r.nativeElement;
1274
+ }
1275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableHead, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1276
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTableHead, selector: "spw-table-head", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1277
+ };
1278
+ SpwTableHead = __decorate([
1279
+ ProxyCmp({})
1280
+ ], SpwTableHead);
1281
+ export { SpwTableHead };
1282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableHead, decorators: [{
1283
+ type: Component,
1284
+ args: [{
1285
+ selector: 'spw-table-head',
1286
+ changeDetection: ChangeDetectionStrategy.OnPush,
1287
+ template: '<ng-content></ng-content>',
1288
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1289
+ inputs: [],
1290
+ }]
1291
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1292
+ let SpwTableHeader = class SpwTableHeader {
1293
+ constructor(c, r, z) {
1294
+ this.z = z;
1295
+ c.detach();
1296
+ this.el = r.nativeElement;
1297
+ }
1298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1299
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTableHeader, selector: "spw-table-header", inputs: { colspan: "colspan", headers: "headers", isHighlighted: "isHighlighted", rowspan: "rowspan", textAlign: "textAlign", verticalAlign: "verticalAlign" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1300
+ };
1301
+ SpwTableHeader = __decorate([
1302
+ ProxyCmp({
1303
+ inputs: ['colspan', 'headers', 'isHighlighted', 'rowspan', 'textAlign', 'verticalAlign']
1304
+ })
1305
+ ], SpwTableHeader);
1306
+ export { SpwTableHeader };
1307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableHeader, decorators: [{
1308
+ type: Component,
1309
+ args: [{
1310
+ selector: 'spw-table-header',
1311
+ changeDetection: ChangeDetectionStrategy.OnPush,
1312
+ template: '<ng-content></ng-content>',
1313
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1314
+ inputs: ['colspan', 'headers', 'isHighlighted', 'rowspan', 'textAlign', 'verticalAlign'],
1315
+ }]
1316
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1317
+ let SpwTableRow = class SpwTableRow {
1318
+ constructor(c, r, z) {
1319
+ this.z = z;
1320
+ c.detach();
1321
+ this.el = r.nativeElement;
1322
+ }
1323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTableRow, selector: "spw-table-row", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1325
+ };
1326
+ SpwTableRow = __decorate([
1327
+ ProxyCmp({})
1328
+ ], SpwTableRow);
1329
+ export { SpwTableRow };
1330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTableRow, decorators: [{
1331
+ type: Component,
1332
+ args: [{
1333
+ selector: 'spw-table-row',
1334
+ changeDetection: ChangeDetectionStrategy.OnPush,
1335
+ template: '<ng-content></ng-content>',
1336
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1337
+ inputs: [],
1338
+ }]
1339
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1340
+ let SpwTextField = class SpwTextField {
1341
+ constructor(c, r, z) {
1342
+ this.z = z;
1343
+ c.detach();
1344
+ this.el = r.nativeElement;
1345
+ proxyOutputs(this, this.el, ['valueChanged']);
1346
+ }
1347
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTextField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1348
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTextField, selector: "spw-text-field", inputs: { assistiveText: "assistiveText", disabled: "disabled", error: "error", hint: "hint", indicator: "indicator", isClear: "isClear", isSearch: "isSearch", label: "label", maxLength: "maxLength", minLength: "minLength", name: "name", placeholder: "placeholder", required: "required", showErrorIcon: "showErrorIcon", showHintIcon: "showHintIcon", showSuccessIcon: "showSuccessIcon", size: "size", success: "success", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1349
+ };
1350
+ SpwTextField = __decorate([
1351
+ ProxyCmp({
1352
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'indicator', 'isClear', 'isSearch', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'type', 'value']
1353
+ })
1354
+ ], SpwTextField);
1355
+ export { SpwTextField };
1356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTextField, decorators: [{
1357
+ type: Component,
1358
+ args: [{
1359
+ selector: 'spw-text-field',
1360
+ changeDetection: ChangeDetectionStrategy.OnPush,
1361
+ template: '<ng-content></ng-content>',
1362
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1363
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'indicator', 'isClear', 'isSearch', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'required', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'type', 'value'],
1364
+ }]
1365
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1366
+ let SpwTextarea = class SpwTextarea {
1367
+ constructor(c, r, z) {
1368
+ this.z = z;
1369
+ c.detach();
1370
+ this.el = r.nativeElement;
1371
+ proxyOutputs(this, this.el, ['valueChanged']);
1372
+ }
1373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTextarea, selector: "spw-textarea", inputs: { assistiveText: "assistiveText", disabled: "disabled", error: "error", hint: "hint", indicator: "indicator", isSearch: "isSearch", label: "label", maxLength: "maxLength", minLength: "minLength", name: "name", placeholder: "placeholder", required: "required", rows: "rows", showErrorIcon: "showErrorIcon", showHintIcon: "showHintIcon", showSuccessIcon: "showSuccessIcon", size: "size", success: "success", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1375
+ };
1376
+ SpwTextarea = __decorate([
1377
+ ProxyCmp({
1378
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'indicator', 'isSearch', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'required', 'rows', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value']
1379
+ })
1380
+ ], SpwTextarea);
1381
+ export { SpwTextarea };
1382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTextarea, decorators: [{
1383
+ type: Component,
1384
+ args: [{
1385
+ selector: 'spw-textarea',
1386
+ changeDetection: ChangeDetectionStrategy.OnPush,
1387
+ template: '<ng-content></ng-content>',
1388
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1389
+ inputs: ['assistiveText', 'disabled', 'error', 'hint', 'indicator', 'isSearch', 'label', 'maxLength', 'minLength', 'name', 'placeholder', 'required', 'rows', 'showErrorIcon', 'showHintIcon', 'showSuccessIcon', 'size', 'success', 'value'],
1390
+ }]
1391
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1392
+ let SpwThemeProvider = class SpwThemeProvider {
1393
+ constructor(c, r, z) {
1394
+ this.z = z;
1395
+ c.detach();
1396
+ this.el = r.nativeElement;
1397
+ }
1398
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwThemeProvider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1399
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwThemeProvider, selector: "spw-theme-provider", inputs: { theme: "theme" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1400
+ };
1401
+ SpwThemeProvider = __decorate([
1402
+ ProxyCmp({
1403
+ inputs: ['theme']
1404
+ })
1405
+ ], SpwThemeProvider);
1406
+ export { SpwThemeProvider };
1407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwThemeProvider, decorators: [{
1408
+ type: Component,
1409
+ args: [{
1410
+ selector: 'spw-theme-provider',
1411
+ changeDetection: ChangeDetectionStrategy.OnPush,
1412
+ template: '<ng-content></ng-content>',
1413
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1414
+ inputs: ['theme'],
1415
+ }]
1416
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1417
+ let SpwTooltip = class SpwTooltip {
1418
+ constructor(c, r, z) {
1419
+ this.z = z;
1420
+ c.detach();
1421
+ this.el = r.nativeElement;
1422
+ }
1423
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1424
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SpwTooltip, selector: "spw-tooltip", inputs: { direction: "direction", tooltipText: "tooltipText", tooltipTitle: "tooltipTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1425
+ };
1426
+ SpwTooltip = __decorate([
1427
+ ProxyCmp({
1428
+ inputs: ['direction', 'tooltipText', 'tooltipTitle']
1429
+ })
1430
+ ], SpwTooltip);
1431
+ export { SpwTooltip };
1432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SpwTooltip, decorators: [{
1433
+ type: Component,
1434
+ args: [{
1435
+ selector: 'spw-tooltip',
1436
+ changeDetection: ChangeDetectionStrategy.OnPush,
1437
+ template: '<ng-content></ng-content>',
1438
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1439
+ inputs: ['direction', 'tooltipText', 'tooltipTitle'],
1440
+ }]
1441
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Nwdy1hbmd1bGFyLWxpYnJhcnkvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWNoRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7OEdBTFUsWUFBWTtrR0FBWixZQUFZLHFEQUpiLDJCQUEyQjs7QUFJMUIsWUFBWTtJQVR4QixRQUFRLENBQUMsRUFDVCxDQUFDO0dBUVcsWUFBWSxDQU14Qjs7MkZBTlksWUFBWTtrQkFQeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7O0FBc0JNLElBQU0sbUJBQW1CLEdBQXpCLE1BQU0sbUJBQW1CO0lBRTlCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxD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QUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAc3B3LWRzL3Nwdy1zdGVuY2lsLWxpYnJhcnknO1xuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlNwd0FjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWFjY29yZGlvbi1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0FjY29yZGlvbkNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdBY2NvcmRpb25Db250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5TcHdBY2NvcmRpb25Db250ZW50IHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctYWNjb3JkaW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3QWNjb3JkaW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjY29yZGlvblRvZ2dsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIFRyYW5zbWV0IGwnw6l0YXQgYWN0dWVsIChpc09wZW4pIGV0IGwnaWQgZGUgbCfDqWzDqW1lbnRcbiAgICovXG4gIGFjY29yZGlvblRvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgaXNPcGVuOiBib29sZWFuOyBpZDogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICd0YWcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1hY2NvcmRpb24tdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAndGFnJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0FjY29yZGlvblRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3QWNjb3JkaW9uVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0FjY29yZGlvblRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N1cmZhY2UnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N1cmZhY2UnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3QnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuU3B3QnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydocmVmJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctYnJlYWRjcnVtYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydocmVmJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0JyZWFkY3J1bWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3QnJlYWRjcnVtYkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlNwd0JyZWFkY3J1bWJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY0FyaWFMYWJlbCcsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdocmVmJywgJ2ljb24nLCAnaWNvblBvc2l0aW9uJywgJ2lzRnVsbFdpZHRoJywgJ2lzRnVsbFdpZHRoTW9iaWxlJywgJ25hbWUnLCAncmVsJywgJ3NpemUnLCAnc3VyZmFjZScsICd0YXJnZXQnLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NBcmlhTGFiZWwnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25Qb3NpdGlvbicsICdpc0Z1bGxXaWR0aCcsICdpc0Z1bGxXaWR0aE1vYmlsZScsICduYW1lJywgJ3JlbCcsICdzaXplJywgJ3N1cmZhY2UnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcHdGb2N1cycsICdzcHdCbHVyJywgJ3Nwd05hdmlnYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0J1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuU3B3QnV0dG9uIHtcbiAgLyoqXG4gICAqIExvcnMgZHUgZm9jdXNcbiAgICovXG4gIHNwd0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogTG9ycyBkZSBsYSBwZXJ0ZSBkdSBmb2N1c1xuICAgKi9cbiAgc3B3Qmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIE5hdmlnYXRpb24gdmVycyB1biBsaWVuIGxvcnMgZHUgY2xpY1xuICAgKi9cbiAgc3B3TmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY0FyaWFMYWJlbCcsICdkYXRlRW5kJywgJ2RhdGVTdGFydCcsICdkaXNhYmxlZCcsICdlbGVtZW50VHlwZScsICdmdWxsSGVpZ2h0JywgJ2hyZWYnLCAncmVsJywgJ3RhcmdldCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjQXJpYUxhYmVsJywgJ2RhdGVFbmQnLCAnZGF0ZVN0YXJ0JywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2Z1bGxIZWlnaHQnLCAnaHJlZicsICdyZWwnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0NhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZScsICd0YWcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1jYXJkLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAndGFnJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0NhcmRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Q2FyZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0NhcmRDb250ZW50IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xpbmVDbGFtcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWNhcmQtZXhjZXJwdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGluZUNsYW1wJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0NhcmRFeGNlcnB0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Q2FyZEV4Y2VycHQgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0NhcmRFeGNlcnB0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctY2FyZC1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q2FyZEltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Q2FyZEltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdDYXJkSW1hZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGluayddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWNhcmQtc3VidGFnLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xpbmsnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q2FyZFN1YnRhZ0l0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdDYXJkU3VidGFnSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3B3Q2FyZFN1YnRhZ0l0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWNhcmQtc3VidGFncycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdDYXJkU3VidGFncyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0NhcmRTdWJ0YWdzIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdDYXJkU3VidGFncyB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWNhcmQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q2FyZFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Q2FyZFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdDYXJkVGl0bGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uJywgJ25hbWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVDaGVja2VkU3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uJywgJ25hbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcHdDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Q2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlNwd0NoZWNrYm94IHtcbiAgLyoqXG4gICAqIMOJdsOpbmVtZW50IGTDqWNsZW5jaMOpIGxvcnMgZCd1biBjaGFuZ2VtZW50IGQnw6l0YXQgZGUgbGEgY2FzZSDDoCBjb2NoZXIgKGNvY2jDqWUgb3UgZMOpY29jaMOpZSlcbiAgICovXG4gIHNwd0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0QWxsQnV0dG9uVGV4dCcsICdhY2NlcHRSZXF1aXJlZEJ1dHRvblRleHQnLCAnY29va2llc0Rlc2NyaXB0aW9uJywgJ2Nvb2tpZXNUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWNvb2tpZXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdEFsbEJ1dHRvblRleHQnLCAnYWNjZXB0UmVxdWlyZWRCdXR0b25UZXh0JywgJ2Nvb2tpZXNEZXNjcmlwdGlvbicsICdjb29raWVzVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Q29va2llcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0Nvb2tpZXMgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0Nvb2tpZXMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2lzU2VhcmNoJywgJ2xhYmVsJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzaG93RXJyb3JJY29uJywgJ3Nob3dIaW50SWNvbicsICdzaG93U3VjY2Vzc0ljb24nLCAnc2l6ZScsICdzdWNjZXNzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctY3VzdG9tLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2lzU2VhcmNoJywgJ2xhYmVsJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzaG93RXJyb3JJY29uJywgJ3Nob3dIaW50SWNvbicsICdzaG93U3VjY2Vzc0ljb24nLCAnc2l6ZScsICdzdWNjZXNzJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0N1c3RvbVNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdDdXN0b21TZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0N1c3RvbVNlbGVjdCB7XG4gIC8qKlxuICAgKiDDiXbDqW5lbWVudCDDqW1pcyBsb3JzcXVlIGxhIHZhbGV1ciBzw6lsZWN0aW9ubsOpZSBjaGFuZ2VcbiAgICovXG4gIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PChzdHJpbmcgfCBudW1iZXIpW10gfCBzdHJpbmcgfCBudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWZpZWxkLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0ZpZWxkTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdGaWVsZExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdGaWVsZExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Nob3dJY29uJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1maWVsZC1tZXNzYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaG93SWNvbicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0ZpZWxkTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0ZpZWxkTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuU3B3RmllbGRNZXNzYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdkaXNhYmxlZCcsICdlbmFibGVEcm9wWm9uZScsICdlcnJvcicsICdtYXhGaWxlU2l6ZScsICdtYXhGaWxlcycsICdtdWx0aXBsZScsICduYW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncmVzZXRJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWZpbGUtdXBsb2FkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NlcHQnLCAnZGlzYWJsZWQnLCAnZW5hYmxlRHJvcFpvbmUnLCAnZXJyb3InLCAnbWF4RmlsZVNpemUnLCAnbWF4RmlsZXMnLCAnbXVsdGlwbGUnLCAnbmFtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdGaWxlVXBsb2FkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3B3RmlsZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdGaWxlVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdGaWxlVXBsb2FkIHtcbiAgLyoqXG4gICAqIMOJdsOpbmVtZW50IMOpbWlzIGxvcnNxdWUgbGEgc8OpbGVjdGlvbiBkZSBmaWNoaWVycyBjaGFuZ2VcbiAgICovXG4gIHNwd0ZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGZpbGVzOiBGaWxlW10gfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xzRGVza3RvcCcsICdjb2xzTW9iaWxlJywgJ2NvbHNUYWJsZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbHNEZXNrdG9wJywgJ2NvbHNNb2JpbGUnLCAnY29sc1RhYmxldCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0Zvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXRlVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1mb290ZXItYm90dG9tJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXRlVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Rm9vdGVyQm90dG9tIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Rm9vdGVyQm90dG9tIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdGb290ZXJCb3R0b20ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1mb290ZXItY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdGb290ZXJDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Rm9vdGVyQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuU3B3Rm9vdGVyQ29udGVudCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWZvb3Rlci1jb250ZW50LWNvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Rm9vdGVyQ29udGVudENvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0Zvb3RlckNvbnRlbnRDb2wgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0Zvb3RlckNvbnRlbnRDb2wge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZicsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1mb290ZXItbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaHJlZicsICd0YXJnZXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3Rm9vdGVyTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0Zvb3RlckxpbmsgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0Zvb3Rlckxpbmsge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1mb290ZXItc29jaWFscycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdGb290ZXJTb2NpYWxzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3Rm9vdGVyU29jaWFscyBleHRlbmRzIENvbXBvbmVudHMuU3B3Rm9vdGVyU29jaWFscyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbm1lbnQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnbmFtZScsICdvcmllbnRhdGlvbicsICdyZXF1aXJlZCcsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWdubWVudCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ29yaWVudGF0aW9uJywgJ3JlcXVpcmVkJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdHcm91cCBleHRlbmRzIENvbXBvbmVudHMuU3B3R3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3SGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3SGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1oZWFkZXItbGFuZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdIZWFkZXJMYW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3SGVhZGVyTGFuZyBleHRlbmRzIENvbXBvbmVudHMuU3B3SGVhZGVyTGFuZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1oZWFkZXItbGFuZy1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3SGVhZGVyTGFuZ0l0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdIZWFkZXJMYW5nSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3B3SGVhZGVyTGFuZ0l0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1oZWFkZXItbmF2aWdhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdIZWFkZXJOYXZpZ2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3SGVhZGVyTmF2aWdhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuU3B3SGVhZGVyTmF2aWdhdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWhlYWRlci1uYXZpZ2F0aW9uLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0hlYWRlck5hdmlnYXRpb25Ecm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0hlYWRlck5hdmlnYXRpb25Ecm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuU3B3SGVhZGVyTmF2aWdhdGlvbkRyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2lzQWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctaGVhZGVyLW5hdmlnYXRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaXNBY3RpdmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3SGVhZGVyTmF2aWdhdGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcHdIZWFkZXJOYXZpZ2F0aW9uTmF2aWdhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3SGVhZGVyTmF2aWdhdGlvbkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlNwd0hlYWRlck5hdmlnYXRpb25JdGVtIHtcblxuICBzcHdIZWFkZXJOYXZpZ2F0aW9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGxldmVsOiBudW1iZXI7IGVsZW1lbnQ6IEhUTUxTcHdIZWFkZXJOYXZpZ2F0aW9uSXRlbUVsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWhlYWRlci1wZXJzb25hJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd0hlYWRlclBlcnNvbmEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdIZWFkZXJQZXJzb25hIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdIZWFkZXJQZXJzb25hIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWhlYWRlci1wZXJzb25hLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdIZWFkZXJQZXJzb25hSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0hlYWRlclBlcnNvbmFJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdIZWFkZXJQZXJzb25hSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpY29uJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLlNwd0ljb24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1pb2RkYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdJb2RkYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0lvZGRhIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdJb2RkYSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NBcmlhTGFiZWwnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25Qb3NpdGlvbicsICdyZWwnLCAnc3VyZmFjZScsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NBcmlhTGFiZWwnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25Qb3NpdGlvbicsICdyZWwnLCAnc3VyZmFjZScsICd0YXJnZXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3TGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Nwd0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0xpbmsgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0xpbmsge1xuICAvKipcbiAgICogw4l2w6luZW1lbnQgZMOpY2xlbmNow6kgbG9ycyBkdSBjbGljIHN1ciBsZSBsaWVuXG4gICAqL1xuICBzcHdDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LWxvYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3TG9hZGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd0xvYWRpbmcgZXh0ZW5kcyBDb21wb25lbnRzLlNwd0xvYWRpbmcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzbWlzc2FibGVUZXh0JywgJ2lzRGlzbWlzc2FibGUnLCAnbWVzc2FnZUlkJywgJ21lc3NhZ2VUaXRsZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctbWVzc2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzbWlzc2FibGVUZXh0JywgJ2lzRGlzbWlzc2FibGUnLCAnbWVzc2FnZUlkJywgJ21lc3NhZ2VUaXRsZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd01lc3NhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdNZXNzYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsZXJ0SWNvbicsICdjYW5jZWxCdXR0b25MYWJlbCcsICdjYXB0aW9uJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnb2tCdXR0b25MYWJlbCcsICdvcGVuZWQnLCAnc2hvd0Nsb3NlQnV0dG9uJywgJ3NpemUnLCAnc3RpY2t5QnV0dG9ucyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGVydEljb24nLCAnY2FuY2VsQnV0dG9uTGFiZWwnLCAnY2FwdGlvbicsICdjbG9zZU9uT3ZlcmxheUNsaWNrJywgJ29rQnV0dG9uTGFiZWwnLCAnb3BlbmVkJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaXplJywgJ3N0aWNreUJ1dHRvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3TW9kYWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcHdNb2RhbE9wZW4nLCAnc3B3TW9kYWxDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuU3B3TW9kYWwge1xuICAvKipcbiAgICogw4l2w6luZW1lbnQgZMOpY2xlbmNow6kgbG9ycyBkZSBsJ291dmVydHVyZSBkZSBsYSBtb2RhbFxuICAgKi9cbiAgc3B3TW9kYWxPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiDDiXbDqW5lbWVudCBkw6ljbGVuY2jDqSBsb3JzIGRlIGxhIGZlcm1ldHVyZSBkZSBsYSBtb2RhbFxuICAgKi9cbiAgc3B3TW9kYWxDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xzRGVza3RvcCcsICdjb2xzTW9iaWxlJywgJ2NvbHNUYWJsZXQnLCAnaXNNYXNvbnJ5JywgJ2l0ZW1zJ10sXG4gIG1ldGhvZHM6IFsnd2FpdEZvckltYWdlcycsICdpbml0aWFsaXplTWFzb25yeSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LW1vc2FpYycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sc0Rlc2t0b3AnLCAnY29sc01vYmlsZScsICdjb2xzVGFibGV0JywgJ2lzTWFzb25yeScsICdpdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdNb3NhaWMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdNb3NhaWMgZXh0ZW5kcyBDb21wb25lbnRzLlNwd01vc2FpYyB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LW1vc2FpYy1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd01vc2FpY0l0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdNb3NhaWNJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TcHdNb3NhaWNJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnJlbnRQYWdlJywgJ2lzRGlzYWJsZWQnLCAnaXRlbXNQZXJQYWdlJywgJ3RvdGFsSXRlbXMnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LXBhZ2luYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N1cnJlbnRQYWdlJywgJ2lzRGlzYWJsZWQnLCAnaXRlbXNQZXJQYWdlJywgJ3RvdGFsSXRlbXMnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdQYWdpbmF0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3UGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuU3B3UGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiDDiXbDqW5lbWVudCDDqW1pcyBsb3JzcXVlIGxhIHBhZ2UgZXN0IGNoYW5nw6llLCByZW52b2llIGxlIG51bcOpcm8gZGUgbGEgbm91dmVsbGUgcGFnZVxuICAgKi9cbiAgcGFnZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICduYW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ25hbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3UmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcHdDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3UmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlNwd1JhZGlvIHtcbiAgLyoqXG4gICAqIMOJdsOpbmVtZW50IGTDqWNsZW5jaMOpIGxvcnNxdWUgbCfDqXRhdCBkdSBib3V0b24gcmFkaW8gY2hhbmdlIChjb2Now6kgb3UgZMOpY29jaMOpKVxuICAgKi9cbiAgc3B3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2VkOiBib29sZWFuOyB2YWx1ZTogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdpdGVtcycsICdsYWJlbCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctc2VhcmNoLWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhc3Npc3RpdmVUZXh0JywgJ2Rpc2FibGVkJywgJ2l0ZW1zJywgJ2xhYmVsJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3U2VhcmNoRmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdTZWFyY2hGaWVsZCBleHRlbmRzIENvbXBvbmVudHMuU3B3U2VhcmNoRmllbGQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2xhYmVsJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2hvd0Vycm9ySWNvbicsICdzaG93SGludEljb24nLCAnc2hvd1N1Y2Nlc3NJY29uJywgJ3NpemUnLCAnc3VjY2VzcycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2xhYmVsJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2hvd0Vycm9ySWNvbicsICdzaG93SGludEljb24nLCAnc2hvd1N1Y2Nlc3NJY29uJywgJ3NpemUnLCAnc3VjY2VzcycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5TcHdTZWxlY3Qge1xuICAvKipcbiAgICogRW1ldCB1biBldmVudCBzaSBsYSB2YWxldXIgY2hhbmdlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCBudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2hlaWdodCcsICdzdXJmYWNlJywgJ3RoaWNrbmVzcycsICd3aWR0aCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LXNlcGFyYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ2hlaWdodCcsICdzdXJmYWNlJywgJ3RoaWNrbmVzcycsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdTZXBhcmF0b3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdTZXBhcmF0b3IgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1NlcGFyYXRvciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NBcmlhTGFiZWwnLCAnaXNTdGlja3knLCAnbWF4SGVpZ2h0JywgJ21pbldpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY0FyaWFMYWJlbCcsICdpc1N0aWNreScsICdtYXhIZWlnaHQnLCAnbWluV2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3VGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuU3B3VGFibGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy10YWJsZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd1RhYmxlQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd1RhYmxlQm9keSBleHRlbmRzIENvbXBvbmVudHMuU3B3VGFibGVCb2R5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbHNwYW4nLCAnaGVhZGVycycsICdpc0hpZ2hsaWdodGVkJywgJ3Jvd3NwYW4nLCAndGV4dEFsaWduJywgJ3ZlcnRpY2FsQWxpZ24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy10YWJsZS1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xzcGFuJywgJ2hlYWRlcnMnLCAnaXNIaWdobGlnaHRlZCcsICdyb3dzcGFuJywgJ3RleHRBbGlnbicsICd2ZXJ0aWNhbEFsaWduJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd1RhYmxlQ2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd1RhYmxlQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuU3B3VGFibGVDZWxsIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGFibGUtaGVhZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdUYWJsZUhlYWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdUYWJsZUhlYWQgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1RhYmxlSGVhZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xzcGFuJywgJ2hlYWRlcnMnLCAnaXNIaWdobGlnaHRlZCcsICdyb3dzcGFuJywgJ3RleHRBbGlnbicsICd2ZXJ0aWNhbEFsaWduJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGFibGUtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xzcGFuJywgJ2hlYWRlcnMnLCAnaXNIaWdobGlnaHRlZCcsICdyb3dzcGFuJywgJ3RleHRBbGlnbicsICd2ZXJ0aWNhbEFsaWduJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd1RhYmxlSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3VGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1RhYmxlSGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGFibGUtcm93JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNwd1RhYmxlUm93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3B3VGFibGVSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1RhYmxlUm93IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Fzc2lzdGl2ZVRleHQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGludCcsICdpbmRpY2F0b3InLCAnaXNDbGVhcicsICdpc1NlYXJjaCcsICdsYWJlbCcsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2hvd0Vycm9ySWNvbicsICdzaG93SGludEljb24nLCAnc2hvd1N1Y2Nlc3NJY29uJywgJ3NpemUnLCAnc3VjY2VzcycsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGV4dC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2luZGljYXRvcicsICdpc0NsZWFyJywgJ2lzU2VhcmNoJywgJ2xhYmVsJywgJ21heExlbmd0aCcsICdtaW5MZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzaG93RXJyb3JJY29uJywgJ3Nob3dIaW50SWNvbicsICdzaG93U3VjY2Vzc0ljb24nLCAnc2l6ZScsICdzdWNjZXNzJywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3VGV4dEZpZWxkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd1RleHRGaWVsZCBleHRlbmRzIENvbXBvbmVudHMuU3B3VGV4dEZpZWxkIHtcbiAgLyoqXG4gICAqIMOJdsOpbmVtZW50IMOpbWlzIGxvcnNxdWUgbGEgdmFsZXVyIGRlIGwnaW5wdXQgY2hhbmdlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXNzaXN0aXZlVGV4dCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaW50JywgJ2luZGljYXRvcicsICdpc1NlYXJjaCcsICdsYWJlbCcsICdtYXhMZW5ndGgnLCAnbWluTGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAncm93cycsICdzaG93RXJyb3JJY29uJywgJ3Nob3dIaW50SWNvbicsICdzaG93U3VjY2Vzc0ljb24nLCAnc2l6ZScsICdzdWNjZXNzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHctdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fzc2lzdGl2ZVRleHQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGludCcsICdpbmRpY2F0b3InLCAnaXNTZWFyY2gnLCAnbGFiZWwnLCAnbWF4TGVuZ3RoJywgJ21pbkxlbmd0aCcsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAnc2hvd0Vycm9ySWNvbicsICdzaG93SGludEljb24nLCAnc2hvd1N1Y2Nlc3NJY29uJywgJ3NpemUnLCAnc3VjY2VzcycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTcHdUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTcHdUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuU3B3VGV4dGFyZWEge1xuICAvKipcbiAgICogw4l2w6luZW1lbnQgw6ltaXMgbG9yc3F1ZSBsYSB2YWxldXIgZHUgY2hhbXAgdGV4dGFyZWEgY2hhbmdlXG4gICAqL1xuICB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwdy10aGVtZS1wcm92aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3VGhlbWVQcm92aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd1RoZW1lUHJvdmlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1RoZW1lUHJvdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ3Rvb2x0aXBUZXh0JywgJ3Rvb2x0aXBUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B3LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICd0b29sdGlwVGV4dCcsICd0b29sdGlwVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B3VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNwd1Rvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlNwd1Rvb2x0aXAge31cblxuXG4iXX0=