valtech-components 4.0.1009 → 4.0.1011
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/emoji-rating/emoji-rating.component.mjs +3 -3
- package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +11 -5
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +462 -457
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -54,7 +54,7 @@ export class EmojiRatingComponent {
|
|
|
54
54
|
<p class="emoji-rating__hint">{{ props.hint }}</p>
|
|
55
55
|
}
|
|
56
56
|
</div>
|
|
57
|
-
`, isInline: true, styles: [".emoji-rating{display:flex;flex-direction:column;gap:8px}.emoji-rating__label{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000)}.emoji-rating__faces{display:flex;gap:8px;flex-wrap:wrap}.emoji-rating__face{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:999px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff));cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.emoji-rating__face:hover{transform:translateY(-1px)}.emoji-rating__face--selected{border-color:var(--ion-color-primary, #7026df);background:var(--ion-color-primary-tint, rgba(112, 38, 223, .12));transform:scale(1.08)}.emoji-rating--small .emoji-rating__face{font-size:1.125rem}.emoji-rating__hint{font-size:.
|
|
57
|
+
`, isInline: true, styles: [".emoji-rating{display:flex;flex-direction:column;gap:8px}.emoji-rating__label{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000)}.emoji-rating__faces{display:flex;gap:8px;flex-wrap:wrap}.emoji-rating__face{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:999px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff));cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.emoji-rating__face:hover{transform:translateY(-1px)}.emoji-rating__face--selected{border-color:var(--ion-color-primary, #7026df);background:var(--ion-color-primary-tint, rgba(112, 38, 223, .12));transform:scale(1.08)}.emoji-rating--small .emoji-rating__face{font-size:1.125rem}.emoji-rating__hint{font-size:.875rem;color:var(--ion-color-dark, var(--ion-text-color, #000));margin:0;line-height:1.4;opacity:.78}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmojiRatingComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
@@ -82,8 +82,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
82
82
|
<p class="emoji-rating__hint">{{ props.hint }}</p>
|
|
83
83
|
}
|
|
84
84
|
</div>
|
|
85
|
-
`, styles: [".emoji-rating{display:flex;flex-direction:column;gap:8px}.emoji-rating__label{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000)}.emoji-rating__faces{display:flex;gap:8px;flex-wrap:wrap}.emoji-rating__face{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:999px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff));cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.emoji-rating__face:hover{transform:translateY(-1px)}.emoji-rating__face--selected{border-color:var(--ion-color-primary, #7026df);background:var(--ion-color-primary-tint, rgba(112, 38, 223, .12));transform:scale(1.08)}.emoji-rating--small .emoji-rating__face{font-size:1.125rem}.emoji-rating__hint{font-size:.
|
|
85
|
+
`, styles: [".emoji-rating{display:flex;flex-direction:column;gap:8px}.emoji-rating__label{font-size:1rem;font-weight:600;color:var(--ion-text-color, #000)}.emoji-rating__faces{display:flex;gap:8px;flex-wrap:wrap}.emoji-rating__face{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:999px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));background:var(--ion-card-background, var(--ion-background-color, #fff));cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.emoji-rating__face:hover{transform:translateY(-1px)}.emoji-rating__face--selected{border-color:var(--ion-color-primary, #7026df);background:var(--ion-color-primary-tint, rgba(112, 38, 223, .12));transform:scale(1.08)}.emoji-rating--small .emoji-rating__face{font-size:1.125rem}.emoji-rating__hint{font-size:.875rem;color:var(--ion-color-dark, var(--ion-text-color, #000));margin:0;line-height:1.4;opacity:.78}\n"] }]
|
|
86
86
|
}], propDecorators: { props: [{
|
|
87
87
|
type: Input
|
|
88
88
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamktcmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9lbW9qaS1yYXRpbmcvZW1vamktcmF0aW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLDBCQUEwQixFQUF1QixNQUFNLFNBQVMsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBZ0NILE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSwwQkFBMEIsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckMsQ0FBQzsrR0FYVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix3R0EzQnJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQsaWlDQXpCUyxZQUFZLDhCQUFFLG1CQUFtQjs7NEZBNEJoQyxvQkFBb0I7a0JBL0JoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFDbEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDs4QkFJUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgREVGQVVMVF9FTU9KSV9SQVRJTkdfRkFDRVMsIEVtb2ppUmF0aW5nTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtZW1vamktcmF0aW5nXG4gKlxuICogRXNjYWxhIGNvcnRhIGRlIGNhbGlmaWNhY2nDs24gY29uIGVtb2ppICgzLTUgY2FyYXMpIOKAlCBlbCB0aXBvIGRlIHByZWd1bnRhXG4gKiBgRU1PSklfUkFUSU5HYCBkZSBgc2VydmljZXMvZm9ybXNgIChBRFItMDkyKS4gRXhpc3RlIGNvbW8gd2lkZ2V0IHByb3Bpb1xuICogcG9ycXVlIGVzdGUgdGlwbyBOTyBwYXNhIHBvciBlbCBgdmFsLWZvcm1gIGdlbsOpcmljbzogdW4gYEZpZWxkU2NoZW1hRGVmYFxuICogY29uIHVuIGB0eXBlYCBxdWUgYEZvcm1TY2hlbWFCdWlsZGVyU2VydmljZS5wYXJzZUlucHV0VHlwZWAgbm8gcmVjb25vY2UgY2FlXG4gKiBhIHRleHRvIHBsYW5vIGVuIHNpbGVuY2lvLCBxdWUgc2Vyw61hIGluY29ycmVjdG8gcGFyYSB1bmEgY2FsaWZpY2FjacOzbi5cbiAqXG4gKiBSYWRpby1saWtlOiB1bmEgc29sYSBjYXJhIHNlbGVjY2lvbmFkYSBhIGxhIHZlei4gRWwgdmFsb3IgcXVlIGd1YXJkYSBlc1xuICogYGZhY2UudmFsdWVgIChlai4gXCIxXCIuLlwiNVwiKSwgbm8gZWwgZW1vamkg4oCUIGVzIGxvIHF1ZVxuICogYEFnZ3JlZ2F0ZVJlc3BvbnNlc0J5VHlwZWAgY3VlbnRhIGVuIGVsIGRhc2hib2FyZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1lbW9qaS1yYXRpbmcgW3Byb3BzXT1cInsgY29udHJvbDogcmF0aW5nQ29udHJvbCwgbGFiZWw6ICfCv0PDs21vIGNhbGlmaWNhcsOtYXMgbGEgZXhwZXJpZW5jaWE/JyB9XCIgLz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWVtb2ppLXJhdGluZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1yYXRpbmdcIiBbY2xhc3MuZW1vamktcmF0aW5nLS1zbWFsbF09XCJwcm9wcy5zaXplID09PSAnc21hbGwnXCI+XG4gICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImVtb2ppLXJhdGluZ19fbGFiZWxcIj57eyBwcm9wcy5sYWJlbCB9fTwvbGFiZWw+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1vamktcmF0aW5nX19mYWNlc1wiIHJvbGU9XCJyYWRpb2dyb3VwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJwcm9wcy5sYWJlbCB8fCBudWxsXCI+XG4gICAgICAgIEBmb3IgKGZhY2Ugb2YgZmFjZXM7IHRyYWNrIGZhY2UudmFsdWUpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZW1vamktcmF0aW5nX19mYWNlXCJcbiAgICAgICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwicHJvcHMuY29udHJvbC52YWx1ZSA9PT0gZmFjZS52YWx1ZVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZhY2UuYXJpYUxhYmVsXCJcbiAgICAgICAgICAgIFtjbGFzcy5lbW9qaS1yYXRpbmdfX2ZhY2UtLXNlbGVjdGVkXT1cInByb3BzLmNvbnRyb2wudmFsdWUgPT09IGZhY2UudmFsdWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChmYWNlLnZhbHVlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgZmFjZS5lbW9qaSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKHByb3BzLmhpbnQpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJlbW9qaS1yYXRpbmdfX2hpbnRcIj57eyBwcm9wcy5oaW50IH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9lbW9qaS1yYXRpbmcuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRW1vamlSYXRpbmdDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wcyE6IEVtb2ppUmF0aW5nTWV0YWRhdGE7XG5cbiAgZ2V0IGZhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmZhY2VzID8/IERFRkFVTFRfRU1PSklfUkFUSU5HX0ZBQ0VTO1xuICB9XG5cbiAgc2VsZWN0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5wcm9wcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnByb3BzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -24,6 +24,7 @@ import { ButtonComponent } from '../../atoms/button/button.component';
|
|
|
24
24
|
import { EmptyStateComponent } from '../../molecules/empty-state/empty-state.component';
|
|
25
25
|
import { SURVEY_RESPONSE_I18N } from './survey-response.i18n';
|
|
26
26
|
import { FormComponent } from '../form/form.component';
|
|
27
|
+
import { SkeletonLayoutComponent } from '../skeleton-layout/skeleton-layout.component';
|
|
27
28
|
import * as i0 from "@angular/core";
|
|
28
29
|
const NAMESPACE = 'SurveyResponse';
|
|
29
30
|
/** Code del backend cuando la invitación de esa persona ya se respondió. */
|
|
@@ -392,7 +393,9 @@ export class SurveyResponseComponent {
|
|
|
392
393
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyResponseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
393
394
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SurveyResponseComponent, isStandalone: true, selector: "val-survey-response", inputs: { props: "props" }, outputs: { submitted: "submitted" }, viewQueries: [{ propertyName: "formComponent", first: true, predicate: FormComponent, descendants: true }], ngImport: i0, template: `
|
|
394
395
|
@if (loading()) {
|
|
395
|
-
<div class="survey-response__loading"
|
|
396
|
+
<div class="survey-response__loading">
|
|
397
|
+
<val-skeleton-layout [props]="{ preset: 'form', rows: 4, showAvatar: false }" />
|
|
398
|
+
</div>
|
|
396
399
|
} @else if (loadError()) {
|
|
397
400
|
<val-empty-state [props]="loadErrorState()" />
|
|
398
401
|
} @else if (alreadyAnswered()) {
|
|
@@ -472,7 +475,7 @@ export class SurveyResponseComponent {
|
|
|
472
475
|
}
|
|
473
476
|
}
|
|
474
477
|
}
|
|
475
|
-
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__steps{display:flex;gap:6px}.survey-response__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:999px;color:var(--ion-color-medium, #92949c);font-size:.8125rem;font-weight:700}.survey-response__step--active{border-color:var(--ion-color-primary);color:var(--ion-color-primary)}.survey-response__actions{display:flex;justify-content:flex-end;gap:8px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{
|
|
478
|
+
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__steps{display:flex;gap:6px}.survey-response__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:999px;color:var(--ion-color-medium, #92949c);font-size:.8125rem;font-weight:700}.survey-response__step--active{border-color:var(--ion-color-primary);color:var(--ion-color-primary)}.survey-response__actions{display:flex;justify-content:flex-end;gap:8px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }, { kind: "component", type: SkeletonLayoutComponent, selector: "val-skeleton-layout", inputs: ["props"] }] }); }
|
|
476
479
|
}
|
|
477
480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyResponseComponent, decorators: [{
|
|
478
481
|
type: Component,
|
|
@@ -492,9 +495,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
492
495
|
ButtonComponent,
|
|
493
496
|
EmptyStateComponent,
|
|
494
497
|
FormComponent,
|
|
498
|
+
SkeletonLayoutComponent,
|
|
495
499
|
], template: `
|
|
496
500
|
@if (loading()) {
|
|
497
|
-
<div class="survey-response__loading"
|
|
501
|
+
<div class="survey-response__loading">
|
|
502
|
+
<val-skeleton-layout [props]="{ preset: 'form', rows: 4, showAvatar: false }" />
|
|
503
|
+
</div>
|
|
498
504
|
} @else if (loadError()) {
|
|
499
505
|
<val-empty-state [props]="loadErrorState()" />
|
|
500
506
|
} @else if (alreadyAnswered()) {
|
|
@@ -574,7 +580,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
574
580
|
}
|
|
575
581
|
}
|
|
576
582
|
}
|
|
577
|
-
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__steps{display:flex;gap:6px}.survey-response__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:999px;color:var(--ion-color-medium, #92949c);font-size:.8125rem;font-weight:700}.survey-response__step--active{border-color:var(--ion-color-primary);color:var(--ion-color-primary)}.survey-response__actions{display:flex;justify-content:flex-end;gap:8px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{
|
|
583
|
+
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__success-note{margin:0;color:var(--ion-color-medium, #92949c);font-size:.95rem;font-weight:600}.survey-response__steps{display:flex;gap:6px}.survey-response__step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:999px;color:var(--ion-color-medium, #92949c);font-size:.8125rem;font-weight:700}.survey-response__step--active{border-color:var(--ion-color-primary);color:var(--ion-color-primary)}.survey-response__actions{display:flex;justify-content:flex-end;gap:8px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{display:block}\n"] }]
|
|
578
584
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
579
585
|
type: Input
|
|
580
586
|
}], submitted: [{
|
|
@@ -583,4 +589,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
583
589
|
type: ViewChild,
|
|
584
590
|
args: [FormComponent]
|
|
585
591
|
}] } });
|
|
586
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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ZCxZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0ZUO3dEQTRFUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ2EsU0FBUztzQkFBM0IsTUFBTTtnQkFDMkIsYUFBYTtzQkFBOUMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRTY2hlbWFEZWYsIEZJRUxEX1RZUEVfRU1PSklfUkFUSU5HLCBSZXF1ZXN0VHlwZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzJztcbmltcG9ydCB7IFZhbHRlY2hFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcbmltcG9ydCB7IGludGVycHJldEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL2ludGVycHJldC1lcnJvcic7XG5pbXBvcnQgeyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0YXJlYS1pbnB1dC90ZXh0YXJlYS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jaGVjay1pbnB1dC9jaGVjay1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1vamlSYXRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9lbW9qaS1yYXRpbmcvZW1vamktcmF0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dE9wdGlvbiwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtcHR5LXN0YXRlL3R5cGVzJztcbmltcG9ydCB7IFN1cnZleVJlc3BvbnNlTWV0YWRhdGEsIFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNVUlZFWV9SRVNQT05TRV9JMThOIH0gZnJvbSAnLi9zdXJ2ZXktcmVzcG9uc2UuaTE4bic7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlSZXNwb25zZSc7XG5cbi8qKiBDb2RlIGRlbCBiYWNrZW5kIGN1YW5kbyBsYSBpbnZpdGFjacOzbiBkZSBlc2EgcGVyc29uYSB5YSBzZSByZXNwb25kacOzLiAqL1xuY29uc3QgSU5WSVRFX1VTRURfQ09ERSA9ICdTVVJWRVlfSU5WSVRFX0FMUkVBRFlfVVNFRCc7XG5cbi8qKiBUaXBvcyBjdXlhIHJlc3B1ZXN0YSBlcyB1biBib29sZWFubywgbm8gdW4gdGV4dG8uICovXG5jb25zdCBCT09MRUFOX1RZUEVTID0gWydDSEVDSycsICdUT0dHTEUnXTtcbmNvbnN0IERFRkFVTFRfU1VDQ0VTU19JTUFHRSA9XG4gICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyIHZpZXdCb3g9JTIyMCAwIDMyMCAyMjAlMjIgcm9sZT0lMjJpbWclMjIgYXJpYS1sYWJlbD0lMjJTdWNjZXNzJTIyJTNFJTNDcmVjdCB3aWR0aD0lMjIzMjAlMjIgaGVpZ2h0PSUyMjIyMCUyMiByeD0lMjIzMiUyMiBmaWxsPSUyMiUyM2ZmZjVmYiUyMi8lM0UlM0NjaXJjbGUgY3g9JTIyMTYwJTIyIGN5PSUyMjk0JTIyIHI9JTIyNTYlMjIgZmlsbD0lMjIlMjNmOTAwYjIlMjIvJTNFJTNDcGF0aCBkPSUyMk0xMzIgOTQuNSAxNTMuNSAxMTYgMTkxIDc3JTIyIGZpbGw9JTIybm9uZSUyMiBzdHJva2U9JTIyJTIzZmZmJTIyIHN0cm9rZS13aWR0aD0lMjIxNCUyMiBzdHJva2UtbGluZWNhcD0lMjJyb3VuZCUyMiBzdHJva2UtbGluZWpvaW49JTIycm91bmQlMjIvJTNFJTNDcGF0aCBkPSUyMk05MiAxNjhoMTM2JTIyIHN0cm9rZT0lMjIlMjMyYjI4MzYlMjIgc3Ryb2tlLXdpZHRoPSUyMjEwJTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjE2JTIyLyUzRSUzQ3BhdGggZD0lMjJNMTE2IDE4N2g4OCUyMiBzdHJva2U9JTIyJTIzMmIyODM2JTIyIHN0cm9rZS13aWR0aD0lMjI4JTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjEyJTIyLyUzRSUzQy9zdmclM0UnO1xuXG4vKipcbiAqIHZhbC1zdXJ2ZXktcmVzcG9uc2VcbiAqXG4gKiBUb21hIHVuYSBlbmN1ZXN0YSAoYFJlcXVlc3RUeXBlQ29uZmlnYCBjb24gYFR5cGU6IFwic3VydmV5OjxzbHVnPlwiYCwgQURSLTA5MilcbiAqIHkgbGEgcHJlc2VudGEgY29tbyBmb3JtdWxhcmlvIGRlIHJlc3B1ZXN0YSDigJQgZWwgb3JnYW5pc20gcXVlIHVuIHZpc2l0YW50ZVxuICogdmUgYWwgYWJyaXIgZWwgbGluayBkZSB1bmEgZW5jdWVzdGEuIFNlbGYtY29udGFpbmVkLCBpZ3VhbCBxdWVcbiAqIGB2YWwtY29udGVudC1yZWFjdGlvbmAvYHZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3YDogbGVlIGVsIHRpcG8sIGFybWEgZWxcbiAqIGZvcm11bGFyaW8sIGVudsOtYSBsYSByZXNwdWVzdGEsIHNpbiBxdWUgZWwgY29uc3VtZXIgdGVuZ2EgcXVlIG9ycXVlc3RhclxuICogbmFkYSBkZSBlc28uXG4gKlxuICogU29sbyBsZWUgdGlwb3MgYHZpc2liaWxpdHk6ICdQVUJMSUMnYCAodsOtYSBgZ2V0UHVibGljUmVxdWVzdFR5cGVgLCBzaW5cbiAqIGF1dGgpIOKAlCBlcyBlbCBjYXNvIGRlIHVzbyBxdWUgZGVzY3JpYmUgZWwgQURSIChsaW5rIGVudmlhZG8gYSBjb21wcmFkb3JlcyxcbiAqIHF1ZSBwdWVkZW4gbm8gdGVuZXIgY3VlbnRhKS4gRW5jdWVzdGFzIEFVVEhFTlRJQ0FURUQvT1JHL0lOVEVSTkFMIGVzdMOhblxuICogZnVlcmEgZGUgYWxjYW5jZSBkZSBlc3RlIGNvbXBvbmVudGUgcG9yIGFob3JhLlxuICpcbiAqIENhZGEgcHJlZ3VudGEgc2UgcmVuZGVyaXphIHNlZ8O6biBzdSBgRmllbGRTY2hlbWFEZWYudHlwZWA6IGBFTU9KSV9SQVRJTkdgXG4gKiB1c2EgYHZhbC1lbW9qaS1yYXRpbmdgIChOVU5DQSBwYXNhIHBvciBgdmFsLWZvcm1gLCBubyBsbyBzYWJlIHJ1dGVhcik7XG4gKiBjdWFscXVpZXIgb3RybyB0aXBvICh2MTogc29sbyBgVEVYVEFSRUFgKSB1c2EgYHZhbC10ZXh0YXJlYS1pbnB1dGAuIE5vIGhheVxuICogYHZhbC1mb3JtYCBkZSBwb3IgbWVkaW8g4oCUIHVuIEZvcm1Hcm91cCBhcm1hZG8gYSBtYW5vLCBwb3JxdWUgbWV6Y2xhciB0aXBvc1xuICogY3VzdG9tIGNvbiBlbCBmb3JtIGdlbsOpcmljbyBlcyBtw6FzIGNvbXBsaWNhZG8gcXVlIGNvbnN0cnVpciBlbCBwcm9waW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zdXJ2ZXktcmVzcG9uc2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBSYWRpb0lucHV0Q29tcG9uZW50LFxuICAgIENoZWNrSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgRW1vamlSYXRpbmdDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fbG9hZGluZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxuICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJsb2FkRXJyb3JTdGF0ZSgpXCIgLz5cbiAgICB9IEBlbHNlIGlmIChhbHJlYWR5QW5zd2VyZWQoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwiYWxyZWFkeUFuc3dlcmVkU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoc2VudCgpKSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cInN1cnZleS1yZXNwb25zZSBzdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3NcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgQGlmIChzdWNjZXNzUHJlc2VudGF0aW9uKCk7IGFzIHN1Y2Nlc3MpIHtcbiAgICAgICAgICA8aW1nIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlXCIgW3NyY109XCJzdWNjZXNzLmltYWdlVXJsXCIgW2FsdF09XCJzdWNjZXNzLnRpdGxlXCIgLz5cbiAgICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogc3VjY2Vzcy50aXRsZSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgICAgICBAaWYgKHN1Y2Nlc3MubWVzc2FnZSkge1xuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBzdWNjZXNzLm1lc3NhZ2UsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxwIGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLW5vdGVcIj57eyBzdWNjZXNzLmNsb3NlTm90ZSB9fTwvcD5cbiAgICAgICAgfVxuICAgICAgPC9zZWN0aW9uPlxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICh0eXBlQ29uZmlnKCk7IGFzIGNmZykge1xuICAgICAgICBAaWYgKCFjYW5SZXNwb25kKCkpIHtcbiAgICAgICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJsb2dpblJlcXVpcmVkU3RhdGUoKVwiIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VcIj5cbiAgICAgICAgICAgIEBpZiAoY2ZnLnByZXNlbnRhdGlvbj8uaGVhZGVySW1hZ2VVcmwpIHtcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9faGVhZGVyLWltYWdlXCIgW3NyY109XCJjZmcucHJlc2VudGF0aW9uPy5oZWFkZXJJbWFnZVVybFwiIFthbHRdPVwiY2ZnLmxhYmVsXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiBjZmcubGFiZWwsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICAgICAgICBAaWYgKGNmZy5zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IGNmZy5zdWJ0aXRsZSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSBTb2xvIHNpIGVsIFRJUE8gbG8gZXhpZ2UgKHNraXBTdWJtaXR0ZXJJZGVudGl0eSBhdXNlbnRlL2ZhbHNlKS5cbiAgICAgICAgICAgICAgICAgVW5hIGVuY3Vlc3RhIGxvIHBvbmUgZW4gdHJ1ZSB5IGFjw6Egbm8gc2UgcGlkZSBuYWRhOiBzaSBlbFxuICAgICAgICAgICAgICAgICBmb3JtdWxhcmlvIGxvcyBleGlnaWVyYSBpZ3VhbCwgcXVlZGFyw61hbiByZXF1ZXJpZG9zIGVcbiAgICAgICAgICAgICAgICAgaW52aXNpYmxlcyB5IGVsIGVudsOtbyBzZSBibG9xdWVhcsOtYSBzaW4gbW90aXZvIGEgbGEgdmlzdGEuIC0tPlxuICAgICAgICAgICAgQGlmIChuZWVkc0lkZW50aXR5KCkpIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cInsgY29udHJvbDogbmFtZUNvbnRyb2wsIGxhYmVsOiB0KCduYW1lTGFiZWwnKSwgcGxhY2Vob2xkZXI6IHQoJ25hbWVQbGFjZWhvbGRlcicpIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8dmFsLXRleHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgY29udHJvbDogZW1haWxDb250cm9sLFxuICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlOiAnZW1haWwnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IHQoJ2VtYWlsTGFiZWwnKSxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0KCdlbWFpbFBsYWNlaG9sZGVyJyksXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoZm9ybVByb3BzKCk7IGFzIHByb3BzKSB7XG4gICAgICAgICAgICAgIEBpZiAoaGFzUmVzcG9uc2VTdGVwcygpKSB7XG4gICAgICAgICAgICAgICAgPG5hdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fc3RlcHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ3N0ZXBzTGFiZWwnKVwiPlxuICAgICAgICAgICAgICAgICAgQGZvciAoc2VjdGlvbiBvZiByZXNwb25zZVNlY3Rpb25zKCk7IHRyYWNrIHNlY3Rpb24ubmFtZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fc3RlcFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN1cnZleS1yZXNwb25zZV9fc3RlcC0tYWN0aXZlXT1cInJlc3BvbnNlU3RlcCgpID09PSBpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwicmVzcG9uc2VTdGVwKCkgPT09IGkgPyAnc3RlcCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8dmFsLWZvcm0gW3Byb3BzXT1cInByb3BzXCIgKG9uU3VibWl0KT1cInN1Ym1pdCgkZXZlbnQpXCIgKG9uSW52YWxpZCk9XCJtYXJrSW52YWxpZCgpXCIgLz5cbiAgICAgICAgICAgICAgQGlmIChoYXNSZXNwb25zZVN0ZXBzKCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXJlc3BvbnNlX19hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlc3BvbnNlU3RlcCgpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzcG9uc2VCYWNrUHJvcHMoKVwiIChvbkNsaWNrKT1cInByZXZpb3VzUmVzcG9uc2VTdGVwKClcIiAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmIChyZXNwb25zZVN0ZXAoKSA8IHJlc3BvbnNlU2VjdGlvbnMoKS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJyZXNwb25zZU5leHRQcm9wcygpXCIgKG9uQ2xpY2spPVwibmV4dFJlc3BvbnNlU3RlcCgpXCIgLz5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzcG9uc2VTdWJtaXRQcm9wcygpXCIgKG9uQ2xpY2spPVwic3VibWl0KClcIiAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9faGVhZGVyLWltYWdlLFxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXZhbC1yYWRpdXMtbWQsIDEycHgpO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3VjY2VzcyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3MtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1ub3RlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N0ZXBzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdGVwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMTIpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdGVwLS1hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2Vycm9yIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19oaW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2xvYWRpbmcge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlSZXNwb25zZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzITogU3VydmV5UmVzcG9uc2VNZXRhZGF0YTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHN1Ym1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VydmV5UmVzcG9uc2VTdWJtaXRFdmVudD4oKTtcbiAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KSBwcml2YXRlIGZvcm1Db21wb25lbnQ/OiBGb3JtQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdHMgPSBpbmplY3QoUmVxdWVzdFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9ycyA9IGluamVjdChWYWx0ZWNoRXJyb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2NoZW1hcyA9IGluamVjdChGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGVtb2ppVHlwZSA9IEZJRUxEX1RZUEVfRU1PSklfUkFUSU5HO1xuICByZWFkb25seSBzZWxlY3RUeXBlID0gSW5wdXRUeXBlLlNFTEVDVDtcblxuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICByZWFkb25seSBsb2FkRXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBzZW50ID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VuZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHR5cGVDb25maWcgPSBzaWduYWw8UmVxdWVzdFR5cGVDb25maWcgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgYWxyZWFkeUFuc3dlcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVzcG9uc2VTdGVwID0gc2lnbmFsKDApO1xuICByZWFkb25seSByZXNwb25zZVZhbHVlcyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe30pO1xuXG4gIHJlYWRvbmx5IG5hbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSBlbWFpbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHByaXZhdGUgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShOQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhOQU1FU1BBQ0UsIFNVUlZFWV9SRVNQT05TRV9JMThOKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2ZnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yZXF1ZXN0cy5nZXRQdWJsaWNSZXF1ZXN0VHlwZSh0aGlzLnByb3BzLnR5cGVJZCkpO1xuICAgICAgdGhpcy50eXBlQ29uZmlnLnNldChjZmcpO1xuICAgICAgdGhpcy5idWlsZENvbXBhdGliaWxpdHlGb3JtKGNmZyk7XG4gICAgICB0aGlzLmNvbmZpZ3VyZUlkZW50aXR5KGNmZyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmxvYWRFcnJvci5zZXQodHJ1ZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlSWRlbnRpdHkoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHlGb3IoY2ZnKSkge1xuICAgICAgLy8gc2V0VmFsaWRhdG9ycyBwb3Igc8OtIHNvbG8gbm8gcmVjYWxjdWxhIGVsIHN0YXR1cyBkZWwgY29udHJvbCDigJQgc2luIGVsXG4gICAgICAvLyB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkgZGUgYWwgbGFkbywgbmFtZS9lbWFpbCBxdWVkYWJhbiBWQUxJRCBoYXN0YVxuICAgICAgLy8gZWwgcHLDs3hpbW8gY2FtYmlvIGRlIHZhbG9yLCB5IHN1Ym1pdCgpIGRlamFiYSBwYXNhciB1biBlbnbDrW8gYW7Ds25pbW9cbiAgICAgIC8vIHNpbiBpZGVudGlkYWQuXG4gICAgICB0aGlzLm5hbWVDb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIHRoaXMubmFtZUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5lbWFpbENvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0pO1xuICAgICAgdGhpcy5lbWFpbENvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb21wYXRpYmlsaXR5Rm9ybShjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXA6IFJlY29yZDxzdHJpbmcsIEZvcm1Db250cm9sPiA9IHt9O1xuICAgIGZvciAoY29uc3QgcSBvZiB0aGlzLnN1cnZleVNjaGVtYUZvckZvcm0oY2ZnLmZpZWxkU2NoZW1hKSkge1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHEudHlwZSA9PT0gJ01VTFRJX1NFTEVDVF9TSU1QTEUnID8gW10gOiBxLnR5cGUgPT09ICdUT0dHTEUnID8gZmFsc2UgOiAnJztcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBxLnJlcXVpcmVkICYmIHEudHlwZSAhPT0gJ1RPR0dMRScgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gOiBbXTtcbiAgICAgIGdyb3VwW3EubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woaW5pdGlhbCwgdmFsaWRhdG9ycyk7XG4gICAgfVxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xuICB9XG5cbiAgcmVhZG9ubHkgZm9ybVByb3BzID0gY29tcHV0ZWQ8Rm9ybU1ldGFkYXRhIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMudHlwZUNvbmZpZygpO1xuICAgIGlmICghY2ZnKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU2NoZW1hcy5idWlsZEZvcm0oXG4gICAgICB0aGlzLnN1cnZleVNjaGVtYUZvckZvcm0oY2ZnLmZpZWxkU2NoZW1hKSxcbiAgICAgIE5BTUVTUEFDRSxcbiAgICAgICcnLFxuICAgICAgJ3N1Ym1pdCcsXG4gICAgICB0aGlzLnNlbmRpbmcoKSA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRURcbiAgICApO1xuICAgIGNvbnN0IHNlY3Rpb25zID0gdGhpcy5oYXNSZXNwb25zZVN0ZXBzKCkgPyBbdGhpcy5zZWN0aW9uV2l0aFN0b3JlZFZhbHVlcyh0aGlzLnJlc3BvbnNlU2VjdGlvbnMoKVt0aGlzLnJlc3BvbnNlU3RlcCgpXSldIDogZm9ybS5zZWN0aW9ucztcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZm9ybSxcbiAgICAgIHNlY3Rpb25zLFxuICAgICAgc2hvd0RpdmlkZXJzOiBmYWxzZSxcbiAgICAgIGZpZWxkU3BhY2luZzogMTYsXG4gICAgICBjb250cm9sbGVkOiB0aGlzLmhhc1Jlc3BvbnNlU3RlcHMoKSxcbiAgICB9O1xuICB9KTtcblxuICByZWFkb25seSByZXNwb25zZVNlY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMudHlwZUNvbmZpZygpO1xuICAgIGlmICghY2ZnKSByZXR1cm4gW107XG4gICAgcmV0dXJuIHRoaXMuZm9ybVNjaGVtYXMuYnVpbGRGb3JtKHRoaXMuc3VydmV5U2NoZW1hRm9yRm9ybShjZmcuZmllbGRTY2hlbWEpLCBOQU1FU1BBQ0UsICcnLCAnc3VibWl0Jykuc2VjdGlvbnM7XG4gIH0pO1xuXG4gIC8qKiBQcmVndW50YXMgb3JkZW5hZGFzLCBleHB1ZXN0YXMgcGFyYSB0ZXN0cy9ob3N0cyBxdWUgaW5zcGVjY2lvbmFuIGVsIHNjaGVtYSByZXN1ZWx0by4gKi9cbiAgcmVhZG9ubHkgcXVlc3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMudHlwZUNvbmZpZygpO1xuICAgIHJldHVybiBjZmcgPyBbLi4uY2ZnLmZpZWxkU2NoZW1hXS5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcikgOiBbXTtcbiAgfSk7XG5cbiAgaGFzUmVzcG9uc2VTdGVwcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZVNlY3Rpb25zKCkuZmlsdGVyKHNlY3Rpb24gPT4gISFzZWN0aW9uLm5hbWUpLmxlbmd0aCA+IDE7XG4gIH1cblxuICBwcml2YXRlIHNlY3Rpb25XaXRoU3RvcmVkVmFsdWVzKHNlY3Rpb246IEZvcm1NZXRhZGF0YVsnc2VjdGlvbnMnXVtudW1iZXJdKTogRm9ybU1ldGFkYXRhWydzZWN0aW9ucyddW251bWJlcl0ge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMucmVzcG9uc2VWYWx1ZXMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc2VjdGlvbixcbiAgICAgIGZpZWxkczogc2VjdGlvbi5maWVsZHMubWFwKGZpZWxkID0+ICh7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICB2YWx1ZTogT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlcywgZmllbGQubmFtZSkgPyB2YWx1ZXNbZmllbGQubmFtZV0gOiBmaWVsZC52YWx1ZSxcbiAgICAgIH0pKSxcbiAgICB9O1xuICB9XG5cbiAgcXVlc3Rpb25Db250cm9sKG5hbWU6IHN0cmluZyk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXQobmFtZSkgPz8gdGhpcy5mb3JtLmdldChuYW1lKSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBvcHRpb25zT2YocTogeyBvcHRpb25zPzogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IG9yZGVyPzogbnVtYmVyIH1bXSB9KTogSW5wdXRPcHRpb25bXSB7XG4gICAgcmV0dXJuIFsuLi4ocS5vcHRpb25zID8/IFtdKV1cbiAgICAgIC5tYXAoKG8sIGluZGV4KSA9PiAoeyBpZDogby5pZCwgbmFtZTogby5uYW1lLCBvcmRlcjogby5vcmRlciA/PyBpbmRleCB9KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gIH1cblxuICBpbnB1dFR5cGVPZih0eXBlOiBzdHJpbmcpOiAndGV4dCcgfCAnZW1haWwnIHwgJ251bWJlcicgfCAndGVsJyB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdFTUFJTCc6XG4gICAgICAgIHJldHVybiAnZW1haWwnO1xuICAgICAgY2FzZSAnTlVNQkVSJzpcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgY2FzZSAnUEhPTkUnOlxuICAgICAgICByZXR1cm4gJ3RlbCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3RleHQnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3VydmV5U2NoZW1hRm9yRm9ybShzY2hlbWE6IEZpZWxkU2NoZW1hRGVmW10pOiBGaWVsZFNjaGVtYURlZltdIHtcbiAgICByZXR1cm4gc2NoZW1hLm1hcChxID0+IHtcbiAgICAgIGlmIChxLnR5cGUgPT09ICdNVUxUSV9TRUxFQ1QnKSB7XG4gICAgICAgIHJldHVybiB7IC4uLnEsIHR5cGU6ICdNVUxUSV9TRUxFQ1RfU0lNUExFJywgdmFsdWU6IFtdIH07XG4gICAgICB9XG4gICAgICBpZiAoQk9PTEVBTl9UWVBFUy5pbmNsdWRlcyhxLnR5cGUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucSxcbiAgICAgICAgICB0eXBlOiAnVE9HR0xFJyxcbiAgICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgICAgdmFsaWRhdG9yczogKHEudmFsaWRhdG9ycyA/PyBbXSkuZmlsdGVyKHYgPT4gdiAhPT0gJ3JlcXVpcmVkJyksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gcTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBQdWVkZSByZXNwb25kZXIgc2luIHNlc2nDs24gc2kgZWwgdGlwbyBsbyBwZXJtaXRlOyBzaSBubywgaGFjZSBmYWx0YSBsb2dpbi4gKi9cbiAgcmVhZG9ubHkgY2FuUmVzcG9uZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gISF0aGlzLnR5cGVDb25maWcoKT8uYWxsb3dBbm9ueW1vdXM7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBFbCB0aXBvIHB1ZWRlIHNlZ3VpciBleGlnaWVuZG8gaWRlbnRpZGFkIGFsIGFuw7NuaW1vIChgc2tpcFN1Ym1pdHRlcklkZW50aXR5YFxuICAgKiBhdXNlbnRlIG8gZmFsc2UpOiBlcyBlbCBjYXNvIGRlIGxhcyBzb2xpY2l0dWRlcyBkZSBDaGVzZWQvT2toZWxpYSwgZG9uZGVcbiAgICogc2FiZXIgcXVpw6luIHBpZGnDsyBFUyBlbCBwdW50by4gVW5hIGVuY3Vlc3RhIHBvbmUgZWwgZmxhZyBlbiB0cnVlIHkgZW50b25jZXNcbiAgICogbm8gc2UgcGlkZSBuYWRhIOKAlCBzaSBsYSBvcmdhbml6YWNpw7NuIG5lY2VzaXRhIGVsIGNvcnJlbyBkZSBxdWllbiByZXNwb25kZSxcbiAgICogbG8gYWdyZWdhIGNvbW8gdW5hIFBSRUdVTlRBIGRlIHRpcG8gQ29ycmVvLiBFc28gZXMgY29uZmlndXJhY2nDs24gZGUgbGFcbiAgICogZW5jdWVzdGE7IGVsIGZvcm11bGFyaW8gbm8gY29icmEgcGVhamUgcG9yIHN1IGN1ZW50YS5cbiAgICovXG4gIG5lZWRzSWRlbnRpdHkoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAhdGhpcy50eXBlQ29uZmlnKCk/LnNraXBTdWJtaXR0ZXJJZGVudGl0eTtcbiAgfVxuXG4gIHByaXZhdGUgbmVlZHNJZGVudGl0eUZvcihjZmc6IFJlcXVlc3RUeXBlQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAhY2ZnLnNraXBTdWJtaXR0ZXJJZGVudGl0eTtcbiAgfVxuXG4gIHJlYWRvbmx5IHN1Ym1pdFN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuc2VuZGluZygpID8gJ1dPUktJTkcnIDogJ0VOQUJMRUQnKSk7XG5cbiAgcmVhZG9ubHkgbXVsdGlTZWxlY3RFcnJvciA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uQ29udHJvbE1lbW8gPSBuZXcgTWFwPHN0cmluZywgRm9ybUNvbnRyb2w8Ym9vbGVhbj4+KCk7XG5cbiAgb3B0aW9uQ29udHJvbChuYW1lOiBzdHJpbmcsIG9wdGlvbklkOiBzdHJpbmcpOiBGb3JtQ29udHJvbDxib29sZWFuPiB7XG4gICAgY29uc3Qga2V5ID0gYCR7bmFtZX06OiR7b3B0aW9uSWR9YDtcbiAgICBsZXQgY29udHJvbCA9IHRoaXMub3B0aW9uQ29udHJvbE1lbW8uZ2V0KGtleSk7XG4gICAgaWYgKGNvbnRyb2wpIHJldHVybiBjb250cm9sO1xuICAgIGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZmFsc2UsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHNlbGVjdGVkID0+IHtcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldChuYW1lKTtcbiAgICAgIGNvbnN0IGNvbXBhdGliaWxpdHlDb250cm9sID0gdGhpcy5mb3JtLmdldChuYW1lKTtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBBcnJheS5pc0FycmF5KGZvcm1Db250cm9sPy52YWx1ZSlcbiAgICAgICAgPyBmb3JtQ29udHJvbC52YWx1ZVxuICAgICAgICA6IEFycmF5LmlzQXJyYXkoY29tcGF0aWJpbGl0eUNvbnRyb2w/LnZhbHVlKVxuICAgICAgICAgID8gY29tcGF0aWJpbGl0eUNvbnRyb2wudmFsdWVcbiAgICAgICAgICA6IFtdO1xuICAgICAgY29uc3QgbmV4dCA9IHNlbGVjdGVkXG4gICAgICAgID8gWy4uLm5ldyBTZXQoWy4uLmN1cnJlbnQsIG9wdGlvbklkXSldXG4gICAgICAgIDogY3VycmVudC5maWx0ZXIoKGlkOiBzdHJpbmcpID0+IGlkICE9PSBvcHRpb25JZCk7XG4gICAgICBmb3JtQ29udHJvbD8uc2V0VmFsdWUobmV4dCk7XG4gICAgICBjb21wYXRpYmlsaXR5Q29udHJvbD8uc2V0VmFsdWUobmV4dCk7XG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb25Db250cm9sTWVtby5zZXQoa2V5LCBjb250cm9sKTtcbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxuXG4gIG1hcmtJbnZhbGlkKCk6IHZvaWQge1xuICAgIHRoaXMubXVsdGlTZWxlY3RFcnJvci5zZXQodHJ1ZSk7XG4gICAgdGhpcy5uYW1lQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5lbWFpbENvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgYXN5bmMgc3VibWl0KGV2ZW50PzogRm9ybVN1Ym1pdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnNlbmRpbmcoKSkgcmV0dXJuO1xuICAgIGNvbnN0IHN0ZXBwZWQgPSB0aGlzLmhhc1Jlc3BvbnNlU3RlcHMoKTtcbiAgICBpZiAoIWV2ZW50ICYmIHN0ZXBwZWQgJiYgIXRoaXMuZm9ybUNvbXBvbmVudD8udmFsaWRhdGUoKSkge1xuICAgICAgdGhpcy5tYXJrSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWV2ZW50ICYmICFzdGVwcGVkICYmIHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRGaWVsZHMgPSBldmVudD8uZmllbGRzID8/IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXRSYXdWYWx1ZSgpID8/IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIGNvbnN0IGZpZWxkcyA9IHN0ZXBwZWRcbiAgICAgID8ge1xuICAgICAgICAgIC4uLnRoaXMucmVzcG9uc2VWYWx1ZXMoKSxcbiAgICAgICAgICAuLi5jdXJyZW50RmllbGRzLFxuICAgICAgICB9XG4gICAgICA6IGN1cnJlbnRGaWVsZHM7XG4gICAgaWYgKCFldmVudCAmJiB0aGlzLmhhc01pc3NpbmdSZXF1aXJlZE11bHRpU2VsZWN0KGZpZWxkcykpIHtcbiAgICAgIHRoaXMubWFya0ludmFsaWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMubmVlZHNJZGVudGl0eSgpICYmICh0aGlzLm5hbWVDb250cm9sLmludmFsaWQgfHwgdGhpcy5lbWFpbENvbnRyb2wuaW52YWxpZCkpIHtcbiAgICAgIHRoaXMubmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5lbWFpbENvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VuZGluZy5zZXQodHJ1ZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHR5cGU6IGNmZy50eXBlSWQsXG4gICAgICB0aXRsZTogY2ZnLmxhYmVsLFxuICAgICAgZmllbGRzLFxuICAgICAgLi4uKHRoaXMucHJvcHMuaW52aXRlVG9rZW4gPyB7IGludml0ZVRva2VuOiB0aGlzLnByb3BzLmludml0ZVRva2VuIH0gOiB7fSksXG4gICAgICAuLi4odGhpcy5uZWVkc0lkZW50aXR5KClcbiAgICAgICAgPyB7IHN1Ym1pdHRlcjogeyBuYW1lOiB0aGlzLm5hbWVDb250cm9sLnZhbHVlLnRyaW0oKSwgZW1haWw6IHRoaXMuZW1haWxDb250cm9sLnZhbHVlLnRyaW0oKSB9IH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIGNvbnN0IGNhbGwkID0gdGhpcy5hdXRoLmlzQXV0aGVudGljYXRlZCgpXG4gICAgICA/IHRoaXMucmVxdWVzdHMuY3JlYXRlUmVxdWVzdChwYXlsb2FkKVxuICAgICAgOiB0aGlzLnJlcXVlc3RzLmNyZWF0ZUFub255bW91c1JlcXVlc3QocGF5bG9hZCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oY2FsbCQpO1xuICAgICAgdGhpcy5zZW5kaW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLnNlbnQuc2V0KHRydWUpO1xuICAgICAgdGhpcy5zdWJtaXR0ZWQuZW1pdCh7IHJlcXVlc3RJZDogcmVzLnJlcXVlc3RJZCB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgICAgLy8gVW5hIGludml0YWNpw7NuIHlhIHVzYWRhIG5vIGVzIHVuIGZhbGxvOiBlcyBsYSByZXNwdWVzdGEgY29ycmVjdGEgYWxcbiAgICAgIC8vIHNlZ3VuZG8gaW50ZW50by4gVW4gdG9hc3Qgcm9qbyBkZSBcIm5vIHB1ZGltb3MgZW52aWFyXCIgaGFyw61hIGNyZWVyIHF1ZVxuICAgICAgLy8gc2UgcGVyZGnDsyBsbyBxdWUgeWEgc2UgaGFiw61hIHJlc3BvbmRpZG8uXG4gICAgICBpZiAoaW50ZXJwcmV0RXJyb3IoZXJyKS5jb2RlID09PSBJTlZJVEVfVVNFRF9DT0RFKSB7XG4gICAgICAgIHRoaXMuYWxyZWFkeUFuc3dlcmVkLnNldCh0cnVlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAnc3VydmV5UmVzcG9uc2Uuc3VibWl0JyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzZW5kRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiBOQU1FU1BBQ0UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZXh0UmVzcG9uc2VTdGVwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mb3JtQ29tcG9uZW50Py52YWxpZGF0ZSgpKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucmVzcG9uc2VWYWx1ZXMudXBkYXRlKHZhbHVlcyA9PiAoeyAuLi52YWx1ZXMsIC4uLnRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXRSYXdWYWx1ZSgpIH0pKTtcbiAgICB0aGlzLnJlc3BvbnNlU3RlcC51cGRhdGUoc3RlcCA9PiBNYXRoLm1pbihzdGVwICsgMSwgdGhpcy5yZXNwb25zZVNlY3Rpb25zKCkubGVuZ3RoIC0gMSkpO1xuICB9XG5cbiAgcHJldmlvdXNSZXNwb25zZVN0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNwb25zZVZhbHVlcy51cGRhdGUodmFsdWVzID0+ICh7IC4uLnZhbHVlcywgLi4udGhpcy5mb3JtQ29tcG9uZW50Py5Gb3JtLmdldFJhd1ZhbHVlKCkgfSkpO1xuICAgIHRoaXMucmVzcG9uc2VTdGVwLnVwZGF0ZShzdGVwID0+IE1hdGgubWF4KHN0ZXAgLSAxLCAwKSk7XG4gIH1cblxuICByZXNwb25zZUJhY2tQcm9wcygpOiBCdXR0b25NZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuOiAnc3VydmV5LXJlc3BvbnNlLWJhY2snLFxuICAgICAgdGV4dDogdGhpcy50KCdwcmV2aW91cycpLFxuICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICAgIHNoYXBlOiAncm91bmQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfTtcbiAgfVxuXG4gIHJlc3BvbnNlTmV4dFByb3BzKCk6IEJ1dHRvbk1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW46ICdzdXJ2ZXktcmVzcG9uc2UtbmV4dCcsXG4gICAgICB0ZXh0OiB0aGlzLnQoJ25leHQnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgcmVzcG9uc2VTdWJtaXRQcm9wcygpOiBCdXR0b25NZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuOiAnc3VydmV5LXJlc3BvbnNlLXN1Ym1pdCcsXG4gICAgICB0ZXh0OiB0aGlzLnQoJ3N1Ym1pdCcpLFxuICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc3RhdGU6IHRoaXMuc2VuZGluZygpID8gQ29tcG9uZW50U3RhdGVzLldPUktJTkcgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNNaXNzaW5nUmVxdWlyZWRNdWx0aVNlbGVjdChmaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ucygpXG4gICAgICAuZmlsdGVyKHEgPT4gcS50eXBlID09PSAnTVVMVElfU0VMRUNUJyAmJiBxLnJlcXVpcmVkKVxuICAgICAgLnNvbWUocSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzID8gZmllbGRzW3EubmFtZV0gOiB0aGlzLmZvcm0uZ2V0KHEubmFtZSk/LnZhbHVlO1xuICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8ICF2YWx1ZS5sZW5ndGg7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdhbHJlYWR5VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnYWxyZWFkeUJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBzZW50U3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0aGlzLnQoJ3NlbnRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdzZW50Qm9keScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHN1Y2Nlc3NQcmVzZW50YXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgY29uc3QgdGl0bGUgPSBjZmc/LnByZXNlbnRhdGlvbj8uc3VjY2Vzc1RpdGxlPy50cmltKCkgfHwgdGhpcy50KCdzZW50VGl0bGUnKTtcbiAgICBjb25zdCBtZXNzYWdlID0gY2ZnPy5wcmVzZW50YXRpb24/LnN1Y2Nlc3NNZXNzYWdlPy50cmltKCkgfHwgdGhpcy50KCdzZW50Qm9keScpO1xuICAgIGNvbnN0IGltYWdlVXJsID0gY2ZnPy5wcmVzZW50YXRpb24/LnN1Y2Nlc3NJbWFnZVVybD8udHJpbSgpIHx8IERFRkFVTFRfU1VDQ0VTU19JTUFHRTtcbiAgICByZXR1cm4geyB0aXRsZSwgbWVzc2FnZSwgaW1hZ2VVcmwsIGNsb3NlTm90ZTogdGhpcy50KCdzZW50Q2xvc2VOb3RlJykgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbG9hZEVycm9yU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvYWRFcnJvclRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2xvYWRFcnJvckJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBsb2dpblJlcXVpcmVkU3RhdGUgPSBjb21wdXRlZDxFbXB0eVN0YXRlTWV0YWRhdGE+KCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB7IHZhcmlhbnQ6ICdlcnJvcicsIHRpdGxlOiB0aGlzLnQoJ2xvZ2luUmVxdWlyZWRUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdsb2dpblJlcXVpcmVkQm9keScpIH07XG4gIH0pO1xuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIE5BTUVTUEFDRSk7XG4gIH1cbn1cbiJdfQ==
|
|
592
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc3VydmV5LXJlc3BvbnNlL3N1cnZleS1yZXNwb25zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFrQix1QkFBdUIsRUFBcUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlE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QUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYix1QkFBdUI7cUJBQ3hCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9GVDt3REE0RVEsS0FBSztzQkFBYixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLE1BQU07Z0JBQzJCLGFBQWE7c0JBQTlDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmVxdWVzdHMvcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkU2NoZW1hRGVmLCBGSUVMRF9UWVBFX0VNT0pJX1JBVElORywgUmVxdWVzdFR5cGVDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0cy90eXBlcyc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Vycm9ycy9pbnRlcnByZXQtZXJyb3InO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dGFyZWEtaW5wdXQvdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtb2ppUmF0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZW1vamktcmF0aW5nL2Vtb2ppLXJhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcywgSW5wdXRNZXRhZGF0YSwgSW5wdXRPcHRpb24sIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9lbXB0eS1zdGF0ZS90eXBlcyc7XG5pbXBvcnQgeyBTdXJ2ZXlSZXNwb25zZU1ldGFkYXRhLCBTdXJ2ZXlSZXNwb25zZVN1Ym1pdEV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBTVVJWRVlfUkVTUE9OU0VfSTE4TiB9IGZyb20gJy4vc3VydmV5LXJlc3BvbnNlLmkxOG4nO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25MYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9za2VsZXRvbi1sYXlvdXQvc2tlbGV0b24tbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdTdXJ2ZXlSZXNwb25zZSc7XG5cbi8qKiBDb2RlIGRlbCBiYWNrZW5kIGN1YW5kbyBsYSBpbnZpdGFjacOzbiBkZSBlc2EgcGVyc29uYSB5YSBzZSByZXNwb25kacOzLiAqL1xuY29uc3QgSU5WSVRFX1VTRURfQ09ERSA9ICdTVVJWRVlfSU5WSVRFX0FMUkVBRFlfVVNFRCc7XG5cbi8qKiBUaXBvcyBjdXlhIHJlc3B1ZXN0YSBlcyB1biBib29sZWFubywgbm8gdW4gdGV4dG8uICovXG5jb25zdCBCT09MRUFOX1RZUEVTID0gWydDSEVDSycsICdUT0dHTEUnXTtcbmNvbnN0IERFRkFVTFRfU1VDQ0VTU19JTUFHRSA9XG4gICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyIHZpZXdCb3g9JTIyMCAwIDMyMCAyMjAlMjIgcm9sZT0lMjJpbWclMjIgYXJpYS1sYWJlbD0lMjJTdWNjZXNzJTIyJTNFJTNDcmVjdCB3aWR0aD0lMjIzMjAlMjIgaGVpZ2h0PSUyMjIyMCUyMiByeD0lMjIzMiUyMiBmaWxsPSUyMiUyM2ZmZjVmYiUyMi8lM0UlM0NjaXJjbGUgY3g9JTIyMTYwJTIyIGN5PSUyMjk0JTIyIHI9JTIyNTYlMjIgZmlsbD0lMjIlMjNmOTAwYjIlMjIvJTNFJTNDcGF0aCBkPSUyMk0xMzIgOTQuNSAxNTMuNSAxMTYgMTkxIDc3JTIyIGZpbGw9JTIybm9uZSUyMiBzdHJva2U9JTIyJTIzZmZmJTIyIHN0cm9rZS13aWR0aD0lMjIxNCUyMiBzdHJva2UtbGluZWNhcD0lMjJyb3VuZCUyMiBzdHJva2UtbGluZWpvaW49JTIycm91bmQlMjIvJTNFJTNDcGF0aCBkPSUyMk05MiAxNjhoMTM2JTIyIHN0cm9rZT0lMjIlMjMyYjI4MzYlMjIgc3Ryb2tlLXdpZHRoPSUyMjEwJTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjE2JTIyLyUzRSUzQ3BhdGggZD0lMjJNMTE2IDE4N2g4OCUyMiBzdHJva2U9JTIyJTIzMmIyODM2JTIyIHN0cm9rZS13aWR0aD0lMjI4JTIyIHN0cm9rZS1saW5lY2FwPSUyMnJvdW5kJTIyIG9wYWNpdHk9JTIyLjEyJTIyLyUzRSUzQy9zdmclM0UnO1xuXG4vKipcbiAqIHZhbC1zdXJ2ZXktcmVzcG9uc2VcbiAqXG4gKiBUb21hIHVuYSBlbmN1ZXN0YSAoYFJlcXVlc3RUeXBlQ29uZmlnYCBjb24gYFR5cGU6IFwic3VydmV5OjxzbHVnPlwiYCwgQURSLTA5MilcbiAqIHkgbGEgcHJlc2VudGEgY29tbyBmb3JtdWxhcmlvIGRlIHJlc3B1ZXN0YSDigJQgZWwgb3JnYW5pc20gcXVlIHVuIHZpc2l0YW50ZVxuICogdmUgYWwgYWJyaXIgZWwgbGluayBkZSB1bmEgZW5jdWVzdGEuIFNlbGYtY29udGFpbmVkLCBpZ3VhbCBxdWVcbiAqIGB2YWwtY29udGVudC1yZWFjdGlvbmAvYHZhbC1hY2Nlc3MtcmVxdWVzdC12aWV3YDogbGVlIGVsIHRpcG8sIGFybWEgZWxcbiAqIGZvcm11bGFyaW8sIGVudsOtYSBsYSByZXNwdWVzdGEsIHNpbiBxdWUgZWwgY29uc3VtZXIgdGVuZ2EgcXVlIG9ycXVlc3RhclxuICogbmFkYSBkZSBlc28uXG4gKlxuICogU29sbyBsZWUgdGlwb3MgYHZpc2liaWxpdHk6ICdQVUJMSUMnYCAodsOtYSBgZ2V0UHVibGljUmVxdWVzdFR5cGVgLCBzaW5cbiAqIGF1dGgpIOKAlCBlcyBlbCBjYXNvIGRlIHVzbyBxdWUgZGVzY3JpYmUgZWwgQURSIChsaW5rIGVudmlhZG8gYSBjb21wcmFkb3JlcyxcbiAqIHF1ZSBwdWVkZW4gbm8gdGVuZXIgY3VlbnRhKS4gRW5jdWVzdGFzIEFVVEhFTlRJQ0FURUQvT1JHL0lOVEVSTkFMIGVzdMOhblxuICogZnVlcmEgZGUgYWxjYW5jZSBkZSBlc3RlIGNvbXBvbmVudGUgcG9yIGFob3JhLlxuICpcbiAqIENhZGEgcHJlZ3VudGEgc2UgcmVuZGVyaXphIHNlZ8O6biBzdSBgRmllbGRTY2hlbWFEZWYudHlwZWA6IGBFTU9KSV9SQVRJTkdgXG4gKiB1c2EgYHZhbC1lbW9qaS1yYXRpbmdgIChOVU5DQSBwYXNhIHBvciBgdmFsLWZvcm1gLCBubyBsbyBzYWJlIHJ1dGVhcik7XG4gKiBjdWFscXVpZXIgb3RybyB0aXBvICh2MTogc29sbyBgVEVYVEFSRUFgKSB1c2EgYHZhbC10ZXh0YXJlYS1pbnB1dGAuIE5vIGhheVxuICogYHZhbC1mb3JtYCBkZSBwb3IgbWVkaW8g4oCUIHVuIEZvcm1Hcm91cCBhcm1hZG8gYSBtYW5vLCBwb3JxdWUgbWV6Y2xhciB0aXBvc1xuICogY3VzdG9tIGNvbiBlbCBmb3JtIGdlbsOpcmljbyBlcyBtw6FzIGNvbXBsaWNhZG8gcXVlIGNvbnN0cnVpciBlbCBwcm9waW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zdXJ2ZXktcmVzcG9uc2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBSYWRpb0lucHV0Q29tcG9uZW50LFxuICAgIENoZWNrSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgRW1vamlSYXRpbmdDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBTa2VsZXRvbkxheW91dENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fbG9hZGluZ1wiPlxuICAgICAgICA8dmFsLXNrZWxldG9uLWxheW91dCBbcHJvcHNdPVwieyBwcmVzZXQ6ICdmb3JtJywgcm93czogNCwgc2hvd0F2YXRhcjogZmFsc2UgfVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIGlmIChsb2FkRXJyb3IoKSkge1xuICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9hZEVycm9yU3RhdGUoKVwiIC8+XG4gICAgfSBAZWxzZSBpZiAoYWxyZWFkeUFuc3dlcmVkKCkpIHtcbiAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cImFscmVhZHlBbnN3ZXJlZFN0YXRlKClcIiAvPlxuICAgIH0gQGVsc2UgaWYgKHNlbnQoKSkge1xuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2Ugc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIEBpZiAoc3VjY2Vzc1ByZXNlbnRhdGlvbigpOyBhcyBzdWNjZXNzKSB7XG4gICAgICAgICAgPGltZyBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1pbWFnZVwiIFtzcmNdPVwic3VjY2Vzcy5pbWFnZVVybFwiIFthbHRdPVwic3VjY2Vzcy50aXRsZVwiIC8+XG4gICAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHN1Y2Nlc3MudGl0bGUsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycgfVwiIC8+XG4gICAgICAgICAgQGlmIChzdWNjZXNzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogc3VjY2Vzcy5tZXNzYWdlLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8cCBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fc3VjY2Vzcy1ub3RlXCI+e3sgc3VjY2Vzcy5jbG9zZU5vdGUgfX08L3A+XG4gICAgICAgIH1cbiAgICAgIDwvc2VjdGlvbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAodHlwZUNvbmZpZygpOyBhcyBjZmcpIHtcbiAgICAgICAgQGlmICghY2FuUmVzcG9uZCgpKSB7XG4gICAgICAgICAgPHZhbC1lbXB0eS1zdGF0ZSBbcHJvcHNdPVwibG9naW5SZXF1aXJlZFN0YXRlKClcIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmV5LXJlc3BvbnNlXCI+XG4gICAgICAgICAgICBAaWYgKGNmZy5wcmVzZW50YXRpb24/LmhlYWRlckltYWdlVXJsKSB7XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX2hlYWRlci1pbWFnZVwiIFtzcmNdPVwiY2ZnLnByZXNlbnRhdGlvbj8uaGVhZGVySW1hZ2VVcmxcIiBbYWx0XT1cImNmZy5sYWJlbFwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgY29udGVudDogY2ZnLmxhYmVsLCBzaXplOiAnc21hbGwnLCBjb2xvcjogJ2RhcmsnIH1cIiAvPlxuICAgICAgICAgICAgQGlmIChjZmcuc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBjZmcuc3VidGl0bGUsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0gU29sbyBzaSBlbCBUSVBPIGxvIGV4aWdlIChza2lwU3VibWl0dGVySWRlbnRpdHkgYXVzZW50ZS9mYWxzZSkuXG4gICAgICAgICAgICAgICAgIFVuYSBlbmN1ZXN0YSBsbyBwb25lIGVuIHRydWUgeSBhY8OhIG5vIHNlIHBpZGUgbmFkYTogc2kgZWxcbiAgICAgICAgICAgICAgICAgZm9ybXVsYXJpbyBsb3MgZXhpZ2llcmEgaWd1YWwsIHF1ZWRhcsOtYW4gcmVxdWVyaWRvcyBlXG4gICAgICAgICAgICAgICAgIGludmlzaWJsZXMgeSBlbCBlbnbDrW8gc2UgYmxvcXVlYXLDrWEgc2luIG1vdGl2byBhIGxhIHZpc3RhLiAtLT5cbiAgICAgICAgICAgIEBpZiAobmVlZHNJZGVudGl0eSgpKSB7XG4gICAgICAgICAgICAgIDx2YWwtdGV4dC1pbnB1dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7IGNvbnRyb2w6IG5hbWVDb250cm9sLCBsYWJlbDogdCgnbmFtZUxhYmVsJyksIHBsYWNlaG9sZGVyOiB0KCduYW1lUGxhY2Vob2xkZXInKSB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGVtYWlsQ29udHJvbCxcbiAgICAgICAgICAgICAgICAgIGlucHV0VHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB0KCdlbWFpbExhYmVsJyksXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogdCgnZW1haWxQbGFjZWhvbGRlcicpLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGZvcm1Qcm9wcygpOyBhcyBwcm9wcykge1xuICAgICAgICAgICAgICBAaWYgKGhhc1Jlc3BvbnNlU3RlcHMoKSkge1xuICAgICAgICAgICAgICAgIDxuYXYgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX3N0ZXBzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdzdGVwc0xhYmVsJylcIj5cbiAgICAgICAgICAgICAgICAgIEBmb3IgKHNlY3Rpb24gb2YgcmVzcG9uc2VTZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLm5hbWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXJ2ZXktcmVzcG9uc2VfX3N0ZXBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zdXJ2ZXktcmVzcG9uc2VfX3N0ZXAtLWFjdGl2ZV09XCJyZXNwb25zZVN0ZXAoKSA9PT0gaVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInJlc3BvbnNlU3RlcCgpID09PSBpID8gJ3N0ZXAnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHZhbC1mb3JtIFtwcm9wc109XCJwcm9wc1wiIChvblN1Ym1pdCk9XCJzdWJtaXQoJGV2ZW50KVwiIChvbkludmFsaWQpPVwibWFya0ludmFsaWQoKVwiIC8+XG4gICAgICAgICAgICAgIEBpZiAoaGFzUmVzcG9uc2VTdGVwcygpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1yZXNwb25zZV9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgQGlmIChyZXNwb25zZVN0ZXAoKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInJlc3BvbnNlQmFja1Byb3BzKClcIiAob25DbGljayk9XCJwcmV2aW91c1Jlc3BvbnNlU3RlcCgpXCIgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBpZiAocmVzcG9uc2VTdGVwKCkgPCByZXNwb25zZVNlY3Rpb25zKCkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzcG9uc2VOZXh0UHJvcHMoKVwiIChvbkNsaWNrKT1cIm5leHRSZXNwb25zZVN0ZXAoKVwiIC8+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInJlc3BvbnNlU3VibWl0UHJvcHMoKVwiIChvbkNsaWNrKT1cInN1Ym1pdCgpXCIgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX2hlYWRlci1pbWFnZSxcbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3MtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS12YWwtcmFkaXVzLW1kLCAxMnB4KTtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3Mge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdWNjZXNzLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgIH1cbiAgICAgIC5zdXJ2ZXktcmVzcG9uc2VfX3N1Y2Nlc3Mtbm90ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19zdGVwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3RlcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjEyKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9fc3RlcC0tYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgLnN1cnZleS1yZXNwb25zZV9faGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuc3VydmV5LXJlc3BvbnNlX19sb2FkaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VydmV5UmVzcG9uc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wcyE6IFN1cnZleVJlc3BvbnNlTWV0YWRhdGE7XG4gIEBPdXRwdXQoKSByZWFkb25seSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleVJlc3BvbnNlU3VibWl0RXZlbnQ+KCk7XG4gIEBWaWV3Q2hpbGQoRm9ybUNvbXBvbmVudCkgcHJpdmF0ZSBmb3JtQ29tcG9uZW50PzogRm9ybUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RzID0gaW5qZWN0KFJlcXVlc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBlbW9qaVR5cGUgPSBGSUVMRF9UWVBFX0VNT0pJX1JBVElORztcbiAgcmVhZG9ubHkgc2VsZWN0VHlwZSA9IElucHV0VHlwZS5TRUxFQ1Q7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VudCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlbmRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSB0eXBlQ29uZmlnID0gc2lnbmFsPFJlcXVlc3RUeXBlQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFscmVhZHlBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IHJlc3BvbnNlU3RlcCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgcmVzcG9uc2VWYWx1ZXMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+KHt9KTtcblxuICByZWFkb25seSBuYW1lQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgZW1haWxDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICBwcml2YXRlIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoTkFNRVNQQUNFKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoTkFNRVNQQUNFLCBTVVJWRVlfUkVTUE9OU0VfSTE4Tik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNmZyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmVxdWVzdHMuZ2V0UHVibGljUmVxdWVzdFR5cGUodGhpcy5wcm9wcy50eXBlSWQpKTtcbiAgICAgIHRoaXMudHlwZUNvbmZpZy5zZXQoY2ZnKTtcbiAgICAgIHRoaXMuYnVpbGRDb21wYXRpYmlsaXR5Rm9ybShjZmcpO1xuICAgICAgdGhpcy5jb25maWd1cmVJZGVudGl0eShjZmcpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5sb2FkRXJyb3Iuc2V0KHRydWUpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZUlkZW50aXR5KGNmZzogUmVxdWVzdFR5cGVDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uZWVkc0lkZW50aXR5Rm9yKGNmZykpIHtcbiAgICAgIC8vIHNldFZhbGlkYXRvcnMgcG9yIHPDrSBzb2xvIG5vIHJlY2FsY3VsYSBlbCBzdGF0dXMgZGVsIGNvbnRyb2wg4oCUIHNpbiBlbFxuICAgICAgLy8gdXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpIGRlIGFsIGxhZG8sIG5hbWUvZW1haWwgcXVlZGFiYW4gVkFMSUQgaGFzdGFcbiAgICAgIC8vIGVsIHByw7N4aW1vIGNhbWJpbyBkZSB2YWxvciwgeSBzdWJtaXQoKSBkZWphYmEgcGFzYXIgdW4gZW52w61vIGFuw7NuaW1vXG4gICAgICAvLyBzaW4gaWRlbnRpZGFkLlxuICAgICAgdGhpcy5uYW1lQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICB0aGlzLm5hbWVDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ29tcGF0aWJpbGl0eUZvcm0oY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGdyb3VwOiBSZWNvcmQ8c3RyaW5nLCBGb3JtQ29udHJvbD4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHEgb2YgdGhpcy5zdXJ2ZXlTY2hlbWFGb3JGb3JtKGNmZy5maWVsZFNjaGVtYSkpIHtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSBxLnR5cGUgPT09ICdNVUxUSV9TRUxFQ1RfU0lNUExFJyA/IFtdIDogcS50eXBlID09PSAnVE9HR0xFJyA/IGZhbHNlIDogJyc7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gcS5yZXF1aXJlZCAmJiBxLnR5cGUgIT09ICdUT0dHTEUnID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG4gICAgICBncm91cFtxLm5hbWVdID0gbmV3IEZvcm1Db250cm9sKGluaXRpYWwsIHZhbGlkYXRvcnMpO1xuICAgIH1cbiAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKGdyb3VwKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGZvcm1Qcm9wcyA9IGNvbXB1dGVkPEZvcm1NZXRhZGF0YSB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVNjaGVtYXMuYnVpbGRGb3JtKFxuICAgICAgdGhpcy5zdXJ2ZXlTY2hlbWFGb3JGb3JtKGNmZy5maWVsZFNjaGVtYSksXG4gICAgICBOQU1FU1BBQ0UsXG4gICAgICAnJyxcbiAgICAgICdzdWJtaXQnLFxuICAgICAgdGhpcy5zZW5kaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuV09SS0lORyA6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEXG4gICAgKTtcbiAgICBjb25zdCBzZWN0aW9ucyA9IHRoaXMuaGFzUmVzcG9uc2VTdGVwcygpID8gW3RoaXMuc2VjdGlvbldpdGhTdG9yZWRWYWx1ZXModGhpcy5yZXNwb25zZVNlY3Rpb25zKClbdGhpcy5yZXNwb25zZVN0ZXAoKV0pXSA6IGZvcm0uc2VjdGlvbnM7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZvcm0sXG4gICAgICBzZWN0aW9ucyxcbiAgICAgIHNob3dEaXZpZGVyczogZmFsc2UsXG4gICAgICBmaWVsZFNwYWNpbmc6IDE2LFxuICAgICAgY29udHJvbGxlZDogdGhpcy5oYXNSZXNwb25zZVN0ZXBzKCksXG4gICAgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcmVzcG9uc2VTZWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICBpZiAoIWNmZykgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLmZvcm1TY2hlbWFzLmJ1aWxkRm9ybSh0aGlzLnN1cnZleVNjaGVtYUZvckZvcm0oY2ZnLmZpZWxkU2NoZW1hKSwgTkFNRVNQQUNFLCAnJywgJ3N1Ym1pdCcpLnNlY3Rpb25zO1xuICB9KTtcblxuICAvKiogUHJlZ3VudGFzIG9yZGVuYWRhcywgZXhwdWVzdGFzIHBhcmEgdGVzdHMvaG9zdHMgcXVlIGluc3BlY2Npb25hbiBlbCBzY2hlbWEgcmVzdWVsdG8uICovXG4gIHJlYWRvbmx5IHF1ZXN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLnR5cGVDb25maWcoKTtcbiAgICByZXR1cm4gY2ZnID8gWy4uLmNmZy5maWVsZFNjaGVtYV0uc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpIDogW107XG4gIH0pO1xuXG4gIGhhc1Jlc3BvbnNlU3RlcHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2VTZWN0aW9ucygpLmZpbHRlcihzZWN0aW9uID0+ICEhc2VjdGlvbi5uYW1lKS5sZW5ndGggPiAxO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWN0aW9uV2l0aFN0b3JlZFZhbHVlcyhzZWN0aW9uOiBGb3JtTWV0YWRhdGFbJ3NlY3Rpb25zJ11bbnVtYmVyXSk6IEZvcm1NZXRhZGF0YVsnc2VjdGlvbnMnXVtudW1iZXJdIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnJlc3BvbnNlVmFsdWVzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNlY3Rpb24sXG4gICAgICBmaWVsZHM6IHNlY3Rpb24uZmllbGRzLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgdmFsdWU6IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZXMsIGZpZWxkLm5hbWUpID8gdmFsdWVzW2ZpZWxkLm5hbWVdIDogZmllbGQudmFsdWUsXG4gICAgICB9KSksXG4gICAgfTtcbiAgfVxuXG4gIHF1ZXN0aW9uQ29udHJvbChuYW1lOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0KG5hbWUpID8/IHRoaXMuZm9ybS5nZXQobmFtZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgb3B0aW9uc09mKHE6IHsgb3B0aW9ucz86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBvcmRlcj86IG51bWJlciB9W10gfSk6IElucHV0T3B0aW9uW10ge1xuICAgIHJldHVybiBbLi4uKHEub3B0aW9ucyA/PyBbXSldXG4gICAgICAubWFwKChvLCBpbmRleCkgPT4gKHsgaWQ6IG8uaWQsIG5hbWU6IG8ubmFtZSwgb3JkZXI6IG8ub3JkZXIgPz8gaW5kZXggfSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICB9XG5cbiAgaW5wdXRUeXBlT2YodHlwZTogc3RyaW5nKTogJ3RleHQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnRU1BSUwnOlxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcbiAgICAgIGNhc2UgJ05VTUJFUic6XG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgIGNhc2UgJ1BIT05FJzpcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1cnZleVNjaGVtYUZvckZvcm0oc2NoZW1hOiBGaWVsZFNjaGVtYURlZltdKTogRmllbGRTY2hlbWFEZWZbXSB7XG4gICAgcmV0dXJuIHNjaGVtYS5tYXAocSA9PiB7XG4gICAgICBpZiAocS50eXBlID09PSAnTVVMVElfU0VMRUNUJykge1xuICAgICAgICByZXR1cm4geyAuLi5xLCB0eXBlOiAnTVVMVElfU0VMRUNUX1NJTVBMRScsIHZhbHVlOiBbXSB9O1xuICAgICAgfVxuICAgICAgaWYgKEJPT0xFQU5fVFlQRVMuaW5jbHVkZXMocS50eXBlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnEsXG4gICAgICAgICAgdHlwZTogJ1RPR0dMRScsXG4gICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6IChxLnZhbGlkYXRvcnMgPz8gW10pLmZpbHRlcih2ID0+IHYgIT09ICdyZXF1aXJlZCcpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHE7XG4gICAgfSk7XG4gIH1cblxuICAvKiogUHVlZGUgcmVzcG9uZGVyIHNpbiBzZXNpw7NuIHNpIGVsIHRpcG8gbG8gcGVybWl0ZTsgc2kgbm8sIGhhY2UgZmFsdGEgbG9naW4uICovXG4gIHJlYWRvbmx5IGNhblJlc3BvbmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuICEhdGhpcy50eXBlQ29uZmlnKCk/LmFsbG93QW5vbnltb3VzO1xuICB9KTtcblxuICAvKipcbiAgICogRWwgdGlwbyBwdWVkZSBzZWd1aXIgZXhpZ2llbmRvIGlkZW50aWRhZCBhbCBhbsOzbmltbyAoYHNraXBTdWJtaXR0ZXJJZGVudGl0eWBcbiAgICogYXVzZW50ZSBvIGZhbHNlKTogZXMgZWwgY2FzbyBkZSBsYXMgc29saWNpdHVkZXMgZGUgQ2hlc2VkL09raGVsaWEsIGRvbmRlXG4gICAqIHNhYmVyIHF1acOpbiBwaWRpw7MgRVMgZWwgcHVudG8uIFVuYSBlbmN1ZXN0YSBwb25lIGVsIGZsYWcgZW4gdHJ1ZSB5IGVudG9uY2VzXG4gICAqIG5vIHNlIHBpZGUgbmFkYSDigJQgc2kgbGEgb3JnYW5pemFjacOzbiBuZWNlc2l0YSBlbCBjb3JyZW8gZGUgcXVpZW4gcmVzcG9uZGUsXG4gICAqIGxvIGFncmVnYSBjb21vIHVuYSBQUkVHVU5UQSBkZSB0aXBvIENvcnJlby4gRXNvIGVzIGNvbmZpZ3VyYWNpw7NuIGRlIGxhXG4gICAqIGVuY3Vlc3RhOyBlbCBmb3JtdWxhcmlvIG5vIGNvYnJhIHBlYWplIHBvciBzdSBjdWVudGEuXG4gICAqL1xuICBuZWVkc0lkZW50aXR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIXRoaXMudHlwZUNvbmZpZygpPy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICBwcml2YXRlIG5lZWRzSWRlbnRpdHlGb3IoY2ZnOiBSZXF1ZXN0VHlwZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmF1dGguaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gIWNmZy5za2lwU3VibWl0dGVySWRlbnRpdHk7XG4gIH1cblxuICByZWFkb25seSBzdWJtaXRTdGF0ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlbmRpbmcoKSA/ICdXT1JLSU5HJyA6ICdFTkFCTEVEJykpO1xuXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0RXJyb3IgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbkNvbnRyb2xNZW1vID0gbmV3IE1hcDxzdHJpbmcsIEZvcm1Db250cm9sPGJvb2xlYW4+PigpO1xuXG4gIG9wdGlvbkNvbnRyb2wobmFtZTogc3RyaW5nLCBvcHRpb25JZDogc3RyaW5nKTogRm9ybUNvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGtleSA9IGAke25hbWV9Ojoke29wdGlvbklkfWA7XG4gICAgbGV0IGNvbnRyb2wgPSB0aGlzLm9wdGlvbkNvbnRyb2xNZW1vLmdldChrZXkpO1xuICAgIGlmIChjb250cm9sKSByZXR1cm4gY29udHJvbDtcbiAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjb21wYXRpYmlsaXR5Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQobmFtZSk7XG4gICAgICBjb25zdCBjdXJyZW50ID0gQXJyYXkuaXNBcnJheShmb3JtQ29udHJvbD8udmFsdWUpXG4gICAgICAgID8gZm9ybUNvbnRyb2wudmFsdWVcbiAgICAgICAgOiBBcnJheS5pc0FycmF5KGNvbXBhdGliaWxpdHlDb250cm9sPy52YWx1ZSlcbiAgICAgICAgICA/IGNvbXBhdGliaWxpdHlDb250cm9sLnZhbHVlXG4gICAgICAgICAgOiBbXTtcbiAgICAgIGNvbnN0IG5leHQgPSBzZWxlY3RlZFxuICAgICAgICA/IFsuLi5uZXcgU2V0KFsuLi5jdXJyZW50LCBvcHRpb25JZF0pXVxuICAgICAgICA6IGN1cnJlbnQuZmlsdGVyKChpZDogc3RyaW5nKSA9PiBpZCAhPT0gb3B0aW9uSWQpO1xuICAgICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgICAgY29tcGF0aWJpbGl0eUNvbnRyb2w/LnNldFZhbHVlKG5leHQpO1xuICAgIH0pO1xuICAgIHRoaXMub3B0aW9uQ29udHJvbE1lbW8uc2V0KGtleSwgY29udHJvbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBtYXJrSW52YWxpZCgpOiB2b2lkIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0RXJyb3Iuc2V0KHRydWUpO1xuICAgIHRoaXMubmFtZUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdChldmVudD86IEZvcm1TdWJtaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zZW5kaW5nKCkpIHJldHVybjtcbiAgICBjb25zdCBzdGVwcGVkID0gdGhpcy5oYXNSZXNwb25zZVN0ZXBzKCk7XG4gICAgaWYgKCFldmVudCAmJiBzdGVwcGVkICYmICF0aGlzLmZvcm1Db21wb25lbnQ/LnZhbGlkYXRlKCkpIHtcbiAgICAgIHRoaXMubWFya0ludmFsaWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFldmVudCAmJiAhc3RlcHBlZCAmJiB0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5tYXJrSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50RmllbGRzID0gZXZlbnQ/LmZpZWxkcyA/PyB0aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0UmF3VmFsdWUoKSA/PyB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCBmaWVsZHMgPSBzdGVwcGVkXG4gICAgICA/IHtcbiAgICAgICAgICAuLi50aGlzLnJlc3BvbnNlVmFsdWVzKCksXG4gICAgICAgICAgLi4uY3VycmVudEZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgOiBjdXJyZW50RmllbGRzO1xuICAgIGlmICghZXZlbnQgJiYgdGhpcy5oYXNNaXNzaW5nUmVxdWlyZWRNdWx0aVNlbGVjdChmaWVsZHMpKSB7XG4gICAgICB0aGlzLm1hcmtJbnZhbGlkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2ZnID0gdGhpcy50eXBlQ29uZmlnKCk7XG4gICAgaWYgKCFjZmcpIHJldHVybjtcblxuICAgIGlmICh0aGlzLm5lZWRzSWRlbnRpdHkoKSAmJiAodGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkIHx8IHRoaXMuZW1haWxDb250cm9sLmludmFsaWQpKSB7XG4gICAgICB0aGlzLm5hbWVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHRoaXMuZW1haWxDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbmRpbmcuc2V0KHRydWUpO1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB0eXBlOiBjZmcudHlwZUlkLFxuICAgICAgdGl0bGU6IGNmZy5sYWJlbCxcbiAgICAgIGZpZWxkcyxcbiAgICAgIC4uLih0aGlzLnByb3BzLmludml0ZVRva2VuID8geyBpbnZpdGVUb2tlbjogdGhpcy5wcm9wcy5pbnZpdGVUb2tlbiB9IDoge30pLFxuICAgICAgLi4uKHRoaXMubmVlZHNJZGVudGl0eSgpXG4gICAgICAgID8geyBzdWJtaXR0ZXI6IHsgbmFtZTogdGhpcy5uYW1lQ29udHJvbC52YWx1ZS50cmltKCksIGVtYWlsOiB0aGlzLmVtYWlsQ29udHJvbC52YWx1ZS50cmltKCkgfSB9XG4gICAgICAgIDoge30pLFxuICAgIH07XG5cbiAgICBjb25zdCBjYWxsJCA9IHRoaXMuYXV0aC5pc0F1dGhlbnRpY2F0ZWQoKVxuICAgICAgPyB0aGlzLnJlcXVlc3RzLmNyZWF0ZVJlcXVlc3QocGF5bG9hZClcbiAgICAgIDogdGhpcy5yZXF1ZXN0cy5jcmVhdGVBbm9ueW1vdXNSZXF1ZXN0KHBheWxvYWQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKGNhbGwkKTtcbiAgICAgIHRoaXMuc2VuZGluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5zZW50LnNldCh0cnVlKTtcbiAgICAgIHRoaXMuc3VibWl0dGVkLmVtaXQoeyByZXF1ZXN0SWQ6IHJlcy5yZXF1ZXN0SWQgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLnNlbmRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIC8vIFVuYSBpbnZpdGFjacOzbiB5YSB1c2FkYSBubyBlcyB1biBmYWxsbzogZXMgbGEgcmVzcHVlc3RhIGNvcnJlY3RhIGFsXG4gICAgICAvLyBzZWd1bmRvIGludGVudG8uIFVuIHRvYXN0IHJvam8gZGUgXCJubyBwdWRpbW9zIGVudmlhclwiIGhhcsOtYSBjcmVlciBxdWVcbiAgICAgIC8vIHNlIHBlcmRpw7MgbG8gcXVlIHlhIHNlIGhhYsOtYSByZXNwb25kaWRvLlxuICAgICAgaWYgKGludGVycHJldEVycm9yKGVycikuY29kZSA9PT0gSU5WSVRFX1VTRURfQ09ERSkge1xuICAgICAgICB0aGlzLmFscmVhZHlBbnN3ZXJlZC5zZXQodHJ1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3N1cnZleVJlc3BvbnNlLnN1Ym1pdCcsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAnc2VuZEVycm9yJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogTkFNRVNQQUNFLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmV4dFJlc3BvbnNlU3RlcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZm9ybUNvbXBvbmVudD8udmFsaWRhdGUoKSkge1xuICAgICAgdGhpcy5tYXJrSW52YWxpZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlc3BvbnNlVmFsdWVzLnVwZGF0ZSh2YWx1ZXMgPT4gKHsgLi4udmFsdWVzLCAuLi50aGlzLmZvcm1Db21wb25lbnQ/LkZvcm0uZ2V0UmF3VmFsdWUoKSB9KSk7XG4gICAgdGhpcy5yZXNwb25zZVN0ZXAudXBkYXRlKHN0ZXAgPT4gTWF0aC5taW4oc3RlcCArIDEsIHRoaXMucmVzcG9uc2VTZWN0aW9ucygpLmxlbmd0aCAtIDEpKTtcbiAgfVxuXG4gIHByZXZpb3VzUmVzcG9uc2VTdGVwKCk6IHZvaWQge1xuICAgIHRoaXMucmVzcG9uc2VWYWx1ZXMudXBkYXRlKHZhbHVlcyA9PiAoeyAuLi52YWx1ZXMsIC4uLnRoaXMuZm9ybUNvbXBvbmVudD8uRm9ybS5nZXRSYXdWYWx1ZSgpIH0pKTtcbiAgICB0aGlzLnJlc3BvbnNlU3RlcC51cGRhdGUoc3RlcCA9PiBNYXRoLm1heChzdGVwIC0gMSwgMCkpO1xuICB9XG5cbiAgcmVzcG9uc2VCYWNrUHJvcHMoKTogQnV0dG9uTWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogJ3N1cnZleS1yZXNwb25zZS1iYWNrJyxcbiAgICAgIHRleHQ6IHRoaXMudCgncHJldmlvdXMnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH07XG4gIH1cblxuICByZXNwb25zZU5leHRQcm9wcygpOiBCdXR0b25NZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuOiAnc3VydmV5LXJlc3BvbnNlLW5leHQnLFxuICAgICAgdGV4dDogdGhpcy50KCduZXh0JyksXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgZmlsbDogJ3NvbGlkJyxcbiAgICAgIHNoYXBlOiAncm91bmQnLFxuICAgICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfTtcbiAgfVxuXG4gIHJlc3BvbnNlU3VibWl0UHJvcHMoKTogQnV0dG9uTWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICB0b2tlbjogJ3N1cnZleS1yZXNwb25zZS1zdWJtaXQnLFxuICAgICAgdGV4dDogdGhpcy50KCdzdWJtaXQnKSxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnc29saWQnLFxuICAgICAgc2hhcGU6ICdyb3VuZCcsXG4gICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgIHN0YXRlOiB0aGlzLnNlbmRpbmcoKSA/IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HIDogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzTWlzc2luZ1JlcXVpcmVkTXVsdGlTZWxlY3QoZmllbGRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbnMoKVxuICAgICAgLmZpbHRlcihxID0+IHEudHlwZSA9PT0gJ01VTFRJX1NFTEVDVCcgJiYgcS5yZXF1aXJlZClcbiAgICAgIC5zb21lKHEgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZpZWxkcyA/IGZpZWxkc1txLm5hbWVdIDogdGhpcy5mb3JtLmdldChxLm5hbWUpPy52YWx1ZTtcbiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCAhdmFsdWUubGVuZ3RoO1xuICAgICAgfSk7XG4gIH1cblxuICByZWFkb25seSBhbHJlYWR5QW5zd2VyZWRTdGF0ZSA9IGNvbXB1dGVkPEVtcHR5U3RhdGVNZXRhZGF0YT4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHsgdmFyaWFudDogJ2VtcHR5JywgdGl0bGU6IHRoaXMudCgnYWxyZWFkeVRpdGxlJyksIGRlc2NyaXB0aW9uOiB0aGlzLnQoJ2FscmVhZHlCb2R5JykgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2VudFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZW1wdHknLCB0aXRsZTogdGhpcy50KCdzZW50VGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnc2VudEJvZHknKSB9O1xuICB9KTtcblxuICByZWFkb25seSBzdWNjZXNzUHJlc2VudGF0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNmZyA9IHRoaXMudHlwZUNvbmZpZygpO1xuICAgIGNvbnN0IHRpdGxlID0gY2ZnPy5wcmVzZW50YXRpb24/LnN1Y2Nlc3NUaXRsZT8udHJpbSgpIHx8IHRoaXMudCgnc2VudFRpdGxlJyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNmZz8ucHJlc2VudGF0aW9uPy5zdWNjZXNzTWVzc2FnZT8udHJpbSgpIHx8IHRoaXMudCgnc2VudEJvZHknKTtcbiAgICBjb25zdCBpbWFnZVVybCA9IGNmZz8ucHJlc2VudGF0aW9uPy5zdWNjZXNzSW1hZ2VVcmw/LnRyaW0oKSB8fCBERUZBVUxUX1NVQ0NFU1NfSU1BR0U7XG4gICAgcmV0dXJuIHsgdGl0bGUsIG1lc3NhZ2UsIGltYWdlVXJsLCBjbG9zZU5vdGU6IHRoaXMudCgnc2VudENsb3NlTm90ZScpIH07XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGxvYWRFcnJvclN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZXJyb3InLCB0aXRsZTogdGhpcy50KCdsb2FkRXJyb3JUaXRsZScpLCBkZXNjcmlwdGlvbjogdGhpcy50KCdsb2FkRXJyb3JCb2R5JykgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbG9naW5SZXF1aXJlZFN0YXRlID0gY29tcHV0ZWQ8RW1wdHlTdGF0ZU1ldGFkYXRhPigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4geyB2YXJpYW50OiAnZXJyb3InLCB0aXRsZTogdGhpcy50KCdsb2dpblJlcXVpcmVkVGl0bGUnKSwgZGVzY3JpcHRpb246IHRoaXMudCgnbG9naW5SZXF1aXJlZEJvZHknKSB9O1xuICB9KTtcblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBOQU1FU1BBQ0UpO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.1011';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMDExJztcbiJdfQ==
|