valtech-components 4.0.5 → 4.0.6
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.
- package/esm2022/lib/components/atoms/button/button.component.mjs +15 -5
- package/esm2022/lib/components/atoms/fab/fab.component.mjs +8 -18
- package/esm2022/lib/components/atoms/horizontal-scroll/horizontal-scroll.component.mjs +5 -7
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -1
- package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
- package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +4 -6
- package/esm2022/lib/components/molecules/action-card/action-card.component.mjs +5 -5
- package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2022/lib/components/molecules/card/card.component.mjs +19 -9
- package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +21 -13
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +5 -5
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +29 -56
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +13 -3
- package/esm2022/lib/components/molecules/date-picker/date-picker.component.mjs +7 -15
- package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +6 -10
- package/esm2022/lib/components/molecules/docs-code-example/docs-code-example.component.mjs +13 -5
- package/esm2022/lib/components/molecules/docs-nav-links/docs-nav-links.component.mjs +7 -13
- package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +12 -28
- package/esm2022/lib/components/molecules/features-list/features-list.component.mjs +5 -5
- package/esm2022/lib/components/molecules/feedback-form/feedback-form.component.mjs +5 -5
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +9 -3
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +17 -15
- package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +7 -5
- package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
- package/esm2022/lib/components/molecules/media-object/media-object.component.mjs +3 -3
- package/esm2022/lib/components/molecules/metric-card/metric-card.component.mjs +5 -3
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +11 -3
- package/esm2022/lib/components/molecules/pill/pill.component.mjs +7 -7
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +7 -7
- package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +3 -3
- package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +15 -3
- package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +3 -1
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +5 -5
- package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +11 -13
- package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +4 -6
- package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
- package/esm2022/lib/components/organisms/cookie-banner/cookie-banner.component.mjs +3 -1
- package/esm2022/lib/components/organisms/cookie-banner/types.mjs +1 -1
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +11 -7
- package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
- package/esm2022/lib/services/page-state/page-state.i18n.mjs +19 -0
- package/esm2022/lib/services/page-state/page-state.mjs +101 -0
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/valtech-components.mjs +403 -278
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/progress-bar/types.d.ts +2 -0
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +2 -2
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
- package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +4 -4
- package/lib/components/organisms/cookie-banner/types.d.ts +2 -0
- package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
- package/lib/services/page-state/page-state.d.ts +74 -0
- package/lib/services/page-state/page-state.i18n.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -65,9 +65,7 @@ export class DocsSearchComponent {
|
|
|
65
65
|
});
|
|
66
66
|
return results.slice(0, 10); // Limit results
|
|
67
67
|
});
|
|
68
|
-
this.searchSubject
|
|
69
|
-
.pipe(debounceTime(this.props.debounceMs || 150), takeUntil(this.destroy$))
|
|
70
|
-
.subscribe((query) => {
|
|
68
|
+
this.searchSubject.pipe(debounceTime(this.props.debounceMs || 150), takeUntil(this.destroy$)).subscribe(query => {
|
|
71
69
|
this.search.emit(query);
|
|
72
70
|
});
|
|
73
71
|
}
|
|
@@ -99,11 +97,11 @@ export class DocsSearchComponent {
|
|
|
99
97
|
switch (event.key) {
|
|
100
98
|
case 'ArrowDown':
|
|
101
99
|
event.preventDefault();
|
|
102
|
-
this.selectedIndex.update(
|
|
100
|
+
this.selectedIndex.update(i => Math.min(i + 1, resultsArray.length - 1));
|
|
103
101
|
break;
|
|
104
102
|
case 'ArrowUp':
|
|
105
103
|
event.preventDefault();
|
|
106
|
-
this.selectedIndex.update(
|
|
104
|
+
this.selectedIndex.update(i => Math.max(i - 1, 0));
|
|
107
105
|
break;
|
|
108
106
|
case 'Enter':
|
|
109
107
|
event.preventDefault();
|
|
@@ -132,7 +130,7 @@ export class DocsSearchComponent {
|
|
|
132
130
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DocsSearchComponent, isStandalone: true, selector: "val-docs-search", inputs: { props: "props" }, outputs: { navigate: "navigate", search: "search" }, host: { listeners: { "document:keydown": "onGlobalKeydown($event)" } }, viewQueries: [{ propertyName: "searchInputEl", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: `
|
|
133
131
|
<div class="docs-search" [class]="props.cssClass">
|
|
134
132
|
<div class="docs-search__input-wrapper">
|
|
135
|
-
<ion-icon name="search-outline" class="docs-search__icon"></ion-icon>
|
|
133
|
+
<ion-icon name="search-outline" class="docs-search__icon" aria-hidden="true"></ion-icon>
|
|
136
134
|
<input
|
|
137
135
|
#searchInput
|
|
138
136
|
type="text"
|
|
@@ -147,13 +145,8 @@ export class DocsSearchComponent {
|
|
|
147
145
|
autocomplete="off"
|
|
148
146
|
/>
|
|
149
147
|
@if (searchQuery()) {
|
|
150
|
-
<button
|
|
151
|
-
|
|
152
|
-
class="docs-search__clear"
|
|
153
|
-
(click)="clearSearch()"
|
|
154
|
-
aria-label="Clear search"
|
|
155
|
-
>
|
|
156
|
-
<ion-icon name="close-outline"></ion-icon>
|
|
148
|
+
<button type="button" class="docs-search__clear" (click)="clearSearch()" aria-label="Clear search">
|
|
149
|
+
<ion-icon name="close-outline" aria-hidden="true"></ion-icon>
|
|
157
150
|
</button>
|
|
158
151
|
} @else if (props.showShortcut) {
|
|
159
152
|
<span class="docs-search__shortcut">{{ isMac ? '⌘' : 'Ctrl' }}+K</span>
|
|
@@ -183,9 +176,7 @@ export class DocsSearchComponent {
|
|
|
183
176
|
}
|
|
184
177
|
|
|
185
178
|
@if (showResults() && searchQuery() && results().length === 0) {
|
|
186
|
-
<div class="docs-search__no-results">
|
|
187
|
-
No results found for "{{ searchQuery() }}"
|
|
188
|
-
</div>
|
|
179
|
+
<div class="docs-search__no-results">No results found for "{{ searchQuery() }}"</div>
|
|
189
180
|
}
|
|
190
181
|
</div>
|
|
191
182
|
`, isInline: true, styles: [".docs-search{--search-bg: var(--ion-background-color, #fff);--search-border: var(--ion-border-color, #e0e0e0);--search-text: var(--ion-text-color, #1a1a1a);--search-placeholder: var(--ion-color-medium, #666);--search-hover-bg: rgba(0, 0, 0, .03);--search-active-bg: rgba(0, 0, 0, .05);position:relative;font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-search__input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;transition:all .15s ease}.docs-search__input-wrapper:focus-within{border-color:#1a1a1a;box-shadow:0 0 0 3px #0000000d}.docs-search__icon{font-size:1rem;color:var(--search-placeholder);flex-shrink:0}.docs-search__input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--search-text);min-width:0}.docs-search__input::placeholder{color:var(--search-placeholder)}.docs-search__clear{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:var(--search-placeholder);cursor:pointer;border-radius:4px;transition:all .15s ease}.docs-search__clear:hover{background:var(--search-hover-bg);color:var(--search-text)}.docs-search__clear:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}.docs-search__clear ion-icon{font-size:.875rem}.docs-search__shortcut{font-size:.6875rem;font-weight:500;color:var(--search-placeholder);background:var(--search-hover-bg);padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.docs-search__results{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:400px;overflow-y:auto;background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:100}.docs-search__result{display:flex;flex-direction:column;gap:.125rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--search-border)}.docs-search__result:last-child{border-bottom:none}.docs-search__result:hover,.docs-search__result--active{background:var(--search-hover-bg)}.docs-search__result:focus-visible{outline:2px solid #1a1a1a;outline-offset:-2px}.docs-search__result-section{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--search-placeholder)}.docs-search__result-label{font-size:.875rem;font-weight:500;color:var(--search-text)}.docs-search__result-description{font-size:.75rem;color:var(--search-placeholder);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-search__no-results{padding:1.5rem 1rem;text-align:center;font-size:.875rem;color:var(--search-placeholder);background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;box-shadow:0 4px 16px #0000001a;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100}:host-context(.dark) .docs-search,:host-context([color-scheme=dark]) .docs-search{--search-bg: #1e1e1e;--search-border: #3a3a3a;--search-text: #f4f5f8;--search-placeholder: #a0a0a0;--search-hover-bg: rgba(255, 255, 255, .05);--search-active-bg: rgba(255, 255, 255, .08)}:host-context(.dark) .docs-search__input-wrapper:focus-within,:host-context([color-scheme=dark]) .docs-search__input-wrapper:focus-within{border-color:#f4f5f8;box-shadow:0 0 0 3px #ffffff0d}:host-context(.dark) .docs-search__results,:host-context(.dark) .docs-search__no-results,:host-context([color-scheme=dark]) .docs-search__results,:host-context([color-scheme=dark]) .docs-search__no-results{box-shadow:0 4px 16px #0000004d}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
@@ -195,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
195
186
|
args: [{ selector: 'val-docs-search', standalone: true, imports: [CommonModule, FormsModule, IonIcon], template: `
|
|
196
187
|
<div class="docs-search" [class]="props.cssClass">
|
|
197
188
|
<div class="docs-search__input-wrapper">
|
|
198
|
-
<ion-icon name="search-outline" class="docs-search__icon"></ion-icon>
|
|
189
|
+
<ion-icon name="search-outline" class="docs-search__icon" aria-hidden="true"></ion-icon>
|
|
199
190
|
<input
|
|
200
191
|
#searchInput
|
|
201
192
|
type="text"
|
|
@@ -210,13 +201,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
210
201
|
autocomplete="off"
|
|
211
202
|
/>
|
|
212
203
|
@if (searchQuery()) {
|
|
213
|
-
<button
|
|
214
|
-
|
|
215
|
-
class="docs-search__clear"
|
|
216
|
-
(click)="clearSearch()"
|
|
217
|
-
aria-label="Clear search"
|
|
218
|
-
>
|
|
219
|
-
<ion-icon name="close-outline"></ion-icon>
|
|
204
|
+
<button type="button" class="docs-search__clear" (click)="clearSearch()" aria-label="Clear search">
|
|
205
|
+
<ion-icon name="close-outline" aria-hidden="true"></ion-icon>
|
|
220
206
|
</button>
|
|
221
207
|
} @else if (props.showShortcut) {
|
|
222
208
|
<span class="docs-search__shortcut">{{ isMac ? '⌘' : 'Ctrl' }}+K</span>
|
|
@@ -246,9 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
246
232
|
}
|
|
247
233
|
|
|
248
234
|
@if (showResults() && searchQuery() && results().length === 0) {
|
|
249
|
-
<div class="docs-search__no-results">
|
|
250
|
-
No results found for "{{ searchQuery() }}"
|
|
251
|
-
</div>
|
|
235
|
+
<div class="docs-search__no-results">No results found for "{{ searchQuery() }}"</div>
|
|
252
236
|
}
|
|
253
237
|
</div>
|
|
254
238
|
`, styles: [".docs-search{--search-bg: var(--ion-background-color, #fff);--search-border: var(--ion-border-color, #e0e0e0);--search-text: var(--ion-text-color, #1a1a1a);--search-placeholder: var(--ion-color-medium, #666);--search-hover-bg: rgba(0, 0, 0, .03);--search-active-bg: rgba(0, 0, 0, .05);position:relative;font-family:var(--ion-font-family, system-ui, sans-serif)}.docs-search__input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;transition:all .15s ease}.docs-search__input-wrapper:focus-within{border-color:#1a1a1a;box-shadow:0 0 0 3px #0000000d}.docs-search__icon{font-size:1rem;color:var(--search-placeholder);flex-shrink:0}.docs-search__input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--search-text);min-width:0}.docs-search__input::placeholder{color:var(--search-placeholder)}.docs-search__clear{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:var(--search-placeholder);cursor:pointer;border-radius:4px;transition:all .15s ease}.docs-search__clear:hover{background:var(--search-hover-bg);color:var(--search-text)}.docs-search__clear:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}.docs-search__clear ion-icon{font-size:.875rem}.docs-search__shortcut{font-size:.6875rem;font-weight:500;color:var(--search-placeholder);background:var(--search-hover-bg);padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.docs-search__results{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:400px;overflow-y:auto;background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:100}.docs-search__result{display:flex;flex-direction:column;gap:.125rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--search-border)}.docs-search__result:last-child{border-bottom:none}.docs-search__result:hover,.docs-search__result--active{background:var(--search-hover-bg)}.docs-search__result:focus-visible{outline:2px solid #1a1a1a;outline-offset:-2px}.docs-search__result-section{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--search-placeholder)}.docs-search__result-label{font-size:.875rem;font-weight:500;color:var(--search-text)}.docs-search__result-description{font-size:.75rem;color:var(--search-placeholder);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-search__no-results{padding:1.5rem 1rem;text-align:center;font-size:.875rem;color:var(--search-placeholder);background:var(--search-bg);border:1px solid var(--search-border);border-radius:8px;box-shadow:0 4px 16px #0000001a;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100}:host-context(.dark) .docs-search,:host-context([color-scheme=dark]) .docs-search{--search-bg: #1e1e1e;--search-border: #3a3a3a;--search-text: #f4f5f8;--search-placeholder: #a0a0a0;--search-hover-bg: rgba(255, 255, 255, .05);--search-active-bg: rgba(255, 255, 255, .08)}:host-context(.dark) .docs-search__input-wrapper:focus-within,:host-context([color-scheme=dark]) .docs-search__input-wrapper:focus-within{border-color:#f4f5f8;box-shadow:0 0 0 3px #ffffff0d}:host-context(.dark) .docs-search__results,:host-context(.dark) .docs-search__no-results,:host-context([color-scheme=dark]) .docs-search__results,:host-context([color-scheme=dark]) .docs-search__no-results{box-shadow:0 4px 16px #0000004d}\n"] }]
|
|
@@ -265,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
265
249
|
type: HostListener,
|
|
266
250
|
args: ['document:keydown', ['$event']]
|
|
267
251
|
}] } });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLXNlYXJjaC9kb2NzLXNlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd6RCxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFtRUgsTUFBTSxPQUFPLG1CQUFtQjtJQTZDOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUE1Q3pCLFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSXBDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxD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QXRIVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixrVkE5RHBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJEVCwybEhBNURTLFlBQVksOEJBQUUsV0FBVywrbUJBQUUsT0FBTzs7NEZBK0RqQyxtQkFBbUI7a0JBbEUvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQ25DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJEVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRW1CLGFBQWE7c0JBQXRDLFNBQVM7dUJBQUMsYUFBYTtnQkFxRHhCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IHNlYXJjaE91dGxpbmUsIGNsb3NlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRG9jc1NlYXJjaE1ldGFkYXRhLCBEb2NzU2VhcmNoUmVzdWx0LCBEb2NzU2VhcmNoSXRlbSwgRG9jc1NlYXJjaFNlY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBzZWFyY2hPdXRsaW5lLCBjbG9zZU91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3Mtc2VhcmNoXG4gKlxuICogQSBzZWFyY2ggY29tcG9uZW50IGZvciBkb2N1bWVudGF0aW9uIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlvbiBzdXBwb3J0LlxuICogU3VwcG9ydHMgQ21kK0sgLyBDdHJsK0sgc2hvcnRjdXQgdG8gb3Blbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXNlYXJjaFxuICogICBbcHJvcHNdPVwie1xuICogICAgIHBsYWNlaG9sZGVyOiAnU2VhcmNoIGRvY3MuLi4nLFxuICogICAgIHNlY3Rpb25zOiBzaWRlYmFyU2VjdGlvbnMsXG4gKiAgICAgc2hvd1Nob3J0Y3V0OiB0cnVlXG4gKiAgIH1cIlxuICogICAobmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1kb2NzLXNlYXJjaD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZG9jcy1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3Mtc2VhcmNoXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1zZWFyY2hfX2lucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzZWFyY2gtb3V0bGluZVwiIGNsYXNzPVwiZG9jcy1zZWFyY2hfX2ljb25cIj48L2lvbi1pY29uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoSW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJkb2NzLXNlYXJjaF9faW5wdXRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlciB8fCAnU2VhcmNoLi4uJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hRdWVyeVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25RdWVyeUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCBkb2N1bWVudGF0aW9uXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKHNlYXJjaFF1ZXJ5KCkpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1zZWFyY2hfX2NsZWFyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhciBzZWFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2UgaWYgKHByb3BzLnNob3dTaG9ydGN1dCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1zZWFyY2hfX3Nob3J0Y3V0XCI+e3sgaXNNYWMgPyAn4oyYJyA6ICdDdHJsJyB9fStLPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzaG93UmVzdWx0cygpICYmIHJlc3VsdHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNlYXJjaF9fcmVzdWx0c1wiIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgICAgICAgQGZvciAocmVzdWx0IG9mIHJlc3VsdHMoKTsgdHJhY2sgcmVzdWx0Lml0ZW0ubGFiZWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3Mtc2VhcmNoX19yZXN1bHRcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1zZWFyY2hfX3Jlc3VsdC0tYWN0aXZlXT1cInNlbGVjdGVkSW5kZXgoKSA9PT0gaVwiXG4gICAgICAgICAgICAgIHJvbGU9XCJvcHRpb25cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXgoKSA9PT0gaVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN1bHQocmVzdWx0KVwiXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNlbGVjdGVkSW5kZXguc2V0KGkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNlYXJjaF9fcmVzdWx0LXNlY3Rpb25cIj57eyByZXN1bHQuc2VjdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNlYXJjaF9fcmVzdWx0LWxhYmVsXCI+e3sgcmVzdWx0Lml0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAocmVzdWx0Lml0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2VhcmNoX19yZXN1bHQtZGVzY3JpcHRpb25cIj57eyByZXN1bHQuaXRlbS5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmIChzaG93UmVzdWx0cygpICYmIHNlYXJjaFF1ZXJ5KCkgJiYgcmVzdWx0cygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1zZWFyY2hfX25vLXJlc3VsdHNcIj5cbiAgICAgICAgICBObyByZXN1bHRzIGZvdW5kIGZvciBcInt7IHNlYXJjaFF1ZXJ5KCkgfX1cIlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jcy1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc1NlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBEb2NzU2VhcmNoTWV0YWRhdGEgPSB7fTtcblxuICBAT3V0cHV0KCkgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dEVsPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgc2VhcmNoUXVlcnkgPSBzaWduYWwoJycpO1xuICBwcm90ZWN0ZWQgc2hvd1Jlc3VsdHMgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRJbmRleCA9IHNpZ25hbCgwKTtcblxuICBwcml2YXRlIHNlYXJjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGlzTWFjID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ21hYycpO1xuXG4gIHByb3RlY3RlZCByZXN1bHRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hRdWVyeSgpLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgIGlmICghcXVlcnkgfHwgIXRoaXMucHJvcHMuc2VjdGlvbnMpIHJldHVybiBbXTtcblxuICAgIGNvbnN0IHJlc3VsdHM6IERvY3NTZWFyY2hSZXN1bHRbXSA9IFtdO1xuXG4gICAgdGhpcy5wcm9wcy5zZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uOiBEb2NzU2VhcmNoU2VjdGlvbikgPT4ge1xuICAgICAgc2VjdGlvbi5pdGVtcy5mb3JFYWNoKChpdGVtOiBEb2NzU2VhcmNoSXRlbSkgPT4ge1xuICAgICAgICAvLyBNYXRjaCBsYWJlbFxuICAgICAgICBpZiAoaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHNlY3Rpb246IHNlY3Rpb24udGl0bGUsIGl0ZW0sIG1hdGNoVHlwZTogJ2xhYmVsJyB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTWF0Y2ggZGVzY3JpcHRpb25cbiAgICAgICAgaWYgKGl0ZW0uZGVzY3JpcHRpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpKSB7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKHsgc2VjdGlvbjogc2VjdGlvbi50aXRsZSwgaXRlbSwgbWF0Y2hUeXBlOiAnZGVzY3JpcHRpb24nIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBNYXRjaCBrZXl3b3Jkc1xuICAgICAgICBpZiAoaXRlbS5rZXl3b3Jkcz8uc29tZSgoa3c6IHN0cmluZykgPT4ga3cudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSkpKSB7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKHsgc2VjdGlvbjogc2VjdGlvbi50aXRsZSwgaXRlbSwgbWF0Y2hUeXBlOiAna2V5d29yZCcgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHMuc2xpY2UoMCwgMTApOyAvLyBMaW1pdCByZXN1bHRzXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLnNlYXJjaFN1YmplY3RcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnByb3BzLmRlYm91bmNlTXMgfHwgMTUwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocXVlcnkpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2guZW1pdChxdWVyeSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBvbkdsb2JhbEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBDbWQrSyBvciBDdHJsK0sgdG8gZm9jdXMgc2VhcmNoXG4gICAgaWYgKChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpICYmIGV2ZW50LmtleSA9PT0gJ2snKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25RdWVyeUNoYW5nZShxdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hRdWVyeS5zZXQocXVlcnkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQocXVlcnkpO1xuICB9XG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dSZXN1bHRzLnNldCh0cnVlKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICAvLyBEZWxheSB0byBhbGxvdyBjbGljayBvbiByZXN1bHRzXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNob3dSZXN1bHRzLnNldChmYWxzZSksIDIwMCk7XG4gIH1cblxuICBvbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdHNBcnJheSA9IHRoaXMucmVzdWx0cygpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleC51cGRhdGUoKGkpID0+IE1hdGgubWluKGkgKyAxLCByZXN1bHRzQXJyYXkubGVuZ3RoIC0gMSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXgudXBkYXRlKChpKSA9PiBNYXRoLm1heChpIC0gMSwgMCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKHJlc3VsdHNBcnJheVt0aGlzLnNlbGVjdGVkSW5kZXgoKV0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFJlc3VsdChyZXN1bHRzQXJyYXlbdGhpcy5zZWxlY3RlZEluZGV4KCldKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY2xlYXJTZWFyY2goKTtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsPy5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0UmVzdWx0KHJlc3VsdDogRG9jc1NlYXJjaFJlc3VsdCk6IHZvaWQge1xuICAgIHRoaXMubmF2aWdhdGUuZW1pdChyZXN1bHQuaXRlbS5yb3V0ZSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocmVzdWx0Lml0ZW0ucm91dGUpO1xuICAgIHRoaXMuY2xlYXJTZWFyY2goKTtcbiAgfVxuXG4gIGNsZWFyU2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoUXVlcnkuc2V0KCcnKTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXguc2V0KDApO1xuICAgIHRoaXMuc2hvd1Jlc3VsdHMuc2V0KGZhbHNlKTtcbiAgfVxufVxuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLXNlYXJjaC9kb2NzLXNlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBRVIsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd6RCxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUE0REgsTUFBTSxPQUFPLG1CQUFtQjtJQTZDOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUE1Q3pCLFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRTlCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBSXBDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU5QixVQUFLLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVGLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBRTlDLE1BQU0sT0FBTyxHQUF1QixFQUFFLENBQUM7WUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBMEIsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRTtvQkFDN0MsY0FBYztvQkFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7d0JBQ25FLE9BQU87b0JBQ1QsQ0FBQztvQkFDRCxvQkFBb0I7b0JBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEQsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQzt3QkFDekUsT0FBTztvQkFDVCxDQUFDO29CQUNELGlCQUFpQjtvQkFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZFLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFHRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5RyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBb0I7UUFDbEMsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixrQ0FBa0M7UUFDbEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBb0I7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLEtBQUssV0FBVztnQkFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekUsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxDQUFDO2dCQUNELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QyxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBd0I7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBcEhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtWQXZEcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRFQsMmxIQXJEUyxZQUFZLDhCQUFFLFdBQVcsK21CQUFFLE9BQU87OzRGQXdEakMsbUJBQW1CO2tCQTNEL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUNuQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9EVDsyRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRW1CLGFBQWE7c0JBQXRDLFNBQVM7dUJBQUMsYUFBYTtnQkFtRHhCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IHNlYXJjaE91dGxpbmUsIGNsb3NlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRG9jc1NlYXJjaE1ldGFkYXRhLCBEb2NzU2VhcmNoUmVzdWx0LCBEb2NzU2VhcmNoSXRlbSwgRG9jc1NlYXJjaFNlY3Rpb24gfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBzZWFyY2hPdXRsaW5lLCBjbG9zZU91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3Mtc2VhcmNoXG4gKlxuICogQSBzZWFyY2ggY29tcG9uZW50IGZvciBkb2N1bWVudGF0aW9uIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlvbiBzdXBwb3J0LlxuICogU3VwcG9ydHMgQ21kK0sgLyBDdHJsK0sgc2hvcnRjdXQgdG8gb3Blbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLXNlYXJjaFxuICogICBbcHJvcHNdPVwie1xuICogICAgIHBsYWNlaG9sZGVyOiAnU2VhcmNoIGRvY3MuLi4nLFxuICogICAgIHNlY3Rpb25zOiBzaWRlYmFyU2VjdGlvbnMsXG4gKiAgICAgc2hvd1Nob3J0Y3V0OiB0cnVlXG4gKiAgIH1cIlxuICogICAobmF2aWdhdGUpPVwib25OYXZpZ2F0ZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1kb2NzLXNlYXJjaD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZG9jcy1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3Mtc2VhcmNoXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1zZWFyY2hfX2lucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzZWFyY2gtb3V0bGluZVwiIGNsYXNzPVwiZG9jcy1zZWFyY2hfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoSW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJkb2NzLXNlYXJjaF9faW5wdXRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy5wbGFjZWhvbGRlciB8fCAnU2VhcmNoLi4uJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hRdWVyeVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25RdWVyeUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCBkb2N1bWVudGF0aW9uXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKHNlYXJjaFF1ZXJ5KCkpIHtcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRvY3Mtc2VhcmNoX19jbGVhclwiIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCIgYXJpYS1sYWJlbD1cIkNsZWFyIHNlYXJjaFwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfSBAZWxzZSBpZiAocHJvcHMuc2hvd1Nob3J0Y3V0KSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb2NzLXNlYXJjaF9fc2hvcnRjdXRcIj57eyBpc01hYyA/ICfijJgnIDogJ0N0cmwnIH19K0s8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHNob3dSZXN1bHRzKCkgJiYgcmVzdWx0cygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3Mtc2VhcmNoX19yZXN1bHRzXCIgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgICAgICBAZm9yIChyZXN1bHQgb2YgcmVzdWx0cygpOyB0cmFjayByZXN1bHQuaXRlbS5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1zZWFyY2hfX3Jlc3VsdFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLXNlYXJjaF9fcmVzdWx0LS1hY3RpdmVdPVwic2VsZWN0ZWRJbmRleCgpID09PSBpXCJcbiAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCgpID09PSBpXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlc3VsdChyZXN1bHQpXCJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwic2VsZWN0ZWRJbmRleC5zZXQoaSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2VhcmNoX19yZXN1bHQtc2VjdGlvblwiPnt7IHJlc3VsdC5zZWN0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3Mtc2VhcmNoX19yZXN1bHQtbGFiZWxcIj57eyByZXN1bHQuaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgQGlmIChyZXN1bHQuaXRlbS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jcy1zZWFyY2hfX3Jlc3VsdC1kZXNjcmlwdGlvblwiPnt7IHJlc3VsdC5pdGVtLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHNob3dSZXN1bHRzKCkgJiYgc2VhcmNoUXVlcnkoKSAmJiByZXN1bHRzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLXNlYXJjaF9fbm8tcmVzdWx0c1wiPk5vIHJlc3VsdHMgZm91bmQgZm9yIFwie3sgc2VhcmNoUXVlcnkoKSB9fVwiPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2RvY3Mtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvY3NTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogRG9jc1NlYXJjaE1ldGFkYXRhID0ge307XG5cbiAgQE91dHB1dCgpIG5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXRFbD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIHNlYXJjaFF1ZXJ5ID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIHNob3dSZXN1bHRzID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSW5kZXggPSBzaWduYWwoMCk7XG5cbiAgcHJpdmF0ZSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICByZWFkb25seSBpc01hYyA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdtYWMnKTtcblxuICBwcm90ZWN0ZWQgcmVzdWx0cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoUXVlcnkoKS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICBpZiAoIXF1ZXJ5IHx8ICF0aGlzLnByb3BzLnNlY3Rpb25zKSByZXR1cm4gW107XG5cbiAgICBjb25zdCByZXN1bHRzOiBEb2NzU2VhcmNoUmVzdWx0W10gPSBbXTtcblxuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbjogRG9jc1NlYXJjaFNlY3Rpb24pID0+IHtcbiAgICAgIHNlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogRG9jc1NlYXJjaEl0ZW0pID0+IHtcbiAgICAgICAgLy8gTWF0Y2ggbGFiZWxcbiAgICAgICAgaWYgKGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSkpIHtcbiAgICAgICAgICByZXN1bHRzLnB1c2goeyBzZWN0aW9uOiBzZWN0aW9uLnRpdGxlLCBpdGVtLCBtYXRjaFR5cGU6ICdsYWJlbCcgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE1hdGNoIGRlc2NyaXB0aW9uXG4gICAgICAgIGlmIChpdGVtLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHNlY3Rpb246IHNlY3Rpb24udGl0bGUsIGl0ZW0sIG1hdGNoVHlwZTogJ2Rlc2NyaXB0aW9uJyB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTWF0Y2gga2V5d29yZHNcbiAgICAgICAgaWYgKGl0ZW0ua2V5d29yZHM/LnNvbWUoKGt3OiBzdHJpbmcpID0+IGt3LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpKSkge1xuICAgICAgICAgIHJlc3VsdHMucHVzaCh7IHNlY3Rpb246IHNlY3Rpb24udGl0bGUsIGl0ZW0sIG1hdGNoVHlwZTogJ2tleXdvcmQnIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHRzLnNsaWNlKDAsIDEwKTsgLy8gTGltaXQgcmVzdWx0c1xuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKHRoaXMucHJvcHMuZGVib3VuY2VNcyB8fCAxNTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShxdWVyeSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaC5lbWl0KHF1ZXJ5KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBvbkdsb2JhbEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBDbWQrSyBvciBDdHJsK0sgdG8gZm9jdXMgc2VhcmNoXG4gICAgaWYgKChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpICYmIGV2ZW50LmtleSA9PT0gJ2snKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dEVsPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25RdWVyeUNoYW5nZShxdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hRdWVyeS5zZXQocXVlcnkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQocXVlcnkpO1xuICB9XG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dSZXN1bHRzLnNldCh0cnVlKTtcbiAgfVxuXG4gIG9uQmx1cigpOiB2b2lkIHtcbiAgICAvLyBEZWxheSB0byBhbGxvdyBjbGljayBvbiByZXN1bHRzXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNob3dSZXN1bHRzLnNldChmYWxzZSksIDIwMCk7XG4gIH1cblxuICBvbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdHNBcnJheSA9IHRoaXMucmVzdWx0cygpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleC51cGRhdGUoaSA9PiBNYXRoLm1pbihpICsgMSwgcmVzdWx0c0FycmF5Lmxlbmd0aCAtIDEpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4LnVwZGF0ZShpID0+IE1hdGgubWF4KGkgLSAxLCAwKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAocmVzdWx0c0FycmF5W3RoaXMuc2VsZWN0ZWRJbmRleCgpXSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0UmVzdWx0KHJlc3VsdHNBcnJheVt0aGlzLnNlbGVjdGVkSW5kZXgoKV0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5jbGVhclNlYXJjaCgpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0RWw/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZWxlY3RSZXN1bHQocmVzdWx0OiBEb2NzU2VhcmNoUmVzdWx0KTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0ZS5lbWl0KHJlc3VsdC5pdGVtLnJvdXRlKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyZXN1bHQuaXRlbS5yb3V0ZSk7XG4gICAgdGhpcy5jbGVhclNlYXJjaCgpO1xuICB9XG5cbiAgY2xlYXJTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hRdWVyeS5zZXQoJycpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoMCk7XG4gICAgdGhpcy5zaG93UmVzdWx0cy5zZXQoZmFsc2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -166,7 +166,7 @@ export class FeaturesListComponent {
|
|
|
166
166
|
<path [attr.d]="feature.svgPath" />
|
|
167
167
|
</svg>
|
|
168
168
|
} @else if (feature.icon) {
|
|
169
|
-
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize"></ion-icon>
|
|
169
|
+
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize" aria-hidden="true"></ion-icon>
|
|
170
170
|
}
|
|
171
171
|
</div>
|
|
172
172
|
<div class="feature__content">
|
|
@@ -203,7 +203,7 @@ export class FeaturesListComponent {
|
|
|
203
203
|
<path [attr.d]="feature.svgPath" />
|
|
204
204
|
</svg>
|
|
205
205
|
} @else if (feature.icon) {
|
|
206
|
-
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize"></ion-icon>
|
|
206
|
+
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize" aria-hidden="true"></ion-icon>
|
|
207
207
|
}
|
|
208
208
|
</div>
|
|
209
209
|
<div class="feature__content">
|
|
@@ -275,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
275
275
|
<path [attr.d]="feature.svgPath" />
|
|
276
276
|
</svg>
|
|
277
277
|
} @else if (feature.icon) {
|
|
278
|
-
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize"></ion-icon>
|
|
278
|
+
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize" aria-hidden="true"></ion-icon>
|
|
279
279
|
}
|
|
280
280
|
</div>
|
|
281
281
|
<div class="feature__content">
|
|
@@ -312,7 +312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
312
312
|
<path [attr.d]="feature.svgPath" />
|
|
313
313
|
</svg>
|
|
314
314
|
} @else if (feature.icon) {
|
|
315
|
-
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize"></ion-icon>
|
|
315
|
+
<ion-icon [name]="feature.icon" [style.font-size.px]="config().iconSize" aria-hidden="true"></ion-icon>
|
|
316
316
|
}
|
|
317
317
|
</div>
|
|
318
318
|
<div class="feature__content">
|
|
@@ -337,4 +337,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
337
337
|
</div>
|
|
338
338
|
`, styles: [":host{display:block}.features-list{display:flex}.features-list--vertical{flex-direction:column}.features-list--horizontal{flex-direction:row;flex-wrap:wrap}.features-list--horizontal .feature{flex:1;min-width:200px}.features-list--gap-small{gap:1rem}.features-list--gap-medium{gap:1.5rem}.features-list--gap-large{gap:2rem}.features-list--center{align-items:center;text-align:center}.features-list--center .feature{flex-direction:column;align-items:center}.features-list--center .feature__content{text-align:center}.feature{display:flex;align-items:flex-start;gap:1rem}.feature--clickable{cursor:pointer;border-radius:10px;transition:background-color .15s ease;width:100%;text-align:left;border:none;background:none;font:inherit;color:inherit;padding:.25rem}.feature--clickable:hover{background:var(--ion-color-light, rgba(0, 0, 0, .03))}.feature--clickable:focus{outline:none}.feature--clickable:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px}.feature__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.feature__image{width:100%;height:100%;object-fit:contain;border-radius:8px}.feature__image--circle{object-fit:cover;border-radius:50%}.feature__content{flex:1}.feature__title{display:block;font-size:1.1rem;font-weight:600;color:var(--ion-text-color);margin-bottom:.25rem}.feature__description{margin:0;font-size:.95rem;color:var(--ion-color-medium);line-height:1.5}.features-list__more{align-self:flex-start;margin-top:.25rem;padding:0;background:none;border:none;font:inherit;font-weight:600;color:var(--ion-color-primary);cursor:pointer}.features-list--center .features-list__more,.features-list--center .features-list__footer{align-self:center}.features-list__footer{align-self:flex-start;margin-top:.25rem;font-weight:600;color:var(--ion-color-primary);text-decoration:none;cursor:pointer}.features-list__footer:hover{text-decoration:underline}:host-context(.dark) .feature__title,:host-context(.ion-palette-dark) .feature__title,:host-context(html.ion-palette-dark) .feature__title,:host-context(body.dark) .feature__title,:host-context([data-theme=\"dark\"]) .feature__title{color:var(--ion-text-color, #fff)}:host-context(.dark) .feature__description,:host-context(.ion-palette-dark) .feature__description,:host-context(html.ion-palette-dark) .feature__description,:host-context(body.dark) .feature__description,:host-context([data-theme=\"dark\"]) .feature__description{color:var(--ion-color-medium, #a0a0a0)}:host-context(.dark) .feature--clickable:hover,:host-context(.ion-palette-dark) .feature--clickable:hover,:host-context(html.ion-palette-dark) .feature--clickable:hover,:host-context(body.dark) .feature--clickable:hover,:host-context([data-theme=\"dark\"]) .feature--clickable:hover{background:#ffffff0a}\n"] }]
|
|
339
339
|
}], ctorParameters: () => [] });
|
|
340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlYXR1cmVzLWxpc3QvZmVhdHVyZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQTZELHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUU1Rzs7O0dBR0c7QUFDSCxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtJQUNsRCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7Q0FDckQsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFnU0gsTUFBTSxPQUFPLHFCQUFxQjtJQWVoQztRQWRRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLDhCQUE4QjtRQUNyQixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEs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akIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDaEMsQ0FBQzsrR0FsR1UscUJBQXFCO21HQUFyQixxQkFBcUIsaVJBM1J0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUdULG16RkExR1MsWUFBWSwrQkFBRSxVQUFVLG9PQUFFLE9BQU87OzRGQTRSaEMscUJBQXFCO2tCQS9SakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEZlYXR1cmVJdGVtLCBGZWF0dXJlc0xpc3RGb290ZXJMaW5rLCBGZWF0dXJlc0xpc3RNZXRhZGF0YSwgRkVBVFVSRVNfTElTVF9ERUZBVUxUUyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSDigJQgYXV0by1yZWdpc3RyYWRvcyBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbFxuICogbmFtZXNwYWNlIGBGZWF0dXJlc0xpc3RgLiBDdWJyZSBsb3MgbGFiZWxzIGRlIFwidmVyIG3DoXNcIi9cInZlciBtZW5vc1wiLlxuICovXG5jb25zdCBGRUFUVVJFU19MSVNUX0kxOE4gPSB7XG4gIGVzOiB7IHNob3dNb3JlOiAnVmVyIG3DoXMnLCBzaG93TGVzczogJ1ZlciBtZW5vcycgfSxcbiAgZW46IHsgc2hvd01vcmU6ICdTaG93IG1vcmUnLCBzaG93TGVzczogJ1Nob3cgbGVzcycgfSxcbn07XG5cbi8qKlxuICogdmFsLWZlYXR1cmVzLWxpc3RcbiAqXG4gKiBMaXN0YSBkZSBmZWF0dXJlcyBjb24gaWNvbm8gKipvIGltYWdlbioqLCB0w610dWxvIHkgZGVzY3JpcGNpw7NuLiBTb3BvcnRhIGkxOG4sXG4gKiBjb2xhcHNvIG9wY2lvbmFsIChcInZlciBtw6FzXCIgY3VhbmRvIHN1cGVyYSBgbWF4VmlzaWJsZWApIHkgdW4gbGluayBhbCBwaWVcbiAqIChlai4gXCJGaW5kIG91dCBtb3JlXCIpLiDDmnRpbCBwYXJhIGxpc3RhcyBkZSBzZXR0aW5ncywgYXBwcywgYmVuZWZpY2lvcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1mZWF0dXJlcy1saXN0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZmVhdHVyZXM6IFtcbiAqICAgICAgIHsgaWNvbjogJ2ZsYXNoLW91dGxpbmUnLCB0aXRsZUtleTogJ1LDoXBpZG8nLCBkZXNjcmlwdGlvbktleTogJ0NhcmdhIGFsIGluc3RhbnRlJyB9LFxuICogICAgICAgeyBpbWFnZTogJy9sb2dvcy9hcHAucG5nJywgdGl0bGVLZXk6ICdNaSBBcHAnLCBkZXNjcmlwdGlvbktleTogJ0dlc3Rpw7NuIGRlIGVxdWlwb3MnLCB0b2tlbjogJ2FwcCcgfVxuICogICAgIF0sXG4gKiAgICAgbWF4VmlzaWJsZTogMyxcbiAqICAgICBmb290ZXJMaW5rOiB7IGxhYmVsOiAnVmVyIHRvZG8nLCByb3V0ZXJMaW5rOiAnL2FwcHMnIH1cbiAqICAgfVwiXG4gKiAgIChpdGVtQ2xpY2spPVwib3BlbigkZXZlbnQpXCJcbiAqIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZlYXR1cmVzLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZlYXR1cmVzLWxpc3RcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLXZlcnRpY2FsXT1cImNvbmZpZygpLm1vZGUgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWhvcml6b250YWxdPVwiY29uZmlnKCkubW9kZSA9PT0gJ2hvcml6b250YWwnXCJcbiAgICAgIFtjbGFzcy5mZWF0dXJlcy1saXN0LS1nYXAtc21hbGxdPVwiY29uZmlnKCkuZ2FwID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5mZWF0dXJlcy1saXN0LS1nYXAtbWVkaXVtXT1cImNvbmZpZygpLmdhcCA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWdhcC1sYXJnZV09XCJjb25maWcoKS5nYXAgPT09ICdsYXJnZSdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWNlbnRlcl09XCJjb25maWcoKS5hbGlnbm1lbnQgPT09ICdjZW50ZXInXCJcbiAgICA+XG4gICAgICBAZm9yIChmZWF0dXJlIG9mIHZpc2libGVGZWF0dXJlcygpOyB0cmFjayBmZWF0dXJlLnRpdGxlS2V5KSB7XG4gICAgICAgIEBpZiAoZmVhdHVyZS50b2tlbiAhPSBudWxsKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImZlYXR1cmUgZmVhdHVyZS0tY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0VGl0bGUoZmVhdHVyZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbShmZWF0dXJlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImZlYXR1cmVfX2ljb25cIlxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yU3R5bGUoKVwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29uZmlnKCkuaWNvblNpemVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKGZlYXR1cmUuaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZlYXR1cmVfX2ltYWdlXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5mZWF0dXJlX19pbWFnZS0tY2lyY2xlXT1cImNvbmZpZygpLmltYWdlU2hhcGUgPT09ICdjaXJjbGUnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZmVhdHVyZS5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cImdldFRpdGxlKGZlYXR1cmUpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmZWF0dXJlLmljb24gPT09ICdjdXN0b20nICYmIGZlYXR1cmUuc3ZnUGF0aCkge1xuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmhlaWdodF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJmZWF0dXJlLnN2Z1BhdGhcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmZWF0dXJlLmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiZmVhdHVyZS5pY29uXCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZlYXR1cmVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImZlYXR1cmVfX3RpdGxlXCI+e3sgZ2V0VGl0bGUoZmVhdHVyZSkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmZWF0dXJlX19kZXNjcmlwdGlvblwiPnt7IGdldERlc2NyaXB0aW9uKGZlYXR1cmUpIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmVhdHVyZV9faWNvblwiXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JTdHlsZSgpXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoZmVhdHVyZS5pbWFnZSkge1xuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmVhdHVyZV9faW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmZlYXR1cmVfX2ltYWdlLS1jaXJjbGVdPVwiY29uZmlnKCkuaW1hZ2VTaGFwZSA9PT0gJ2NpcmNsZSdcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJmZWF0dXJlLmltYWdlXCJcbiAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0VGl0bGUoZmVhdHVyZSlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZlYXR1cmUuaWNvbiA9PT0gJ2N1c3RvbScgJiYgZmVhdHVyZS5zdmdQYXRoKSB7XG4gICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwiY29uZmlnKCkuaWNvblNpemVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImZlYXR1cmUuc3ZnUGF0aFwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZlYXR1cmUuaWNvbikge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJmZWF0dXJlLmljb25cIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImNvbmZpZygpLmljb25TaXplXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVhdHVyZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZmVhdHVyZV9fdGl0bGVcIj57eyBnZXRUaXRsZShmZWF0dXJlKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImZlYXR1cmVfX2Rlc2NyaXB0aW9uXCI+e3sgZ2V0RGVzY3JpcHRpb24oZmVhdHVyZSkgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGNhbkNvbGxhcHNlKCkpIHtcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmZWF0dXJlcy1saXN0X19tb3JlXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgICAgICAge3sgZXhwYW5kZWQoKSA/IHNob3dMZXNzVGV4dCgpIDogc2hvd01vcmVUZXh0KCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoY29uZmlnKCkuZm9vdGVyTGluazsgYXMgbGluaykge1xuICAgICAgICA8YSBjbGFzcz1cImZlYXR1cmVzLWxpc3RfX2Zvb3RlclwiIFtyb3V0ZXJMaW5rXT1cImxpbmsucm91dGVyTGluayA/PyBudWxsXCIgKGNsaWNrKT1cIm9uRm9vdGVyKCRldmVudCwgbGluaylcIj5cbiAgICAgICAgICB7eyBsaW5rLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tdmVydGljYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0taG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWhvcml6b250YWwgLmZlYXR1cmUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLXNtYWxsIHtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLW1lZGl1bSB7XG4gICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLWxhcmdlIHtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tY2VudGVyIC5mZWF0dXJlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWNlbnRlciAuZmVhdHVyZV9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS0tY2xpY2thYmxlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMDMpKTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtLWNsaWNrYWJsZTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlLS1jbGlja2FibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2ljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2ltYWdlLS1jaXJjbGUge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZV9fY29udGVudCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3RfX21vcmUge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWNlbnRlciAuZmVhdHVyZXMtbGlzdF9fbW9yZSxcbiAgICAgIC5mZWF0dXJlcy1saXN0LS1jZW50ZXIgLmZlYXR1cmVzLWxpc3RfX2Zvb3RlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3RfX2Zvb3RlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdF9fZm9vdGVyOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSBzdXBwb3J0IOKAlCBjbGFzcy1iYXNlZCBPTkxZIChJb25pYyBib2R5LmRhcmsgLyBodG1sLmlvbi1wYWxldHRlLWRhcmspICovXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZmVhdHVyZV9fdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSAuZmVhdHVyZV9fdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmVfX3RpdGxlLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5mZWF0dXJlX190aXRsZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmZlYXR1cmVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjZmZmKTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5mZWF0dXJlX19kZXNjcmlwdGlvbixcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuZmVhdHVyZV9fZGVzY3JpcHRpb24sXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5mZWF0dXJlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjYTBhMGEwKTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmZlYXR1cmUtLWNsaWNrYWJsZTpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspIC5mZWF0dXJlLS1jbGlja2FibGU6aG92ZXIsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmUtLWNsaWNrYWJsZTpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlc0xpc3RDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb24gPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0LnJlcXVpcmVkPEZlYXR1cmVzTGlzdE1ldGFkYXRhPigpO1xuXG4gIC8qKiBFbWl0aWRvIGFsIHRvY2FyIHVuIGl0ZW0gKGNvbiBzdSBgdG9rZW5gKS4gKi9cbiAgcmVhZG9ubHkgaXRlbUNsaWNrID0gb3V0cHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgLyoqIEVtaXRpZG8gYWwgdG9jYXIgZWwgZm9vdGVyIGxpbmsgKGNvbiBzdSBgdG9rZW5gKS4gKi9cbiAgcmVhZG9ubHkgZm9vdGVyQ2xpY2sgPSBvdXRwdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgZXhwYW5kZWQgPSB0aGlzLl9leHBhbmRlZC5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKCdGZWF0dXJlc0xpc3QnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnRmVhdHVyZXNMaXN0JywgRkVBVFVSRVNfTElTVF9JMThOKTtcbiAgICB9XG4gIH1cblxuICAvKiogTWVyZ2VkIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0cyAqL1xuICBjb25maWcgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIC4uLkZFQVRVUkVTX0xJU1RfREVGQVVMVFMsXG4gICAgLi4udGhpcy5wcm9wcygpLFxuICB9KSk7XG5cbiAgLyoqIEl0ZW1zIHZpc2libGVzIHNlZ8O6biBlbCBlc3RhZG8gZGUgY29sYXBzby4gKi9cbiAgdmlzaWJsZUZlYXR1cmVzID0gY29tcHV0ZWQ8RmVhdHVyZUl0ZW1bXT4oKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgY29uc3QgYWxsID0gY2ZnLmZlYXR1cmVzID8/IFtdO1xuICAgIGlmIChjZmcubWF4VmlzaWJsZSA+IDAgJiYgIXRoaXMuX2V4cGFuZGVkKCkgJiYgYWxsLmxlbmd0aCA+IGNmZy5tYXhWaXNpYmxlKSB7XG4gICAgICByZXR1cm4gYWxsLnNsaWNlKDAsIGNmZy5tYXhWaXNpYmxlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFsbDtcbiAgfSk7XG5cbiAgLyoqIFNpIGhheSBpdGVtcyBkZSBzb2JyYSBwYXJhIGNvbGFwc2FyL2V4cGFuZGlyLiAqL1xuICBjYW5Db2xsYXBzZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIHJldHVybiBjZmcubWF4VmlzaWJsZSA+IDAgJiYgKGNmZy5mZWF0dXJlcz8ubGVuZ3RoID8/IDApID4gY2ZnLm1heFZpc2libGU7XG4gIH0pO1xuXG4gIHNob3dNb3JlVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZygpLnNob3dNb3JlTGFiZWwgfHwgdGhpcy5pMThuLnQoJ3Nob3dNb3JlJywgJ0ZlYXR1cmVzTGlzdCcpO1xuICB9KTtcblxuICBzaG93TGVzc1RleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWcoKS5zaG93TGVzc0xhYmVsIHx8IHRoaXMuaTE4bi50KCdzaG93TGVzcycsICdGZWF0dXJlc0xpc3QnKTtcbiAgfSk7XG5cbiAgLyoqIFJlc29sdmVkIGljb24gY29sb3IgKGhhbmRsZXMgSW9uaWMgY29sb3JzIGFuZCBDU1MgY29sb3JzKSAqL1xuICBpY29uQ29sb3JTdHlsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuY29uZmlnKCkuaWNvbkNvbG9yO1xuICAgIGlmIChjb2xvciAmJiAhY29sb3Iuc3RhcnRzV2l0aCgnIycpICYmICFjb2xvci5zdGFydHNXaXRoKCdyZ2InKSkge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtjb2xvcn0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9KTtcblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fZXhwYW5kZWQuc2V0KCF0aGlzLl9leHBhbmRlZCgpKTtcbiAgfVxuXG4gIG9uSXRlbShmZWF0dXJlOiBGZWF0dXJlSXRlbSk6IHZvaWQge1xuICAgIGlmIChmZWF0dXJlLnRva2VuICE9IG51bGwpIHtcbiAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoZmVhdHVyZS50b2tlbik7XG4gICAgfVxuICB9XG5cbiAgb25Gb290ZXIoZXZlbnQ6IE1vdXNlRXZlbnQsIGxpbms6IEZlYXR1cmVzTGlzdEZvb3RlckxpbmspOiB2b2lkIHtcbiAgICB0aGlzLmZvb3RlckNsaWNrLmVtaXQobGluay50b2tlbik7XG4gICAgaWYgKGxpbmsuaHJlZikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5vcGVuSW5OZXdUYWIobGluay5ocmVmKTtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRyYW5zbGF0ZWQgdGl0bGUgb3IgcmV0dXJuIGRpcmVjdCB0ZXh0ICovXG4gIGdldFRpdGxlKGZlYXR1cmU6IEZlYXR1cmVJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSB0aGlzLnByb3BzKCkuaTE4bk5hbWVzcGFjZTtcbiAgICBpZiAobmFtZXNwYWNlKSB7XG4gICAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGZlYXR1cmUudGl0bGVLZXksIG5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHJldHVybiBmZWF0dXJlLnRpdGxlS2V5O1xuICB9XG5cbiAgLyoqIEdldCB0cmFuc2xhdGVkIGRlc2NyaXB0aW9uIG9yIHJldHVybiBkaXJlY3QgdGV4dCAqL1xuICBnZXREZXNjcmlwdGlvbihmZWF0dXJlOiBGZWF0dXJlSXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gdGhpcy5wcm9wcygpLmkxOG5OYW1lc3BhY2U7XG4gICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udChmZWF0dXJlLmRlc2NyaXB0aW9uS2V5LCBuYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZS5kZXNjcmlwdGlvbktleTtcbiAgfVxufVxuIl19
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlYXR1cmVzLWxpc3QvZmVhdHVyZXMtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQTZELHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUU1Rzs7O0dBR0c7QUFDSCxNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTtJQUNsRCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7Q0FDckQsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFnU0gsTUFBTSxPQUFPLHFCQUFxQjtJQWVoQztRQWRRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9DLDhCQUE4QjtRQUNyQixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0IsQ0FBQztRQUV4RCxpREFBaUQ7UUFDeEMsY0FBUyxHQUFHLE1BQU0sRUFBc0IsQ0FBQztRQUNsRCx3REFBd0Q7UUFDL0MsZ0JBQVcsR0FBRyxNQUFNLEVBQXNCLENBQUM7UUFFbkMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQVFoRCx5Q0FBeUM7UUFDekMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEdBQUcsc0JBQXNCO1lBQ3pCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtTQUNoQixDQUFDLENBQUMsQ0FBQztRQUVKLGlEQUFpRDtRQUNqRCxvQkFBZSxHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFO1lBQzdDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMvQixJQUFJLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMzRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILG9EQUFvRDtRQUNwRCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUVILGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFFSCxnRUFBZ0U7UUFDaEUsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxPQUFPLG1CQUFtQixLQUFLLEdBQUcsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQTVDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQTJDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQW9CO1FBQ3pCLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBaUIsRUFBRSxJQUE0QjtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELFFBQVEsQ0FBQyxPQUFvQjtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzdDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzFCLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsY0FBYyxDQUFDLE9BQW9CO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDN0MsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDaEMsQ0FBQzsrR0FsR1UscUJBQXFCO21HQUFyQixxQkFBcUIsaVJBM1J0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUdULG16RkExR1MsWUFBWSwrQkFBRSxVQUFVLG9PQUFFLE9BQU87OzRGQTRSaEMscUJBQXFCO2tCQS9SakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsWUFDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlHVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7IEZlYXR1cmVJdGVtLCBGZWF0dXJlc0xpc3RGb290ZXJMaW5rLCBGZWF0dXJlc0xpc3RNZXRhZGF0YSwgRkVBVFVSRVNfTElTVF9ERUZBVUxUUyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSDigJQgYXV0by1yZWdpc3RyYWRvcyBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbFxuICogbmFtZXNwYWNlIGBGZWF0dXJlc0xpc3RgLiBDdWJyZSBsb3MgbGFiZWxzIGRlIFwidmVyIG3DoXNcIi9cInZlciBtZW5vc1wiLlxuICovXG5jb25zdCBGRUFUVVJFU19MSVNUX0kxOE4gPSB7XG4gIGVzOiB7IHNob3dNb3JlOiAnVmVyIG3DoXMnLCBzaG93TGVzczogJ1ZlciBtZW5vcycgfSxcbiAgZW46IHsgc2hvd01vcmU6ICdTaG93IG1vcmUnLCBzaG93TGVzczogJ1Nob3cgbGVzcycgfSxcbn07XG5cbi8qKlxuICogdmFsLWZlYXR1cmVzLWxpc3RcbiAqXG4gKiBMaXN0YSBkZSBmZWF0dXJlcyBjb24gaWNvbm8gKipvIGltYWdlbioqLCB0w610dWxvIHkgZGVzY3JpcGNpw7NuLiBTb3BvcnRhIGkxOG4sXG4gKiBjb2xhcHNvIG9wY2lvbmFsIChcInZlciBtw6FzXCIgY3VhbmRvIHN1cGVyYSBgbWF4VmlzaWJsZWApIHkgdW4gbGluayBhbCBwaWVcbiAqIChlai4gXCJGaW5kIG91dCBtb3JlXCIpLiDDmnRpbCBwYXJhIGxpc3RhcyBkZSBzZXR0aW5ncywgYXBwcywgYmVuZWZpY2lvcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1mZWF0dXJlcy1saXN0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZmVhdHVyZXM6IFtcbiAqICAgICAgIHsgaWNvbjogJ2ZsYXNoLW91dGxpbmUnLCB0aXRsZUtleTogJ1LDoXBpZG8nLCBkZXNjcmlwdGlvbktleTogJ0NhcmdhIGFsIGluc3RhbnRlJyB9LFxuICogICAgICAgeyBpbWFnZTogJy9sb2dvcy9hcHAucG5nJywgdGl0bGVLZXk6ICdNaSBBcHAnLCBkZXNjcmlwdGlvbktleTogJ0dlc3Rpw7NuIGRlIGVxdWlwb3MnLCB0b2tlbjogJ2FwcCcgfVxuICogICAgIF0sXG4gKiAgICAgbWF4VmlzaWJsZTogMyxcbiAqICAgICBmb290ZXJMaW5rOiB7IGxhYmVsOiAnVmVyIHRvZG8nLCByb3V0ZXJMaW5rOiAnL2FwcHMnIH1cbiAqICAgfVwiXG4gKiAgIChpdGVtQ2xpY2spPVwib3BlbigkZXZlbnQpXCJcbiAqIC8+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZlYXR1cmVzLWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZlYXR1cmVzLWxpc3RcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLXZlcnRpY2FsXT1cImNvbmZpZygpLm1vZGUgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWhvcml6b250YWxdPVwiY29uZmlnKCkubW9kZSA9PT0gJ2hvcml6b250YWwnXCJcbiAgICAgIFtjbGFzcy5mZWF0dXJlcy1saXN0LS1nYXAtc21hbGxdPVwiY29uZmlnKCkuZ2FwID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5mZWF0dXJlcy1saXN0LS1nYXAtbWVkaXVtXT1cImNvbmZpZygpLmdhcCA9PT0gJ21lZGl1bSdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWdhcC1sYXJnZV09XCJjb25maWcoKS5nYXAgPT09ICdsYXJnZSdcIlxuICAgICAgW2NsYXNzLmZlYXR1cmVzLWxpc3QtLWNlbnRlcl09XCJjb25maWcoKS5hbGlnbm1lbnQgPT09ICdjZW50ZXInXCJcbiAgICA+XG4gICAgICBAZm9yIChmZWF0dXJlIG9mIHZpc2libGVGZWF0dXJlcygpOyB0cmFjayBmZWF0dXJlLnRpdGxlS2V5KSB7XG4gICAgICAgIEBpZiAoZmVhdHVyZS50b2tlbiAhPSBudWxsKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImZlYXR1cmUgZmVhdHVyZS0tY2xpY2thYmxlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0VGl0bGUoZmVhdHVyZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbShmZWF0dXJlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImZlYXR1cmVfX2ljb25cIlxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yU3R5bGUoKVwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29uZmlnKCkuaWNvblNpemVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKGZlYXR1cmUuaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZlYXR1cmVfX2ltYWdlXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5mZWF0dXJlX19pbWFnZS0tY2lyY2xlXT1cImNvbmZpZygpLmltYWdlU2hhcGUgPT09ICdjaXJjbGUnXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZmVhdHVyZS5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cImdldFRpdGxlKGZlYXR1cmUpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmZWF0dXJlLmljb24gPT09ICdjdXN0b20nICYmIGZlYXR1cmUuc3ZnUGF0aCkge1xuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmhlaWdodF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGggW2F0dHIuZF09XCJmZWF0dXJlLnN2Z1BhdGhcIiAvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmZWF0dXJlLmljb24pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiZmVhdHVyZS5pY29uXCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZlYXR1cmVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImZlYXR1cmVfX3RpdGxlXCI+e3sgZ2V0VGl0bGUoZmVhdHVyZSkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmZWF0dXJlX19kZXNjcmlwdGlvblwiPnt7IGdldERlc2NyaXB0aW9uKGZlYXR1cmUpIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWF0dXJlXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiZmVhdHVyZV9faWNvblwiXG4gICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JTdHlsZSgpXCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJjb25maWcoKS5pY29uU2l6ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAoZmVhdHVyZS5pbWFnZSkge1xuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmVhdHVyZV9faW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmZlYXR1cmVfX2ltYWdlLS1jaXJjbGVdPVwiY29uZmlnKCkuaW1hZ2VTaGFwZSA9PT0gJ2NpcmNsZSdcIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJmZWF0dXJlLmltYWdlXCJcbiAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0VGl0bGUoZmVhdHVyZSlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZlYXR1cmUuaWNvbiA9PT0gJ2N1c3RvbScgJiYgZmVhdHVyZS5zdmdQYXRoKSB7XG4gICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwiY29uZmlnKCkuaWNvblNpemVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuaGVpZ2h0XT1cImNvbmZpZygpLmljb25TaXplXCJcbiAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuNVwiXG4gICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBbYXR0ci5kXT1cImZlYXR1cmUuc3ZnUGF0aFwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZlYXR1cmUuaWNvbikge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJmZWF0dXJlLmljb25cIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImNvbmZpZygpLmljb25TaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVhdHVyZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZmVhdHVyZV9fdGl0bGVcIj57eyBnZXRUaXRsZShmZWF0dXJlKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImZlYXR1cmVfX2Rlc2NyaXB0aW9uXCI+e3sgZ2V0RGVzY3JpcHRpb24oZmVhdHVyZSkgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgKGNhbkNvbGxhcHNlKCkpIHtcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmZWF0dXJlcy1saXN0X19tb3JlXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgICAgICAge3sgZXhwYW5kZWQoKSA/IHNob3dMZXNzVGV4dCgpIDogc2hvd01vcmVUZXh0KCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoY29uZmlnKCkuZm9vdGVyTGluazsgYXMgbGluaykge1xuICAgICAgICA8YSBjbGFzcz1cImZlYXR1cmVzLWxpc3RfX2Zvb3RlclwiIFtyb3V0ZXJMaW5rXT1cImxpbmsucm91dGVyTGluayA/PyBudWxsXCIgKGNsaWNrKT1cIm9uRm9vdGVyKCRldmVudCwgbGluaylcIj5cbiAgICAgICAgICB7eyBsaW5rLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tdmVydGljYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0taG9yaXpvbnRhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWhvcml6b250YWwgLmZlYXR1cmUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLXNtYWxsIHtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLW1lZGl1bSB7XG4gICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tZ2FwLWxhcmdlIHtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdC0tY2VudGVyIC5mZWF0dXJlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWNlbnRlciAuZmVhdHVyZV9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS0tY2xpY2thYmxlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMDMpKTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtLWNsaWNrYWJsZTpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlLS1jbGlja2FibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDAuMTI1cmVtIHNvbGlkIHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNzAyNmRmKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2ljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2ltYWdlLS1jaXJjbGUge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZV9fY29udGVudCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5mZWF0dXJlX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3RfX21vcmUge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3QtLWNlbnRlciAuZmVhdHVyZXMtbGlzdF9fbW9yZSxcbiAgICAgIC5mZWF0dXJlcy1saXN0LS1jZW50ZXIgLmZlYXR1cmVzLWxpc3RfX2Zvb3RlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVzLWxpc3RfX2Zvb3RlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZXMtbGlzdF9fZm9vdGVyOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSBzdXBwb3J0IOKAlCBjbGFzcy1iYXNlZCBPTkxZIChJb25pYyBib2R5LmRhcmsgLyBodG1sLmlvbi1wYWxldHRlLWRhcmspICovXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAuZmVhdHVyZV9fdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSAuZmVhdHVyZV9fdGl0bGUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmVfX3RpdGxlLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5mZWF0dXJlX190aXRsZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmZlYXR1cmVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjZmZmKTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uLFxuICAgICAgOmhvc3QtY29udGV4dCguaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmVfX2Rlc2NyaXB0aW9uLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5mZWF0dXJlX19kZXNjcmlwdGlvbixcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuZmVhdHVyZV9fZGVzY3JpcHRpb24sXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5mZWF0dXJlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjYTBhMGEwKTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLmZlYXR1cmUtLWNsaWNrYWJsZTpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspIC5mZWF0dXJlLS1jbGlja2FibGU6aG92ZXIsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmZlYXR1cmUtLWNsaWNrYWJsZTpob3ZlcixcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuZmVhdHVyZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlc0xpc3RDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb24gPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0LnJlcXVpcmVkPEZlYXR1cmVzTGlzdE1ldGFkYXRhPigpO1xuXG4gIC8qKiBFbWl0aWRvIGFsIHRvY2FyIHVuIGl0ZW0gKGNvbiBzdSBgdG9rZW5gKS4gKi9cbiAgcmVhZG9ubHkgaXRlbUNsaWNrID0gb3V0cHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgLyoqIEVtaXRpZG8gYWwgdG9jYXIgZWwgZm9vdGVyIGxpbmsgKGNvbiBzdSBgdG9rZW5gKS4gKi9cbiAgcmVhZG9ubHkgZm9vdGVyQ2xpY2sgPSBvdXRwdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4cGFuZGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgZXhwYW5kZWQgPSB0aGlzLl9leHBhbmRlZC5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKCdGZWF0dXJlc0xpc3QnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnRmVhdHVyZXNMaXN0JywgRkVBVFVSRVNfTElTVF9JMThOKTtcbiAgICB9XG4gIH1cblxuICAvKiogTWVyZ2VkIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0cyAqL1xuICBjb25maWcgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIC4uLkZFQVRVUkVTX0xJU1RfREVGQVVMVFMsXG4gICAgLi4udGhpcy5wcm9wcygpLFxuICB9KSk7XG5cbiAgLyoqIEl0ZW1zIHZpc2libGVzIHNlZ8O6biBlbCBlc3RhZG8gZGUgY29sYXBzby4gKi9cbiAgdmlzaWJsZUZlYXR1cmVzID0gY29tcHV0ZWQ8RmVhdHVyZUl0ZW1bXT4oKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgY29uc3QgYWxsID0gY2ZnLmZlYXR1cmVzID8/IFtdO1xuICAgIGlmIChjZmcubWF4VmlzaWJsZSA+IDAgJiYgIXRoaXMuX2V4cGFuZGVkKCkgJiYgYWxsLmxlbmd0aCA+IGNmZy5tYXhWaXNpYmxlKSB7XG4gICAgICByZXR1cm4gYWxsLnNsaWNlKDAsIGNmZy5tYXhWaXNpYmxlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFsbDtcbiAgfSk7XG5cbiAgLyoqIFNpIGhheSBpdGVtcyBkZSBzb2JyYSBwYXJhIGNvbGFwc2FyL2V4cGFuZGlyLiAqL1xuICBjYW5Db2xsYXBzZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIHJldHVybiBjZmcubWF4VmlzaWJsZSA+IDAgJiYgKGNmZy5mZWF0dXJlcz8ubGVuZ3RoID8/IDApID4gY2ZnLm1heFZpc2libGU7XG4gIH0pO1xuXG4gIHNob3dNb3JlVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZygpLnNob3dNb3JlTGFiZWwgfHwgdGhpcy5pMThuLnQoJ3Nob3dNb3JlJywgJ0ZlYXR1cmVzTGlzdCcpO1xuICB9KTtcblxuICBzaG93TGVzc1RleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5jb25maWcoKS5zaG93TGVzc0xhYmVsIHx8IHRoaXMuaTE4bi50KCdzaG93TGVzcycsICdGZWF0dXJlc0xpc3QnKTtcbiAgfSk7XG5cbiAgLyoqIFJlc29sdmVkIGljb24gY29sb3IgKGhhbmRsZXMgSW9uaWMgY29sb3JzIGFuZCBDU1MgY29sb3JzKSAqL1xuICBpY29uQ29sb3JTdHlsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuY29uZmlnKCkuaWNvbkNvbG9yO1xuICAgIGlmIChjb2xvciAmJiAhY29sb3Iuc3RhcnRzV2l0aCgnIycpICYmICFjb2xvci5zdGFydHNXaXRoKCdyZ2InKSkge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtjb2xvcn0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9KTtcblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fZXhwYW5kZWQuc2V0KCF0aGlzLl9leHBhbmRlZCgpKTtcbiAgfVxuXG4gIG9uSXRlbShmZWF0dXJlOiBGZWF0dXJlSXRlbSk6IHZvaWQge1xuICAgIGlmIChmZWF0dXJlLnRva2VuICE9IG51bGwpIHtcbiAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoZmVhdHVyZS50b2tlbik7XG4gICAgfVxuICB9XG5cbiAgb25Gb290ZXIoZXZlbnQ6IE1vdXNlRXZlbnQsIGxpbms6IEZlYXR1cmVzTGlzdEZvb3RlckxpbmspOiB2b2lkIHtcbiAgICB0aGlzLmZvb3RlckNsaWNrLmVtaXQobGluay50b2tlbik7XG4gICAgaWYgKGxpbmsuaHJlZikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5vcGVuSW5OZXdUYWIobGluay5ocmVmKTtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRyYW5zbGF0ZWQgdGl0bGUgb3IgcmV0dXJuIGRpcmVjdCB0ZXh0ICovXG4gIGdldFRpdGxlKGZlYXR1cmU6IEZlYXR1cmVJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lc3BhY2UgPSB0aGlzLnByb3BzKCkuaTE4bk5hbWVzcGFjZTtcbiAgICBpZiAobmFtZXNwYWNlKSB7XG4gICAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KGZlYXR1cmUudGl0bGVLZXksIG5hbWVzcGFjZSk7XG4gICAgfVxuICAgIHJldHVybiBmZWF0dXJlLnRpdGxlS2V5O1xuICB9XG5cbiAgLyoqIEdldCB0cmFuc2xhdGVkIGRlc2NyaXB0aW9uIG9yIHJldHVybiBkaXJlY3QgdGV4dCAqL1xuICBnZXREZXNjcmlwdGlvbihmZWF0dXJlOiBGZWF0dXJlSXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3QgbmFtZXNwYWNlID0gdGhpcy5wcm9wcygpLmkxOG5OYW1lc3BhY2U7XG4gICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICAgIHJldHVybiB0aGlzLmkxOG4udChmZWF0dXJlLmRlc2NyaXB0aW9uS2V5LCBuYW1lc3BhY2UpO1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZS5kZXNjcmlwdGlvbktleTtcbiAgfVxufVxuIl19
|
|
@@ -150,14 +150,14 @@ export class FeedbackFormComponent {
|
|
|
150
150
|
|
|
151
151
|
@if (error()) {
|
|
152
152
|
<div class="feedback-alert error">
|
|
153
|
-
<ion-icon name="close-circle-outline"></ion-icon>
|
|
153
|
+
<ion-icon name="close-circle-outline" aria-hidden="true"></ion-icon>
|
|
154
154
|
<span>{{ error() }}</span>
|
|
155
155
|
</div>
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
@if (isSuccess()) {
|
|
159
159
|
<div class="feedback-alert success">
|
|
160
|
-
<ion-icon name="checkmark-circle-outline"></ion-icon>
|
|
160
|
+
<ion-icon name="checkmark-circle-outline" aria-hidden="true"></ion-icon>
|
|
161
161
|
<span>{{ props.successMessage || i18n.t('feedbackSuccess') }}</span>
|
|
162
162
|
</div>
|
|
163
163
|
}
|
|
@@ -185,14 +185,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
185
185
|
|
|
186
186
|
@if (error()) {
|
|
187
187
|
<div class="feedback-alert error">
|
|
188
|
-
<ion-icon name="close-circle-outline"></ion-icon>
|
|
188
|
+
<ion-icon name="close-circle-outline" aria-hidden="true"></ion-icon>
|
|
189
189
|
<span>{{ error() }}</span>
|
|
190
190
|
</div>
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
@if (isSuccess()) {
|
|
194
194
|
<div class="feedback-alert success">
|
|
195
|
-
<ion-icon name="checkmark-circle-outline"></ion-icon>
|
|
195
|
+
<ion-icon name="checkmark-circle-outline" aria-hidden="true"></ion-icon>
|
|
196
196
|
<span>{{ props.successMessage || i18n.t('feedbackSuccess') }}</span>
|
|
197
197
|
</div>
|
|
198
198
|
}
|
|
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
212
212
|
}], onCancel: [{
|
|
213
213
|
type: Output
|
|
214
214
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlZWRiYWNrLWZvcm0vZmVlZGJhY2stZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQWdCLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQXdELFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7OztBQWlGaEgsTUFBTSxPQUFPLHFCQUFxQjtJQWtCaEM7UUFqQlMsVUFBSyxHQUF5QixFQUFFLENBQUM7UUFFaEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBDLFNB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Q0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBdUI7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0F0SlUscUJBQXFCO21HQUFyQixxQkFBcUIsa0tBekV0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCwwZkFoQ1MsWUFBWSw2SEFBRSxhQUFhLDhIQUFFLDJCQUEyQix1SEFBRSxTQUFTLG9QQUFFLE9BQU87OzRGQTBFM0UscUJBQXFCO2tCQTdFakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUO3dEQTJDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZWNrbWFya0NpcmNsZU91dGxpbmUsIGNsb3NlQ2lyY2xlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgRmVlZGJhY2tTZXJ2aWNlLCBGZWVkYmFja1R5cGUsIERFRkFVTFRfRkVFREJBQ0tfVFlQRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmVlZGJhY2snO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcywgRm9ybU1ldGFkYXRhLCBGb3JtU3VibWl0LCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnRVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9hdHRhY2htZW50LXVwbG9hZGVyL2F0dGFjaG1lbnQtdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnRJdGVtIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvdHlwZXMnO1xuaW1wb3J0IHsgRmVlZGJhY2tGb3JtTWV0YWRhdGEsIEZlZWRiYWNrU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZlZWRiYWNrLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3JtQ29tcG9uZW50LCBBdHRhY2htZW50VXBsb2FkZXJDb21wb25lbnQsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLWZvcm0td3JhcHBlclwiIFtjbGFzcy5jb21wYWN0XT1cInByb3BzLmNvbXBhY3RcIiBbbmdDbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiPlxuICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJmb3JtUHJvcHNcIiAob25TdWJtaXQpPVwiaGFuZGxlRm9ybVN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIEBpZiAocHJvcHMuc2hvd0F0dGFjaG1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgICAgIDx2YWwtYXR0YWNobWVudC11cGxvYWRlclxuICAgICAgICAgICAgW3Byb3BzXT1cInsgbWF4RmlsZXM6IDUgfVwiXG4gICAgICAgICAgICAoYXR0YWNobWVudHNDaGFuZ2UpPVwib25BdHRhY2htZW50c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICA+PC92YWwtYXR0YWNobWVudC11cGxvYWRlcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZXJyb3IoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1hbGVydCBlcnJvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyBlcnJvcigpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChpc1N1Y2Nlc3MoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1hbGVydCBzdWNjZXNzXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyBwcm9wcy5zdWNjZXNzTWVzc2FnZSB8fCBpMThuLnQoJ2ZlZWRiYWNrU3VjY2VzcycpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L3ZhbC1mb3JtPlxuXG4gICAgICBAaWYgKHByb3BzLmNhbmNlbEJ1dHRvblRleHQpIHtcbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cIm1lZGl1bVwiIGV4cGFuZD1cImJsb2NrXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiPlxuICAgICAgICAgIHt7IHByb3BzLmNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZmVlZGJhY2stZm9ybS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgICAgJi5jb21wYWN0IHtcbiAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmVlZGJhY2stYWxlcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgICAmLmVycm9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXRpbnQpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXNoYWRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3VjY2VzcyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtdGludCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXNoYWRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlvbi1pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhbmNlbC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmVlZGJhY2tGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IEZlZWRiYWNrRm9ybU1ldGFkYXRhID0ge307XG5cbiAgQE91dHB1dCgpIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxGZWVkYmFja1N1Ym1pdEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuXG4gIGZvcm1Qcm9wcyE6IEZvcm1NZXRhZGF0YTtcbiAgdHlwZU9wdGlvbnMgPSBERUZBVUxUX0ZFRURCQUNLX1RZUEVfT1BUSU9OUztcblxuICBpc1N1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBpc1N1Y2Nlc3MgPSBzaWduYWwoZmFsc2UpO1xuICBlcnJvciA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIGN1cnJlbnRBdHRhY2htZW50czogQXR0YWNobWVudEl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSwgY2xvc2VDaXJjbGVPdXRsaW5lIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZW5hYmxlZFR5cGVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudHlwZU9wdGlvbnMgPSB0aGlzLnR5cGVPcHRpb25zLmZpbHRlcihvcHQgPT4gdGhpcy5wcm9wcy5lbmFibGVkVHlwZXMhLmluY2x1ZGVzKG9wdC52YWx1ZSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy50eXBlT3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnR5cGVPcHRpb25zID0gdGhpcy5wcm9wcy50eXBlT3B0aW9ucztcbiAgICB9XG4gICAgdGhpcy5mb3JtUHJvcHMgPSB0aGlzLmJ1aWxkRm9ybVByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybVByb3BzKCk6IEZvcm1NZXRhZGF0YSB7XG4gICAgY29uc3QgZmllbGRzOiBJbnB1dE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnByb3BzLnNob3dUeXBlU2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdID0gdGhpcy50eXBlT3B0aW9ucy5tYXAoKG9wdCwgaSkgPT4gKHtcbiAgICAgICAgaWQ6IG9wdC52YWx1ZSxcbiAgICAgICAgbmFtZTogb3B0LmxhYmVsLFxuICAgICAgICBvcmRlcjogaSxcbiAgICAgICAgc2VsZWN0ZWQ6IG9wdC52YWx1ZSA9PT0gKHRoaXMucHJvcHMuZGVmYXVsdFR5cGUgPz8gJ2ZlZWRiYWNrJyksXG4gICAgICB9KSk7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stdHlwZScsXG4gICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgbGFiZWw6IHRoaXMuaTE4bi50KCdmZWVkYmFja1R5cGUnKSxcbiAgICAgICAgaGludDogJycsXG4gICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgICAgdHlwZTogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMuZGVmYXVsdFR5cGUgPz8gJ2ZlZWRiYWNrJyxcbiAgICAgICAgZXJyb3JzOiB7fSxcbiAgICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmllbGRzLnB1c2goXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stdGl0bGUnLFxuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy50aXRsZUxhYmVsID8/IHRoaXMuaTE4bi50KCd0aXRsZScpLFxuICAgICAgICBoaW50OiAnJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucHJvcHMudGl0bGVQbGFjZWhvbGRlciA/PyB0aGlzLmkxOG4udCgndGl0bGVQbGFjZWhvbGRlcicpLFxuICAgICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjAwKV0sXG4gICAgICAgIGVycm9yczoge1xuICAgICAgICAgIHJlcXVpcmVkOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgICAgbWlubGVuZ3RoOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgICAgbWF4bGVuZ3RoOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stZGVzY3JpcHRpb24nLFxuICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy5kZXNjcmlwdGlvbkxhYmVsID8/IHRoaXMuaTE4bi50KCdkZXNjcmlwdGlvbicpLFxuICAgICAgICBoaW50OiAnJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucHJvcHMuZGVzY3JpcHRpb25QbGFjZWhvbGRlciA/PyB0aGlzLmkxOG4udCgnZGVzY3JpcHRpb25QbGFjZWhvbGRlcicpLFxuICAgICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICAgIG9yZGVyOiAzLFxuICAgICAgICByYW5nZTogeyBtaW46IDEwLCBtYXg6IDUwMDAgfSxcbiAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTAwMCldLFxuICAgICAgICBlcnJvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICAgIG1pbmxlbmd0aDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICAgIG1heGxlbmd0aDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDAsIGZpZWxkcyB9XSxcbiAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMucHJvcHMuc3VibWl0QnV0dG9uVGV4dCA/PyB0aGlzLmkxOG4udCgnc3VibWl0JyksXG4gICAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgICAgZXhwYW5kOiAnYmxvY2snLFxuICAgICAgfSxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaGFuZGxlRm9ybVN1Ym1pdChzdWJtaXR0ZWQ6IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pc1N1Ym1pdHRpbmcoKSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmN1cnJlbnRBdHRhY2htZW50cy5zb21lKGEgPT4gYS5zdGF0dXMgPT09ICd1cGxvYWRpbmcnKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XG4gICAgdGhpcy5mb3JtUHJvcHMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuV09SS0lORztcbiAgICB0aGlzLmZvcm1Qcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLldPUktJTkc7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdHlwZSA9IChzdWJtaXR0ZWQuZmllbGRzWyd0eXBlJ10gYXMgRmVlZGJhY2tUeXBlKSA/PyB0aGlzLnByb3BzLmRlZmF1bHRUeXBlID8/ICdmZWVkYmFjayc7XG4gICAgICBjb25zdCB0aXRsZSA9IHN1Ym1pdHRlZC5maWVsZHNbJ3RpdGxlJ10gYXMgc3RyaW5nO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzdWJtaXR0ZWQuZmllbGRzWydkZXNjcmlwdGlvbiddIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRVcmxzID0gdGhpcy5jdXJyZW50QXR0YWNobWVudHMuZmlsdGVyKGEgPT4gYS5zdGF0dXMgPT09ICdyZWFkeScpLm1hcChhID0+IGEudXJsISk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQXN5bmMoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgYXR0YWNobWVudFVybHMsXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudFJlZlxuICAgICAgKTtcblxuICAgICAgdGhpcy5pc1N1Y2Nlc3Muc2V0KHRydWUpO1xuXG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQoeyByZXNwb25zZSwgdHlwZSwgdGl0bGUsIGF0dGFjaG1lbnRVcmxzIH0pO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICB0aGlzLmVycm9yLnNldChlcnIuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyLm1lc3NhZ2UgfHwgdGhpcy5pMThuLnQoJ2ZlZWRiYWNrRXJyb3InKSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNTdWJtaXR0aW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLmZvcm1Qcm9wcy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgICAgdGhpcy5mb3JtUHJvcHMuYWN0aW9ucy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgIH1cbiAgfVxuXG4gIG9uQXR0YWNobWVudHNDaGFuZ2UoaXRlbXM6IEF0dGFjaG1lbnRJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50cyA9IGl0ZW1zO1xuICB9XG5cbiAgb25DYW5jZWxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZlZWRiYWNrLWZvcm0vZmVlZGJhY2stZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQWdCLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQXdELFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7OztBQWlGaEgsTUFBTSxPQUFPLHFCQUFxQjtJQWtCaEM7UUFqQlMsVUFBSyxHQUF5QixFQUFFLENBQUM7UUFFaEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBDLFNB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Q0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBdUI7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0F0SlUscUJBQXFCO21HQUFyQixxQkFBcUIsa0tBekV0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCwwZkFoQ1MsWUFBWSw2SEFBRSxhQUFhLDhIQUFFLDJCQUEyQix1SEFBRSxTQUFTLG9QQUFFLE9BQU87OzRGQTBFM0UscUJBQXFCO2tCQTdFakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUO3dEQTJDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNoZWNrbWFya0NpcmNsZU91dGxpbmUsIGNsb3NlQ2lyY2xlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgRmVlZGJhY2tTZXJ2aWNlLCBGZWVkYmFja1R5cGUsIERFRkFVTFRfRkVFREJBQ0tfVFlQRV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmVlZGJhY2snO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcywgRm9ybU1ldGFkYXRhLCBGb3JtU3VibWl0LCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnRVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9hdHRhY2htZW50LXVwbG9hZGVyL2F0dGFjaG1lbnQtdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEF0dGFjaG1lbnRJdGVtIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvdHlwZXMnO1xuaW1wb3J0IHsgRmVlZGJhY2tGb3JtTWV0YWRhdGEsIEZlZWRiYWNrU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZlZWRiYWNrLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3JtQ29tcG9uZW50LCBBdHRhY2htZW50VXBsb2FkZXJDb21wb25lbnQsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLWZvcm0td3JhcHBlclwiIFtjbGFzcy5jb21wYWN0XT1cInByb3BzLmNvbXBhY3RcIiBbbmdDbGFzc109XCJwcm9wcy5jc3NDbGFzc1wiPlxuICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJmb3JtUHJvcHNcIiAob25TdWJtaXQpPVwiaGFuZGxlRm9ybVN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIEBpZiAocHJvcHMuc2hvd0F0dGFjaG1lbnRzICE9PSBmYWxzZSkge1xuICAgICAgICAgIDx2YWwtYXR0YWNobWVudC11cGxvYWRlclxuICAgICAgICAgICAgW3Byb3BzXT1cInsgbWF4RmlsZXM6IDUgfVwiXG4gICAgICAgICAgICAoYXR0YWNobWVudHNDaGFuZ2UpPVwib25BdHRhY2htZW50c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICA+PC92YWwtYXR0YWNobWVudC11cGxvYWRlcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZXJyb3IoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1hbGVydCBlcnJvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1jaXJjbGUtb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyBlcnJvcigpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChpc1N1Y2Nlc3MoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay1hbGVydCBzdWNjZXNzXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1jaXJjbGUtb3V0bGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8c3Bhbj57eyBwcm9wcy5zdWNjZXNzTWVzc2FnZSB8fCBpMThuLnQoJ2ZlZWRiYWNrU3VjY2VzcycpIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L3ZhbC1mb3JtPlxuXG4gICAgICBAaWYgKHByb3BzLmNhbmNlbEJ1dHRvblRleHQpIHtcbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cIm1lZGl1bVwiIGV4cGFuZD1cImJsb2NrXCIgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiPlxuICAgICAgICAgIHt7IHByb3BzLmNhbmNlbEJ1dHRvblRleHQgfX1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZmVlZGJhY2stZm9ybS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgICAgJi5jb21wYWN0IHtcbiAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmVlZGJhY2stYWxlcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgICAmLmVycm9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXRpbnQpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyLXNoYWRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3VjY2VzcyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3MtdGludCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1zdWNjZXNzLXNoYWRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlvbi1pY29uIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhbmNlbC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmVlZGJhY2tGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IEZlZWRiYWNrRm9ybU1ldGFkYXRhID0ge307XG5cbiAgQE91dHB1dCgpIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxGZWVkYmFja1N1Ym1pdEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuXG4gIGZvcm1Qcm9wcyE6IEZvcm1NZXRhZGF0YTtcbiAgdHlwZU9wdGlvbnMgPSBERUZBVUxUX0ZFRURCQUNLX1RZUEVfT1BUSU9OUztcblxuICBpc1N1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBpc1N1Y2Nlc3MgPSBzaWduYWwoZmFsc2UpO1xuICBlcnJvciA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIGN1cnJlbnRBdHRhY2htZW50czogQXR0YWNobWVudEl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSwgY2xvc2VDaXJjbGVPdXRsaW5lIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZW5hYmxlZFR5cGVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudHlwZU9wdGlvbnMgPSB0aGlzLnR5cGVPcHRpb25zLmZpbHRlcihvcHQgPT4gdGhpcy5wcm9wcy5lbmFibGVkVHlwZXMhLmluY2x1ZGVzKG9wdC52YWx1ZSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy50eXBlT3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnR5cGVPcHRpb25zID0gdGhpcy5wcm9wcy50eXBlT3B0aW9ucztcbiAgICB9XG4gICAgdGhpcy5mb3JtUHJvcHMgPSB0aGlzLmJ1aWxkRm9ybVByb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybVByb3BzKCk6IEZvcm1NZXRhZGF0YSB7XG4gICAgY29uc3QgZmllbGRzOiBJbnB1dE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGlmICh0aGlzLnByb3BzLnNob3dUeXBlU2VsZWN0b3IgIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBvcHRpb25zOiBJbnB1dE9wdGlvbltdID0gdGhpcy50eXBlT3B0aW9ucy5tYXAoKG9wdCwgaSkgPT4gKHtcbiAgICAgICAgaWQ6IG9wdC52YWx1ZSxcbiAgICAgICAgbmFtZTogb3B0LmxhYmVsLFxuICAgICAgICBvcmRlcjogaSxcbiAgICAgICAgc2VsZWN0ZWQ6IG9wdC52YWx1ZSA9PT0gKHRoaXMucHJvcHMuZGVmYXVsdFR5cGUgPz8gJ2ZlZWRiYWNrJyksXG4gICAgICB9KSk7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stdHlwZScsXG4gICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgbGFiZWw6IHRoaXMuaTE4bi50KCdmZWVkYmFja1R5cGUnKSxcbiAgICAgICAgaGludDogJycsXG4gICAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgICAgdHlwZTogSW5wdXRUeXBlLlNFTEVDVCxcbiAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMuZGVmYXVsdFR5cGUgPz8gJ2ZlZWRiYWNrJyxcbiAgICAgICAgZXJyb3JzOiB7fSxcbiAgICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmllbGRzLnB1c2goXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stdGl0bGUnLFxuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy50aXRsZUxhYmVsID8/IHRoaXMuaTE4bi50KCd0aXRsZScpLFxuICAgICAgICBoaW50OiAnJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucHJvcHMudGl0bGVQbGFjZWhvbGRlciA/PyB0aGlzLmkxOG4udCgndGl0bGVQbGFjZWhvbGRlcicpLFxuICAgICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVCxcbiAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjAwKV0sXG4gICAgICAgIGVycm9yczoge1xuICAgICAgICAgIHJlcXVpcmVkOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgICAgbWlubGVuZ3RoOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgICAgbWF4bGVuZ3RoOiB0aGlzLmkxOG4udCgndGl0bGVWYWxpZGF0aW9uJyksXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRva2VuOiAnZmVlZGJhY2stZGVzY3JpcHRpb24nLFxuICAgICAgICBuYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICBsYWJlbDogdGhpcy5wcm9wcy5kZXNjcmlwdGlvbkxhYmVsID8/IHRoaXMuaTE4bi50KCdkZXNjcmlwdGlvbicpLFxuICAgICAgICBoaW50OiAnJyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucHJvcHMuZGVzY3JpcHRpb25QbGFjZWhvbGRlciA/PyB0aGlzLmkxOG4udCgnZGVzY3JpcHRpb25QbGFjZWhvbGRlcicpLFxuICAgICAgICB0eXBlOiBJbnB1dFR5cGUuVEVYVEFSRUEsXG4gICAgICAgIG9yZGVyOiAzLFxuICAgICAgICByYW5nZTogeyBtaW46IDEwLCBtYXg6IDUwMDAgfSxcbiAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTAwMCldLFxuICAgICAgICBlcnJvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICAgIG1pbmxlbmd0aDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICAgIG1heGxlbmd0aDogdGhpcy5pMThuLnQoJ2Rlc2NyaXB0aW9uVmFsaWRhdGlvbicpLFxuICAgICAgICB9LFxuICAgICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnJyxcbiAgICAgIHNlY3Rpb25zOiBbeyBuYW1lOiAnJywgb3JkZXI6IDAsIGZpZWxkcyB9XSxcbiAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgdHlwZTogJ3N1Ym1pdCcsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMucHJvcHMuc3VibWl0QnV0dG9uVGV4dCA/PyB0aGlzLmkxOG4udCgnc3VibWl0JyksXG4gICAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgICAgZXhwYW5kOiAnYmxvY2snLFxuICAgICAgfSxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaGFuZGxlRm9ybVN1Ym1pdChzdWJtaXR0ZWQ6IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pc1N1Ym1pdHRpbmcoKSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmN1cnJlbnRBdHRhY2htZW50cy5zb21lKGEgPT4gYS5zdGF0dXMgPT09ICd1cGxvYWRpbmcnKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1N1Ym1pdHRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuZXJyb3Iuc2V0KG51bGwpO1xuICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XG4gICAgdGhpcy5mb3JtUHJvcHMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuV09SS0lORztcbiAgICB0aGlzLmZvcm1Qcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLldPUktJTkc7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdHlwZSA9IChzdWJtaXR0ZWQuZmllbGRzWyd0eXBlJ10gYXMgRmVlZGJhY2tUeXBlKSA/PyB0aGlzLnByb3BzLmRlZmF1bHRUeXBlID8/ICdmZWVkYmFjayc7XG4gICAgICBjb25zdCB0aXRsZSA9IHN1Ym1pdHRlZC5maWVsZHNbJ3RpdGxlJ10gYXMgc3RyaW5nO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzdWJtaXR0ZWQuZmllbGRzWydkZXNjcmlwdGlvbiddIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRVcmxzID0gdGhpcy5jdXJyZW50QXR0YWNobWVudHMuZmlsdGVyKGEgPT4gYS5zdGF0dXMgPT09ICdyZWFkeScpLm1hcChhID0+IGEudXJsISk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQXN5bmMoXG4gICAgICAgIHR5cGUsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgYXR0YWNobWVudFVybHMsXG4gICAgICAgIHRoaXMucHJvcHMuY29udGVudFJlZlxuICAgICAgKTtcblxuICAgICAgdGhpcy5pc1N1Y2Nlc3Muc2V0KHRydWUpO1xuXG4gICAgICB0aGlzLm9uU3VibWl0LmVtaXQoeyByZXNwb25zZSwgdHlwZSwgdGl0bGUsIGF0dGFjaG1lbnRVcmxzIH0pO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICB0aGlzLmVycm9yLnNldChlcnIuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyLm1lc3NhZ2UgfHwgdGhpcy5pMThuLnQoJ2ZlZWRiYWNrRXJyb3InKSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNTdWJtaXR0aW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLmZvcm1Qcm9wcy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgICAgdGhpcy5mb3JtUHJvcHMuYWN0aW9ucy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgIH1cbiAgfVxuXG4gIG9uQXR0YWNobWVudHNDaGFuZ2UoaXRlbXM6IEF0dGFjaG1lbnRJdGVtW10pOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRBdHRhY2htZW50cyA9IGl0ZW1zO1xuICB9XG5cbiAgb25DYW5jZWxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -50,7 +50,10 @@ export class FileInputComponent {
|
|
|
50
50
|
<div class="file-container">
|
|
51
51
|
<input style="display: none" type="file" (change)="onFileSelected($event)" #fileInput [accept]="props.accept" />
|
|
52
52
|
<div class="name-container">
|
|
53
|
-
<ion-icon
|
|
53
|
+
<ion-icon
|
|
54
|
+
[name]="selectedFile ? 'checkmark-circle-outline' : 'alert-circle-outline'"
|
|
55
|
+
aria-hidden="true"
|
|
56
|
+
></ion-icon>
|
|
54
57
|
<val-text
|
|
55
58
|
style="margin-left: 4px;"
|
|
56
59
|
[props]="{
|
|
@@ -71,7 +74,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
71
74
|
<div class="file-container">
|
|
72
75
|
<input style="display: none" type="file" (change)="onFileSelected($event)" #fileInput [accept]="props.accept" />
|
|
73
76
|
<div class="name-container">
|
|
74
|
-
<ion-icon
|
|
77
|
+
<ion-icon
|
|
78
|
+
[name]="selectedFile ? 'checkmark-circle-outline' : 'alert-circle-outline'"
|
|
79
|
+
aria-hidden="true"
|
|
80
|
+
></ion-icon>
|
|
75
81
|
<val-text
|
|
76
82
|
style="margin-left: 4px;"
|
|
77
83
|
[props]="{
|
|
@@ -91,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
91
97
|
type: ViewChild,
|
|
92
98
|
args: ['fileInput']
|
|
93
99
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQStCaEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQWdCN0I7UUFMUSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBS3BCLENBQUM7SUFFaEIsUUFBUTtRQUNOLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLEdBQUcsTUFBTSxDQUFDO2dCQUNSLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ3pELElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRSxPQUFPO2FBQ2YsQ0FBQztZQUNGLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUMxQyxDQUFDOytHQTlDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw4TUFqQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCxxMEdBckJTLE9BQU8sMkpBQUUsYUFBYSx3RUFBRSxlQUFlOzs0RkFrQ3RDLGtCQUFrQjtrQkFyQzlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsWUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUO3dEQW9CUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWtCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBidXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZpbGVJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1maWxlLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkljb24sIFRleHRDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtY29udGFpbmVyXCI+XG4gICAgICA8aW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwicHJvcHMuYWNjZXB0XCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWNvbnRhaW5lclwiPlxuICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICBbbmFtZV09XCJzZWxlY3RlZEZpbGUgPyAnY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lJyA6ICdhbGVydC1jaXJjbGUtb3V0bGluZSdcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID48L2lvbi1pY29uPlxuICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA0cHg7XCJcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgY29udGVudDogZ2V0RmlsZURpc3BsYXlUZXh0KCksXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvdmFsLXRleHQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJjb250cmFzdEJ1dHRvblwiIChvbkNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+PC92YWwtYnV0dG9uPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZmlsZS1pbnB1dFxuICpcbiAqIEEgZmlsZSBpbnB1dCBjb21wb25lbnQgZm9yIHVwbG9hZGluZyBmaWxlcywgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtZmlsZS1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBteUNvbnRyb2wsIGFjY2VwdDogJ2ltYWdlLyonIH1cIj48L3ZhbC1maWxlLWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogRmlsZUlucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgZmlsZSBpbnB1dCAoZm9ybSBjb250cm9sLCBhY2NlcHQgdHlwZXMsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtGaWxlSW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIGZpbGUgaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBhY2NlcHQgLSBBY2NlcHRlZCBmaWxlIHR5cGVzIChlLmcuLCAnaW1hZ2UvKicsICcucGRmJykuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogRmlsZUlucHV0TWV0YWRhdGE7XG5cbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0O1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgY29udHJhc3RCdXR0b246IEJ1dHRvbk1ldGFkYXRhO1xuICBzZWxlY3RlZEZpbGU6IEZpbGU7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEluaXRpYWxpemUgYnV0dG9uIHdpdGggaTE4biB0ZXh0XG4gICAgdGhpcy5jb250cmFzdEJ1dHRvbiA9IHtcbiAgICAgIC4uLmJ1dHRvbih7XG4gICAgICAgIHRleHQ6IHRoaXMucHJvcHM/LmJ1dHRvblRleHQgfHwgdGhpcy5pMThuLnQoJ3VwbG9hZEZpbGUnKSxcbiAgICAgICAgZmlsbDogJ3NvbGlkJyxcbiAgICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICB9KSxcbiAgICAgIGNvbG9yOiAnbGlnaHQnLFxuICAgIH07XG4gIH1cblxuICAvKiogR2V0IGRpc3BsYXkgdGV4dCBmb3IgZmlsZSBzdGF0dXMgKi9cbiAgZ2V0RmlsZURpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGaWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbGUubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHM/Lm5vRmlsZVRleHQgfHwgdGhpcy5pMThuLnQoJ25vRmlsZVNlbGVjdGVkJyk7XG4gIH1cblxuICBvbkZpbGVTZWxlY3RlZChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIHRoaXMucHJvcHMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IG51bGw7XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICB9XG59XG4iXX0=
|