valtech-components 4.0.553 → 4.0.555
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/molecules/field-options-editor/field-options-editor.component.mjs +63 -10
- package/esm2022/lib/components/molecules/field-options-editor/types.mjs +1 -1
- package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +49 -56
- package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +3 -3
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +113 -68
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/field-options-editor/field-options-editor.component.d.ts +2 -0
- package/lib/components/molecules/field-options-editor/types.d.ts +1 -0
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +2 -7
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
package/esm2022/lib/components/molecules/field-options-editor/field-options-editor.component.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
3
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
4
|
import { IonButton, IonIcon, IonInput, IonTextarea } from '@ionic/angular/standalone';
|
|
4
5
|
import { addIcons } from 'ionicons';
|
|
5
|
-
import { addOutline, trashOutline } from 'ionicons/icons';
|
|
6
|
+
import { addOutline, reorderThreeOutline, trashOutline } from 'ionicons/icons';
|
|
6
7
|
import { ComponentStates } from '../../types';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class FieldOptionsEditorComponent {
|
|
@@ -17,12 +18,13 @@ export class FieldOptionsEditorComponent {
|
|
|
17
18
|
placeholder: 'One option per line',
|
|
18
19
|
emptyText: 'No options yet.',
|
|
19
20
|
removeOptionLabel: 'Remove option',
|
|
21
|
+
reorderOptionLabel: 'Reorder option',
|
|
20
22
|
state: ComponentStates.ENABLED,
|
|
21
23
|
};
|
|
22
24
|
this.resolved = this.fallback;
|
|
23
25
|
this.options = [];
|
|
24
26
|
this.draft = '';
|
|
25
|
-
addIcons({ addOutline, trashOutline });
|
|
27
|
+
addIcons({ addOutline, reorderThreeOutline, trashOutline });
|
|
26
28
|
}
|
|
27
29
|
ngOnChanges(changes) {
|
|
28
30
|
if (changes['props']) {
|
|
@@ -58,6 +60,13 @@ export class FieldOptionsEditorComponent {
|
|
|
58
60
|
removeOption(id) {
|
|
59
61
|
this.setOptions(this.options.filter(option => option.id !== id));
|
|
60
62
|
}
|
|
63
|
+
dropOption(event) {
|
|
64
|
+
if (this.disabled || event.previousIndex === event.currentIndex)
|
|
65
|
+
return;
|
|
66
|
+
const next = [...this.options];
|
|
67
|
+
moveItemInArray(next, event.previousIndex, event.currentIndex);
|
|
68
|
+
this.setOptions(next.map((option, index) => ({ ...option, order: index })));
|
|
69
|
+
}
|
|
61
70
|
createOption(name) {
|
|
62
71
|
return {
|
|
63
72
|
id: this.uniqueID(this.optionID(name) || `option-${this.options.length + 1}`),
|
|
@@ -132,9 +141,31 @@ export class FieldOptionsEditorComponent {
|
|
|
132
141
|
@if (options.length === 0) {
|
|
133
142
|
<p class="options-editor__empty">{{ resolved.emptyText }}</p>
|
|
134
143
|
} @else {
|
|
135
|
-
<div
|
|
144
|
+
<div
|
|
145
|
+
class="options-editor__list"
|
|
146
|
+
cdkDropList
|
|
147
|
+
[cdkDropListData]="options"
|
|
148
|
+
[cdkDropListDisabled]="disabled"
|
|
149
|
+
[attr.aria-label]="resolved.optionsLabel"
|
|
150
|
+
(cdkDropListDropped)="dropOption($event)"
|
|
151
|
+
>
|
|
136
152
|
@for (option of options; track option.id) {
|
|
137
|
-
<div
|
|
153
|
+
<div
|
|
154
|
+
class="options-editor__row"
|
|
155
|
+
cdkDrag
|
|
156
|
+
cdkDragLockAxis="y"
|
|
157
|
+
[cdkDragData]="option"
|
|
158
|
+
[cdkDragDisabled]="disabled"
|
|
159
|
+
>
|
|
160
|
+
<button
|
|
161
|
+
type="button"
|
|
162
|
+
class="options-editor__drag-handle"
|
|
163
|
+
cdkDragHandle
|
|
164
|
+
[disabled]="disabled"
|
|
165
|
+
[attr.aria-label]="resolved.reorderOptionLabel"
|
|
166
|
+
>
|
|
167
|
+
<ion-icon name="reorder-three-outline" aria-hidden="true" />
|
|
168
|
+
</button>
|
|
138
169
|
<ion-input
|
|
139
170
|
fill="outline"
|
|
140
171
|
[value]="option.name"
|
|
@@ -157,11 +188,11 @@ export class FieldOptionsEditorComponent {
|
|
|
157
188
|
</div>
|
|
158
189
|
}
|
|
159
190
|
</section>
|
|
160
|
-
`, isInline: true, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
|
|
191
|
+
`, isInline: true, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.options-editor__drag-handle{width:40px;height:40px;display:inline-grid;place-items:center;border:0;border-radius:999px;color:var(--ion-color-medium);background:transparent;cursor:grab}.options-editor__drag-handle:active{cursor:grabbing}.options-editor__drag-handle:disabled{cursor:default;opacity:.45}.options-editor__drag-handle ion-icon{font-size:22px}.options-editor__row.cdk-drag-preview{box-sizing:border-box;border-radius:999px;background:var(--ion-background-color);box-shadow:0 8px 20px #00000029}.options-editor__row.cdk-drag-placeholder{opacity:.35}.options-editor__row.cdk-drag-animating,.options-editor__list.cdk-drop-list-dragging .options-editor__row:not(.cdk-drag-placeholder){transition:transform .18s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
|
|
161
192
|
}
|
|
162
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FieldOptionsEditorComponent, decorators: [{
|
|
163
194
|
type: Component,
|
|
164
|
-
args: [{ selector: 'val-field-options-editor', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonInput, IonTextarea], template: `
|
|
195
|
+
args: [{ selector: 'val-field-options-editor', standalone: true, imports: [CommonModule, CdkDrag, CdkDragHandle, CdkDropList, IonButton, IonIcon, IonInput, IonTextarea], template: `
|
|
165
196
|
<section class="options-editor">
|
|
166
197
|
@if (resolved.title) {
|
|
167
198
|
<h3>{{ resolved.title }}</h3>
|
|
@@ -195,9 +226,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
195
226
|
@if (options.length === 0) {
|
|
196
227
|
<p class="options-editor__empty">{{ resolved.emptyText }}</p>
|
|
197
228
|
} @else {
|
|
198
|
-
<div
|
|
229
|
+
<div
|
|
230
|
+
class="options-editor__list"
|
|
231
|
+
cdkDropList
|
|
232
|
+
[cdkDropListData]="options"
|
|
233
|
+
[cdkDropListDisabled]="disabled"
|
|
234
|
+
[attr.aria-label]="resolved.optionsLabel"
|
|
235
|
+
(cdkDropListDropped)="dropOption($event)"
|
|
236
|
+
>
|
|
199
237
|
@for (option of options; track option.id) {
|
|
200
|
-
<div
|
|
238
|
+
<div
|
|
239
|
+
class="options-editor__row"
|
|
240
|
+
cdkDrag
|
|
241
|
+
cdkDragLockAxis="y"
|
|
242
|
+
[cdkDragData]="option"
|
|
243
|
+
[cdkDragDisabled]="disabled"
|
|
244
|
+
>
|
|
245
|
+
<button
|
|
246
|
+
type="button"
|
|
247
|
+
class="options-editor__drag-handle"
|
|
248
|
+
cdkDragHandle
|
|
249
|
+
[disabled]="disabled"
|
|
250
|
+
[attr.aria-label]="resolved.reorderOptionLabel"
|
|
251
|
+
>
|
|
252
|
+
<ion-icon name="reorder-three-outline" aria-hidden="true" />
|
|
253
|
+
</button>
|
|
201
254
|
<ion-input
|
|
202
255
|
fill="outline"
|
|
203
256
|
[value]="option.name"
|
|
@@ -220,10 +273,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
220
273
|
</div>
|
|
221
274
|
}
|
|
222
275
|
</section>
|
|
223
|
-
`, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}\n"] }]
|
|
276
|
+
`, styles: [".options-editor{margin-top:16px}.options-editor h3{margin:0 0 6px;color:var(--ion-color-dark);font-size:1rem}.options-editor__hint,.options-editor__empty{margin:0;color:var(--ion-color-medium);font-size:.875rem;line-height:1.35}.options-editor__add{display:grid;gap:10px;margin-top:12px}.options-editor__list{display:grid;gap:8px;margin-top:12px}.options-editor__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.options-editor__drag-handle{width:40px;height:40px;display:inline-grid;place-items:center;border:0;border-radius:999px;color:var(--ion-color-medium);background:transparent;cursor:grab}.options-editor__drag-handle:active{cursor:grabbing}.options-editor__drag-handle:disabled{cursor:default;opacity:.45}.options-editor__drag-handle ion-icon{font-size:22px}.options-editor__row.cdk-drag-preview{box-sizing:border-box;border-radius:999px;background:var(--ion-background-color);box-shadow:0 8px 20px #00000029}.options-editor__row.cdk-drag-placeholder{opacity:.35}.options-editor__row.cdk-drag-animating,.options-editor__list.cdk-drop-list-dragging .options-editor__row:not(.cdk-drag-placeholder){transition:transform .18s ease}\n"] }]
|
|
224
277
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
225
278
|
type: Input
|
|
226
279
|
}], optionsChange: [{
|
|
227
280
|
type: Output
|
|
228
281
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb3B0aW9ucy1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9maWVsZC1vcHRpb25zLWVkaXRvci9maWVsZC1vcHRpb25zLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUE0RzlDLE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDO1FBbEJTLFVBQUssR0FBK0IsRUFBRSxDQUFDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFFL0QsYUFBUSxHQUEwRDtZQUN6RSxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixpQkFBaUIsRUFBRSxlQUFlO1lBQ2xDLEtBQUssRUFBRSxlQUFlLENBQUMsT0FBTztTQUMvQixDQUFDO1FBRUYsYUFBUSxHQUEwRCxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2hGLFlBQU8sR0FBOEIsRUFB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QUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sS0FBSzthQUNULFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDaEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQzthQUMvQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDO2FBQzlCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2FBQ3ZCLFdBQVcsRUFBRSxDQUFDO0lBQ25CLENBQUM7K0dBMUdVLDJCQUEyQjttR0FBM0IsMkJBQTJCLGtMQXJHNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRULDJnQkE1RFMsWUFBWSwrQkFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsUUFBUSw4ZUFBRSxXQUFXOzs0RkFzR3RELDJCQUEyQjtrQkF6R3ZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsWUFDeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUO3dEQTJDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0LCBJb25UZXh0YXJlYSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhZGRPdXRsaW5lLCB0cmFzaE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiwgRmllbGRPcHRpb25zRWRpdG9yTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCwgSW9uVGV4dGFyZWFdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWN0aW9uIGNsYXNzPVwib3B0aW9ucy1lZGl0b3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWQudGl0bGUpIHtcbiAgICAgICAgPGgzPnt7IHJlc29sdmVkLnRpdGxlIH19PC9oMz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVzb2x2ZWQuaGludCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19oaW50XCI+e3sgcmVzb2x2ZWQuaGludCB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19hZGRcIj5cbiAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgIGF1dG9Hcm93PVwidHJ1ZVwiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgW3ZhbHVlXT1cImRyYWZ0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJkcmFmdCA9IHN0cmluZ1ZhbHVlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBzaGFwZT1cInJvdW5kXCJcbiAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhZHJhZnQudHJpbSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWRkRHJhZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICB7eyByZXNvbHZlZC5hZGRMYWJlbCB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19lbXB0eVwiPnt7IHJlc29sdmVkLmVtcHR5VGV4dCB9fTwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1lZGl0b3JfX2xpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkLm9wdGlvbnNMYWJlbFwiPlxuICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayBvcHRpb24uaWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zLWVkaXRvcl9fcm93XCI+XG4gICAgICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5uYW1lXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVzb2x2ZWQub3B0aW9uc0xhYmVsXCJcbiAgICAgICAgICAgICAgICAoaW9uSW5wdXQpPVwidXBkYXRlT3B0aW9uKG9wdGlvbi5pZCwgc3RyaW5nVmFsdWUoJGV2ZW50KSlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZC5yZW1vdmVPcHRpb25MYWJlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU9wdGlvbihvcHRpb24uaWQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwidHJhc2gtb3V0bGluZVwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvc2VjdGlvbj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLm9wdGlvbnMtZWRpdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9faGludCxcbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fZW1wdHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fYWRkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAub3B0aW9ucy1lZGl0b3JfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkT3B0aW9uc0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSA9IHt9O1xuICBAT3V0cHV0KCkgb3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmllbGRPcHRpb25FZGl0b3JPcHRpb25bXT4oKTtcblxuICByZWFkb25seSBmYWxsYmFjazogUmVxdWlyZWQ8T21pdDxGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSwgJ29wdGlvbnMnPj4gPSB7XG4gICAgdGl0bGU6ICdPcHRpb25zJyxcbiAgICBoaW50OiAnJyxcbiAgICBhZGRMYWJlbDogJ0FkZCBvcHRpb25zJyxcbiAgICBvcHRpb25zTGFiZWw6ICdPcHRpb25zJyxcbiAgICBwbGFjZWhvbGRlcjogJ09uZSBvcHRpb24gcGVyIGxpbmUnLFxuICAgIGVtcHR5VGV4dDogJ05vIG9wdGlvbnMgeWV0LicsXG4gICAgcmVtb3ZlT3B0aW9uTGFiZWw6ICdSZW1vdmUgb3B0aW9uJyxcbiAgICBzdGF0ZTogQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQsXG4gIH07XG5cbiAgcmVzb2x2ZWQ6IFJlcXVpcmVkPE9taXQ8RmllbGRPcHRpb25zRWRpdG9yTWV0YWRhdGEsICdvcHRpb25zJz4+ID0gdGhpcy5mYWxsYmFjaztcbiAgb3B0aW9uczogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSA9IFtdO1xuICBkcmFmdCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgYWRkT3V0bGluZSwgdHJhc2hPdXRsaW5lIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVkID0geyAuLi50aGlzLmZhbGxiYWNrLCAuLi50aGlzLnByb3BzIH07XG4gICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm5vcm1hbGl6ZU9wdGlvbnModGhpcy5wcm9wcy5vcHRpb25zID8/IFtdKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWQuc3RhdGUgIT09IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICB9XG5cbiAgc3RyaW5nVmFsdWUoZXZlbnQ6IEV2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKChldmVudCBhcyBDdXN0b21FdmVudDx7IHZhbHVlPzogdW5rbm93biB9PikuZGV0YWlsPy52YWx1ZSA/PyAnJyk7XG4gIH1cblxuICBhZGREcmFmdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMuZHJhZnRcbiAgICAgIC5zcGxpdCgvXFxyP1xcbnwsLylcbiAgICAgIC5tYXAodmFsdWUgPT4gdmFsdWUudHJpbSgpKVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAobmFtZXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgY29uc3QgbmV4dCA9IFsuLi50aGlzLm9wdGlvbnMsIC4uLm5hbWVzLm1hcChuYW1lID0+IHRoaXMuY3JlYXRlT3B0aW9uKG5hbWUpKV07XG4gICAgdGhpcy5kcmFmdCA9ICcnO1xuICAgIHRoaXMuc2V0T3B0aW9ucyhuZXh0KTtcbiAgfVxuXG4gIHVwZGF0ZU9wdGlvbihpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldE9wdGlvbnMoXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKG9wdGlvbiA9PlxuICAgICAgICBvcHRpb24uaWQgPT09IGlkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgICAgbmFtZTogbmFtZS50cmltU3RhcnQoKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IG9wdGlvblxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICByZW1vdmVPcHRpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24uaWQgIT09IGlkKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU9wdGlvbihuYW1lOiBzdHJpbmcpOiBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLnVuaXF1ZUlEKHRoaXMub3B0aW9uSUQobmFtZSkgfHwgYG9wdGlvbi0ke3RoaXMub3B0aW9ucy5sZW5ndGggKyAxfWApLFxuICAgICAgbmFtZSxcbiAgICAgIG9yZGVyOiB0aGlzLm9wdGlvbnMubGVuZ3RoLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldE9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucyhvcHRpb25zKS5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5uYW1lLnRyaW0oKSk7XG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zOiBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbltdKTogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSB7XG4gICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJldHVybiBbLi4ub3B0aW9uc11cbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gb3B0aW9uLm5hbWUudHJpbSgpO1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMudW5pcXVlSUQob3B0aW9uLmlkIHx8IHRoaXMub3B0aW9uSUQobmFtZSkgfHwgYG9wdGlvbi0ke2luZGV4ICsgMX1gLCBzZWVuKTtcbiAgICAgICAgc2Vlbi5hZGQoaWQpO1xuICAgICAgICByZXR1cm4geyBpZCwgbmFtZSwgb3JkZXI6IGluZGV4IH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5pcXVlSUQodmFsdWU6IHN0cmluZywgdXNlZCA9IG5ldyBTZXQodGhpcy5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLmlkKSkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2UgPSB2YWx1ZSB8fCAnb3B0aW9uJztcbiAgICBpZiAoIXVzZWQuaGFzKGJhc2UpKSByZXR1cm4gYmFzZTtcbiAgICBsZXQgc3VmZml4ID0gMjtcbiAgICB3aGlsZSAodXNlZC5oYXMoYCR7YmFzZX0tJHtzdWZmaXh9YCkpIHN1ZmZpeCArPSAxO1xuICAgIHJldHVybiBgJHtiYXNlfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBvcHRpb25JRCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCAnLScpXG4gICAgICAucmVwbGFjZSgvXi0rfC0rJC9nLCAnJylcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICB9XG59XG4iXX0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb3B0aW9ucy1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9maWVsZC1vcHRpb25zLWVkaXRvci9maWVsZC1vcHRpb25zLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBMks5QyxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QztRQW5CUyxVQUFLLEdBQStCLEVBQUUsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRS9ELGFBQVEsR0FBMEQ7WUFDekUsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUUsYUFBYTtZQUN2QixZQUFZLEVBQUUsU0FBUztZQUN2QixXQUFXLEVBQUUscUJBQXFCO1lBQ2xDLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsaUJBQWlCLEVBQUUsZUFBZTtZQUNsQyxrQkFBa0IsRUFBRSxnQkFBZ0I7WUFDcEMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1NBQy9CLENBQUM7UUFFRixhQUFRLEdBQTBELElBQUksQ0FBQyxRQUFRLENBQUM7UUFDaEYsWUFBTyxHQUE4QixFQUFFLENBQUM7UUFDeEMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUdULFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixPQUFPLE1BQU0sQ0FBRSxLQUEwQyxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSzthQUNyQixLQUFLLENBQUMsU0FBUyxDQUFDO2FBQ2hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQy9CLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRTtZQUNkLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7YUFDdkI7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUNYLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNkM7UUFDdEQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWTtRQUMvQixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUk7WUFDSixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWtDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWtDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQ2hCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDL0MsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNiLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYSxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRixNQUFNLElBQUksR0FBRyxLQUFLLElBQUksUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDbEQsT0FBTyxHQUFHLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWE7UUFDNUIsT0FBTyxLQUFLO2FBQ1QsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUNoQixPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2FBQy9CLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7YUFDOUIsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7YUFDdkIsV0FBVyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0FsSFUsMkJBQTJCO21HQUEzQiwyQkFBMkIsa0xBcEs1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUZULG91Q0FsRlMsWUFBWSwrQkFBRSxPQUFPLHdjQUFFLGFBQWEsK0ZBQUUsV0FBVyw4ZkFBRSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsUUFBUSw4ZUFBRSxXQUFXOzs0RkFxSzNGLDJCQUEyQjtrQkF4S3ZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsWUFDN0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlGVDt3REFvRlEsS0FBSztzQkFBYixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0RyYWdIYW5kbGUsIENka0Ryb3BMaXN0LCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFkZE91dGxpbmUsIHJlb3JkZXJUaHJlZU91dGxpbmUsIHRyYXNoT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZpZWxkT3B0aW9uRWRpdG9yT3B0aW9uLCBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmllbGQtb3B0aW9ucy1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDZGtEcmFnLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCwgSW9uVGV4dGFyZWFdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzZWN0aW9uIGNsYXNzPVwib3B0aW9ucy1lZGl0b3JcIj5cbiAgICAgIEBpZiAocmVzb2x2ZWQudGl0bGUpIHtcbiAgICAgICAgPGgzPnt7IHJlc29sdmVkLnRpdGxlIH19PC9oMz5cbiAgICAgIH1cbiAgICAgIEBpZiAocmVzb2x2ZWQuaGludCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19oaW50XCI+e3sgcmVzb2x2ZWQuaGludCB9fTwvcD5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19hZGRcIj5cbiAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgIGF1dG9Hcm93PVwidHJ1ZVwiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgW3ZhbHVlXT1cImRyYWZ0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChpb25JbnB1dCk9XCJkcmFmdCA9IHN0cmluZ1ZhbHVlKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBzaGFwZT1cInJvdW5kXCJcbiAgICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhZHJhZnQudHJpbSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWRkRHJhZnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICB7eyByZXNvbHZlZC5hZGRMYWJlbCB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19lbXB0eVwiPnt7IHJlc29sdmVkLmVtcHR5VGV4dCB9fTwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJvcHRpb25zLWVkaXRvcl9fbGlzdFwiXG4gICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICBbY2RrRHJvcExpc3REYXRhXT1cIm9wdGlvbnNcIlxuICAgICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkLm9wdGlvbnNMYWJlbFwiXG4gICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wT3B0aW9uKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgQGZvciAob3B0aW9uIG9mIG9wdGlvbnM7IHRyYWNrIG9wdGlvbi5pZCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19yb3dcIlxuICAgICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInlcIlxuICAgICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwib3B0aW9uXCJcbiAgICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9wdGlvbnMtZWRpdG9yX19kcmFnLWhhbmRsZVwiXG4gICAgICAgICAgICAgICAgY2RrRHJhZ0hhbmRsZVxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZC5yZW9yZGVyT3B0aW9uTGFiZWxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJyZW9yZGVyLXRocmVlLW91dGxpbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLm5hbWVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZC5vcHRpb25zTGFiZWxcIlxuICAgICAgICAgICAgICAgIChpb25JbnB1dCk9XCJ1cGRhdGVPcHRpb24ob3B0aW9uLmlkLCBzdHJpbmdWYWx1ZSgkZXZlbnQpKVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIm1lZGl1bVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVkLnJlbW92ZU9wdGlvbkxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlT3B0aW9uKG9wdGlvbi5pZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCIgc2xvdD1cImljb24tb25seVwiIC8+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9zZWN0aW9uPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAub3B0aW9ucy1lZGl0b3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAub3B0aW9ucy1lZGl0b3IgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyayk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19oaW50LFxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19lbXB0eSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19hZGQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAub3B0aW9ucy1lZGl0b3JfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19kcmFnLWhhbmRsZSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zLWVkaXRvcl9fZHJhZy1oYW5kbGU6YWN0aXZlIHtcbiAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19kcmFnLWhhbmRsZTpkaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgb3BhY2l0eTogMC40NTtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19kcmFnLWhhbmRsZSBpb24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19yb3cuY2RrLWRyYWctcHJldmlldyB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgICAgIH1cblxuICAgICAgLm9wdGlvbnMtZWRpdG9yX19yb3cuY2RrLWRyYWctcGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjM1O1xuICAgICAgfVxuXG4gICAgICAub3B0aW9ucy1lZGl0b3JfX3Jvdy5jZGstZHJhZy1hbmltYXRpbmcsXG4gICAgICAub3B0aW9ucy1lZGl0b3JfX2xpc3QuY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAub3B0aW9ucy1lZGl0b3JfX3Jvdzpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkT3B0aW9uc0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSA9IHt9O1xuICBAT3V0cHV0KCkgb3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmllbGRPcHRpb25FZGl0b3JPcHRpb25bXT4oKTtcblxuICByZWFkb25seSBmYWxsYmFjazogUmVxdWlyZWQ8T21pdDxGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSwgJ29wdGlvbnMnPj4gPSB7XG4gICAgdGl0bGU6ICdPcHRpb25zJyxcbiAgICBoaW50OiAnJyxcbiAgICBhZGRMYWJlbDogJ0FkZCBvcHRpb25zJyxcbiAgICBvcHRpb25zTGFiZWw6ICdPcHRpb25zJyxcbiAgICBwbGFjZWhvbGRlcjogJ09uZSBvcHRpb24gcGVyIGxpbmUnLFxuICAgIGVtcHR5VGV4dDogJ05vIG9wdGlvbnMgeWV0LicsXG4gICAgcmVtb3ZlT3B0aW9uTGFiZWw6ICdSZW1vdmUgb3B0aW9uJyxcbiAgICByZW9yZGVyT3B0aW9uTGFiZWw6ICdSZW9yZGVyIG9wdGlvbicsXG4gICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICB9O1xuXG4gIHJlc29sdmVkOiBSZXF1aXJlZDxPbWl0PEZpZWxkT3B0aW9uc0VkaXRvck1ldGFkYXRhLCAnb3B0aW9ucyc+PiA9IHRoaXMuZmFsbGJhY2s7XG4gIG9wdGlvbnM6IEZpZWxkT3B0aW9uRWRpdG9yT3B0aW9uW10gPSBbXTtcbiAgZHJhZnQgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IGFkZE91dGxpbmUsIHJlb3JkZXJUaHJlZU91dGxpbmUsIHRyYXNoT3V0bGluZSB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlZCA9IHsgLi4udGhpcy5mYWxsYmFjaywgLi4udGhpcy5wcm9wcyB9O1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5ub3JtYWxpemVPcHRpb25zKHRoaXMucHJvcHMub3B0aW9ucyA/PyBbXSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkLnN0YXRlICE9PSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgfVxuXG4gIHN0cmluZ1ZhbHVlKGV2ZW50OiBFdmVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZygoZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8eyB2YWx1ZT86IHVua25vd24gfT4pLmRldGFpbD8udmFsdWUgPz8gJycpO1xuICB9XG5cbiAgYWRkRHJhZnQoKTogdm9pZCB7XG4gICAgY29uc3QgbmFtZXMgPSB0aGlzLmRyYWZ0XG4gICAgICAuc3BsaXQoL1xccj9cXG58LC8pXG4gICAgICAubWFwKHZhbHVlID0+IHZhbHVlLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgaWYgKG5hbWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGNvbnN0IG5leHQgPSBbLi4udGhpcy5vcHRpb25zLCAuLi5uYW1lcy5tYXAobmFtZSA9PiB0aGlzLmNyZWF0ZU9wdGlvbihuYW1lKSldO1xuICAgIHRoaXMuZHJhZnQgPSAnJztcbiAgICB0aGlzLnNldE9wdGlvbnMobmV4dCk7XG4gIH1cblxuICB1cGRhdGVPcHRpb24oaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRPcHRpb25zKFxuICAgICAgdGhpcy5vcHRpb25zLm1hcChvcHRpb24gPT5cbiAgICAgICAgb3B0aW9uLmlkID09PSBpZFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5vcHRpb24sXG4gICAgICAgICAgICAgIG5hbWU6IG5hbWUudHJpbVN0YXJ0KCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBvcHRpb25cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlT3B0aW9uKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNldE9wdGlvbnModGhpcy5vcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLmlkICE9PSBpZCkpO1xuICB9XG5cbiAgZHJvcE9wdGlvbihldmVudDogQ2RrRHJhZ0Ryb3A8RmllbGRPcHRpb25FZGl0b3JPcHRpb25bXT4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCBldmVudC5wcmV2aW91c0luZGV4ID09PSBldmVudC5jdXJyZW50SW5kZXgpIHJldHVybjtcbiAgICBjb25zdCBuZXh0ID0gWy4uLnRoaXMub3B0aW9uc107XG4gICAgbW92ZUl0ZW1JbkFycmF5KG5leHQsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5zZXRPcHRpb25zKG5leHQubWFwKChvcHRpb24sIGluZGV4KSA9PiAoeyAuLi5vcHRpb24sIG9yZGVyOiBpbmRleCB9KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPcHRpb24obmFtZTogc3RyaW5nKTogRmllbGRPcHRpb25FZGl0b3JPcHRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy51bmlxdWVJRCh0aGlzLm9wdGlvbklEKG5hbWUpIHx8IGBvcHRpb24tJHt0aGlzLm9wdGlvbnMubGVuZ3RoICsgMX1gKSxcbiAgICAgIG5hbWUsXG4gICAgICBvcmRlcjogdGhpcy5vcHRpb25zLmxlbmd0aCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPcHRpb25zKG9wdGlvbnM6IEZpZWxkT3B0aW9uRWRpdG9yT3B0aW9uW10pOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm5vcm1hbGl6ZU9wdGlvbnMob3B0aW9ucykuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24ubmFtZS50cmltKCkpO1xuICAgIHRoaXMub3B0aW9uc0NoYW5nZS5lbWl0KHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXSk6IEZpZWxkT3B0aW9uRWRpdG9yT3B0aW9uW10ge1xuICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByZXR1cm4gWy4uLm9wdGlvbnNdXG4gICAgICAuc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPz8gMCkgLSAoYi5vcmRlciA/PyAwKSlcbiAgICAgIC5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZSA9IG9wdGlvbi5uYW1lLnRyaW0oKTtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLnVuaXF1ZUlEKG9wdGlvbi5pZCB8fCB0aGlzLm9wdGlvbklEKG5hbWUpIHx8IGBvcHRpb24tJHtpbmRleCArIDF9YCwgc2Vlbik7XG4gICAgICAgIHNlZW4uYWRkKGlkKTtcbiAgICAgICAgcmV0dXJuIHsgaWQsIG5hbWUsIG9yZGVyOiBpbmRleCB9O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVuaXF1ZUlEKHZhbHVlOiBzdHJpbmcsIHVzZWQgPSBuZXcgU2V0KHRoaXMub3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi5pZCkpKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlID0gdmFsdWUgfHwgJ29wdGlvbic7XG4gICAgaWYgKCF1c2VkLmhhcyhiYXNlKSkgcmV0dXJuIGJhc2U7XG4gICAgbGV0IHN1ZmZpeCA9IDI7XG4gICAgd2hpbGUgKHVzZWQuaGFzKGAke2Jhc2V9LSR7c3VmZml4fWApKSBzdWZmaXggKz0gMTtcbiAgICByZXR1cm4gYCR7YmFzZX0tJHtzdWZmaXh9YDtcbiAgfVxuXG4gIHByaXZhdGUgb3B0aW9uSUQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxuICAgICAgLnJlcGxhY2UoL1teYS16QS1aMC05XSsvZywgJy0nKVxuICAgICAgLnJlcGxhY2UoL14tK3wtKyQvZywgJycpXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpZWxkLW9wdGlvbnMtZWRpdG9yL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wdGlvbkVkaXRvck9wdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgb3JkZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wdGlvbnNFZGl0b3JNZXRhZGF0YSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBhZGRMYWJlbD86IHN0cmluZztcbiAgb3B0aW9uc0xhYmVsPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZW1wdHlUZXh0Pzogc3RyaW5nO1xuICByZW1vdmVPcHRpb25MYWJlbD86IHN0cmluZztcbiAgcmVvcmRlck9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBzdGF0ZT86IENvbXBvbmVudFN0YXRlO1xuICBvcHRpb25zPzogRmllbGRPcHRpb25FZGl0b3JPcHRpb25bXTtcbn1cbiJdfQ==
|