@myrmidon/gve-core 0.0.3 → 0.0.5
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 +43 -77
- package/esm2022/lib/components/animation-timeline/animation-timeline.component.mjs +50 -19
- package/esm2022/lib/components/animation-timeline-set/animation-timeline-set.component.mjs +154 -0
- package/esm2022/lib/components/animation-tween/animation-tween.component.mjs +48 -25
- package/esm2022/lib/components/base-text-char/base-text-char.component.mjs +13 -4
- package/esm2022/lib/components/base-text-editor/base-text-editor.component.mjs +10 -6
- package/esm2022/lib/components/base-text-view/base-text-view.component.mjs +39 -5
- package/esm2022/lib/components/chain-operation-editor/chain-operation-editor.component.mjs +97 -39
- package/esm2022/lib/components/chain-result-view/chain-result-view.component.mjs +44 -12
- package/esm2022/lib/components/feature-editor/feature-editor.component.mjs +27 -12
- package/esm2022/lib/components/feature-set-editor/feature-set-editor.component.mjs +32 -9
- package/esm2022/lib/components/feature-set-view/feature-set-view.component.mjs +28 -8
- package/esm2022/lib/components/ln-heights-editor/ln-heights-editor.component.mjs +38 -7
- package/esm2022/lib/components/operation-source-editor/operation-source-editor.component.mjs +29 -4
- package/esm2022/lib/components/simple-tree/simple-tree.component.mjs +20 -4
- package/esm2022/lib/components/snapshot-editor/snapshot-editor.component.mjs +446 -108
- package/esm2022/lib/components/steps-map/steps-map.component.mjs +31 -9
- package/esm2022/lib/services/gve-api.service.mjs +17 -4
- package/esm2022/lib/services/settings.service.mjs +6 -5
- package/esm2022/lib/validators/svg-validators.mjs +7 -1
- package/esm2022/public-api.mjs +1 -2
- package/fesm2022/myrmidon-gve-core.mjs +1089 -375
- package/fesm2022/myrmidon-gve-core.mjs.map +1 -1
- package/lib/components/animation-timeline/animation-timeline.component.d.ts +31 -9
- package/lib/components/animation-timeline-set/animation-timeline-set.component.d.ts +55 -0
- package/lib/components/animation-tween/animation-tween.component.d.ts +25 -12
- package/lib/components/base-text-char/base-text-char.component.d.ts +16 -0
- package/lib/components/base-text-editor/base-text-editor.component.d.ts +5 -1
- package/lib/components/base-text-view/base-text-view.component.d.ts +37 -0
- package/lib/components/chain-operation-editor/chain-operation-editor.component.d.ts +53 -5
- package/lib/components/chain-result-view/chain-result-view.component.d.ts +17 -3
- package/lib/components/feature-editor/feature-editor.component.d.ts +21 -7
- package/lib/components/feature-set-editor/feature-set-editor.component.d.ts +28 -5
- package/lib/components/feature-set-view/feature-set-view.component.d.ts +23 -3
- package/lib/components/ln-heights-editor/ln-heights-editor.component.d.ts +22 -0
- package/lib/components/operation-source-editor/operation-source-editor.component.d.ts +31 -0
- package/lib/components/simple-tree/simple-tree.component.d.ts +19 -0
- package/lib/components/snapshot-editor/snapshot-editor.component.d.ts +179 -12
- package/lib/components/steps-map/steps-map.component.d.ts +20 -3
- package/lib/services/gve-api.service.d.ts +14 -0
- package/lib/services/settings.service.d.ts +2 -1
- package/lib/validators/svg-validators.d.ts +6 -0
- package/package.json +4 -4
- package/public-api.d.ts +0 -1
- package/esm2022/lib/components/animation-vars/animation-vars.component.mjs +0 -141
- package/lib/components/animation-vars/animation-vars.component.d.ts +0 -30
|
@@ -7,16 +7,33 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
8
|
import * as i2 from "@angular/material/core";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* 🔑 `gve-steps-map`
|
|
11
|
+
*
|
|
12
|
+
* A map of steps in a chain operation context. This shows the list of
|
|
13
|
+
* steps in the execution of a set of operations, and allows the user to
|
|
14
|
+
* pick a step to view.
|
|
15
|
+
*
|
|
16
|
+
* Used by the `gve-chain-result-view` component.
|
|
17
|
+
*
|
|
18
|
+
* - ▶️ `steps` (`ChainOperationContextStep[]`): the steps to display.
|
|
19
|
+
* - ▶️ `selectedStep` (`ChainOperationContextStep`): the step that is
|
|
20
|
+
* currently selected.
|
|
21
|
+
* - ▶️ `textFontSize` (`string`): the font size of the steps text.
|
|
22
|
+
* - 🔥 `selectedStepChange` (`ChainOperationContextStep`): emitted when
|
|
23
|
+
* the selectd step has been changed by the user. This is not emitted
|
|
24
|
+
* when the selected step is changed programmatically, unless this is
|
|
25
|
+
* the first time the steps are set. In that case, the last step is
|
|
26
|
+
* automatically selected.
|
|
11
27
|
*/
|
|
12
28
|
export class StepsMapComponent {
|
|
13
29
|
constructor() {
|
|
14
30
|
/**
|
|
15
31
|
* The font size of the steps text.
|
|
16
32
|
*/
|
|
17
|
-
this.textFontSize = '0.
|
|
33
|
+
this.textFontSize = '0.6em';
|
|
18
34
|
/**
|
|
19
|
-
* Emitted when the
|
|
35
|
+
* Emitted when the selected step has changed by user, or when
|
|
36
|
+
* the steps are set for the first time.
|
|
20
37
|
*/
|
|
21
38
|
this.selectedStepChange = new EventEmitter();
|
|
22
39
|
}
|
|
@@ -30,19 +47,24 @@ export class StepsMapComponent {
|
|
|
30
47
|
if (this._steps === value) {
|
|
31
48
|
return;
|
|
32
49
|
}
|
|
50
|
+
const first = this._steps === undefined;
|
|
33
51
|
this.selectedStep = undefined;
|
|
34
52
|
this._steps = value || undefined;
|
|
53
|
+
if (first && this._steps?.length) {
|
|
54
|
+
this.selectedStep = this._steps[this._steps.length - 1];
|
|
55
|
+
this.selectedStepChange.emit(this.selectedStep);
|
|
56
|
+
}
|
|
35
57
|
}
|
|
36
|
-
|
|
58
|
+
onStepClick(step) {
|
|
37
59
|
this.selectedStep = step;
|
|
38
60
|
this.selectedStepChange.emit(step);
|
|
39
61
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StepsMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: StepsMapComponent, isStandalone: true, selector: "gve-steps-map", inputs: { steps: "steps", selectedStep: "selectedStep", textFontSize: "textFontSize" }, outputs: { selectedStepChange: "selectedStepChange" }, ngImport: i0, template: "<div>\r\n @if (steps?.length) { @for (step of steps; track step.outputTag) {\r\n <div\r\n matRipple\r\n class=\"step form-row\"\r\n [ngClass]=\"{ selected: step === selectedStep }\"\r\n (click)=\"onStepClick(step)\"\r\n >\r\n <div class=\"tag\">\r\n <span class=\"muted-tag\">{{ step.inputTag }} ▶ </span>\r\n {{ step.outputTag }}\r\n </div>\r\n <div class=\"text\" [style.fontSize]=\"textFontSize\">{{ step.result }}</div>\r\n </div>\r\n } }\r\n</div>\r\n", styles: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.selected{background-color:#fbfb9d}.step{border-top:1px solid rgb(68,114,253);border-bottom:1px solid rgb(68,114,253);border-right:1px solid rgb(68,114,253);border-radius:6px;margin:8px 0}.tag{background-color:#4472fd;color:#fff;border:1px solid rgb(68,114,253);border-radius:6px;padding:4px;cursor:pointer}.muted-tag{color:silver}.text{font-size:.5em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatTooltipModule }] }); }
|
|
42
64
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StepsMapComponent, decorators: [{
|
|
44
66
|
type: Component,
|
|
45
|
-
args: [{ selector: 'gve-steps-map', standalone: true, imports: [CommonModule, MatButtonModule, MatRippleModule, MatTooltipModule], template: "<div>\r\n @if (steps?.length) { @for (step of steps; track step.outputTag) {\r\n <div\r\n matRipple\r\n class=\"step form-row\"\r\n [ngClass]=\"{ selected: step === selectedStep }\"\r\n (click)=\"
|
|
67
|
+
args: [{ selector: 'gve-steps-map', standalone: true, imports: [CommonModule, MatButtonModule, MatRippleModule, MatTooltipModule], template: "<div>\r\n @if (steps?.length) { @for (step of steps; track step.outputTag) {\r\n <div\r\n matRipple\r\n class=\"step form-row\"\r\n [ngClass]=\"{ selected: step === selectedStep }\"\r\n (click)=\"onStepClick(step)\"\r\n >\r\n <div class=\"tag\">\r\n <span class=\"muted-tag\">{{ step.inputTag }} ▶ </span>\r\n {{ step.outputTag }}\r\n </div>\r\n <div class=\"text\" [style.fontSize]=\"textFontSize\">{{ step.result }}</div>\r\n </div>\r\n } }\r\n</div>\r\n", styles: [".form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row *{flex:0 0 auto}.selected{background-color:#fbfb9d}.step{border-top:1px solid rgb(68,114,253);border-bottom:1px solid rgb(68,114,253);border-right:1px solid rgb(68,114,253);border-radius:6px;margin:8px 0}.tag{background-color:#4472fd;color:#fff;border:1px solid rgb(68,114,253);border-radius:6px;padding:4px;cursor:pointer}.muted-tag{color:silver}.text{font-size:.5em}\n"] }]
|
|
46
68
|
}], propDecorators: { steps: [{
|
|
47
69
|
type: Input
|
|
48
70
|
}], selectedStep: [{
|
|
@@ -52,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
52
74
|
}], selectedStepChange: [{
|
|
53
75
|
type: Output
|
|
54
76
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2d2ZS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zdGVwcy1tYXAvc3RlcHMtbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2d2ZS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zdGVwcy1tYXAvc3RlcHMtbWFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFJN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFxQ0U7O1dBRUc7UUFFSSxpQkFBWSxHQUFXLE9BQU8sQ0FBQztRQUV0Qzs7O1dBR0c7UUFFSSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztLQU0zRTtJQTVDQzs7T0FFRztJQUNILElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsS0FBcUQ7UUFDcEUsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDO1FBRWpDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBcUJNLFdBQVcsQ0FBQyxJQUErQjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBOUNVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdOQ25DOUIscWZBZ0JBLHNmRGVZLFlBQVksNEhBQUUsZUFBZSw4QkFBRSxlQUFlLGtTQUFFLGdCQUFnQjs7MkZBSS9ELGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUM7OEJBV2hFLEtBQUs7c0JBRGYsS0FBSztnQkFzQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxZQUFZO3NCQURsQixLQUFLO2dCQVFDLGtCQUFrQjtzQkFEeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2d2ZS1hcGkuc2VydmljZSc7XHJcblxyXG4vKipcclxuICog8J+UkSBgZ3ZlLXN0ZXBzLW1hcGBcclxuICpcclxuICogQSBtYXAgb2Ygc3RlcHMgaW4gYSBjaGFpbiBvcGVyYXRpb24gY29udGV4dC4gVGhpcyBzaG93cyB0aGUgbGlzdCBvZlxyXG4gKiBzdGVwcyBpbiB0aGUgZXhlY3V0aW9uIG9mIGEgc2V0IG9mIG9wZXJhdGlvbnMsIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG9cclxuICogcGljayBhIHN0ZXAgdG8gdmlldy5cclxuICpcclxuICogVXNlZCBieSB0aGUgYGd2ZS1jaGFpbi1yZXN1bHQtdmlld2AgY29tcG9uZW50LlxyXG4gKlxyXG4gKiAtIOKWtu+4jyBgc3RlcHNgIChgQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcFtdYCk6IHRoZSBzdGVwcyB0byBkaXNwbGF5LlxyXG4gKiAtIOKWtu+4jyBgc2VsZWN0ZWRTdGVwYCAoYENoYWluT3BlcmF0aW9uQ29udGV4dFN0ZXBgKTogdGhlIHN0ZXAgdGhhdCBpc1xyXG4gKiBjdXJyZW50bHkgc2VsZWN0ZWQuXHJcbiAqIC0g4pa277iPIGB0ZXh0Rm9udFNpemVgIChgc3RyaW5nYCk6IHRoZSBmb250IHNpemUgb2YgdGhlIHN0ZXBzIHRleHQuXHJcbiAqIC0g8J+UpSBgc2VsZWN0ZWRTdGVwQ2hhbmdlYCAoYENoYWluT3BlcmF0aW9uQ29udGV4dFN0ZXBgKTogZW1pdHRlZCB3aGVuXHJcbiAqIHRoZSBzZWxlY3RkIHN0ZXAgaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgdXNlci4gVGhpcyBpcyBub3QgZW1pdHRlZFxyXG4gKiB3aGVuIHRoZSBzZWxlY3RlZCBzdGVwIGlzIGNoYW5nZWQgcHJvZ3JhbW1hdGljYWxseSwgdW5sZXNzIHRoaXMgaXNcclxuICogdGhlIGZpcnN0IHRpbWUgdGhlIHN0ZXBzIGFyZSBzZXQuIEluIHRoYXQgY2FzZSwgdGhlIGxhc3Qgc3RlcCBpc1xyXG4gKiBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdndmUtc3RlcHMtbWFwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHMtbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RlcHMtbWFwLmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RlcHNNYXBDb21wb25lbnQge1xyXG4gIHByaXZhdGUgX3N0ZXBzPzogQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcFtdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgc3RlcHMgdG8gZGlzcGxheS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgc3RlcHMoKTogQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcFtdIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGVwcztcclxuICB9XHJcbiAgcHVibGljIHNldCBzdGVwcyh2YWx1ZTogQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcFtdIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMuX3N0ZXBzID09PSB2YWx1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBmaXJzdCA9IHRoaXMuX3N0ZXBzID09PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RlcCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N0ZXBzID0gdmFsdWUgfHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmIChmaXJzdCAmJiB0aGlzLl9zdGVwcz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcHMubGVuZ3RoIC0gMV07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGVwQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFN0ZXApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHN0ZXAgdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRTdGVwOiBDaGFpbk9wZXJhdGlvbkNvbnRleHRTdGVwIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZm9udCBzaXplIG9mIHRoZSBzdGVwcyB0ZXh0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRleHRGb250U2l6ZTogc3RyaW5nID0gJzAuNmVtJztcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBzdGVwIGhhcyBjaGFuZ2VkIGJ5IHVzZXIsIG9yIHdoZW5cclxuICAgKiB0aGUgc3RlcHMgYXJlIHNldCBmb3IgdGhlIGZpcnN0IHRpbWUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkU3RlcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcD4oKTtcclxuXHJcbiAgcHVibGljIG9uU3RlcENsaWNrKHN0ZXA6IENoYWluT3BlcmF0aW9uQ29udGV4dFN0ZXApIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGVwID0gc3RlcDtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGVwQ2hhbmdlLmVtaXQoc3RlcCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgQGlmIChzdGVwcz8ubGVuZ3RoKSB7IEBmb3IgKHN0ZXAgb2Ygc3RlcHM7IHRyYWNrIHN0ZXAub3V0cHV0VGFnKSB7XHJcbiAgPGRpdlxyXG4gICAgbWF0UmlwcGxlXHJcbiAgICBjbGFzcz1cInN0ZXAgZm9ybS1yb3dcIlxyXG4gICAgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogc3RlcCA9PT0gc2VsZWN0ZWRTdGVwIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9uU3RlcENsaWNrKHN0ZXApXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFnXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXV0ZWQtdGFnXCI+e3sgc3RlcC5pbnB1dFRhZyB9fSAmI3gyNWI2OyA8L3NwYW4+XHJcbiAgICAgIHt7IHN0ZXAub3V0cHV0VGFnIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW3N0eWxlLmZvbnRTaXplXT1cInRleHRGb250U2l6ZVwiPnt7IHN0ZXAucmVzdWx0IH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfSB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -40,13 +40,26 @@ export class GveApiService {
|
|
|
40
40
|
})
|
|
41
41
|
.pipe(catchError(this._error.handleError));
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Get the input and output tags for the given operations.
|
|
45
|
+
*
|
|
46
|
+
* @param operations The operations.
|
|
47
|
+
* @returns Result wrapper.
|
|
48
|
+
*/
|
|
49
|
+
getTags(operations) {
|
|
50
|
+
return this._http
|
|
51
|
+
.post(`${this._env.get('apiUrl')}text/operations/tags`, {
|
|
52
|
+
operations,
|
|
53
|
+
})
|
|
54
|
+
.pipe(catchError(this._error.handleError));
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GveApiService, deps: [{ token: i1.HttpClient }, { token: i2.ErrorService }, { token: i2.EnvService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GveApiService, providedIn: 'root' }); }
|
|
45
58
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GveApiService, decorators: [{
|
|
47
60
|
type: Injectable,
|
|
48
61
|
args: [{
|
|
49
62
|
providedIn: 'root',
|
|
50
63
|
}]
|
|
51
64
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ErrorService }, { type: i2.EnvService }] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3ZlLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vZ3ZlLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9ndmUtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBNkM5Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsS0FBaUIsRUFDakIsTUFBb0IsRUFDcEIsSUFBZ0I7UUFGaEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdkIsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUNwQixJQUFZO1FBRVosT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLElBQUksQ0FDSCxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFDakQ7WUFDRSxJQUFJO1NBQ0wsQ0FDRjthQUNBLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhLENBQ2xCLElBQWdCLEVBQ2hCLFVBQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxJQUFJLENBQ0gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQy9DO1lBQ0UsSUFBSTtZQUNKLFVBQVU7U0FDWCxDQUNGO2FBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTyxDQUNaLFVBQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxJQUFJLENBQ0gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQ2hEO1lBQ0UsVUFBVTtTQUNYLENBQ0Y7YUFDQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQWpFVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVycm9yU2VydmljZSwgRW52U2VydmljZSB9IGZyb20gJ0BteXJtaWRvbi9uZy10b29scyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENoYXJDaGFpbk9wZXJhdGlvbixcclxuICBDaGFyTm9kZSxcclxuICBPcGVyYXRpb25GZWF0dXJlLFxyXG59IGZyb20gJ0BteXJtaWRvbi9ndmUtc25hcHNob3Qtdmlldyc7XHJcblxyXG5pbXBvcnQgeyBSZXN1bHRXcmFwcGVyIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBFeGVjdXRpb24gc3RlcCBvZiBhIGNoYXItYmFzZWQgY2hhaW4gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDaGFpbk9wZXJhdGlvbkNvbnRleHRTdGVwIHtcclxuICBvcGVyYXRpb246IENoYXJDaGFpbk9wZXJhdGlvbjtcclxuICBpbnB1dFRhZzogc3RyaW5nO1xyXG4gIG91dHB1dFRhZzogc3RyaW5nO1xyXG4gIHJlc3VsdD86IHN0cmluZztcclxuICBmZWF0dXJlU2V0OiB7XHJcbiAgICBmZWF0dXJlczogT3BlcmF0aW9uRmVhdHVyZVtdO1xyXG4gICAgbm9kZUZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBPcGVyYXRpb25GZWF0dXJlW10+O1xyXG4gIH07XHJcbiAgcmVmTm9kZUlkczogbnVtYmVyW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXN1bHQgb2YgZXhlY3V0aW9uIG9mIGEgY2hhci1iYXNlZCBjaGFpbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhckNoYWluUmVzdWx0IHtcclxuICBzdGVwczogQ2hhaW5PcGVyYXRpb25Db250ZXh0U3RlcFtdO1xyXG4gIGNoYWluRHVtcDogc3RyaW5nO1xyXG4gIGNoYWluVGFnczogc3RyaW5nW107XHJcbiAgdGFnZ2VkTm9kZXM6IHsgW2tleTogc3RyaW5nXTogQ2hhck5vZGVbXSB9O1xyXG59XHJcblxyXG4vKipcclxuICogVGhlIGlucHV0IGFuZCBvdXRwdXQgdGFncyBvZiBhIGNoYXItYmFzZWQgY2hhaW4gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDaGFpbk9wZXJhdGlvblRhZ3Mge1xyXG4gIGlucHV0VGFnOiBzdHJpbmc7XHJcbiAgb3V0cHV0VGFnOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRvIGludGVyYWN0IHdpdGggdGhlIEdWRSBBUEkuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3ZlQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfZXJyb3I6IEVycm9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VudjogRW52U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUGFyc2UgdGhlIHNwZWNpZmllZCB0ZXh0IGludG8gb3BlcmF0aW9ucy4gRWFjaCBvcGVyYXRpb24gaXMgYSBsaW5lXHJcbiAgICogb2YgdGhlIHRleHQuXHJcbiAgICogQHBhcmFtIHRleHQgVGhlIHRleHQgdG8gcGFyc2UuXHJcbiAgICogQHJldHVybnMgVGhlIG9wZXJhdGlvbnMuXHJcbiAgICovXHJcbiAgcHVibGljIHBhcnNlT3BlcmF0aW9ucyhcclxuICAgIHRleHQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8UmVzdWx0V3JhcHBlcjxDaGFyQ2hhaW5PcGVyYXRpb25bXT4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwXHJcbiAgICAgIC5wb3N0PFJlc3VsdFdyYXBwZXI8Q2hhckNoYWluT3BlcmF0aW9uW10+PihcclxuICAgICAgICBgJHt0aGlzLl9lbnYuZ2V0KCdhcGlVcmwnKX10ZXh0L29wZXJhdGlvbnMvcGFyc2VgLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5fZXJyb3IuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJ1biBvcGVyYXRpb25zIG9uIHRoZSBzcGVjaWZpZWQgdGV4dC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB0ZXh0IFRoZSBiYXNlIHRleHQuXHJcbiAgICogQHBhcmFtIG9wZXJhdGlvbnMgVGhlIG9wZXJhdGlvbnMgdG8gcnVuLlxyXG4gICAqIEByZXR1cm5zIFJlc3VsdCB3cmFwcGVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBydW5PcGVyYXRpb25zKFxyXG4gICAgdGV4dDogQ2hhck5vZGVbXSxcclxuICAgIG9wZXJhdGlvbnM6IENoYXJDaGFpbk9wZXJhdGlvbltdXHJcbiAgKTogT2JzZXJ2YWJsZTxSZXN1bHRXcmFwcGVyPENoYXJDaGFpblJlc3VsdD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwXHJcbiAgICAgIC5wb3N0PFJlc3VsdFdyYXBwZXI8Q2hhckNoYWluUmVzdWx0Pj4oXHJcbiAgICAgICAgYCR7dGhpcy5fZW52LmdldCgnYXBpVXJsJyl9dGV4dC9vcGVyYXRpb25zL3J1bmAsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dCxcclxuICAgICAgICAgIG9wZXJhdGlvbnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5fZXJyb3IuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgaW5wdXQgYW5kIG91dHB1dCB0YWdzIGZvciB0aGUgZ2l2ZW4gb3BlcmF0aW9ucy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBvcGVyYXRpb25zIFRoZSBvcGVyYXRpb25zLlxyXG4gICAqIEByZXR1cm5zIFJlc3VsdCB3cmFwcGVyLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRUYWdzKFxyXG4gICAgb3BlcmF0aW9uczogQ2hhckNoYWluT3BlcmF0aW9uW11cclxuICApOiBPYnNlcnZhYmxlPFJlc3VsdFdyYXBwZXI8c3RyaW5nW10+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFxyXG4gICAgICAucG9zdDxSZXN1bHRXcmFwcGVyPHN0cmluZ1tdPj4oXHJcbiAgICAgICAgYCR7dGhpcy5fZW52LmdldCgnYXBpVXJsJyl9dGV4dC9vcGVyYXRpb25zL3RhZ3NgLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wZXJhdGlvbnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5fZXJyb3IuaGFuZGxlRXJyb3IpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
/**
|
|
4
|
-
* Service to store and retrieve dynamic settings.
|
|
4
|
+
* Service to store and retrieve dynamic settings. On demand, settings can
|
|
5
|
+
* be persisted in the local storage.
|
|
5
6
|
*/
|
|
6
7
|
export class SettingsService {
|
|
7
8
|
constructor() {
|
|
@@ -74,13 +75,13 @@ export class SettingsService {
|
|
|
74
75
|
this._cache.delete(key);
|
|
75
76
|
localStorage.removeItem(key);
|
|
76
77
|
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
78
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
|
|
79
80
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SettingsService, decorators: [{
|
|
81
82
|
type: Injectable,
|
|
82
83
|
args: [{
|
|
83
84
|
providedIn: 'root',
|
|
84
85
|
}]
|
|
85
86
|
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2d2ZS1jb3JlL3NyYy9saWIvc2VydmljZXMvc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQUg1QjtRQUltQixXQUFNLEdBQXFCLElBQUksR0FBRyxFQUFlLENBQUM7S0FvRnBFO0lBMUVDOzs7OztPQUtHO0lBQ0ssWUFBWSxDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUNqRCxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFLENBQUM7WUFDckIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEdBQUcsQ0FBSSxHQUFXLEVBQUUsWUFBa0I7UUFDM0MsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0Isc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCx1Q0FBdUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEIsT0FBTyxLQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN6QixHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEdBQVc7UUFDdkIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQXBGVSxlQUFlO2tIQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBkeW5hbWljIHNldHRpbmdzLiBPbiBkZW1hbmQsIHNldHRpbmdzIGNhblxyXG4gKiBiZSBwZXJzaXN0ZWQgaW4gdGhlIGxvY2FsIHN0b3JhZ2UuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZTogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWZpeCB0byBzY29wZSB0aGUga2V5cy4gVGhpcyBwcmVmaXggaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNjb3BlIHRoZSBrZXlzXHJcbiAgICogc28gdGhhdCB0aGV5IGNhbm5vdCBjb25mbGljdCB3aXRoIG90aGVyIGtleXMgaW4gdGhlIGxvY2FsIHN0b3JhZ2UuXHJcbiAgICogVGhlIHByZWZpeCBpcyB0b3RhbGx5IHRyYW5zcGFyZW50IHRvIHRoZSB1c2VyIG9mIHRoZSBzZXJ2aWNlLCB3aG8gc2hvdWxkXHJcbiAgICogdXNlIHRoZSBrZXlzIHdpdGhvdXQgdGhlIHByZWZpeC5cclxuICAgKi9cclxuICBwdWJsaWMga2V5UHJlZml4Pzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBTY29wZXMgdGhlIGtleSBieSBwcmVmaXhpbmcgaXQgd2l0aCB0aGUga2V5UHJlZml4IGlmIGFueS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzY29wZS5cclxuICAgKiBAcmV0dXJucyBUaGUgc2NvcGVkIGtleS5cclxuICAgKi9cclxuICBwcml2YXRlIGdldFNjb3BlZEtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5rZXlQcmVmaXggPyB0aGlzLmtleVByZWZpeCArIGtleSA6IGtleTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgYSBzZXR0aW5nJ3MgdmFsdWUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkuXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZS5cclxuICAgKiBAcGFyYW0gcGVyc2lzdCBUcnVlIHRvIHBlcnNpc3QgdGhpcyBzZXR0aW5nIGluIGxvY2FsIHN0b3JhZ2UuXHJcbiAgICovXHJcbiAgcHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgcGVyc2lzdCA9IGZhbHNlKSB7XHJcbiAgICBrZXkgPSB0aGlzLmdldFNjb3BlZEtleShrZXkpO1xyXG4gICAgdGhpcy5fY2FjaGUuc2V0KGtleSwgdmFsdWUpO1xyXG4gICAgaWYgKHBlcnNpc3QgJiYgdmFsdWUpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGEgc2V0dGluZydzIHZhbHVlIG9mIHR5cGUgVC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleS5cclxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBkZWZhdWx0IHZhbHVlIHRvIGdldCB3aGVuIHRoZSBzZXR0aW5nXHJcbiAgICogaXMgbm90IGZvdW5kIGluIHRoZSBzdG9yZS5cclxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUuXHJcbiAgICovXHJcbiAgcHVibGljIGdldDxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogYW55KTogVCB7XHJcbiAgICBrZXkgPSB0aGlzLmdldFNjb3BlZEtleShrZXkpO1xyXG5cclxuICAgIC8vIGltbWVkaWF0ZWx5IHJldHVybiB2YWx1ZSBmcm9tIGNhY2hlXHJcbiAgICBpZiAodGhpcy5fY2FjaGUuaGFzKGtleSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlLmdldChrZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRyeSBsb2FkaW5nIHZhbHVlIGZyb20gbG9jYWwgc3RvcmFnZVxyXG4gICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHYgPSBKU09OLnBhcnNlKHZhbHVlKTtcclxuICAgICAgdGhpcy5fY2FjaGUuc2V0KGtleSwgdik7XHJcbiAgICAgIHJldHVybiB2YWx1ZSBhcyBUO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG5vdCBmb3VuZCwgcmV0dXJuIGRlZmF1bHQgdmFsdWVcclxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBhIGtleSBleGlzdHMgaW4gdGhlIHN0b3JlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGtleSBUaGUga2V5LlxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGtleSBleGlzdHMgaW4gdGhlIHN0b3JlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb250YWlucyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAga2V5ID0gdGhpcy5nZXRTY29wZWRLZXkoa2V5KTtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZS5oYXMoa2V5KSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGEgc2V0dGluZyBpZiBwcmVzZW50LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGtleSBUaGUga2V5LlxyXG4gICAqL1xyXG4gIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGtleSA9IHRoaXMuZ2V0U2NvcGVkS2V5KGtleSk7XHJcbiAgICB0aGlzLl9jYWNoZS5kZWxldGUoa2V5KTtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validators for SVG.
|
|
3
|
+
*/
|
|
1
4
|
export class SvgValidators {
|
|
5
|
+
/**
|
|
6
|
+
* Validator for a valid SVG `g` root element in GVE.
|
|
7
|
+
*/
|
|
2
8
|
static rootGValidator() {
|
|
3
9
|
return (control) => {
|
|
4
10
|
if (!control.value) {
|
|
@@ -25,4 +31,4 @@ export class SvgValidators {
|
|
|
25
31
|
};
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9ndmUtY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvc3ZnLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjO1FBQ25CLE9BQU8sQ0FBQyxPQUF3QixFQUFpQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDL0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksT0FBTyxDQUFDO1lBRVosSUFBSSxDQUFDO2dCQUNILE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDbkUsT0FBTztvQkFDTCxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN4RSxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxLQUFLLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkQsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDNUQsS0FBSyxHQUFHLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0b3JzIGZvciBTVkcuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3ZnVmFsaWRhdG9ycyB7XHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIGZvciBhIHZhbGlkIFNWRyBgZ2Agcm9vdCBlbGVtZW50IGluIEdWRS5cclxuICAgKi9cclxuICBzdGF0aWMgcm9vdEdWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcclxuICAgICAgbGV0IGVycm9yID0gbnVsbDtcclxuICAgICAgbGV0IHN2Z1Jvb3Q7XHJcblxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGRvYyA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoY29udHJvbC52YWx1ZSwgJ2ltYWdlL3N2Zyt4bWwnKTtcclxuICAgICAgICBzdmdSb290ID1cclxuICAgICAgICAgIGRvYy5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWUgPT09ICdzdmcnID8gZG9jLmRvY3VtZW50RWxlbWVudCA6IG51bGw7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBlcnJvciA9IHsgc3ZnSW52YWxpZDogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghZXJyb3IgJiYgc3ZnUm9vdCkge1xyXG4gICAgICAgIGNvbnN0IGdFbGVtZW50cyA9IHN2Z1Jvb3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2cnKTtcclxuICAgICAgICBpZiAoZ0VsZW1lbnRzLmxlbmd0aCAhPT0gMSB8fCBzdmdSb290LmNoaWxkTm9kZXMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgZXJyb3IgPSB7IHN2Z0ludmFsaWRSb290OiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH0gfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
export * from './lib/models';
|
|
5
5
|
export * from './lib/components/animation-timeline/animation-timeline.component';
|
|
6
6
|
export * from './lib/components/animation-tween/animation-tween.component';
|
|
7
|
-
export * from './lib/components/animation-vars/animation-vars.component';
|
|
8
7
|
export * from './lib/components/base-text-char/base-text-char.component';
|
|
9
8
|
export * from './lib/components/base-text-editor/base-text-editor.component';
|
|
10
9
|
export * from './lib/components/base-text-view/base-text-view.component';
|
|
@@ -20,4 +19,4 @@ export * from './lib/components/snapshot-editor/snapshot-editor.component';
|
|
|
20
19
|
export * from './lib/components/steps-map/steps-map.component';
|
|
21
20
|
export * from './lib/services/gve-api.service';
|
|
22
21
|
export * from './lib/services/settings.service';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2d2ZS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGd2ZS1jb3JlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hbmltYXRpb24tdGltZWxpbmUvYW5pbWF0aW9uLXRpbWVsaW5lLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYW5pbWF0aW9uLXR3ZWVuL2FuaW1hdGlvbi10d2Vlbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UtdGV4dC1jaGFyL2Jhc2UtdGV4dC1jaGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFzZS10ZXh0LWVkaXRvci9iYXNlLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFzZS10ZXh0LXZpZXcvYmFzZS10ZXh0LXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFpbi1vcGVyYXRpb24tZWRpdG9yL2NoYWluLW9wZXJhdGlvbi1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jaGFpbi1yZXN1bHQtdmlldy9jaGFpbi1yZXN1bHQtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZlYXR1cmUtZWRpdG9yL2ZlYXR1cmUtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVhdHVyZS1zZXQtZWRpdG9yL2ZlYXR1cmUtc2V0LWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZlYXR1cmUtc2V0LXZpZXcvZmVhdHVyZS1zZXQtdmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xuLWhlaWdodHMtZWRpdG9yL2xuLWhlaWdodHMtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3BlcmF0aW9uLXNvdXJjZS1lZGl0b3Ivb3BlcmF0aW9uLXNvdXJjZS1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaW1wbGUtdHJlZS9zaW1wbGUtdHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NuYXBzaG90LWVkaXRvci9zbmFwc2hvdC1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGVwcy1tYXAvc3RlcHMtbWFwLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ndmUtYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcclxuXHJcbiJdfQ==
|