valtech-components 4.0.5 → 4.0.7
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/box/box.component.mjs +3 -3
- package/esm2022/lib/components/atoms/button/button.component.mjs +15 -5
- package/esm2022/lib/components/atoms/fab/fab.component.mjs +12 -18
- package/esm2022/lib/components/atoms/fab/types.mjs +1 -1
- 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 +9 -9
- package/esm2022/lib/components/molecules/article-card/article-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 +31 -58
- 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/expandable-text/expandable-text.component.mjs +16 -4
- 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/footer-links/footer-links.component.mjs +25 -5
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +17 -5
- 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/number-stepper/number-stepper.component.mjs +9 -13
- 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/plain-code-box/plain-code-box.component.mjs +17 -5
- 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/auth-cta/auth-cta.component.mjs +3 -3
- package/esm2022/lib/components/organisms/avatar-upload/avatar-upload.component.mjs +3 -3
- package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +5 -5
- 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 +22 -14
- package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +31 -13
- package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +73 -17
- 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 +603 -346
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/fab/types.d.ts +4 -0
- 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
|
@@ -19,7 +19,12 @@ export class ContentLoaderComponent {
|
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
20
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ContentLoaderComponent, isStandalone: true, selector: "val-content-loader", inputs: { props: "props" }, ngImport: i0, template: `
|
|
21
21
|
<div [ngClass]="['spinner-wrapper', props.size]">
|
|
22
|
-
<ion-spinner
|
|
22
|
+
<ion-spinner
|
|
23
|
+
[ngClass]="[props.size]"
|
|
24
|
+
[name]="props.name"
|
|
25
|
+
[color]="props.color"
|
|
26
|
+
[attr.aria-label]="props.text || 'Cargando'"
|
|
27
|
+
></ion-spinner>
|
|
23
28
|
<ion-text [color]="props.color">
|
|
24
29
|
<p>{{ props.text }}</p>
|
|
25
30
|
</ion-text>
|
|
@@ -30,7 +35,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
30
35
|
type: Component,
|
|
31
36
|
args: [{ selector: 'val-content-loader', standalone: true, imports: [CommonModule, IonSpinner, IonText], template: `
|
|
32
37
|
<div [ngClass]="['spinner-wrapper', props.size]">
|
|
33
|
-
<ion-spinner
|
|
38
|
+
<ion-spinner
|
|
39
|
+
[ngClass]="[props.size]"
|
|
40
|
+
[name]="props.name"
|
|
41
|
+
[color]="props.color"
|
|
42
|
+
[attr.aria-label]="props.text || 'Cargando'"
|
|
43
|
+
></ion-spinner>
|
|
34
44
|
<ion-text [color]="props.color">
|
|
35
45
|
<p>{{ props.text }}</p>
|
|
36
46
|
</ion-text>
|
|
@@ -39,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
39
49
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
40
50
|
type: Input
|
|
41
51
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1sb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci9jb250ZW50LWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQXNCaEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOytHQWRGLHNCQUFzQjttR0FBdEIsc0JBQXNCLDBHQXpCdkI7Ozs7Ozs7Ozs7OztHQVlULDgzR0FiUyxZQUFZLDZIQUFFLFVBQVUseUdBQUUsT0FBTzs7NEZBMEJoQyxzQkFBc0I7a0JBN0JsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUNsQzs7Ozs7Ozs7Ozs7O0dBWVQ7d0RBdUJELEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IENvbnRlbnRMb2FkZXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29udGVudC1sb2FkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25TcGlubmVyLCBJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIlsnc3Bpbm5lci13cmFwcGVyJywgcHJvcHMuc2l6ZV1cIj5cbiAgICAgIDxpb24tc3Bpbm5lclxuICAgICAgICBbbmdDbGFzc109XCJbcHJvcHMuc2l6ZV1cIlxuICAgICAgICBbbmFtZV09XCJwcm9wcy5uYW1lXCJcbiAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcm9wcy50ZXh0IHx8ICdDYXJnYW5kbydcIlxuICAgICAgPjwvaW9uLXNwaW5uZXI+XG4gICAgICA8aW9uLXRleHQgW2NvbG9yXT1cInByb3BzLmNvbG9yXCI+XG4gICAgICAgIDxwPnt7IHByb3BzLnRleHQgfX08L3A+XG4gICAgICA8L2lvbi10ZXh0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWNvbnRlbnQtbG9hZGVyXG4gKlxuICogQSBsb2FkaW5nIHNwaW5uZXIgd2l0aCBvcHRpb25hbCB0ZXh0LCBmb3IgaW5kaWNhdGluZyBsb2FkaW5nIHN0YXRlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1jb250ZW50LWxvYWRlciBbcHJvcHNdPVwieyBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJ3ByaW1hcnknLCB0ZXh0OiAnTG9hZGluZy4uLicgfVwiPjwvdmFsLWNvbnRlbnQtbG9hZGVyPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQ29udGVudExvYWRlck1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGxvYWRlciAoc2l6ZSwgY29sb3IsIHRleHQsIGV0Yy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBDb250ZW50TG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIExvYWRlciBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0NvbnRlbnRMb2FkZXJNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IHNpemUgLSBUaGUgc3Bpbm5lciBzaXplLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgc3Bpbm5lciBjb2xvci5cbiAgICogQHByb3BlcnR5IHRleHQgLSBUaGUgbG9hZGluZyB0ZXh0IChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBuYW1lIC0gVGhlIHNwaW5uZXIgbmFtZSAob3B0aW9uYWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IENvbnRlbnRMb2FkZXJNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, inject, signal, } from '@angular/core';
|
|
3
|
-
import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonModal, IonSpinner, IonToolbar } from '@ionic/angular/standalone';
|
|
3
|
+
import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonModal, IonSpinner, IonToolbar, } from '@ionic/angular/standalone';
|
|
4
4
|
import { addIcons } from 'ionicons';
|
|
5
5
|
import { calendarOutline, closeOutline } from 'ionicons/icons';
|
|
6
6
|
import { Calendar } from 'vanilla-calendar-pro';
|
|
@@ -100,7 +100,7 @@ export class DatePickerComponent {
|
|
|
100
100
|
selectedDates: value ? [value] : [],
|
|
101
101
|
displayDateMin: (this.props.min ?? undefined),
|
|
102
102
|
displayDateMax: (this.props.max ?? undefined),
|
|
103
|
-
onClickDate:
|
|
103
|
+
onClickDate: self => {
|
|
104
104
|
const picked = self.context.selectedDates[0] ?? null;
|
|
105
105
|
if (picked)
|
|
106
106
|
this.apply(picked);
|
|
@@ -165,7 +165,7 @@ export class DatePickerComponent {
|
|
|
165
165
|
[class.is-placeholder]="!displayValue"
|
|
166
166
|
(click)="sheetOpen.set(true)"
|
|
167
167
|
>
|
|
168
|
-
<ion-icon name="calendar-outline" slot="start" />
|
|
168
|
+
<ion-icon name="calendar-outline" slot="start" aria-hidden="true" />
|
|
169
169
|
{{ displayValue || placeholderText }}
|
|
170
170
|
</ion-button>
|
|
171
171
|
</div>
|
|
@@ -204,11 +204,7 @@ export class DatePickerComponent {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
<!-- Calendario: siempre en el DOM para que #cal exista; fade-in al estar listo -->
|
|
207
|
-
<div
|
|
208
|
-
#cal
|
|
209
|
-
class="vdp-sheet__cal"
|
|
210
|
-
[class.is-ready]="calReady()"
|
|
211
|
-
></div>
|
|
207
|
+
<div #cal class="vdp-sheet__cal" [class.is-ready]="calReady()"></div>
|
|
212
208
|
|
|
213
209
|
@if (props.clearable && displayValue) {
|
|
214
210
|
<ion-button expand="block" fill="clear" color="medium" (click)="clear()">
|
|
@@ -250,7 +246,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
250
246
|
[class.is-placeholder]="!displayValue"
|
|
251
247
|
(click)="sheetOpen.set(true)"
|
|
252
248
|
>
|
|
253
|
-
<ion-icon name="calendar-outline" slot="start" />
|
|
249
|
+
<ion-icon name="calendar-outline" slot="start" aria-hidden="true" />
|
|
254
250
|
{{ displayValue || placeholderText }}
|
|
255
251
|
</ion-button>
|
|
256
252
|
</div>
|
|
@@ -289,11 +285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
289
285
|
}
|
|
290
286
|
|
|
291
287
|
<!-- Calendario: siempre en el DOM para que #cal exista; fade-in al estar listo -->
|
|
292
|
-
<div
|
|
293
|
-
#cal
|
|
294
|
-
class="vdp-sheet__cal"
|
|
295
|
-
[class.is-ready]="calReady()"
|
|
296
|
-
></div>
|
|
288
|
+
<div #cal class="vdp-sheet__cal" [class.is-ready]="calReady()"></div>
|
|
297
289
|
|
|
298
290
|
@if (props.clearable && displayValue) {
|
|
299
291
|
<ion-button expand="block" fill="clear" color="medium" (click)="clear()">
|
|
@@ -323,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
323
315
|
type: ViewChild,
|
|
324
316
|
args: ['cal']
|
|
325
317
|
}] } });
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEksT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXRELFFBQVEsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRTVDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7O0dBWUc7QUEwRkgsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QjtRQUZRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFRMUIsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJ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QUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsWUFDdEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlGVDt3REFZUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFbUIsTUFBTTtzQkFBL0IsU0FBUzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvbkljb24sIElvbk1vZGFsLCBJb25TcGlubmVyLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGNhbGVuZGFyT3V0bGluZSwgY2xvc2VPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICd2YW5pbGxhLWNhbGVuZGFyLXBybyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBEYXRlUGlja2VyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IERBVEVfUElDS0VSX0kxOE4gfSBmcm9tICcuL2RhdGUtcGlja2VyLmkxOG4nO1xuXG5hZGRJY29ucyh7IGNhbGVuZGFyT3V0bGluZSwgY2xvc2VPdXRsaW5lIH0pO1xuXG5jb25zdCBJMThOX05TID0gJ0RhdGVQaWNrZXInO1xuXG4vKipcbiAqIGB2YWwtZGF0ZS1waWNrZXJgIOKAlCBzZWxlY3RvciBkZSBmZWNoYSBjb24gY2FsZW5kYXJpbyB2YW5pbGxhLWNhbGVuZGFyLXBybyB2M1xuICogKE5PIGlvbi1kYXRldGltZSkuIFNlIHByZXNlbnRhIGNvbW8gKipzaGVldCBtb2RhbCoqIChib3R0b20gc2hlZXQpLCBpZ3VhbCBxdWVcbiAqIGVsIHJlc3RvIGRlIGxvcyBtb2RhbGVzIGRlIGxhIGFwcCwgY29uIGVzcGFjaW8gcHJvcGlvIHkgc2luIHByb2JsZW1hcyBkZVxuICogcG9zaWNpb25hbWllbnRvIG8gYm90dG9tLW5hdi5cbiAqXG4gKiBUcmlnZ2VyIChib3TDs24gY29uIGxhIGZlY2hhIG8gcGxhY2Vob2xkZXIpIOKGkiBzaGVldCBjb24gaGVhZGVyIENlcnJhciArIGNhbGVuZGFyaW9cbiAqIOKGkiBjbGljayBlbiB1biBkw61hIGxvIGFwbGljYSB5IGNpZXJyYSBlbCBzaGVldC4gVmFsb3IgYFlZWVktTU0tRERgIChmZWNoYSBsb2NhbCxcbiAqIHNpbiB6b25hIGhvcmFyaWEpLiBJbnRlZ3JhIGNvbiBgRm9ybUNvbnRyb2xgIG8gYHZhbHVlYC9gKHZhbHVlQ2hhbmdlKWAuXG4gKlxuICogYFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVgOiBlbCBjYWxlbmRhcmlvIGVzIGluc3RhbmNpYWRvIHBvciBKUyBmdWVyYSBkZWwgc2hhZG93O1xuICogbG9zIGVzdGlsb3MgZGUgbWFyY2EgZGViZW4gc2VyIGdsb2JhbGVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uSWNvbiwgSW9uTW9kYWwsIElvblNwaW5uZXIsIElvblRvb2xiYXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ2ZHBcIj5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidmRwX19sYWJlbFwiIFthdHRyLmZvcl09XCJ0cmlnZ2VySWRcIj57eyBwcm9wcy5sYWJlbCB9fTwvbGFiZWw+XG4gICAgICB9XG4gICAgICBAaWYgKHByb3BzLmhpbnQpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJ2ZHBfX2hpbnRcIj57eyBwcm9wcy5oaW50IH19PC9wPlxuICAgICAgfVxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgW2lkXT1cInRyaWdnZXJJZFwiXG4gICAgICAgIGNsYXNzPVwidmRwX190cmlnZ2VyXCJcbiAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICBjb2xvcj1cIm1lZGl1bVwiXG4gICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgW2NsYXNzLmlzLXBsYWNlaG9sZGVyXT1cIiFkaXNwbGF5VmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwic2hlZXRPcGVuLnNldCh0cnVlKVwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXItb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiIC8+XG4gICAgICAgIHt7IGRpc3BsYXlWYWx1ZSB8fCBwbGFjZWhvbGRlclRleHQgfX1cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpb24tbW9kYWxcbiAgICAgIFtpc09wZW5dPVwic2hlZXRPcGVuKClcIlxuICAgICAgW2JyZWFrcG9pbnRzXT1cIlswLCAxXVwiXG4gICAgICBbaW5pdGlhbEJyZWFrcG9pbnRdPVwiMVwiXG4gICAgICBbaGFuZGxlXT1cInRydWVcIlxuICAgICAgKGRpZFByZXNlbnQpPVwib25TaGVldFByZXNlbnQoKVwiXG4gICAgICAoZGlkRGlzbWlzcyk9XCJvblNoZWV0RGlzbWlzcygpXCJcbiAgICAgIGNsYXNzPVwidmRwLXNoZWV0XCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24taGVhZGVyPlxuICAgICAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJzaGVldE9wZW4uc2V0KGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgdCgnY2xvc2UnKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgICAgIDwvaW9uLWhlYWRlcj5cblxuICAgICAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZHAtc2hlZXRfX3RpdGxlXCI+e3sgcHJvcHMubGFiZWwgfHwgdCgnc2VsZWN0JykgfX08L2Rpdj5cbiAgICAgICAgICBAaWYgKGRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZkcC1zaGVldF9fdmFsdWVcIj57eyBkaXNwbGF5VmFsdWUgfX08L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8IS0tIExvYWRlciBtaWVudHJhcyBlbCBjYWxlbmRhcmlvIG5vIGVzdMOhIGxpc3RvIC0tPlxuICAgICAgICAgIEBpZiAoIWNhbFJlYWR5KCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZHAtc2hlZXRfX2xvYWRlclwiPlxuICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCIgY29sb3I9XCJwcmltYXJ5XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDwhLS0gQ2FsZW5kYXJpbzogc2llbXByZSBlbiBlbCBET00gcGFyYSBxdWUgI2NhbCBleGlzdGE7IGZhZGUtaW4gYWwgZXN0YXIgbGlzdG8gLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgI2NhbFxuICAgICAgICAgICAgY2xhc3M9XCJ2ZHAtc2hlZXRfX2NhbFwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtcmVhZHldPVwiY2FsUmVhZHkoKVwiXG4gICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgQGlmIChwcm9wcy5jbGVhcmFibGUgJiYgZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBleHBhbmQ9XCJibG9ja1wiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cImNsZWFyKClcIj5cbiAgICAgICAgICAgICAge3sgdCgnY2xlYXInKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIDwhLS0gQ2VycmFyIG91dGxpbmUgYWwgcGllLCBpZ3VhbCBxdWUgb3Ryb3MgbW9kYWxlcyBkZSBsYSBsaWIgLS0+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgICBjbGFzcz1cInZkcC1zaGVldF9fY2xvc2UtYnRuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzaGVldE9wZW4uc2V0KGZhbHNlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdCgnY2xvc2UnKSB9fVxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tY29udGVudD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pb24tbW9kYWw+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKEkxOE5fTlMpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KEkxOE5fTlMsIERBVEVfUElDS0VSX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHByb3BzOiBEYXRlUGlja2VyTWV0YWRhdGEgPSB7fTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbCcpIHByaXZhdGUgY2FsUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcmVhZG9ubHkgc2hlZXRPcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgLyoqIHRydWUgY3VhbmRvIGVsIGNhbGVuZGFyaW8geWEgc2UgY29uc3RydXnDsyB5IGVzIHZpc2libGUgKGZhZGUtaW4pLiAqL1xuICByZWFkb25seSBjYWxSZWFkeSA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgY2FsZW5kYXI/OiBDYWxlbmRhcjtcblxuICBnZXQgdHJpZ2dlcklkKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnRva2VuKSB7XG4gICAgICB0aGlzLnByb3BzLnRva2VuID0gYHZkcC0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDEwKX1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy50b2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGxvY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxvY2FsZSB8fCAnZXMtRVMnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3VycmVudCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sKSByZXR1cm4gdGhpcy5wcm9wcy5jb250cm9sLnZhbHVlID8/IG51bGw7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudmFsdWUgPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBwbGFjZWhvbGRlclRleHQoKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnBsYWNlaG9sZGVyIHx8IHRoaXMudCgnc2VsZWN0Jyk7XG4gIH1cblxuICBnZXQgZGlzcGxheVZhbHVlKCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICBjb25zdCB2ID0gdGhpcy5jdXJyZW50O1xuICAgIGNvbnN0IGQgPSB0aGlzLnBhcnNlTG9jYWwodik7XG4gICAgaWYgKCFkKSByZXR1cm4gJyc7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSwgeyBkYXRlU3R5bGU6ICdsb25nJyB9KS5mb3JtYXQoZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdiA/PyAnJztcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNoZWV0T3BlbigpICYmIHRoaXMuY2FsZW5kYXIpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXIuc2V0KHsgc2VsZWN0ZWREYXRlczogdGhpcy5jdXJyZW50ID8gW3RoaXMuY3VycmVudCBhcyBuZXZlcl0gOiBbXSB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lDYWxlbmRhcigpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgSTE4Tl9OUyk7XG4gIH1cblxuICBvblNoZWV0UHJlc2VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbFJlYWR5LnNldChmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmJ1aWxkQ2FsZW5kYXIoKSwgMCk7XG4gIH1cblxuICBvblNoZWV0RGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLnNoZWV0T3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY2FsUmVhZHkuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmRlc3Ryb3lDYWxlbmRhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENhbGVuZGFyKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsID0gdGhpcy5jYWxSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbCkgcmV0dXJuO1xuICAgIHRoaXMuZGVzdHJveUNhbGVuZGFyKCk7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmN1cnJlbnQ7XG4gICAgdGhpcy5jYWxlbmRhciA9IG5ldyBDYWxlbmRhcihlbCwge1xuICAgICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIHNlbGVjdGVkVGhlbWU6ICdsaWdodCcsXG4gICAgICBmaXJzdFdlZWtkYXk6IHRoaXMucHJvcHMuZmlyc3RXZWVrZGF5ID8/IDEsXG4gICAgICBzZWxlY3Rpb25EYXRlc01vZGU6ICdzaW5nbGUnLFxuICAgICAgc2VsZWN0ZWREYXRlczogdmFsdWUgPyBbdmFsdWUgYXMgbmV2ZXJdIDogW10sXG4gICAgICBkaXNwbGF5RGF0ZU1pbjogKHRoaXMucHJvcHMubWluID8/IHVuZGVmaW5lZCkgYXMgbmV2ZXIsXG4gICAgICBkaXNwbGF5RGF0ZU1heDogKHRoaXMucHJvcHMubWF4ID8/IHVuZGVmaW5lZCkgYXMgbmV2ZXIsXG4gICAgICBvbkNsaWNrRGF0ZTogKHNlbGYpID0+IHtcbiAgICAgICAgY29uc3QgcGlja2VkID0gc2VsZi5jb250ZXh0LnNlbGVjdGVkRGF0ZXNbMF0gPz8gbnVsbDtcbiAgICAgICAgaWYgKHBpY2tlZCkgdGhpcy5hcHBseShwaWNrZWQpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmNhbGVuZGFyLmluaXQoKTtcbiAgICAvLyBQZXF1ZcOxbyBkZWxheSBwYXJhIHF1ZSBlbCBET00gZGVsIGNhbGVuZGFyaW8gZXN0w6kgcGludGFkbyBhbnRlcyBkZWwgZmFkZS1pbi5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2FsUmVhZHkuc2V0KHRydWUpLCA1MCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lDYWxlbmRhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhcikge1xuICAgICAgdGhpcy5jYWxlbmRhci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNhbGVuZGFyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHkoZGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZShkYXRlKTtcbiAgICB0aGlzLnNoZWV0T3Blbi5zZXQoZmFsc2UpO1xuICAgIHRoaXMuZGVzdHJveUNhbGVuZGFyKCk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuc2hlZXRPcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy5kZXN0cm95Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWUoZGF0ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMucHJvcHMuY29udHJvbC5zZXRWYWx1ZShkYXRlKTtcbiAgICAgIHRoaXMucHJvcHMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5wcm9wcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9wcy52YWx1ZSA9IGRhdGU7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VMb2NhbCh2OiBzdHJpbmcgfCBudWxsKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICghdikgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgbSA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvLmV4ZWModik7XG4gICAgaWYgKCFtKSB7XG4gICAgICBjb25zdCBkID0gbmV3IERhdGUodik7XG4gICAgICByZXR1cm4gaXNOYU4oZC5nZXRUaW1lKCkpID8gbnVsbCA6IGQ7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRGF0ZShOdW1iZXIobVsxXSksIE51bWJlcihtWzJdKSAtIDEsIE51bWJlcihtWzNdKSk7XG4gIH1cbn1cbiJdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXRELFFBQVEsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRTVDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7O0dBWUc7QUFzRkgsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QjtRQUZRLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFRMUIsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUlqRCxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLHdFQUF3RTtRQUMvRCxhQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWmhDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBWUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLE9BQU87UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBdUI7UUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELENBQUMsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTztRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUMvQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsT0FBTztZQUN0QixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQztZQUMxQyxrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFVO1lBQ3RELGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBVTtZQUN0RCxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDckQsSUFBSSxNQUFNO29CQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsK0VBQStFO1FBQy9FLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sUUFBUSxDQUFDLElBQW1CO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxVQUFVLENBQUMsQ0FBZ0I7UUFDakMsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNwQixNQUFNLENBQUMsR0FBRywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7K0dBM0lVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG9RQWhGcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkVULG94bERBOUVTLFlBQVksK0JBQUUsU0FBUyxvUEFBRSxVQUFVLDhFQUFFLFVBQVUsd0tBQUUsU0FBUyxvR0FBRSxPQUFPLDJKQUFFLFFBQVEsc0RBQUUsVUFBVSx5R0FBRSxVQUFVOzs0RkFpRnBHLG1CQUFtQjtrQkFyRi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsWUFDdEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkVUO3dEQVlRLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVtQixNQUFNO3NCQUEvQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvbkJ1dHRvbnMsXG4gIElvbkNvbnRlbnQsXG4gIElvbkhlYWRlcixcbiAgSW9uSWNvbixcbiAgSW9uTW9kYWwsXG4gIElvblNwaW5uZXIsXG4gIElvblRvb2xiYXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjYWxlbmRhck91dGxpbmUsIGNsb3NlT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IENhbGVuZGFyIH0gZnJvbSAndmFuaWxsYS1jYWxlbmRhci1wcm8nO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgRGF0ZVBpY2tlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBEQVRFX1BJQ0tFUl9JMThOIH0gZnJvbSAnLi9kYXRlLXBpY2tlci5pMThuJztcblxuYWRkSWNvbnMoeyBjYWxlbmRhck91dGxpbmUsIGNsb3NlT3V0bGluZSB9KTtcblxuY29uc3QgSTE4Tl9OUyA9ICdEYXRlUGlja2VyJztcblxuLyoqXG4gKiBgdmFsLWRhdGUtcGlja2VyYCDigJQgc2VsZWN0b3IgZGUgZmVjaGEgY29uIGNhbGVuZGFyaW8gdmFuaWxsYS1jYWxlbmRhci1wcm8gdjNcbiAqIChOTyBpb24tZGF0ZXRpbWUpLiBTZSBwcmVzZW50YSBjb21vICoqc2hlZXQgbW9kYWwqKiAoYm90dG9tIHNoZWV0KSwgaWd1YWwgcXVlXG4gKiBlbCByZXN0byBkZSBsb3MgbW9kYWxlcyBkZSBsYSBhcHAsIGNvbiBlc3BhY2lvIHByb3BpbyB5IHNpbiBwcm9ibGVtYXMgZGVcbiAqIHBvc2ljaW9uYW1pZW50byBvIGJvdHRvbS1uYXYuXG4gKlxuICogVHJpZ2dlciAoYm90w7NuIGNvbiBsYSBmZWNoYSBvIHBsYWNlaG9sZGVyKSDihpIgc2hlZXQgY29uIGhlYWRlciBDZXJyYXIgKyBjYWxlbmRhcmlvXG4gKiDihpIgY2xpY2sgZW4gdW4gZMOtYSBsbyBhcGxpY2EgeSBjaWVycmEgZWwgc2hlZXQuIFZhbG9yIGBZWVlZLU1NLUREYCAoZmVjaGEgbG9jYWwsXG4gKiBzaW4gem9uYSBob3JhcmlhKS4gSW50ZWdyYSBjb24gYEZvcm1Db250cm9sYCBvIGB2YWx1ZWAvYCh2YWx1ZUNoYW5nZSlgLlxuICpcbiAqIGBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lYDogZWwgY2FsZW5kYXJpbyBlcyBpbnN0YW5jaWFkbyBwb3IgSlMgZnVlcmEgZGVsIHNoYWRvdztcbiAqIGxvcyBlc3RpbG9zIGRlIG1hcmNhIGRlYmVuIHNlciBnbG9iYWxlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWRhdGUtcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQnV0dG9uLCBJb25CdXR0b25zLCBJb25Db250ZW50LCBJb25IZWFkZXIsIElvbkljb24sIElvbk1vZGFsLCBJb25TcGlubmVyLCBJb25Ub29sYmFyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidmRwXCI+XG4gICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInZkcF9fbGFiZWxcIiBbYXR0ci5mb3JdPVwidHJpZ2dlcklkXCI+e3sgcHJvcHMubGFiZWwgfX08L2xhYmVsPlxuICAgICAgfVxuICAgICAgQGlmIChwcm9wcy5oaW50KSB7XG4gICAgICAgIDxwIGNsYXNzPVwidmRwX19oaW50XCI+e3sgcHJvcHMuaGludCB9fTwvcD5cbiAgICAgIH1cbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgIFtpZF09XCJ0cmlnZ2VySWRcIlxuICAgICAgICBjbGFzcz1cInZkcF9fdHJpZ2dlclwiXG4gICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgY29sb3I9XCJtZWRpdW1cIlxuICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgIFtjbGFzcy5pcy1wbGFjZWhvbGRlcl09XCIhZGlzcGxheVZhbHVlXCJcbiAgICAgICAgKGNsaWNrKT1cInNoZWV0T3Blbi5zZXQodHJ1ZSlcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhbGVuZGFyLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICB7eyBkaXNwbGF5VmFsdWUgfHwgcGxhY2Vob2xkZXJUZXh0IH19XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8aW9uLW1vZGFsXG4gICAgICBbaXNPcGVuXT1cInNoZWV0T3BlbigpXCJcbiAgICAgIFticmVha3BvaW50c109XCJbMCwgMV1cIlxuICAgICAgW2luaXRpYWxCcmVha3BvaW50XT1cIjFcIlxuICAgICAgW2hhbmRsZV09XCJ0cnVlXCJcbiAgICAgIChkaWRQcmVzZW50KT1cIm9uU2hlZXRQcmVzZW50KClcIlxuICAgICAgKGRpZERpc21pc3MpPVwib25TaGVldERpc21pc3MoKVwiXG4gICAgICBjbGFzcz1cInZkcC1zaGVldFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICA8aW9uLWhlYWRlcj5cbiAgICAgICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwic2hlZXRPcGVuLnNldChmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHQoJ2Nsb3NlJykgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgICA8L2lvbi10b29sYmFyPlxuICAgICAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICAgICAgPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmRwLXNoZWV0X190aXRsZVwiPnt7IHByb3BzLmxhYmVsIHx8IHQoJ3NlbGVjdCcpIH19PC9kaXY+XG4gICAgICAgICAgQGlmIChkaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZHAtc2hlZXRfX3ZhbHVlXCI+e3sgZGlzcGxheVZhbHVlIH19PC9kaXY+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPCEtLSBMb2FkZXIgbWllbnRyYXMgZWwgY2FsZW5kYXJpbyBubyBlc3TDoSBsaXN0byAtLT5cbiAgICAgICAgICBAaWYgKCFjYWxSZWFkeSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmRwLXNoZWV0X19sb2FkZXJcIj5cbiAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiIGNvbG9yPVwicHJpbWFyeVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8IS0tIENhbGVuZGFyaW86IHNpZW1wcmUgZW4gZWwgRE9NIHBhcmEgcXVlICNjYWwgZXhpc3RhOyBmYWRlLWluIGFsIGVzdGFyIGxpc3RvIC0tPlxuICAgICAgICAgIDxkaXYgI2NhbCBjbGFzcz1cInZkcC1zaGVldF9fY2FsXCIgW2NsYXNzLmlzLXJlYWR5XT1cImNhbFJlYWR5KClcIj48L2Rpdj5cblxuICAgICAgICAgIEBpZiAocHJvcHMuY2xlYXJhYmxlICYmIGRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgICAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cIm1lZGl1bVwiIChjbGljayk9XCJjbGVhcigpXCI+XG4gICAgICAgICAgICAgIHt7IHQoJ2NsZWFyJykgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8IS0tIENlcnJhciBvdXRsaW5lIGFsIHBpZSwgaWd1YWwgcXVlIG90cm9zIG1vZGFsZXMgZGUgbGEgbGliIC0tPlxuICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2ZHAtc2hlZXRfX2Nsb3NlLWJ0blwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2hlZXRPcGVuLnNldChmYWxzZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHQoJ2Nsb3NlJykgfX1cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvaW9uLW1vZGFsPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShJMThOX05TKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChJMThOX05TLCBEQVRFX1BJQ0tFUl9JMThOKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwcm9wczogRGF0ZVBpY2tlck1ldGFkYXRhID0ge307XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICBAVmlld0NoaWxkKCdjYWwnKSBwcml2YXRlIGNhbFJlZj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5IHNoZWV0T3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIC8qKiB0cnVlIGN1YW5kbyBlbCBjYWxlbmRhcmlvIHlhIHNlIGNvbnN0cnV5w7MgeSBlcyB2aXNpYmxlIChmYWRlLWluKS4gKi9cbiAgcmVhZG9ubHkgY2FsUmVhZHkgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGNhbGVuZGFyPzogQ2FsZW5kYXI7XG5cbiAgZ2V0IHRyaWdnZXJJZCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wcm9wcy50b2tlbikge1xuICAgICAgdGhpcy5wcm9wcy50b2tlbiA9IGB2ZHAtJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCAxMCl9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudG9rZW47XG4gIH1cblxuICBwcml2YXRlIGdldCBsb2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udHJvbCkgcmV0dXJuIHRoaXMucHJvcHMuY29udHJvbC52YWx1ZSA/PyBudWxsO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnZhbHVlID8/IG51bGw7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5wbGFjZWhvbGRlciB8fCB0aGlzLnQoJ3NlbGVjdCcpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgY29uc3QgdiA9IHRoaXMuY3VycmVudDtcbiAgICBjb25zdCBkID0gdGhpcy5wYXJzZUxvY2FsKHYpO1xuICAgIGlmICghZCkgcmV0dXJuICcnO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsIHsgZGF0ZVN0eWxlOiAnbG9uZycgfSkuZm9ybWF0KGQpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHYgPz8gJyc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaGVldE9wZW4oKSAmJiB0aGlzLmNhbGVuZGFyKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLnNldCh7IHNlbGVjdGVkRGF0ZXM6IHRoaXMuY3VycmVudCA/IFt0aGlzLmN1cnJlbnQgYXMgbmV2ZXJdIDogW10gfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIEkxOE5fTlMpO1xuICB9XG5cbiAgb25TaGVldFByZXNlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxSZWFkeS5zZXQoZmFsc2UpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5idWlsZENhbGVuZGFyKCksIDApO1xuICB9XG5cbiAgb25TaGVldERpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5zaGVldE9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLmNhbFJlYWR5LnNldChmYWxzZSk7XG4gICAgdGhpcy5kZXN0cm95Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDYWxlbmRhcigpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuY2FsUmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICB0aGlzLmRlc3Ryb3lDYWxlbmRhcigpO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jdXJyZW50O1xuICAgIHRoaXMuY2FsZW5kYXIgPSBuZXcgQ2FsZW5kYXIoZWwsIHtcbiAgICAgIHR5cGU6ICdkZWZhdWx0JyxcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICBzZWxlY3RlZFRoZW1lOiAnbGlnaHQnLFxuICAgICAgZmlyc3RXZWVrZGF5OiB0aGlzLnByb3BzLmZpcnN0V2Vla2RheSA/PyAxLFxuICAgICAgc2VsZWN0aW9uRGF0ZXNNb2RlOiAnc2luZ2xlJyxcbiAgICAgIHNlbGVjdGVkRGF0ZXM6IHZhbHVlID8gW3ZhbHVlIGFzIG5ldmVyXSA6IFtdLFxuICAgICAgZGlzcGxheURhdGVNaW46ICh0aGlzLnByb3BzLm1pbiA/PyB1bmRlZmluZWQpIGFzIG5ldmVyLFxuICAgICAgZGlzcGxheURhdGVNYXg6ICh0aGlzLnByb3BzLm1heCA/PyB1bmRlZmluZWQpIGFzIG5ldmVyLFxuICAgICAgb25DbGlja0RhdGU6IHNlbGYgPT4ge1xuICAgICAgICBjb25zdCBwaWNrZWQgPSBzZWxmLmNvbnRleHQuc2VsZWN0ZWREYXRlc1swXSA/PyBudWxsO1xuICAgICAgICBpZiAocGlja2VkKSB0aGlzLmFwcGx5KHBpY2tlZCk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuY2FsZW5kYXIuaW5pdCgpO1xuICAgIC8vIFBlcXVlw7FvIGRlbGF5IHBhcmEgcXVlIGVsIERPTSBkZWwgY2FsZW5kYXJpbyBlc3TDqSBwaW50YWRvIGFudGVzIGRlbCBmYWRlLWluLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jYWxSZWFkeS5zZXQodHJ1ZSksIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveUNhbGVuZGFyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuY2FsZW5kYXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseShkYXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKGRhdGUpO1xuICAgIHRoaXMuc2hlZXRPcGVuLnNldChmYWxzZSk7XG4gICAgdGhpcy5kZXN0cm95Q2FsZW5kYXIoKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5zaGVldE9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLmRlc3Ryb3lDYWxlbmRhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWYWx1ZShkYXRlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuY29udHJvbCkge1xuICAgICAgdGhpcy5wcm9wcy5jb250cm9sLnNldFZhbHVlKGRhdGUpO1xuICAgICAgdGhpcy5wcm9wcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLnByb3BzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb3BzLnZhbHVlID0gZGF0ZTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUxvY2FsKHY6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCF2KSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBtID0gL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KS8uZXhlYyh2KTtcbiAgICBpZiAoIW0pIHtcbiAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2KTtcbiAgICAgIHJldHVybiBpc05hTihkLmdldFRpbWUoKSkgPyBudWxsIDogZDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBEYXRlKE51bWJlcihtWzFdKSwgTnVtYmVyKG1bMl0pIC0gMSwgTnVtYmVyKG1bM10pKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, inject, Input, Output, EventEmitter } from '@angular/core';
|
|
3
3
|
import { ReactiveFormsModule, FormControl } from '@angular/forms';
|
|
4
|
-
import { IonDatetime, IonDatetimeButton, IonModal, IonNote, IonIcon
|
|
4
|
+
import { IonDatetime, IonDatetimeButton, IonModal, IonNote, IonIcon } from '@ionic/angular/standalone';
|
|
5
5
|
import { addIcons } from 'ionicons';
|
|
6
6
|
import { arrowForwardOutline, calendarOutline } from 'ionicons/icons';
|
|
7
7
|
import { I18nService } from '../../../services/i18n';
|
|
@@ -260,7 +260,7 @@ export class DateRangeInputComponent {
|
|
|
260
260
|
|
|
261
261
|
<!-- Separator -->
|
|
262
262
|
<div class="date-separator">
|
|
263
|
-
<ion-icon name="arrow-forward-outline"></ion-icon>
|
|
263
|
+
<ion-icon name="arrow-forward-outline" aria-hidden="true"></ion-icon>
|
|
264
264
|
</div>
|
|
265
265
|
|
|
266
266
|
<!-- End Date -->
|
|
@@ -294,9 +294,7 @@ export class DateRangeInputComponent {
|
|
|
294
294
|
</div>
|
|
295
295
|
|
|
296
296
|
@if (showDayCount && dayCount !== null) {
|
|
297
|
-
<div class="day-count">
|
|
298
|
-
{{ dayCount }} {{ getDayLabel() }}
|
|
299
|
-
</div>
|
|
297
|
+
<div class="day-count">{{ dayCount }} {{ getDayLabel() }}</div>
|
|
300
298
|
}
|
|
301
299
|
|
|
302
300
|
@if (props.hint && !hasError) {
|
|
@@ -358,7 +356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
358
356
|
|
|
359
357
|
<!-- Separator -->
|
|
360
358
|
<div class="date-separator">
|
|
361
|
-
<ion-icon name="arrow-forward-outline"></ion-icon>
|
|
359
|
+
<ion-icon name="arrow-forward-outline" aria-hidden="true"></ion-icon>
|
|
362
360
|
</div>
|
|
363
361
|
|
|
364
362
|
<!-- End Date -->
|
|
@@ -392,9 +390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
392
390
|
</div>
|
|
393
391
|
|
|
394
392
|
@if (showDayCount && dayCount !== null) {
|
|
395
|
-
<div class="day-count">
|
|
396
|
-
{{ dayCount }} {{ getDayLabel() }}
|
|
397
|
-
</div>
|
|
393
|
+
<div class="day-count">{{ dayCount }} {{ getDayLabel() }}</div>
|
|
398
394
|
}
|
|
399
395
|
|
|
400
396
|
@if (props.hint && !hasError) {
|
|
@@ -413,4 +409,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
413
409
|
}], rangeChange: [{
|
|
414
410
|
type: Output
|
|
415
411
|
}] } });
|
|
416
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRzlDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUF1R25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJJcEM7UUF3SVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUVqRSxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBRXpCLHlCQUFvQixHQUFHLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUM1RCx1QkFBa0Is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dUJBQXVCO21HQUF2Qix1QkFBdUIscUpBakl4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThGVCxrc0RBL0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBa0k1Rix1QkFBdUI7a0JBckluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEZUOzhCQW9DUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25EYXRldGltZSxcbiAgSW9uRGF0ZXRpbWVCdXR0b24sXG4gIElvbk1vZGFsLFxuICBJb25Ob3RlLFxuICBJb25JY29uLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YSwgRGF0ZVJhbmdlQ2hhbmdlRXZlbnQsIERhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHsgYXJyb3dGb3J3YXJkT3V0bGluZSwgY2FsZW5kYXJPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZGF0ZS1yYW5nZS1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIElvbkRhdGV0aW1lLCBJb25EYXRldGltZUJ1dHRvbiwgSW9uTW9kYWwsIElvbk5vdGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGF0ZS1yYW5nZS1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtjbGFzcy5oYXMtZXJyb3JdPVwiaGFzRXJyb3JcIlxuICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwicHJvcHMubGF5b3V0ICE9PSAndmVydGljYWwnXCJcbiAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJwcm9wcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwicmFuZ2UtbGFiZWxcIj57eyBnZXRMYWJlbCgpIH19PC9sYWJlbD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXRzLXdyYXBwZXJcIj5cbiAgICAgICAgPCEtLSBTdGFydCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBzdGFydC1kYXRlXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zdGFydExhYmVsIHx8IHByb3BzLnN0YXJ0TGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRTdGFydExhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aW9uLWRhdGV0aW1lLWJ1dHRvbiBbZGF0ZXRpbWVdPVwic3RhcnREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cInN0YXJ0RGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsU3RhcnRDb250cm9sXCJcbiAgICAgICAgICAgICAgICBbcHJlc2VudGF0aW9uXT1cInByb3BzLnByZXNlbnRhdGlvbiB8fCAnZGF0ZSdcIlxuICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwicHJvcHMubG9jYWxlIHx8ICdlcy1FUydcIlxuICAgICAgICAgICAgICAgIFtmaXJzdERheU9mV2Vla109XCJwcm9wcy5maXJzdERheU9mV2VlayA/PyAxXCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImdldE1pbkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJnZXRNYXhTdGFydERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0U3RhcnRMYWJlbCgpIHx8IGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBTZXBhcmF0b3IgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXNlcGFyYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZm9yd2FyZC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFbmQgRGF0ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5wdXQgZW5kLWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmVuZExhYmVsIHx8IHByb3BzLmVuZExhYmVsQ29udGVudEtleSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+e3sgZ2V0RW5kTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJlbmREYXRldGltZUlkXCI+PC9pb24tZGF0ZXRpbWUtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpb24tbW9kYWwgW2tlZXBDb250ZW50c01vdW50ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8aW9uLWRhdGV0aW1lXG4gICAgICAgICAgICAgICAgW2lkXT1cImVuZERhdGV0aW1lSWRcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEVuZENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRW5kRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heERhdGUoKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZG9uZVRleHRdPVwiZ2V0RG9uZVRleHQoKVwiXG4gICAgICAgICAgICAgICAgW2NhbmNlbFRleHRdPVwiZ2V0Q2FuY2VsVGV4dCgpXCJcbiAgICAgICAgICAgICAgICAoaW9uQ2hhbmdlKT1cIm9uRW5kRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIHNsb3Q9XCJ0aXRsZVwiPnt7IGdldEVuZExhYmVsKCkgfHwgZ2V0RW5kRGF0ZUZhbGxiYWNrKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvaW9uLWRhdGV0aW1lPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2lvbi1tb2RhbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChzaG93RGF5Q291bnQgJiYgZGF5Q291bnQgIT09IG51bGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRheS1jb3VudFwiPlxuICAgICAgICAgIHt7IGRheUNvdW50IH19IHt7IGdldERheUxhYmVsKCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuaGludCAmJiAhaGFzRXJyb3IpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiaGludFwiPnt7IGdldEhpbnQoKSB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoaGFzRXJyb3IgJiYgcHJvcHMuc2hvd0Vycm9ycykge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICA8L2lvbi1ub3RlPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICpcbiAqIEEgZGF0ZSByYW5nZSBwaWNrZXIgd2l0aCBzdGFydCBhbmQgZW5kIGRhdGUgc2VsZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiBkYXRlUmFuZ2VDb250cm9sLFxuICogICAgIHN0YXJ0TGFiZWw6ICdDaGVjay1pbicsXG4gKiAgICAgZW5kTGFiZWw6ICdDaGVjay1vdXQnXG4gKiAgIH1cIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHZhbGlkYXRpb25cbiAqIGBgYGh0bWxcbiAqIDx2YWwtZGF0ZS1yYW5nZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHJhbmdlQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1RyaXAgZGF0ZXMnLFxuICogICAgIHJlcXVpcmVCb3RoOiB0cnVlLFxuICogICAgIG1pblJhbmdlRGF5czogMixcbiAqICAgICBtYXhSYW5nZURheXM6IDMwLFxuICogICAgIGRpc2FibGVQYXN0RGF0ZXM6IHRydWUsXG4gKiAgICAgc2hvd0Vycm9yczogdHJ1ZVxuICogICB9XCJcbiAqICAgKHJhbmdlQ2hhbmdlKT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtZGF0ZS1yYW5nZS1pbnB1dD5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIGludGVybmFsU3RhcnRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBpbnRlcm5hbEVuZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgc3RhcnREYXRldGltZUlkID0gYHN0YXJ0LWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gIGVuZERhdGV0aW1lSWQgPSBgZW5kLWRhdGV0aW1lLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG5cbiAgc2hvd0RheUNvdW50ID0gdHJ1ZTtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHZhbHVlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICAvKiogR2V0IGRvbmUgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldERvbmVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZG9uZVRleHQgfHwgdGhpcy5pMThuLnQoJ29rJyk7XG4gIH1cblxuICAvKiogR2V0IGNhbmNlbCBidXR0b24gdGV4dCBmcm9tIHByb3BzIG9yIGkxOG4gKi9cbiAgZ2V0Q2FuY2VsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNhbmNlbFRleHQgfHwgdGhpcy5pMThuLnQoJ2NhbmNlbCcpO1xuICB9XG5cbiAgLyoqIEdldCBzdGFydCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldFN0YXJ0RGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdzdGFydERhdGUnLCAnX2dsb2JhbCcpIHx8ICdTdGFydCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZW5kIGRhdGUgZmFsbGJhY2sgbGFiZWwgKi9cbiAgZ2V0RW5kRGF0ZUZhbGxiYWNrKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCdlbmREYXRlJywgJ19nbG9iYWwnKSB8fCAnRW5kIGRhdGUnO1xuICB9XG5cbiAgLyoqIEdldCBkYXkvZGF5cyBsYWJlbCBiYXNlZCBvbiBjb3VudCAqL1xuICBnZXREYXlMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheUNvdW50ID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheScsICdfZ2xvYmFsJykgfHwgJ2RheSc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZGF5cycsICdfZ2xvYmFsJykgfHwgJ2RheXMnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVXNlIHByb3ZpZGVkIGNvbnRyb2xzIG9yIGludGVybmFsIG9uZXNcbiAgICBpZiAodGhpcy5wcm9wcy5zdGFydENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wgPSB0aGlzLnByb3BzLnN0YXJ0Q29udHJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZW5kQ29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wgPSB0aGlzLnByb3BzLmVuZENvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIGlmICh0aGlzLnByb3BzLmNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh2YWx1ZS5zdGFydCkge1xuICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5lbmQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wuc2V0VmFsdWUodmFsdWUuZW5kKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gbWFpbiBjb250cm9sIGNoYW5nZXNcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUuc3RhcnQgIT09IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnNldFZhbHVlKHZhbHVlLnN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuZW5kICE9PSB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0U3RhcnRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnN0YXJ0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBnZXRFbmRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmVuZExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0SGludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmhpbnQgfHwgJyc7XG4gIH1cblxuICBnZXRNaW5EYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuZGlzYWJsZVBhc3REYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWluO1xuICB9XG5cbiAgZ2V0TWF4RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVGdXR1cmVEYXRlcykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0TWF4U3RhcnREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gU3RhcnQgZGF0ZSBjYW5ub3QgYmUgYWZ0ZXIgZW5kIGRhdGVcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHJldHVybiBlbmREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNYXhEYXRlKCk7XG4gIH1cblxuICBnZXRNaW5FbmREYXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gRW5kIGRhdGUgY2Fubm90IGJlIGJlZm9yZSBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC52YWx1ZTtcbiAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICByZXR1cm4gc3RhcnREYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRNaW5EYXRlKCk7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRoaXMucHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnByb3BzLmNvbnRyb2w/LmludmFsaWQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmNvbnRyb2w/LmVycm9ycyB8fCAhdGhpcy5wcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnByb3BzLmNvbnRyb2wuZXJyb3JzKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBlcnJvcktleXMpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLmVycm9yc1trZXldKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldCBkYXlDb3VudCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgZW5kID0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoZW5kKTtcbiAgICBjb25zdCBkaWZmVGltZSA9IGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgZGlmZkRheXMpO1xuICB9XG5cbiAgb25TdGFydERhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25FbmREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWFpbkNvbnRyb2woKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWU6IERhdGVSYW5nZVZhbHVlID0ge1xuICAgICAgc3RhcnQ6IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWUsXG4gICAgICBlbmQ6IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlLFxuICAgIH07XG5cbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIFZhbGlkYXRlIGFuZCBlbWl0XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVSYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KHtcbiAgICAgIHZhbHVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGRheUNvdW50OiB0aGlzLmRheUNvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJhbmdlKHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSk6IGJvb2xlYW4ge1xuICAgIC8vIENoZWNrIHJlcXVpcmVkXG4gICAgaWYgKHRoaXMucHJvcHMucmVxdWlyZUJvdGggJiYgKCF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGRheSBjb3VudCBjb25zdHJhaW50c1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRheUNvdW50O1xuICAgIGlmIChkYXlzICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5taW5SYW5nZURheXMgIT09IHVuZGVmaW5lZCAmJiBkYXlzIDwgdGhpcy5wcm9wcy5taW5SYW5nZURheXMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA+IHRoaXMucHJvcHMubWF4UmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
412
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtcmFuZ2UtaW5wdXQvZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHOUMsUUFBUSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQXFHbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBbklwQztRQXNJWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRWpFLFdBQU0sR0FBRyxlQUFlLENBQUM7UUFFekIseUJBQW9CLEdBQUcsSUFBSSxXQUFXLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQzVELHVCQUFrQixH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QkFBdUI7bUdBQXZCLHVCQUF1QixxSkEvSHhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVCxrc0RBN0ZTLFlBQVksOEJBQUUsbUJBQW1CLDBUQUFFLFdBQVcsb2hCQUFFLGlCQUFpQixtSEFBRSxRQUFRLHNEQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBZ0k1Rix1QkFBdUI7a0JBbkluQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQzlGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRGVDs4QkFvQ1EsS0FBSztzQkFBYixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uRGF0ZXRpbWUsIElvbkRhdGV0aW1lQnV0dG9uLCBJb25Nb2RhbCwgSW9uTm90ZSwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFycm93Rm9yd2FyZE91dGxpbmUsIGNhbGVuZGFyT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJbnB1dE1ldGFkYXRhLCBEYXRlUmFuZ2VDaGFuZ2VFdmVudCwgRGF0ZVJhbmdlVmFsdWUgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBhcnJvd0ZvcndhcmRPdXRsaW5lLCBjYWxlbmRhck91dGxpbmUgfSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kYXRlLXJhbmdlLWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uRGF0ZXRpbWUsIElvbkRhdGV0aW1lQnV0dG9uLCBJb25Nb2RhbCwgSW9uTm90ZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkYXRlLXJhbmdlLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW2NsYXNzLmhhcy1lcnJvcl09XCJoYXNFcnJvclwiXG4gICAgICBbY2xhc3MuaG9yaXpvbnRhbF09XCJwcm9wcy5sYXlvdXQgIT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLnZlcnRpY2FsXT1cInByb3BzLmxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy5sYWJlbCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJyYW5nZS1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dHMtd3JhcHBlclwiPlxuICAgICAgICA8IS0tIFN0YXJ0IERhdGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWlucHV0IHN0YXJ0LWRhdGVcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnN0YXJ0TGFiZWwgfHwgcHJvcHMuc3RhcnRMYWJlbENvbnRlbnRLZXkpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1sYWJlbFwiPnt7IGdldFN0YXJ0TGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIFtkYXRldGltZV09XCJzdGFydERhdGV0aW1lSWRcIj48L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICAgICAgICAgICBbaWRdPVwic3RhcnREYXRldGltZUlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxTdGFydENvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwcmVzZW50YXRpb25dPVwicHJvcHMucHJlc2VudGF0aW9uIHx8ICdkYXRlJ1wiXG4gICAgICAgICAgICAgICAgW2xvY2FsZV09XCJwcm9wcy5sb2NhbGUgfHwgJ2VzLUVTJ1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cInByb3BzLmZpcnN0RGF5T2ZXZWVrID8/IDFcIlxuICAgICAgICAgICAgICAgIFttaW5dPVwiZ2V0TWluRGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbbWF4XT1cImdldE1heFN0YXJ0RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkb25lVGV4dF09XCJnZXREb25lVGV4dCgpXCJcbiAgICAgICAgICAgICAgICBbY2FuY2VsVGV4dF09XCJnZXRDYW5jZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBzbG90PVwidGl0bGVcIj57eyBnZXRTdGFydExhYmVsKCkgfHwgZ2V0U3RhcnREYXRlRmFsbGJhY2soKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvaW9uLW1vZGFsPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFNlcGFyYXRvciAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtc2VwYXJhdG9yXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhcnJvdy1mb3J3YXJkLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEVuZCBEYXRlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbnB1dCBlbmQtZGF0ZVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuZW5kTGFiZWwgfHwgcHJvcHMuZW5kTGFiZWxDb250ZW50S2V5KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj57eyBnZXRFbmRMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlvbi1kYXRldGltZS1idXR0b24gW2RhdGV0aW1lXT1cImVuZERhdGV0aW1lSWRcIj48L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWVcbiAgICAgICAgICAgICAgICBbaWRdPVwiZW5kRGF0ZXRpbWVJZFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsRW5kQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgW3ByZXNlbnRhdGlvbl09XCJwcm9wcy5wcmVzZW50YXRpb24gfHwgJ2RhdGUnXCJcbiAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInByb3BzLmxvY2FsZSB8fCAnZXMtRVMnXCJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwicHJvcHMuZmlyc3REYXlPZldlZWsgPz8gMVwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJnZXRNaW5FbmREYXRlKClcIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiZ2V0TWF4RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkb25lVGV4dF09XCJnZXREb25lVGV4dCgpXCJcbiAgICAgICAgICAgICAgICBbY2FuY2VsVGV4dF09XCJnZXRDYW5jZWxUZXh0KClcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25FbmREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gc2xvdD1cInRpdGxlXCI+e3sgZ2V0RW5kTGFiZWwoKSB8fCBnZXRFbmREYXRlRmFsbGJhY2soKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9pb24tZGF0ZXRpbWU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvaW9uLW1vZGFsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKHNob3dEYXlDb3VudCAmJiBkYXlDb3VudCAhPT0gbnVsbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LWNvdW50XCI+e3sgZGF5Q291bnQgfX0ge3sgZ2V0RGF5TGFiZWwoKSB9fTwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLmhpbnQgJiYgIWhhc0Vycm9yKSB7XG4gICAgICAgIDxpb24tbm90ZSBjbGFzcz1cImhpbnRcIj57eyBnZXRIaW50KCkgfX08L2lvbi1ub3RlPlxuICAgICAgfVxuXG4gICAgICBAaWYgKGhhc0Vycm9yICYmIHByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqXG4gKiBBIGRhdGUgcmFuZ2UgcGlja2VyIHdpdGggc3RhcnQgYW5kIGVuZCBkYXRlIHNlbGVjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kYXRlLXJhbmdlLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogZGF0ZVJhbmdlQ29udHJvbCxcbiAqICAgICBzdGFydExhYmVsOiAnQ2hlY2staW4nLFxuICogICAgIGVuZExhYmVsOiAnQ2hlY2stb3V0J1xuICogICB9XCJcbiAqID48L3ZhbC1kYXRlLXJhbmdlLWlucHV0PlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCB2YWxpZGF0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWRhdGUtcmFuZ2UtaW5wdXRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiByYW5nZUNvbnRyb2wsXG4gKiAgICAgbGFiZWw6ICdUcmlwIGRhdGVzJyxcbiAqICAgICByZXF1aXJlQm90aDogdHJ1ZSxcbiAqICAgICBtaW5SYW5nZURheXM6IDIsXG4gKiAgICAgbWF4UmFuZ2VEYXlzOiAzMCxcbiAqICAgICBkaXNhYmxlUGFzdERhdGVzOiB0cnVlLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChyYW5nZUNoYW5nZSk9XCJvblJhbmdlQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLWRhdGUtcmFuZ2UtaW5wdXQ+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwcm9wczogRGF0ZVJhbmdlSW5wdXRNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVSYW5nZUNoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBpbnRlcm5hbFN0YXJ0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgaW50ZXJuYWxFbmRDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHN0YXJ0RGF0ZXRpbWVJZCA9IGBzdGFydC1kYXRldGltZS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuICBlbmREYXRldGltZUlkID0gYGVuZC1kYXRldGltZS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuXG4gIHNob3dEYXlDb3VudCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB2YWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEdldCBkb25lIGJ1dHRvbiB0ZXh0IGZyb20gcHJvcHMgb3IgaTE4biAqL1xuICBnZXREb25lVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmRvbmVUZXh0IHx8IHRoaXMuaTE4bi50KCdvaycpO1xuICB9XG5cbiAgLyoqIEdldCBjYW5jZWwgYnV0dG9uIHRleHQgZnJvbSBwcm9wcyBvciBpMThuICovXG4gIGdldENhbmNlbFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IHx8IHRoaXMuaTE4bi50KCdjYW5jZWwnKTtcbiAgfVxuXG4gIC8qKiBHZXQgc3RhcnQgZGF0ZSBmYWxsYmFjayBsYWJlbCAqL1xuICBnZXRTdGFydERhdGVGYWxsYmFjaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnc3RhcnREYXRlJywgJ19nbG9iYWwnKSB8fCAnU3RhcnQgZGF0ZSc7XG4gIH1cblxuICAvKiogR2V0IGVuZCBkYXRlIGZhbGxiYWNrIGxhYmVsICovXG4gIGdldEVuZERhdGVGYWxsYmFjaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnZW5kRGF0ZScsICdfZ2xvYmFsJykgfHwgJ0VuZCBkYXRlJztcbiAgfVxuXG4gIC8qKiBHZXQgZGF5L2RheXMgbGFiZWwgYmFzZWQgb24gY291bnQgKi9cbiAgZ2V0RGF5TGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kYXlDb3VudCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KCdkYXknLCAnX2dsb2JhbCcpIHx8ICdkYXknO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2RheXMnLCAnX2dsb2JhbCcpIHx8ICdkYXlzJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFVzZSBwcm92aWRlZCBjb250cm9scyBvciBpbnRlcm5hbCBvbmVzXG4gICAgaWYgKHRoaXMucHJvcHMuc3RhcnRDb250cm9sKSB7XG4gICAgICB0aGlzLmludGVybmFsU3RhcnRDb250cm9sID0gdGhpcy5wcm9wcy5zdGFydENvbnRyb2w7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmVuZENvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sID0gdGhpcy5wcm9wcy5lbmRDb250cm9sO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgZnJvbSBtYWluIGNvbnRyb2xcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLmNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAodmFsdWUuc3RhcnQpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5zdGFydCk7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuZW5kKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnNldFZhbHVlKHZhbHVlLmVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG1haW4gY29udHJvbCBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvcHMuY29udHJvbD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0ICE9PSB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5pbnRlcm5hbFN0YXJ0Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5zdGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmVuZCAhPT0gdGhpcy5pbnRlcm5hbEVuZENvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmludGVybmFsRW5kQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5lbmQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5sYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldFN0YXJ0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGFydExhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0RW5kTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbmRMYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldEhpbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5oaW50IHx8ICcnO1xuICB9XG5cbiAgZ2V0TWluRGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnByb3BzLmRpc2FibGVQYXN0RGF0ZXMpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLm1pbjtcbiAgfVxuXG4gIGdldE1heERhdGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kaXNhYmxlRnV0dXJlRGF0ZXMpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByb3BzLm1heDtcbiAgfVxuXG4gIGdldE1heFN0YXJ0RGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFN0YXJ0IGRhdGUgY2Fubm90IGJlIGFmdGVyIGVuZCBkYXRlXG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlO1xuICAgIGlmIChlbmREYXRlKSB7XG4gICAgICByZXR1cm4gZW5kRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWF4RGF0ZSgpO1xuICB9XG5cbiAgZ2V0TWluRW5kRGF0ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIEVuZCBkYXRlIGNhbm5vdCBiZSBiZWZvcmUgc3RhcnQgZGF0ZVxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuaW50ZXJuYWxTdGFydENvbnRyb2wudmFsdWU7XG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xuICAgICAgcmV0dXJuIHN0YXJ0RGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWluRGF0ZSgpO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLnByb3BzLmNvbnRyb2w/LnRvdWNoZWQgJiYgdGhpcy5wcm9wcy5jb250cm9sPy5pbnZhbGlkKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wcm9wcy5jb250cm9sPy5lcnJvcnMgfHwgIXRoaXMucHJvcHMuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JLZXlzID0gT2JqZWN0LmtleXModGhpcy5wcm9wcy5jb250cm9sLmVycm9ycyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgZXJyb3JLZXlzKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5lcnJvcnNba2V5XSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5lcnJvcnNba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXQgZGF5Q291bnQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGVuZCA9IHRoaXMuaW50ZXJuYWxFbmRDb250cm9sLnZhbHVlO1xuXG4gICAgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgY29uc3QgZW5kRGF0ZSA9IG5ldyBEYXRlKGVuZCk7XG4gICAgY29uc3QgZGlmZlRpbWUgPSBlbmREYXRlLmdldFRpbWUoKSAtIHN0YXJ0RGF0ZS5nZXRUaW1lKCk7XG4gICAgY29uc3QgZGlmZkRheXMgPSBNYXRoLmNlaWwoZGlmZlRpbWUgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpO1xuXG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIGRpZmZEYXlzKTtcbiAgfVxuXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTWFpbkNvbnRyb2woKTtcbiAgfVxuXG4gIG9uRW5kRGF0ZUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1haW5Db250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiBEYXRlUmFuZ2VWYWx1ZSA9IHtcbiAgICAgIHN0YXJ0OiB0aGlzLmludGVybmFsU3RhcnRDb250cm9sLnZhbHVlLFxuICAgICAgZW5kOiB0aGlzLmludGVybmFsRW5kQ29udHJvbC52YWx1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5wcm9wcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICAvLyBWYWxpZGF0ZSBhbmQgZW1pdFxuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlUmFuZ2UodmFsdWUpO1xuICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh7XG4gICAgICB2YWx1ZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICBkYXlDb3VudDogdGhpcy5kYXlDb3VudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVSYW5nZSh2YWx1ZTogRGF0ZVJhbmdlVmFsdWUpOiBib29sZWFuIHtcbiAgICAvLyBDaGVjayByZXF1aXJlZFxuICAgIGlmICh0aGlzLnByb3BzLnJlcXVpcmVCb3RoICYmICghdmFsdWUuc3RhcnQgfHwgIXZhbHVlLmVuZCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBkYXkgY291bnQgY29uc3RyYWludHNcbiAgICBjb25zdCBkYXlzID0gdGhpcy5kYXlDb3VudDtcbiAgICBpZiAoZGF5cyAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMubWluUmFuZ2VEYXlzICE9PSB1bmRlZmluZWQgJiYgZGF5cyA8IHRoaXMucHJvcHMubWluUmFuZ2VEYXlzKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm1heFJhbmdlRGF5cyAhPT0gdW5kZWZpbmVkICYmIGRheXMgPiB0aGlzLnByb3BzLm1heFJhbmdlRGF5cykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -102,7 +102,7 @@ export class DocsCodeExampleComponent {
|
|
|
102
102
|
rel="noopener noreferrer"
|
|
103
103
|
>
|
|
104
104
|
{{ props.externalLink.label || 'Open in StackBlitz' }}
|
|
105
|
-
<ion-icon name="open-outline"></ion-icon>
|
|
105
|
+
<ion-icon name="open-outline" aria-hidden="true"></ion-icon>
|
|
106
106
|
</a>
|
|
107
107
|
}
|
|
108
108
|
</div>
|
|
@@ -143,7 +143,11 @@ export class DocsCodeExampleComponent {
|
|
|
143
143
|
[attr.aria-label]="copied() ? 'Code copied' : 'Copy code'"
|
|
144
144
|
(click)="copyCode()"
|
|
145
145
|
>
|
|
146
|
-
<ion-icon
|
|
146
|
+
<ion-icon
|
|
147
|
+
slot="icon-only"
|
|
148
|
+
[name]="copied() ? 'checkmark-outline' : 'copy-outline'"
|
|
149
|
+
aria-hidden="true"
|
|
150
|
+
></ion-icon>
|
|
147
151
|
</ion-button>
|
|
148
152
|
}
|
|
149
153
|
</div>
|
|
@@ -182,7 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
182
186
|
rel="noopener noreferrer"
|
|
183
187
|
>
|
|
184
188
|
{{ props.externalLink.label || 'Open in StackBlitz' }}
|
|
185
|
-
<ion-icon name="open-outline"></ion-icon>
|
|
189
|
+
<ion-icon name="open-outline" aria-hidden="true"></ion-icon>
|
|
186
190
|
</a>
|
|
187
191
|
}
|
|
188
192
|
</div>
|
|
@@ -223,7 +227,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
223
227
|
[attr.aria-label]="copied() ? 'Code copied' : 'Copy code'"
|
|
224
228
|
(click)="copyCode()"
|
|
225
229
|
>
|
|
226
|
-
<ion-icon
|
|
230
|
+
<ion-icon
|
|
231
|
+
slot="icon-only"
|
|
232
|
+
[name]="copied() ? 'checkmark-outline' : 'copy-outline'"
|
|
233
|
+
aria-hidden="true"
|
|
234
|
+
></ion-icon>
|
|
227
235
|
</ion-button>
|
|
228
236
|
}
|
|
229
237
|
</div>
|
|
@@ -246,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
246
254
|
type: ContentChild,
|
|
247
255
|
args: ['preview']
|
|
248
256
|
}] } });
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBK2JILE1BQU0sT0FBTyx3QkFBd0I7SUE5YnJDO1FBK2JXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxD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LFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmLCBDb250ZW50Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEsIERvY3NDb2RlVGFiIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFByaXNtLmpzIGltcG9ydHMgKHNhbWUgcGF0dGVybiBhcyBjb2RlLWRpc3BsYXkgYW5kIHBsYWluLWNvZGUtYm94KVxuaW1wb3J0ICogYXMgUHJpc20gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS10eXBlc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWphdmFzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tY3NzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXNjc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tYmFzaCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qc29uJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLW1hcmt1cCc7XG5cbmFkZEljb25zKHsgY29weU91dGxpbmUsIGNoZWNrbWFya091dGxpbmUsIG9wZW5PdXRsaW5lIH0pO1xuXG4vKipcbiAqIHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICpcbiAqIEEgY29kZSBleGFtcGxlIGNvbXBvbmVudCB3aXRoIHRhYnMsIHByZXZpZXcsIGFuZCBjb3B5IGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZG9jcy1jb2RlLWV4YW1wbGVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0aXRsZTogJ0Jhc2ljIEJ1dHRvbicsXG4gKiAgICAgdGFiczogW1xuICogICAgICAgeyBsYWJlbDogJ0hUTUwnLCBsYW5ndWFnZTogJ2h0bWwnLCBjb2RlOiAnPHZhbC1idXR0b24+Q2xpY2sgbWU8L3ZhbC1idXR0b24+JyB9LFxuICogICAgICAgeyBsYWJlbDogJ1R5cGVTY3JpcHQnLCBsYW5ndWFnZTogJ3R5cGVzY3JpcHQnLCBjb2RlOiAnaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAuLi4nIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogPlxuICogICA8bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gKiAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInsgbGFiZWw6ICdDbGljayBtZScgfVwiPjwvdmFsLWJ1dHRvbj5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvdmFsLWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlXCIgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCI+XG4gICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgIEBpZiAocHJvcHMudGl0bGUgfHwgcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aXRsZSkge1xuICAgICAgICAgICAgPGg0IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlXCI+e3sgcHJvcHMudGl0bGUgfX08L2g0PlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmV4dGVybmFsTGluaykge1xuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGlua1wiXG4gICAgICAgICAgICAgIFtocmVmXT1cInByb3BzLmV4dGVybmFsTGluay51cmxcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgcHJvcHMuZXh0ZXJuYWxMaW5rLmxhYmVsIHx8ICdPcGVuIGluIFN0YWNrQmxpdHonIH19XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwib3Blbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXZpZXcgLS0+XG4gICAgICBAaWYgKHByZXZpZXdUcGwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpZXdUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gVGFicyAtLT5cbiAgICAgIEBpZiAocHJvcHMudGFicz8ubGVuZ3RoKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFic1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3RcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodGFiIG9mIHByb3BzLnRhYnM7IHRyYWNrIHRhYi5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3RhYlwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZVRhYi5zZXQoaSlcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYWN0aXZlVGFiKCkgPT09IGlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBDb2RlIFBhbmVsIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlclwiPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnNob3dDb3B5QnV0dG9uICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29waWVkKCkgPyAnQ29kZSBjb3BpZWQnIDogJ0NvcHkgY29kZSdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvcHlDb2RlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiY29waWVkKCkgPyAnY2hlY2ttYXJrLW91dGxpbmUnIDogJ2NvcHktb3V0bGluZSdcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cHJlXG4gICAgICAgICAgICAgIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3ByZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlLS1saW5lLW51bWJlcnNdPVwicHJvcHMuc2hvd0xpbmVOdW1iZXJzXCJcbiAgICAgICAgICAgID48Y29kZVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIidsYW5ndWFnZS0nICsgY3VycmVudFRhYigpLmxhbmd1YWdlXCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJoaWdobGlnaHRlZENvZGUoKVwiXG4gICAgICAgICAgICA+PC9jb2RlPjwvcHJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IsICMxYTFhMWEpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM2NjYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMWExYTFhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19leHRlcm5hbC1saW5rIGlvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmV2aWV3IHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxOHB4IDhweCAxOHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ1NGIE1vbm8nLCBNb25hY28sIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjODk5Mzk2O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYmFja2dyb3VuZCAwLjJzLFxuICAgICAgICAgIGNvbG9yIDAuMnM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWVmMjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGNvbG9yOiAjMTk0MjJkO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmNmY3O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgIC0tcGFkZGluZy1zdGFydDogMnB4O1xuICAgICAgICAtLXBhZGRpbmctZW5kOiAycHg7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgLS1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbDpob3ZlciAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0bjpob3ZlciB7XG4gICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMzByZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUtLWxpbmUtbnVtYmVycyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgY291bnRlci1yZXNldDogbGluZTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCAnU0YgTW9ubycsIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIHRhYi1zaXplOiAyO1xuICAgICAgfVxuXG4gICAgICAvKiBQcmlzbS5qcyBzeW50YXggaGlnaGxpZ2h0aW5nIC0gTGlnaHQgdGhlbWUgKEdpdEh1YiBzdHlsZSkgKi9cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9sb2csXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRvY3R5cGUsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgICAgY29sb3I6ICM2YTczN2Q7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgICBjb2xvcjogIzI0MjkyZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udGFnLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5ib29sZWFuLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNvbnN0YW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zeW1ib2wsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgICBjb2xvcjogIzAwNWNjNTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci1uYW1lLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zdHJpbmcsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJ1aWx0aW4sXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmluc2VydGVkIHtcbiAgICAgICAgY29sb3I6ICMyMjg2M2E7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ub3BlcmF0b3IsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udXJsIHtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXRydWxlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHRyLXZhbHVlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgICAgY29sb3I6ICNkNzNhNDk7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNsYXNzLW5hbWUge1xuICAgICAgICBjb2xvcjogIzZmNDJjMTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5yZWdleCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW1wb3J0YW50LFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICAgIGNvbG9yOiAjZTM2MjA5O1xuICAgICAgfVxuXG4gICAgICAvKiBSZXNwb25zaXZlICovXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB9XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogRGFyayBtb2RlIOKAlCBjbGFzcy1iYXNlZCBPTkxZIChJb25pYyBib2R5LmRhcmsgLyBodG1sLmlvbi1wYWxldHRlLWRhcmspICovXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB7XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2hlYWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYnMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi1saXN0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMzYjQwNDg7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYiB7XG4gICAgICAgICAgY29sb3I6ICM4Yjk0OWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIxMjUyYjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyODJjMzQ7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyODJjMzQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtcGFuZWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE2MWIyMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuIHtcbiAgICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG46aG92ZXIge1xuICAgICAgICAgIC0tYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogRGFyayBtb2RlIHN5bnRheCBoaWdobGlnaHRpbmcgKi9cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb21tZW50LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnByb2xvZyxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kb2N0eXBlLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNkYXRhIHtcbiAgICAgICAgICBjb2xvcjogIzhiOTQ5ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHVuY3R1YXRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9wZXJ0eSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi50YWcsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYm9vbGVhbixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5udW1iZXIsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29uc3RhbnQsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3ltYm9sLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmRlbGV0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjNzljMGZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5zZWxlY3RvcixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHRyLW5hbWUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3RyaW5nLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNoYXIsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYnVpbHRpbixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbnNlcnRlZCB7XG4gICAgICAgICAgY29sb3I6ICM3ZWU3ODc7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm9wZXJhdG9yLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmVudGl0eSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi51cmwge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5hdHJ1bGUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci12YWx1ZSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5rZXl3b3JkIHtcbiAgICAgICAgICBjb2xvcjogI2ZmN2I3MjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZnVuY3Rpb24sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY2xhc3MtbmFtZSB7XG4gICAgICAgICAgY29sb3I6ICNkMmE4ZmY7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnJlZ2V4LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmltcG9ydGFudCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi52YXJpYWJsZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmE2NTc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb2NzQ29kZUV4YW1wbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogRG9jc0NvZGVFeGFtcGxlTWV0YWRhdGEgPSB7IHRhYnM6IFtdIH07XG5cbiAgQENvbnRlbnRDaGlsZCgncHJldmlldycpIHByZXZpZXdUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByb3RlY3RlZCBhY3RpdmVUYWIgPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCBjb3BpZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCBjdXJyZW50VGFiKCk6IERvY3NDb2RlVGFiIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50YWJzW3RoaXMuYWN0aXZlVGFiKCldIHx8IHsgbGFiZWw6ICcnLCBjb2RlOiAnJywgbGFuZ3VhZ2U6ICd0ZXh0JyB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGhpZ2hsaWdodGVkQ29kZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRhYiA9IHRoaXMuY3VycmVudFRhYigpO1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLm5vcm1hbGl6ZUxhbmd1YWdlKHRhYi5sYW5ndWFnZSk7XG4gICAgY29uc3QgZ3JhbW1hciA9IFByaXNtLmxhbmd1YWdlc1tsYW5nXTtcblxuICAgIGlmICghZ3JhbW1hcikge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlSHRtbCh0YWIuY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByaXNtLmhpZ2hsaWdodCh0YWIuY29kZSwgZ3JhbW1hciwgbGFuZyk7XG4gIH1cblxuICBhc3luYyBjb3B5Q29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jdXJyZW50VGFiKCkuY29kZTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29kZSk7XG4gICAgICB0aGlzLmNvcGllZC5zZXQodHJ1ZSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29waWVkLnNldChmYWxzZSksIDIwMDApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGNvcHkgY29kZTonLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYWxpYXNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHRzOiAndHlwZXNjcmlwdCcsXG4gICAgICBqczogJ2phdmFzY3JpcHQnLFxuICAgICAgaHRtbDogJ21hcmt1cCcsXG4gICAgICB4bWw6ICdtYXJrdXAnLFxuICAgICAgc2g6ICdiYXNoJyxcbiAgICAgIHNoZWxsOiAnYmFzaCcsXG4gICAgfTtcbiAgICByZXR1cm4gYWxpYXNlc1tsYW5ndWFnZS50b0xvd2VyQ2FzZSgpXSB8fCBsYW5ndWFnZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxufVxuIl19
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy1jb2RlLWV4YW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9kb2NzLWNvZGUtZXhhbXBsZS9kb2NzLWNvZGUtZXhhbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUUscUVBQXFFO0FBQ3JFLE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8saUNBQWlDLENBQUM7OztBQUV6QyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBbWNILE1BQU0sT0FBTyx3QkFBd0I7SUFsY3JDO1FBbWNXLFVBQUssR0FBNEIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFJN0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxD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VTtzQkFBbEMsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIENvbnRlbnRDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24sIElvbkJ1dHRvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjb3B5T3V0bGluZSwgY2hlY2ttYXJrT3V0bGluZSwgb3Blbk91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBEb2NzQ29kZUV4YW1wbGVNZXRhZGF0YSwgRG9jc0NvZGVUYWIgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gUHJpc20uanMgaW1wb3J0cyAoc2FtZSBwYXR0ZXJuIGFzIGNvZGUtZGlzcGxheSBhbmQgcGxhaW4tY29kZS1ib3gpXG5pbXBvcnQgKiBhcyBQcmlzbSBmcm9tICdwcmlzbWpzJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tamF2YXNjcmlwdCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1jc3MnO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tc2Nzcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1iYXNoJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWpzb24nO1xuaW1wb3J0ICdwcmlzbWpzL2NvbXBvbmVudHMvcHJpc20tbWFya3VwJztcblxuYWRkSWNvbnMoeyBjb3B5T3V0bGluZSwgY2hlY2ttYXJrT3V0bGluZSwgb3Blbk91dGxpbmUgfSk7XG5cbi8qKlxuICogdmFsLWRvY3MtY29kZS1leGFtcGxlXG4gKlxuICogQSBjb2RlIGV4YW1wbGUgY29tcG9uZW50IHdpdGggdGFicywgcHJldmlldywgYW5kIGNvcHkgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1kb2NzLWNvZGUtZXhhbXBsZVxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRpdGxlOiAnQmFzaWMgQnV0dG9uJyxcbiAqICAgICB0YWJzOiBbXG4gKiAgICAgICB7IGxhYmVsOiAnSFRNTCcsIGxhbmd1YWdlOiAnaHRtbCcsIGNvZGU6ICc8dmFsLWJ1dHRvbj5DbGljayBtZTwvdmFsLWJ1dHRvbj4nIH0sXG4gKiAgICAgICB7IGxhYmVsOiAnVHlwZVNjcmlwdCcsIGxhbmd1YWdlOiAndHlwZXNjcmlwdCcsIGNvZGU6ICdpbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIC4uLicgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+XG4gKiAgIDxuZy10ZW1wbGF0ZSAjcHJldmlldz5cbiAqICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwieyBsYWJlbDogJ0NsaWNrIG1lJyB9XCI+PC92YWwtYnV0dG9uPlxuICogICA8L25nLXRlbXBsYXRlPlxuICogPC92YWwtZG9jcy1jb2RlLWV4YW1wbGU+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWRvY3MtY29kZS1leGFtcGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uSWNvbiwgSW9uQnV0dG9uXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVcIiBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIj5cbiAgICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICAgQGlmIChwcm9wcy50aXRsZSB8fCBwcm9wcy5kZXNjcmlwdGlvbiB8fCBwcm9wcy5leHRlcm5hbExpbmspIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19oZWFkZXJcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnRpdGxlKSB7XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGVcIj57eyBwcm9wcy50aXRsZSB9fTwvaDQ+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAocHJvcHMuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2Rlc2NyaXB0aW9uXCI+e3sgcHJvcHMuZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAocHJvcHMuZXh0ZXJuYWxMaW5rKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19leHRlcm5hbC1saW5rXCJcbiAgICAgICAgICAgICAgW2hyZWZdPVwicHJvcHMuZXh0ZXJuYWxMaW5rLnVybFwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBwcm9wcy5leHRlcm5hbExpbmsubGFiZWwgfHwgJ09wZW4gaW4gU3RhY2tCbGl0eicgfX1cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJvcGVuLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gUHJldmlldyAtLT5cbiAgICAgIEBpZiAocHJldmlld1RwbCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX3ByZXZpZXdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlld1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBUYWJzIC0tPlxuICAgICAgQGlmIChwcm9wcy50YWJzPy5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX190YWJzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdFwiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgICAgICBAZm9yICh0YWIgb2YgcHJvcHMudGFiczsgdHJhY2sgdGFiLmxhYmVsOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fdGFiXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi0tYWN0aXZlXT1cImFjdGl2ZVRhYigpID09PSBpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZlVGFiLnNldChpKVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVUYWIoKSA9PT0gaVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIENvZGUgUGFuZWwgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtaGVhZGVyXCI+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuc2hvd0NvcHlCdXR0b24gIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG5cIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb3BpZWQoKSA/ICdDb2RlIGNvcGllZCcgOiAnQ29weSBjb2RlJ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29weUNvZGUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uXG4gICAgICAgICAgICAgICAgICAgIHNsb3Q9XCJpY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb3BpZWQoKSA/ICdjaGVja21hcmstb3V0bGluZScgOiAnY29weS1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHByZVxuICAgICAgICAgICAgICBjbGFzcz1cImRvY3MtY29kZS1leGFtcGxlX19wcmVcIlxuICAgICAgICAgICAgICBbY2xhc3MuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZS0tbGluZS1udW1iZXJzXT1cInByb3BzLnNob3dMaW5lTnVtYmVyc1wiXG4gICAgICAgICAgICA+PGNvZGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb2NzLWNvZGUtZXhhbXBsZV9fY29kZVwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCInbGFuZ3VhZ2UtJyArIGN1cnJlbnRUYWIoKS5sYW5ndWFnZVwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaGlnaGxpZ2h0ZWRDb2RlKClcIlxuICAgICAgICAgICAgPjwvY29kZT48L3ByZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yLCAjMWExYTFhKTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjNjY2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2V4dGVybmFsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2V4dGVybmFsLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFhMWExYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fZXh0ZXJuYWwtbGluayBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJldmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFicyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmY5ZmE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmY2Zjc7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMThweCA4cHggMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdTRiBNb25vJywgTW9uYWNvLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzg5OTM5NjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQgMC4ycyxcbiAgICAgICAgICBjb2xvciAwLjJzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGVlZjI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBjb2xvcjogIzE5NDIyZDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjZmNztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZS1wYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG4ge1xuICAgICAgICAtLXBhZGRpbmctc3RhcnQ6IDJweDtcbiAgICAgICAgLS1wYWRkaW5nLWVuZDogMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIC0tY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUtcGFuZWw6aG92ZXIgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29weS1idG46aG92ZXIge1xuICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIH1cblxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwcmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fcHJlLS1saW5lLW51bWJlcnMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgJ1NGIE1vbm8nLCBNb25hY28sICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiAjMjQyOTJmO1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgICAgICB0YWItc2l6ZTogMjtcbiAgICAgIH1cblxuICAgICAgLyogUHJpc20uanMgc3ludGF4IGhpZ2hsaWdodGluZyAtIExpZ2h0IHRoZW1lIChHaXRIdWIgc3R5bGUpICovXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29tbWVudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvbG9nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kb2N0eXBlLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jZGF0YSB7XG4gICAgICAgIGNvbG9yOiAjNmE3MzdkO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnB1bmN0dWF0aW9uIHtcbiAgICAgICAgY29sb3I6ICMyNDI5MmY7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvcGVydHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnRhZyxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYm9vbGVhbixcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ubnVtYmVyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jb25zdGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3ltYm9sLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kZWxldGVkIHtcbiAgICAgICAgY29sb3I6ICMwMDVjYzU7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc2VsZWN0b3IsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItbmFtZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc3RyaW5nLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jaGFyLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5idWlsdGluLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbnNlcnRlZCB7XG4gICAgICAgIGNvbG9yOiAjMjI4NjNhO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLm9wZXJhdG9yLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5lbnRpdHksXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnVybCB7XG4gICAgICAgIGNvbG9yOiAjMjQyOTJmO1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0cnVsZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci12YWx1ZSxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ua2V5d29yZCB7XG4gICAgICAgIGNvbG9yOiAjZDczYTQ5O1xuICAgICAgfVxuXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmZ1bmN0aW9uLFxuICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jbGFzcy1uYW1lIHtcbiAgICAgICAgY29sb3I6ICM2ZjQyYzE7XG4gICAgICB9XG5cbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucmVnZXgsXG4gICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmltcG9ydGFudCxcbiAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udmFyaWFibGUge1xuICAgICAgICBjb2xvcjogI2UzNjIwOTtcbiAgICAgIH1cblxuICAgICAgLyogUmVzcG9uc2l2ZSAqL1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fdGFiLWxpc3Qge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgfVxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjByZW07XG4gICAgICAgIH1cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIERhcmsgbW9kZSDigJQgY2xhc3MtYmFzZWQgT05MWSAoSW9uaWMgYm9keS5kYXJrIC8gaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAqL1xuICAgICAgOmhvc3QtY29udGV4dCguZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoYm9keS5kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkge1xuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19oZWFkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICNjOWQxZDk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3ByZXZpZXcge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWJzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWItbGlzdCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2I0MDQ4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWIge1xuICAgICAgICAgIGNvbG9yOiAjOGI5NDllO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX190YWI6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTI1MmI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX3RhYi0tYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjgyYzM0O1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzNiNDA0ODtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjgyYzM0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlLXBhbmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTYxYjIyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19wcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjFiMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUge1xuICAgICAgICAgIGNvbG9yOiAjYzlkMWQ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb3B5LWJ0biB7XG4gICAgICAgICAgLS1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvcHktYnRuOmhvdmVyIHtcbiAgICAgICAgICAtLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIERhcmsgbW9kZSBzeW50YXggaGlnaGxpZ2h0aW5nICovXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uY29tbWVudCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5wcm9sb2csXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uZG9jdHlwZSxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jZGF0YSB7XG4gICAgICAgICAgY29sb3I6ICM4Yjk0OWU7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnB1bmN0dWF0aW9uIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ucHJvcGVydHksXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udGFnLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJvb2xlYW4sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ubnVtYmVyLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNvbnN0YW50LFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN5bWJvbCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5kZWxldGVkIHtcbiAgICAgICAgICBjb2xvcjogIzc5YzBmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uc2VsZWN0b3IsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXR0ci1uYW1lLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLnN0cmluZyxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5jaGFyLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmJ1aWx0aW4sXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uaW5zZXJ0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjN2VlNzg3O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5vcGVyYXRvcixcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5lbnRpdHksXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udXJsIHtcbiAgICAgICAgICBjb2xvcjogI2M5ZDFkOTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4uYXRydWxlLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmF0dHItdmFsdWUsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4ua2V5d29yZCB7XG4gICAgICAgICAgY29sb3I6ICNmZjdiNzI7XG4gICAgICAgIH1cblxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmZ1bmN0aW9uLFxuICAgICAgICAuZG9jcy1jb2RlLWV4YW1wbGVfX2NvZGUgLnRva2VuLmNsYXNzLW5hbWUge1xuICAgICAgICAgIGNvbG9yOiAjZDJhOGZmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5yZWdleCxcbiAgICAgICAgLmRvY3MtY29kZS1leGFtcGxlX19jb2RlIC50b2tlbi5pbXBvcnRhbnQsXG4gICAgICAgIC5kb2NzLWNvZGUtZXhhbXBsZV9fY29kZSAudG9rZW4udmFyaWFibGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZhNjU3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IERvY3NDb2RlRXhhbXBsZU1ldGFkYXRhID0geyB0YWJzOiBbXSB9O1xuXG4gIEBDb250ZW50Q2hpbGQoJ3ByZXZpZXcnKSBwcmV2aWV3VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwcm90ZWN0ZWQgYWN0aXZlVGFiID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgY29waWVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgY3VycmVudFRhYigpOiBEb2NzQ29kZVRhYiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudGFic1t0aGlzLmFjdGl2ZVRhYigpXSB8fCB7IGxhYmVsOiAnJywgY29kZTogJycsIGxhbmd1YWdlOiAndGV4dCcgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoaWdobGlnaHRlZENvZGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLmN1cnJlbnRUYWIoKTtcbiAgICBjb25zdCBsYW5nID0gdGhpcy5ub3JtYWxpemVMYW5ndWFnZSh0YWIubGFuZ3VhZ2UpO1xuICAgIGNvbnN0IGdyYW1tYXIgPSBQcmlzbS5sYW5ndWFnZXNbbGFuZ107XG5cbiAgICBpZiAoIWdyYW1tYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmVzY2FwZUh0bWwodGFiLmNvZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBQcmlzbS5oaWdobGlnaHQodGFiLmNvZGUsIGdyYW1tYXIsIGxhbmcpO1xuICB9XG5cbiAgYXN5bmMgY29weUNvZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29kZSA9IHRoaXMuY3VycmVudFRhYigpLmNvZGU7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGNvZGUpO1xuICAgICAgdGhpcy5jb3BpZWQuc2V0KHRydWUpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvcGllZC5zZXQoZmFsc2UpLCAyMDAwKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGNvZGU6JywgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWFzZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICB0czogJ3R5cGVzY3JpcHQnLFxuICAgICAganM6ICdqYXZhc2NyaXB0JyxcbiAgICAgIGh0bWw6ICdtYXJrdXAnLFxuICAgICAgeG1sOiAnbWFya3VwJyxcbiAgICAgIHNoOiAnYmFzaCcsXG4gICAgICBzaGVsbDogJ2Jhc2gnLFxuICAgIH07XG4gICAgcmV0dXJuIGFsaWFzZXNbbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKV0gfHwgbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXNjYXBlSHRtbCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH1cbn1cbiJdfQ==
|