valtech-components 4.0.24 → 4.0.26
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/README.md +31 -262
- package/esm2022/lib/components/molecules/modal-shell/modal-shell.component.mjs +3 -3
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
- package/esm2022/lib/components/organisms/change-password-modal/change-password-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +4 -3
- package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +5 -5
- package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +7 -5
- package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +6 -5
- package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +37 -48
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +8 -2
- package/esm2022/lib/components/organisms/organization-view/organization-view.i18n.mjs +15 -3
- package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.component.mjs +3 -3
- package/esm2022/lib/components/organisms/transfer-ownership-modal/transfer-ownership-modal.component.mjs +7 -7
- package/esm2022/lib/services/firebase/messaging.service.mjs +2 -2
- package/esm2022/lib/services/refreshable-stream/refreshable-stream.mjs +2 -2
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +98 -87
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/article/article.component.d.ts +2 -2
- package/lib/components/organisms/landing-steps/landing-steps.component.d.ts +1 -1
- package/lib/components/organisms/org-info-sheet/org-info-sheet.component.d.ts +12 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/services/firebase/firebase-messaging-sw.js +0 -145
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, computed, inject, Input } from '@angular/core';
|
|
2
2
|
import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonToolbar } from '@ionic/angular/standalone';
|
|
3
3
|
import { addIcons } from 'ionicons';
|
|
4
|
-
import { mailOutline, peopleOutline, swapHorizontalOutline } from 'ionicons/icons';
|
|
4
|
+
import { codeSlashOutline, mailOutline, peopleOutline, shieldCheckmarkOutline, swapHorizontalOutline, warningOutline } from 'ionicons/icons';
|
|
5
5
|
import { ButtonComponent } from '../../atoms/button/button.component';
|
|
6
6
|
import { DisplayComponent } from '../../atoms/display/display.component';
|
|
7
7
|
import { TextComponent } from '../../atoms/text/text.component';
|
|
@@ -59,7 +59,18 @@ export class OrgInfoSheetComponent {
|
|
|
59
59
|
...this.closeProps,
|
|
60
60
|
text: this.closeProps.text || this.resolvedCloseLabel(),
|
|
61
61
|
}));
|
|
62
|
-
|
|
62
|
+
this.resolvedFeatures = computed(() => {
|
|
63
|
+
if (this.features?.length)
|
|
64
|
+
return this.features;
|
|
65
|
+
if (!this.showFeatures)
|
|
66
|
+
return [];
|
|
67
|
+
return [
|
|
68
|
+
{ icon: 'people-outline', title: this.tt('featureCollabTitle'), desc: this.tt('featureCollabDesc') },
|
|
69
|
+
{ icon: 'swap-horizontal-outline', title: this.tt('featureSwitchTitle'), desc: this.tt('featureSwitchDesc') },
|
|
70
|
+
{ icon: 'mail-outline', title: this.tt('featureInviteTitle'), desc: this.tt('featureInviteDesc') },
|
|
71
|
+
];
|
|
72
|
+
});
|
|
73
|
+
addIcons({ peopleOutline, swapHorizontalOutline, mailOutline, codeSlashOutline, shieldCheckmarkOutline, warningOutline });
|
|
63
74
|
if (!this.i18n.hasNamespace(DEFAULT_NAMESPACE)) {
|
|
64
75
|
this.i18n.registerContent(DEFAULT_NAMESPACE, ORG_INFO_SHEET_I18N);
|
|
65
76
|
}
|
|
@@ -71,11 +82,11 @@ export class OrgInfoSheetComponent {
|
|
|
71
82
|
return this.i18n.t(key, DEFAULT_NAMESPACE);
|
|
72
83
|
}
|
|
73
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OrgInfoSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: OrgInfoSheetComponent, isStandalone: true, selector: "val-org-info-sheet", inputs: { title: "title", subtitle: "subtitle", body: "body", closeLabel: "closeLabel", showFeatures: "showFeatures", closeProps: "closeProps", _modalRef: "_modalRef" }, ngImport: i0, template: `
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: OrgInfoSheetComponent, isStandalone: true, selector: "val-org-info-sheet", inputs: { title: "title", subtitle: "subtitle", body: "body", closeLabel: "closeLabel", showFeatures: "showFeatures", features: "features", closeProps: "closeProps", _modalRef: "_modalRef" }, ngImport: i0, template: `
|
|
75
86
|
<ion-header>
|
|
76
87
|
<ion-toolbar>
|
|
77
88
|
<ion-buttons slot="end">
|
|
78
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
89
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
79
90
|
<strong>{{ resolvedCloseLabel() }}</strong>
|
|
80
91
|
</ion-button>
|
|
81
92
|
</ion-buttons>
|
|
@@ -86,29 +97,17 @@ export class OrgInfoSheetComponent {
|
|
|
86
97
|
<val-display [props]="{ content: resolvedTitle(), size: 'small', color: 'dark' }" />
|
|
87
98
|
<val-title [props]="{ content: resolvedSubtitle(), size: 'large', color: '', bold: false }" />
|
|
88
99
|
|
|
89
|
-
@if (
|
|
100
|
+
@if (resolvedFeatures().length > 0) {
|
|
90
101
|
<div class="info-features">
|
|
91
|
-
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
<div
|
|
95
|
-
|
|
102
|
+
@for (f of resolvedFeatures(); track $index) {
|
|
103
|
+
<div class="info-feature">
|
|
104
|
+
<ion-icon [name]="f.icon" class="info-feature__icon" />
|
|
105
|
+
<div>
|
|
106
|
+
<div class="info-feature__title">{{ f.title }}</div>
|
|
107
|
+
<div class="info-feature__desc">{{ f.desc }}</div>
|
|
108
|
+
</div>
|
|
96
109
|
</div>
|
|
97
|
-
|
|
98
|
-
<div class="info-feature">
|
|
99
|
-
<ion-icon name="swap-horizontal-outline" class="info-feature__icon" />
|
|
100
|
-
<div>
|
|
101
|
-
<div class="info-feature__title">{{ tt('featureSwitchTitle') }}</div>
|
|
102
|
-
<div class="info-feature__desc">{{ tt('featureSwitchDesc') }}</div>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="info-feature">
|
|
106
|
-
<ion-icon name="mail-outline" class="info-feature__icon" />
|
|
107
|
-
<div>
|
|
108
|
-
<div class="info-feature__title">{{ tt('featureInviteTitle') }}</div>
|
|
109
|
-
<div class="info-feature__desc">{{ tt('featureInviteDesc') }}</div>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
110
|
+
}
|
|
112
111
|
</div>
|
|
113
112
|
}
|
|
114
113
|
|
|
@@ -146,7 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
146
145
|
<ion-header>
|
|
147
146
|
<ion-toolbar>
|
|
148
147
|
<ion-buttons slot="end">
|
|
149
|
-
<ion-button fill="clear" color="dark" (click)="dismiss()">
|
|
148
|
+
<ion-button fill="clear" color="dark" shape="round" (click)="dismiss()">
|
|
150
149
|
<strong>{{ resolvedCloseLabel() }}</strong>
|
|
151
150
|
</ion-button>
|
|
152
151
|
</ion-buttons>
|
|
@@ -157,29 +156,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
157
156
|
<val-display [props]="{ content: resolvedTitle(), size: 'small', color: 'dark' }" />
|
|
158
157
|
<val-title [props]="{ content: resolvedSubtitle(), size: 'large', color: '', bold: false }" />
|
|
159
158
|
|
|
160
|
-
@if (
|
|
159
|
+
@if (resolvedFeatures().length > 0) {
|
|
161
160
|
<div class="info-features">
|
|
162
|
-
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
<div
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
<div class="info-feature">
|
|
170
|
-
<ion-icon name="swap-horizontal-outline" class="info-feature__icon" />
|
|
171
|
-
<div>
|
|
172
|
-
<div class="info-feature__title">{{ tt('featureSwitchTitle') }}</div>
|
|
173
|
-
<div class="info-feature__desc">{{ tt('featureSwitchDesc') }}</div>
|
|
161
|
+
@for (f of resolvedFeatures(); track $index) {
|
|
162
|
+
<div class="info-feature">
|
|
163
|
+
<ion-icon [name]="f.icon" class="info-feature__icon" />
|
|
164
|
+
<div>
|
|
165
|
+
<div class="info-feature__title">{{ f.title }}</div>
|
|
166
|
+
<div class="info-feature__desc">{{ f.desc }}</div>
|
|
167
|
+
</div>
|
|
174
168
|
</div>
|
|
175
|
-
|
|
176
|
-
<div class="info-feature">
|
|
177
|
-
<ion-icon name="mail-outline" class="info-feature__icon" />
|
|
178
|
-
<div>
|
|
179
|
-
<div class="info-feature__title">{{ tt('featureInviteTitle') }}</div>
|
|
180
|
-
<div class="info-feature__desc">{{ tt('featureInviteDesc') }}</div>
|
|
181
|
-
</div>
|
|
182
|
-
</div>
|
|
169
|
+
}
|
|
183
170
|
</div>
|
|
184
171
|
}
|
|
185
172
|
|
|
@@ -209,9 +196,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
209
196
|
type: Input
|
|
210
197
|
}], showFeatures: [{
|
|
211
198
|
type: Input
|
|
199
|
+
}], features: [{
|
|
200
|
+
type: Input
|
|
212
201
|
}], closeProps: [{
|
|
213
202
|
type: Input
|
|
214
203
|
}], _modalRef: [{
|
|
215
204
|
type: Input
|
|
216
205
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWluZm8tc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9vcmctaW5mby1zaGVldC9vcmctaW5mby1zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUV6Qzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQWtJSCxNQUFNLE9BQU8scUJBQXFCO0lBZ0NoQztRQS9CUSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLGlGQUFpRjtRQUN4RSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3BC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RyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25JY29uLCBJb25Ub29sYmFyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IG1haWxPdXRsaW5lLCBwZW9wbGVPdXRsaW5lLCBzd2FwSG9yaXpvbnRhbE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuXG5pbXBvcnQgeyBPUkdfSU5GT19TSEVFVF9JMThOIH0gZnJvbSAnLi9vcmctaW5mby1zaGVldC5pMThuJztcblxuY29uc3QgREVGQVVMVF9OQU1FU1BBQ0UgPSAnT3JnSW5mb1NoZWV0JztcblxuLyoqXG4gKiBgdmFsLW9yZy1pbmZvLXNoZWV0YCDigJQgc2hlZXQgaW5mb3JtYXRpdm8gXCLCv1F1w6kgc29uIGxhcyBvcmdhbml6YWNpb25lcz9cIi5cbiAqIEV4dHJhw61kbyBkZWwgYE9yZ0luZm9TaGVldENvbXBvbmVudGAgaW5saW5lIGRlIGBBY2NvdW50UGFnZWAgYmFqbyBlbCBwcm9jZXNvIGRlXG4gKiBBRFItMDIxLlxuICpcbiAqIEVsIGNvbnN1bWVyIHBhc2EgYHRpdGxlYC9gc3VidGl0bGVgL2Bib2R5YC9gY2xvc2VMYWJlbGAgeWEgcmVzdWVsdG9zIHBvciBwcm9wc1xuICogKHBhdHLDs24gZGVsIHJlc3RvIGRlIG1vZGFsZXMgZGVsIGZhY3RvcnkpLiBMb3MgdGV4dG9zIGRlIGxvcyAzIGZlYXR1cmVzXG4gKiAoQ29sYWJvcmFjacOzbiAvIENhbWJpbyByw6FwaWRvIC8gSW52aXRhY2lvbmVzKSwgcXVlIGVuIGxhIHZlcnNpw7NuIGlubGluZSBlc3RhYmFuXG4gKiBoYXJkY29kZWQsIGFob3JhIHNlIGF1dG8tcmVzdWVsdmVuIGRlc2RlIGVsIG5hbWVzcGFjZSBgT3JnSW5mb1NoZWV0YFxuICogKGF1dG8tcmVnaXN0cmFkbyBlbiBlbCBjb25zdHJ1Y3RvcikuXG4gKlxuICogQWJpZXJ0byB2w61hIGBNb2RhbFNlcnZpY2VgIOKAlCByZWNpYmUgYF9tb2RhbFJlZmAgcG9yIGBjb21wb25lbnRQcm9wc2AuIEhlYWRlclxuICogY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsby9zdWJ0w610dWxvIGVuIGVsIGJvZHkgY29uIGB2YWwtZGlzcGxheWAvYHZhbC10aXRsZWAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1vcmctaW5mby1zaGVldCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkJ1dHRvbixcbiAgICBJb25Db250ZW50LFxuICAgIElvbkljb24sXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHJlc29sdmVkQ2xvc2VMYWJlbCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHJlc29sdmVkVGl0bGUoKSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogcmVzb2x2ZWRTdWJ0aXRsZSgpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuXG4gICAgICBAaWYgKHNob3dGZWF0dXJlcykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVvcGxlLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlQ29sbGFiVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVDb2xsYWJEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3dhcC1ob3Jpem9udGFsLW91dGxpbmVcIiBjbGFzcz1cImluZm8tZmVhdHVyZV9faWNvblwiIC8+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX190aXRsZVwiPnt7IHR0KCdmZWF0dXJlU3dpdGNoVGl0bGUnKSB9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1mZWF0dXJlX19kZXNjXCI+e3sgdHQoJ2ZlYXR1cmVTd2l0Y2hEZXNjJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibWFpbC1vdXRsaW5lXCIgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX2ljb25cIiAvPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fdGl0bGVcIj57eyB0dCgnZmVhdHVyZUludml0ZVRpdGxlJykgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZV9fZGVzY1wiPnt7IHR0KCdmZWF0dXJlSW52aXRlRGVzYycpIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBmb3IgKHBhcmEgb2YgcGFyYWdyYXBocygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogcGFyYSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNoZWV0LWZvb3RlclwiPlxuICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmVzb2x2ZWRDbG9zZVByb3BzKClcIiAoY2xpY2spPVwiZGlzbWlzcygpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGlvbi1jb250ZW50IHtcbiAgICAgICAgLyogUGFkZGluZyBnZW5lcm9zbyBwYXJhIGxsZWdhciBhbCBmb25kbzogZWwgc2hlZXQgc2Nyb2xsZWEgZW4gc3VcbiAgICAgICAgICAgYnJlYWtwb2ludCBtw6F4aW1vLCB5IGVsIGJvdMOzbiBkZSBjaWVycmUgZGVsIGZvb3RlciBkZWJlIHF1ZWRhciBwb3JcbiAgICAgICAgICAgZW5jaW1hIGRlbCBzYWZlLWFyZWEgLyBjdWFscXVpZXIgb3ZlcmxheSBmbG90YW50ZS4gKi9cbiAgICAgICAgLS1wYWRkaW5nLWJvdHRvbTogY2FsYyg5NnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgICAgfVxuICAgICAgdmFsLWRpc3BsYXkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgdmFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICB9XG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLmluZm8tZmVhdHVyZSxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAuaW5mby1mZWF0dXJlLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAuaW5mby1mZWF0dXJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmVfX2ljb24ge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLmluZm8tZmVhdHVyZV9fZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICB9XG4gICAgICAuc2hlZXQtZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPcmdJbmZvU2hlZXRDb21wb25lbnQge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIC8qKiBUw610dWxvIHByaW5jaXBhbCAocmVzdWVsdG8gcG9yIGVsIGNvbnN1bWVyKS4gRmFsbGJhY2sgYWwgbmFtZXNwYWNlIHByb3Bpby4gKi9cbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgLyoqIFN1YnTDrXR1bG8gKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG4gIC8qKiBDdWVycG8gZW4gcMOhcnJhZm9zIHNlcGFyYWRvcyBwb3IgZG9ibGUgc2FsdG8gZGUgbMOtbmVhIChyZXN1ZWx0byBwb3IgZWwgY29uc3VtZXIpLiAqL1xuICBASW5wdXQoKSBib2R5ID0gJyc7XG4gIC8qKiBMYWJlbCBkZWwgYm90w7NuIGNlcnJhciAocmVzdWVsdG8gcG9yIGVsIGNvbnN1bWVyKS4gRmFsbGJhY2sgYWwgbmFtZXNwYWNlIHByb3Bpby4gKi9cbiAgQElucHV0KCkgY2xvc2VMYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBNdWVzdHJhIGxhcyAzIGZlYXR1cmUtY2FyZHMgZGUgb3JnYW5pemFjaW9uZXMgKGNvbGFib3JhY2nDs24gLyBjYW1iaW8gcsOhcGlkbyAvXG4gICAqIGludml0YWNpb25lcykuIGBmYWxzZWAg4oaSIHNoZWV0IGFydGljbGUtc3R5bGUgKHNvbG8gdMOtdHVsbyArIHN1YnTDrXR1bG8gKyBjdWVycG8pLFxuICAgKiByZXVzYWJsZSBjb21vIGV4cGxhaW5lciBnZW7DqXJpY28gKGVqLiBpbnRlZ3JhY2lvbmVzIC8gQVBJIGtleXMpLiBEZWZhdWx0IGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpIHNob3dGZWF0dXJlcyA9IHRydWU7XG5cbiAgLyoqIFByb3BzIGRlbCBib3TDs24gY2VycmFyIGRlbCBmb290ZXIgKGVsIGNvbnN1bWVyIHB1ZWRlIHBhc2FyIGN1c3RvbSkuICovXG4gIEBJbnB1dCgpIGNsb3NlUHJvcHM6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+ID0ge1xuICAgIHRleHQ6ICdDZXJyYXInLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBjb2xvcjogJ2RhcmsnLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICBleHBhbmQ6ICdibG9jaycsXG4gICAgdHlwZTogJ2J1dHRvbicsXG4gIH07XG5cbiAgLyoqIElueWVjdGFkbyBwb3IgYE1vZGFsU2VydmljZS5vcGVuYCDigJQgcmVmZXJlbmNpYSBwYXJhIGNlcnJhciBkZXNkZSBkZW50cm8uICovXG4gIEBJbnB1dCgpIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiB2b2lkIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoeyBwZW9wbGVPdXRsaW5lLCBzd2FwSG9yaXpvbnRhbE91dGxpbmUsIG1haWxPdXRsaW5lIH0pO1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShERUZBVUxUX05BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoREVGQVVMVF9OQU1FU1BBQ0UsIE9SR19JTkZPX1NIRUVUX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IHJlc29sdmVkVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlIHx8IHRoaXMudHQoJ3RpdGxlJykpO1xuICByZWFkb25seSByZXNvbHZlZFN1YnRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdWJ0aXRsZSB8fCB0aGlzLnR0KCdzdWJ0aXRsZScpKTtcbiAgcmVhZG9ubHkgcmVzb2x2ZWRDbG9zZUxhYmVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jbG9zZUxhYmVsIHx8IHRoaXMudHQoJ2Nsb3NlJykpO1xuXG4gIHJlYWRvbmx5IHBhcmFncmFwaHMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4gdGhpcy5ib2R5LnNwbGl0KCdcXG5cXG4nKS5maWx0ZXIoQm9vbGVhbikpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQ2xvc2VQcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIC4uLnRoaXMuY2xvc2VQcm9wcyxcbiAgICB0ZXh0OiB0aGlzLmNsb3NlUHJvcHMudGV4dCB8fCB0aGlzLnJlc29sdmVkQ2xvc2VMYWJlbCgpLFxuICB9KSk7XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIERFRkFVTFRfTkFNRVNQQUNFKTtcbiAgfVxufVxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWluZm8tc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9vcmctaW5mby1zaGVldC9vcmctaW5mby1zaGVldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFNUQsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFFekM7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFzSEgsTUFBTSxPQUFPLHFCQUFxQjtJQW1DaEM7UUFsQ1EsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVuQyxpRkFB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LE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLEVBQUUsQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0FyRVUscUJBQXFCO21HQUFyQixxQkFBcUIsOFFBdEd0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1QscTRCQXZEQyxTQUFTLG9HQUNULFVBQVUsbUZBQ1YsVUFBVSw4RUFDVixTQUFTLG9QQUNULFVBQVUsd0tBQ1YsT0FBTywySkFDUCxlQUFlLDBHQUNmLGdCQUFnQiwyRUFDaEIsYUFBYSx3RUFDYixjQUFjOzs0RkF3R0wscUJBQXFCO2tCQXJIakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGNBQWM7cUJBQ2YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1Q7d0RBOERRLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uSWNvbiwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjb2RlU2xhc2hPdXRsaW5lLCBtYWlsT3V0bGluZSwgcGVvcGxlT3V0bGluZSwgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSwgc3dhcEhvcml6b250YWxPdXRsaW5lLCB3YXJuaW5nT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5cbmltcG9ydCB7IE9SR19JTkZPX1NIRUVUX0kxOE4gfSBmcm9tICcuL29yZy1pbmZvLXNoZWV0LmkxOG4nO1xuXG5jb25zdCBERUZBVUxUX05BTUVTUEFDRSA9ICdPcmdJbmZvU2hlZXQnO1xuXG4vKipcbiAqIGB2YWwtb3JnLWluZm8tc2hlZXRgIOKAlCBzaGVldCBpbmZvcm1hdGl2byBcIsK/UXXDqSBzb24gbGFzIG9yZ2FuaXphY2lvbmVzP1wiLlxuICogRXh0cmHDrWRvIGRlbCBgT3JnSW5mb1NoZWV0Q29tcG9uZW50YCBpbmxpbmUgZGUgYEFjY291bnRQYWdlYCBiYWpvIGVsIHByb2Nlc28gZGVcbiAqIEFEUi0wMjEuXG4gKlxuICogRWwgY29uc3VtZXIgcGFzYSBgdGl0bGVgL2BzdWJ0aXRsZWAvYGJvZHlgL2BjbG9zZUxhYmVsYCB5YSByZXN1ZWx0b3MgcG9yIHByb3BzXG4gKiAocGF0csOzbiBkZWwgcmVzdG8gZGUgbW9kYWxlcyBkZWwgZmFjdG9yeSkuIExvcyB0ZXh0b3MgZGUgbG9zIDMgZmVhdHVyZXNcbiAqIChDb2xhYm9yYWNpw7NuIC8gQ2FtYmlvIHLDoXBpZG8gLyBJbnZpdGFjaW9uZXMpLCBxdWUgZW4gbGEgdmVyc2nDs24gaW5saW5lIGVzdGFiYW5cbiAqIGhhcmRjb2RlZCwgYWhvcmEgc2UgYXV0by1yZXN1ZWx2ZW4gZGVzZGUgZWwgbmFtZXNwYWNlIGBPcmdJbmZvU2hlZXRgXG4gKiAoYXV0by1yZWdpc3RyYWRvIGVuIGVsIGNvbnN0cnVjdG9yKS5cbiAqXG4gKiBBYmllcnRvIHbDrWEgYE1vZGFsU2VydmljZWAg4oCUIHJlY2liZSBgX21vZGFsUmVmYCBwb3IgYGNvbXBvbmVudFByb3BzYC4gSGVhZGVyXG4gKiBjYW7Ds25pY28gKFJlZ2xhICM1KTogc2luIGBpb24tdGl0bGVgLCBib3TDs24gQ2VycmFyIHRleHRvIGVuIGBzbG90PWVuZGAsXG4gKiB0w610dWxvL3N1YnTDrXR1bG8gZW4gZWwgYm9keSBjb24gYHZhbC1kaXNwbGF5YC9gdmFsLXRpdGxlYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW9yZy1pbmZvLXNoZWV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSWNvbixcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24taGVhZGVyPlxuICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiZGlzbWlzcygpXCI+XG4gICAgICAgICAgICA8c3Ryb25nPnt7IHJlc29sdmVkQ2xvc2VMYWJlbCgpIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG5cbiAgICA8aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IGNvbnRlbnQ6IHJlc29sdmVkVGl0bGUoKSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogcmVzb2x2ZWRTdWJ0aXRsZSgpLCBzaXplOiAnbGFyZ2UnLCBjb2xvcjogJycsIGJvbGQ6IGZhbHNlIH1cIiAvPlxuXG4gICAgICBAaWYgKHJlc29sdmVkRmVhdHVyZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVzXCI+XG4gICAgICAgICAgQGZvciAoZiBvZiByZXNvbHZlZEZlYXR1cmVzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tZmVhdHVyZVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiZi5pY29uXCIgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX2ljb25cIiAvPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX3RpdGxlXCI+e3sgZi50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWZlYXR1cmVfX2Rlc2NcIj57eyBmLmRlc2MgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAZm9yIChwYXJhIG9mIHBhcmFncmFwaHMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHBhcmEsXG4gICAgICAgICAgfVwiXG4gICAgICAgIC8+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzaGVldC1mb290ZXJcIj5cbiAgICAgICAgPHZhbC1idXR0b24gW3Byb3BzXT1cInJlc29sdmVkQ2xvc2VQcm9wcygpXCIgKGNsaWNrKT1cImRpc21pc3MoKVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICBpb24tY29udGVudCB7XG4gICAgICAgIC8qIFBhZGRpbmcgZ2VuZXJvc28gcGFyYSBsbGVnYXIgYWwgZm9uZG86IGVsIHNoZWV0IHNjcm9sbGVhIGVuIHN1XG4gICAgICAgICAgIGJyZWFrcG9pbnQgbcOheGltbywgeSBlbCBib3TDs24gZGUgY2llcnJlIGRlbCBmb290ZXIgZGViZSBxdWVkYXIgcG9yXG4gICAgICAgICAgIGVuY2ltYSBkZWwgc2FmZS1hcmVhIC8gY3VhbHF1aWVyIG92ZXJsYXkgZmxvdGFudGUuICovXG4gICAgICAgIC0tcGFkZGluZy1ib3R0b206IGNhbGMoOTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbiAgICAgIH1cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIHZhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQsICNmNGY1ZjgpO1xuICAgICAgfVxuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC5pbmZvLWZlYXR1cmUsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLmluZm8tZmVhdHVyZSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLmluZm8tZmVhdHVyZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICB9XG4gICAgICAuaW5mby1mZWF0dXJlX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLmluZm8tZmVhdHVyZV9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5pbmZvLWZlYXR1cmVfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgfVxuICAgICAgLnNoZWV0LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT3JnSW5mb1NoZWV0Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICAvKiogVMOtdHVsbyBwcmluY2lwYWwgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIC8qKiBTdWJ0w610dWxvIChyZXN1ZWx0byBwb3IgZWwgY29uc3VtZXIpLiBGYWxsYmFjayBhbCBuYW1lc3BhY2UgcHJvcGlvLiAqL1xuICBASW5wdXQoKSBzdWJ0aXRsZSA9ICcnO1xuICAvKiogQ3VlcnBvIGVuIHDDoXJyYWZvcyBzZXBhcmFkb3MgcG9yIGRvYmxlIHNhbHRvIGRlIGzDrW5lYSAocmVzdWVsdG8gcG9yIGVsIGNvbnN1bWVyKS4gKi9cbiAgQElucHV0KCkgYm9keSA9ICcnO1xuICAvKiogTGFiZWwgZGVsIGJvdMOzbiBjZXJyYXIgKHJlc3VlbHRvIHBvciBlbCBjb25zdW1lcikuIEZhbGxiYWNrIGFsIG5hbWVzcGFjZSBwcm9waW8uICovXG4gIEBJbnB1dCgpIGNsb3NlTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogTXVlc3RyYSBsYXMgMyBmZWF0dXJlLWNhcmRzIGRlIG9yZ2FuaXphY2lvbmVzIChjb2xhYm9yYWNpw7NuIC8gY2FtYmlvIHLDoXBpZG8gL1xuICAgKiBpbnZpdGFjaW9uZXMpLiBgZmFsc2VgIOKGkiBzaGVldCBhcnRpY2xlLXN0eWxlIChzb2xvIHTDrXR1bG8gKyBzdWJ0w610dWxvICsgY3VlcnBvKSxcbiAgICogcmV1c2FibGUgY29tbyBleHBsYWluZXIgZ2Vuw6lyaWNvIChlai4gaW50ZWdyYWNpb25lcyAvIEFQSSBrZXlzKS4gRGVmYXVsdCBgdHJ1ZWAuXG4gICAqL1xuICBASW5wdXQoKSBzaG93RmVhdHVyZXMgPSB0cnVlO1xuXG4gIC8qKiBDdXN0b20gZmVhdHVyZSBjYXJkcy4gV2hlbiBwcm92aWRlZCwgdGhlc2UgcmVwbGFjZSB0aGUgZGVmYXVsdCBvcmcgZmVhdHVyZXMgKHNob3dGZWF0dXJlcykuICovXG4gIEBJbnB1dCgpIGZlYXR1cmVzPzogQXJyYXk8eyBpY29uOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IGRlc2M6IHN0cmluZyB9PjtcblxuICAvKiogUHJvcHMgZGVsIGJvdMOzbiBjZXJyYXIgZGVsIGZvb3RlciAoZWwgY29uc3VtZXIgcHVlZGUgcGFzYXIgY3VzdG9tKS4gKi9cbiAgQElucHV0KCkgY2xvc2VQcm9wczogUGFydGlhbDxCdXR0b25NZXRhZGF0YT4gPSB7XG4gICAgdGV4dDogJ0NlcnJhcicsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGV4cGFuZDogJ2Jsb2NrJyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgfTtcblxuICAvKiogSW55ZWN0YWRvIHBvciBgTW9kYWxTZXJ2aWNlLm9wZW5gIOKAlCByZWZlcmVuY2lhIHBhcmEgY2VycmFyIGRlc2RlIGRlbnRyby4gKi9cbiAgQElucHV0KCkgX21vZGFsUmVmPzogeyBkaXNtaXNzOiAoZGF0YT86IHVua25vd24sIHJvbGU/OiBzdHJpbmcpID0+IHZvaWQgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IHBlb3BsZU91dGxpbmUsIHN3YXBIb3Jpem9udGFsT3V0bGluZSwgbWFpbE91dGxpbmUsIGNvZGVTbGFzaE91dGxpbmUsIHNoaWVsZENoZWNrbWFya091dGxpbmUsIHdhcm5pbmdPdXRsaW5lIH0pO1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShERUZBVUxUX05BTUVTUEFDRSkpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQoREVGQVVMVF9OQU1FU1BBQ0UsIE9SR19JTkZPX1NIRUVUX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIHJlYWRvbmx5IHJlc29sdmVkVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlIHx8IHRoaXMudHQoJ3RpdGxlJykpO1xuICByZWFkb25seSByZXNvbHZlZFN1YnRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdWJ0aXRsZSB8fCB0aGlzLnR0KCdzdWJ0aXRsZScpKTtcbiAgcmVhZG9ubHkgcmVzb2x2ZWRDbG9zZUxhYmVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jbG9zZUxhYmVsIHx8IHRoaXMudHQoJ2Nsb3NlJykpO1xuXG4gIHJlYWRvbmx5IHBhcmFncmFwaHMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4gdGhpcy5ib2R5LnNwbGl0KCdcXG5cXG4nKS5maWx0ZXIoQm9vbGVhbikpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQ2xvc2VQcm9wcyA9IGNvbXB1dGVkPFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+PigoKSA9PiAoe1xuICAgIC4uLnRoaXMuY2xvc2VQcm9wcyxcbiAgICB0ZXh0OiB0aGlzLmNsb3NlUHJvcHMudGV4dCB8fCB0aGlzLnJlc29sdmVkQ2xvc2VMYWJlbCgpLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgcmVzb2x2ZWRGZWF0dXJlcyA9IGNvbXB1dGVkPEFycmF5PHsgaWNvbjogc3RyaW5nOyB0aXRsZTogc3RyaW5nOyBkZXNjOiBzdHJpbmcgfT4+KCgpID0+IHtcbiAgICBpZiAodGhpcy5mZWF0dXJlcz8ubGVuZ3RoKSByZXR1cm4gdGhpcy5mZWF0dXJlcztcbiAgICBpZiAoIXRoaXMuc2hvd0ZlYXR1cmVzKSByZXR1cm4gW107XG4gICAgcmV0dXJuIFtcbiAgICAgIHsgaWNvbjogJ3Blb3BsZS1vdXRsaW5lJywgdGl0bGU6IHRoaXMudHQoJ2ZlYXR1cmVDb2xsYWJUaXRsZScpLCBkZXNjOiB0aGlzLnR0KCdmZWF0dXJlQ29sbGFiRGVzYycpIH0sXG4gICAgICB7IGljb246ICdzd2FwLWhvcml6b250YWwtb3V0bGluZScsIHRpdGxlOiB0aGlzLnR0KCdmZWF0dXJlU3dpdGNoVGl0bGUnKSwgZGVzYzogdGhpcy50dCgnZmVhdHVyZVN3aXRjaERlc2MnKSB9LFxuICAgICAgeyBpY29uOiAnbWFpbC1vdXRsaW5lJywgdGl0bGU6IHRoaXMudHQoJ2ZlYXR1cmVJbnZpdGVUaXRsZScpLCBkZXNjOiB0aGlzLnR0KCdmZWF0dXJlSW52aXRlRGVzYycpIH0sXG4gICAgXTtcbiAgfSk7XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIERFRkFVTFRfTkFNRVNQQUNFKTtcbiAgfVxufVxuIl19
|