signalk-piper 0.1.0 → 0.2.0
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 +57 -43
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +46 -1
- package/dist/service.js.map +1 -1
- package/package.json +14 -5
- package/public/172.mjs +1 -0
- package/public/540.mjs +2 -0
- package/public/540.mjs.LICENSE.txt +9 -0
- package/public/main.mjs +1 -0
- package/public/remoteEntry.js +1 -0
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# signalk-piper
|
|
2
2
|
|
|
3
|
-
> **Status: ALPHA** This SignalK Wyoming system is 100% vibecoded slop. I don't have the right hardware yet to test it, so I'm putting it out there for people to test in the meantime. It _should_ work. File issues for anything that
|
|
3
|
+
> **Status: ALPHA** — This SignalK Wyoming system is 100% vibecoded slop. I don't have the right hardware yet to test it, so I'm putting it out there for people to test in the meantime. It _should_ work. File issues for anything that doesn't.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**signalk-piper gives your Signal K server a voice.** It runs [Piper](https://github.com/rhasspy/wyoming-piper), a fast, natural-sounding text-to-speech engine, in a container that the plugin installs, configures, and monitors for you. Once a voice is downloaded, everything runs fully offline — no cloud, no internet needed at sea.
|
|
6
|
+
|
|
7
|
+
It is the speaking half of the [signalk-wyoming](https://github.com/hoeken/signalk-wyoming) voice assistant family: install it alongside the orchestrator and the plugins below for spoken announcements and a full on-boat voice assistant. It also works standalone — anything that speaks the [Wyoming protocol](https://github.com/rhasspy/wyoming), including Home Assistant, can use it directly.
|
|
6
8
|
|
|
7
9
|
| Plugin | Role |
|
|
8
10
|
| ---------------------------------------------------------------------- | --------------------------------------------------- |
|
|
@@ -13,69 +15,81 @@
|
|
|
13
15
|
|
|
14
16
|
## Requirements
|
|
15
17
|
|
|
16
|
-
- The **[signalk-container](https://www.npmjs.com/package/signalk-container)** plugin
|
|
18
|
+
- The **[signalk-container](https://www.npmjs.com/package/signalk-container)** plugin with a working podman or docker runtime — install and enable it first.
|
|
17
19
|
- **Node.js ≥ 24** (Signal K server ≥ 2.x).
|
|
18
|
-
- RAM
|
|
19
|
-
- Disk
|
|
20
|
+
- **RAM:** about 150 MB while a voice is loaded; the container is capped at 512 MB by default. Piper plus the orchestrator run comfortably alongside Signal K on a Pi 4 with 2 GB.
|
|
21
|
+
- **Disk:** roughly 400 MB for the container image, plus ~60 MB per voice. Images are available for `linux/amd64` and `linux/arm64` (no 32-bit armv7).
|
|
20
22
|
|
|
21
23
|
## Install
|
|
22
24
|
|
|
23
|
-
Install **signalk-
|
|
25
|
+
1. Install and enable **signalk-container** (Appstore → Available).
|
|
26
|
+
2. Install **signalk-piper** from the App Store (search "piper").
|
|
27
|
+
3. Enable it in Server → Plugin Config.
|
|
28
|
+
|
|
29
|
+
### First start needs internet
|
|
30
|
+
|
|
31
|
+
On first start the container downloads your chosen voice (**~60 MB**) from HuggingFace. The plugin status shows _"Starting — first start downloads ~60 MB per voice"_ until the service is actually up and answering. The voice is stored in the plugin's data directory, so it survives restarts, container recreation, and image updates.
|
|
32
|
+
|
|
33
|
+
**Do the first start at the dock, not at sea.** After the download, everything runs fully offline. The same applies to every voice you plan to use: each one downloads on first use, so pre-download any voice you rely on while you still have internet.
|
|
34
|
+
|
|
35
|
+
## Configuration
|
|
24
36
|
|
|
25
|
-
|
|
37
|
+
The plugin ships a graphical configuration panel (Server → Plugin Config → Piper TTS) with a live container status card, a one-click image update check/apply, a version dropdown fed by Docker Hub, and all the settings below — with inline warnings if you pick an unsupported voice or open the service to the network. On servers without custom-panel support you get a plain settings form with the same options.
|
|
26
38
|
|
|
27
|
-
| Setting | Default | Description
|
|
28
|
-
| -------------------------- | --------------------- |
|
|
29
|
-
| `voice` | `en_US-lessac-medium` | Piper voice to load and serve.
|
|
30
|
-
| `imageTag` | `auto` |
|
|
31
|
-
| `port` | `10200` | Host port for the Wyoming TTS service.
|
|
32
|
-
| `advanced.bind` | `127.0.0.1` | `127.0.0.1`: only Signal K can reach the service (recommended). `0.0.0.0`:
|
|
33
|
-
| `advanced.memoryLimit` | `512m` | Hard
|
|
34
|
-
| `advanced.restartPolicy` | `unless-stopped` | Container restart policy (`no` / `unless-stopped` / `always`).
|
|
35
|
-
| `advanced.updateVoices` | `false` |
|
|
36
|
-
| `advanced.sentenceSilence` | _(unset)_ |
|
|
37
|
-
| `advanced.lengthScale` | _(unset)_ |
|
|
39
|
+
| Setting | Default | Description |
|
|
40
|
+
| -------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `voice` | `en_US-lessac-medium` | The Piper voice to load and serve. See [Choosing a voice](#choosing-a-voice). |
|
|
42
|
+
| `imageTag` | `auto` | Version of the `rhasspy/wyoming-piper` image to run. `auto` runs the pinned, tested release (**2.3.1**) and follows plugin updates; set an explicit tag to pin a version. |
|
|
43
|
+
| `port` | `10200` | Host port for the Wyoming TTS service. Leave it alone unless it collides with something else. |
|
|
44
|
+
| `advanced.bind` | `127.0.0.1` | `127.0.0.1`: only Signal K can reach the service (recommended). `0.0.0.0`: share it with other machines on the network (see [Security](#security)). |
|
|
45
|
+
| `advanced.memoryLimit` | `512m` | Hard memory cap for the container. |
|
|
46
|
+
| `advanced.restartPolicy` | `unless-stopped` | Container restart policy (`no` / `unless-stopped` / `always`). |
|
|
47
|
+
| `advanced.updateVoices` | `false` | Refresh the list of available voices from HuggingFace each time the container starts (needs internet; off by default for offline-first boats). |
|
|
48
|
+
| `advanced.sentenceSilence` | _(unset)_ | Seconds of silence added after each sentence. |
|
|
49
|
+
| `advanced.lengthScale` | _(unset)_ | Speech speed tuning; values above 1 slow speech down. |
|
|
38
50
|
|
|
39
|
-
|
|
51
|
+
### Choosing a voice
|
|
40
52
|
|
|
41
|
-
|
|
53
|
+
Browse and listen to voices at [rhasspy/piper-voices](https://huggingface.co/rhasspy/piper-voices). **Stick to `-medium` or `-high` quality voices** — voices ending in `-low` or `-x_low` use a lower sample rate (16 kHz) that the voice assistant family doesn't support; the plugin warns if you pick one but won't stop you. Each voice is a ~60 MB download on first use.
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
## Using the service
|
|
44
56
|
|
|
45
|
-
|
|
57
|
+
The service is a standard Wyoming TTS endpoint at `tcp://<host>:10200`.
|
|
46
58
|
|
|
47
|
-
|
|
59
|
+
- **With signalk-wyoming:** nothing to set up — the orchestrator discovers the service automatically and uses it for all spoken output.
|
|
60
|
+
- **With Home Assistant** (standalone): set `advanced.bind` to `0.0.0.0`, then add a _Wyoming Protocol_ integration pointing at `tcp://<boat-ip>:10200`.
|
|
61
|
+
- **Any other Wyoming client** works the same way. Clients may request a different voice per request; a voice that was never downloaded triggers a download mid-request, so pre-download the voices you use.
|
|
48
62
|
|
|
49
|
-
|
|
50
|
-
- **Home Assistant** (standalone use): set `advanced.bind` to `0.0.0.0`, then add a Wyoming Protocol integration pointing at `tcp://<boat-ip>:10200`.
|
|
51
|
-
- **Per-request voice override:** Wyoming `synthesize` requests may name any known voice (`voice.name`); piper downloads voices it knows about but hasn't cached — a mid-request network hit, so pre-download voices you rely on.
|
|
63
|
+
## Status, health, and alarms
|
|
52
64
|
|
|
53
|
-
The plugin
|
|
65
|
+
The plugin doesn't just start the container and hope — it checks that the service really answers before reporting ready, and keeps checking every 30 seconds after that.
|
|
54
66
|
|
|
55
|
-
|
|
56
|
-
- `GET /api/update/check` / `POST /api/update/apply` — container image update endpoints (admin)
|
|
67
|
+
If the service stops answering (three failed checks in a row, about 90 seconds), the plugin raises the Signal K notification **`notifications.voice.piper`** (`state: "alarm"`) and shows an error in Plugin Config. When the service comes back, the alarm clears itself (`state: "normal"`) — no action needed. Any dashboard or alerting setup that watches Signal K notifications can subscribe to this path.
|
|
57
68
|
|
|
58
|
-
##
|
|
69
|
+
## HTTP API
|
|
59
70
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
The plugin serves a small REST API under `/plugins/signalk-piper`:
|
|
72
|
+
|
|
73
|
+
| Endpoint | Method | Access | Returns |
|
|
74
|
+
| ------------------- | ------ | -------- | ------------------------------------------------------------------------------------------- |
|
|
75
|
+
| `/api/status` | GET | readonly | `{ status, uri, tag, containerState, lastHealth, info }` — live service and container state |
|
|
76
|
+
| `/api/versions` | GET | readonly | Available `rhasspy/wyoming-piper` releases from Docker Hub, newest first |
|
|
77
|
+
| `/api/update/check` | GET | admin | Whether a newer container image is available |
|
|
78
|
+
| `/api/update/apply` | POST | admin | Pulls and switches to a new image version |
|
|
63
79
|
|
|
64
80
|
## Security
|
|
65
81
|
|
|
66
|
-
Wyoming has **no authentication
|
|
82
|
+
Wyoming has **no authentication** — anyone who can reach the port can use the service. The default `bind: 127.0.0.1` keeps it reachable only from the Signal K host, which is right for almost everyone; leave it that way unless another machine genuinely needs TTS. If you do set `bind: 0.0.0.0` (e.g. to share with Home Assistant), firewall the port at the boat router or keep it on a trusted network. See the [family spec's security section](https://github.com/hoeken/signalk-wyoming) for the full picture — the satellite microphone ports are the truly sensitive ones; a TTS port mostly risks someone making your boat talk.
|
|
67
83
|
|
|
68
|
-
##
|
|
84
|
+
## Troubleshooting
|
|
69
85
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
npm run format # prettier + eslint --fix
|
|
76
|
-
```
|
|
86
|
+
- **Stuck on "Starting"** — the first start of a voice is a ~60 MB download and can take a while on a slow connection; the plugin waits up to 10 minutes. No internet, no voice: connect and restart the plugin.
|
|
87
|
+
- **`notifications.voice.piper` alarm** — the container stopped answering. Check the container status in the config panel or `/api/status`; the alarm clears automatically once the service recovers.
|
|
88
|
+
- **Speech too fast/slow or sentences run together** — tune `advanced.lengthScale` and `advanced.sentenceSilence`.
|
|
89
|
+
|
|
90
|
+
## Development
|
|
77
91
|
|
|
78
|
-
|
|
92
|
+
Build instructions, architecture notes, and the internals (readiness gating, health checks, discovery emissions, the config panel) live in [DEVELOPMENT.md](DEVELOPMENT.md).
|
|
79
93
|
|
|
80
94
|
## License
|
|
81
95
|
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -7,12 +7,18 @@
|
|
|
7
7
|
* One instance lives for the whole server process (plugin routers cannot be
|
|
8
8
|
* deregistered); `start()`/`stop()` may run many times against it.
|
|
9
9
|
*/
|
|
10
|
-
import { ManagedContainer, errMsg, startSafely, } from "signalk-container-helper";
|
|
10
|
+
import { ManagedContainer, errMsg, fetchWithTimeout, startSafely, } from "signalk-container-helper";
|
|
11
11
|
import { DOWNLOAD_HINT, IMAGE, buildContainerConfig, isLowSampleRateVoice, isSemverTag, resolveSettings, resolveTag, } from "./config.js";
|
|
12
12
|
import { describeService, isSupportedProtocolVersion } from "./wyoming.js";
|
|
13
13
|
export const PLUGIN_ID = "signalk-piper";
|
|
14
14
|
export const SERVICE_TYPE = "tts";
|
|
15
15
|
export const NOTIFICATION_PATH = "notifications.voice.piper";
|
|
16
|
+
/**
|
|
17
|
+
* Docker Hub tags listing feeding the config panel's version dropdown (same
|
|
18
|
+
* endpoint signalk-container's own dockerHubTags source uses; one page
|
|
19
|
+
* covers the dropdown's top-N plus the running-tag fallback).
|
|
20
|
+
*/
|
|
21
|
+
const TAGS_URL = `https://hub.docker.com/v2/repositories/${IMAGE}/tags/?page_size=25`;
|
|
16
22
|
export const DEFAULT_TIMING = {
|
|
17
23
|
gateIntervalMs: 2_000,
|
|
18
24
|
gateDeadlineMs: 600_000,
|
|
@@ -529,12 +535,51 @@ export class PiperService {
|
|
|
529
535
|
});
|
|
530
536
|
});
|
|
531
537
|
});
|
|
538
|
+
// Version-dropdown feed for the config panel. Deliberately not guarded
|
|
539
|
+
// by the running flag: the operator picks a tag while the plugin is
|
|
540
|
+
// still disabled, and the route only reaches out on demand.
|
|
541
|
+
statusRouter.get("/api/versions", (_req, res) => {
|
|
542
|
+
void (async () => {
|
|
543
|
+
try {
|
|
544
|
+
const response = await fetchWithTimeout(TAGS_URL, {
|
|
545
|
+
timeoutMs: 10_000,
|
|
546
|
+
});
|
|
547
|
+
if (!response.ok) {
|
|
548
|
+
res
|
|
549
|
+
.status(502)
|
|
550
|
+
.json({ error: `Docker Hub answered HTTP ${response.status}` });
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
const body = (await response.json());
|
|
554
|
+
const versions = (Array.isArray(body.results) ? body.results : [])
|
|
555
|
+
.map((r) => (typeof r?.name === "string" ? r.name : ""))
|
|
556
|
+
.filter(isSemverTag)
|
|
557
|
+
.sort(compareSemverDesc)
|
|
558
|
+
.map((tag) => ({ tag }));
|
|
559
|
+
res.json({ versions });
|
|
560
|
+
}
|
|
561
|
+
catch (err) {
|
|
562
|
+
res.status(502).json({ error: errMsg(err) });
|
|
563
|
+
}
|
|
564
|
+
})();
|
|
565
|
+
});
|
|
532
566
|
}
|
|
533
567
|
// ---------------------------------------------------------------------
|
|
534
568
|
active(runId) {
|
|
535
569
|
return this.running && runId === this.runId;
|
|
536
570
|
}
|
|
537
571
|
}
|
|
572
|
+
/** Numeric-descending compare for the plain x.y.z tags isSemverTag admits. */
|
|
573
|
+
function compareSemverDesc(a, b) {
|
|
574
|
+
const pa = a.split(".").map(Number);
|
|
575
|
+
const pb = b.split(".").map(Number);
|
|
576
|
+
for (let i = 0; i < 3; i += 1) {
|
|
577
|
+
const d = (pb[i] ?? 0) - (pa[i] ?? 0);
|
|
578
|
+
if (d !== 0)
|
|
579
|
+
return d;
|
|
580
|
+
}
|
|
581
|
+
return 0;
|
|
582
|
+
}
|
|
538
583
|
function splitAddress(address) {
|
|
539
584
|
const idx = address.lastIndexOf(":");
|
|
540
585
|
return {
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,EACb,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,UAAU,GAEX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE3E,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AACzC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,QAAQ,GAAG,0CAA0C,KAAK,qBAAqB,CAAC;AAuCtF,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,OAAO;IACvB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,CAAC;IACtB,cAAc,EAAE,GAAG;IACnB,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAQF,MAAM,OAAO,YAAY;IACd,SAAS,CAAmB;IACrC,QAAQ,GAAkB,eAAe,CAAC,SAAS,CAAC,CAAC;IAEpC,GAAG,CAAa;IAChB,MAAM,CAAgB;IAE/B,OAAO,GAAG,KAAK,CAAC;IACxB,4EAA4E;IACpE,KAAK,GAAG,CAAC,CAAC;IAEV,GAAG,GAAkB,IAAI,CAAC;IAC1B,QAAQ,GAAmC,IAAI,CAAC;IAChD,UAAU,GAAwB,IAAI,CAAC;IACvC,mBAAmB,GAAG,CAAC,CAAC;IACxB,aAAa,GAAG,KAAK,CAAC;IAC9B,0EAA0E;IAClE,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,GAA0B,IAAI,CAAC;IAElD,6CAA6C;IACrC,aAAa,GAAyB,IAAI,CAAC;IAC3C,iBAAiB,GAAyB,IAAI,CAAC;IAC/C,cAAc,GAAkB,IAAI,CAAC;IACrC,UAAU,GAAG,CAAC,CAAC;IACf,gBAAgB,GAA0B,IAAI,CAAC;IAC/C,eAAe,GAAa,EAAE,CAAC;IAC/B,cAAc,GAAG,KAAK,CAAC;IACvB,iBAAiB,GAAG,KAAK,CAAC;IAElC,YAAY,GAAe,EAAE,SAAiC,EAAE;QAC9D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC;YACpC,GAAG;YACH,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,MAAM;YAClB,UAAU;YACV,qEAAqE;YACrE,0DAA0D;YAC1D,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;YAC9D,OAAO,EAAE;gBACP,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE;aAC7D;YACD,uEAAuE;YACvE,+BAA+B;YAC/B,aAAa,EAAE;gBACb,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjC,WAAW,EAAE,CAAC,IAAY,EAAE,GAAa,EAAE,EAAE;oBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,6BAA6B,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9E,CAAC;gBACJ,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,SAAkB;QACtB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,wEAAwE;IACxE,eAAe;IACf,wEAAwE;IAEhE,KAAK,CAAC,UAAU,CAAC,KAAa;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,qEAAqE;YACrE,iEAAiE;YACjE,8DAA8D;YAC9D,sEAAsE;YACtE,kCAAkC;YAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,6CAA6C,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3D,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,eAAe,CACtB,YAAY,KAAK,IAAI,GAAG,4BAA4B,aAAa,EAAE,CACpE,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAa;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO;QAChC,IAAI,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAElD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO;YAChC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACjE,qEAAqE;YACrE,wEAAwE;YACxE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,0DAA0D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY,CACxB,OAAe,EACf,KAAa;QAMb,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACxD,IAAI,cAAc,GAAG,SAAS,CAAC;QAC/B,IAAI,SAA6B,CAAC;QAClC,SAAS,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,KAAK,CAC7C,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAClC,kBAAkB,SAAS,IAAI,MAAM,GAAG,CAC1C,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjE,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC7D,IAAI,CAAC,GAAG,CAAC,eAAe,CACtB,2CAA2C,QAAQ,4BAA4B,aAAa,GAAG,CAChG,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,YAAY,CAClB,IAA6B,EAC7B,OAA2B;QAE3B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iCAAiC,OAAO,kCAAkC;gBACxE,6DAA6D,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,uEAAuE;gBACrE,qCAAqC,CACxC,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,MAAM,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,sEAAsE;IAC9D,aAAa;QACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,wCAAwC;gBAClE,iEAAiE;gBACjE,aAAa,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,GAAW;QACnC,IAAI,IAAI,GAAG,WAAW,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,qBAAqB,IAAI,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,cAAc;IACd,wEAAwE;IAEhE,eAAe,CAAC,OAAe,EAAE,GAAW,EAAE,KAAa;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAe,EACf,GAAW,EACX,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO;YAChC,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,EAAE,IAAI;gBACR,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;gBACd,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,MAAM,OAAO,GACX,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAC9D,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO;YAChC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YACjE,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,6BAA6B,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,6CAA6C;IAC7C,wEAAwE;IAExE;;;;;;;;;;;OAWG;IACK,IAAI,CAAC,MAAqB;QAChC,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3C,CAAC;YACF,IACE,CAAC,IAAI,CAAC,cAAc;gBACpB,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAC5D,CAAC;gBACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,wCAAwC,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG;oBACvE,kBAAkB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,mBAAmB;oBACpE,2CAA2C,CAC9C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC;QACnC,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,4CAA4C;YAChE,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvE,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,OAAO;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,IAAI,MAAM,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc;YACvE,OAAO;QACT,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACnC,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACxD,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACtD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBAC5C,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,sEAAsE;gBACpE,qDAAqD,MAAM,CAAC,GAAG,CAAC,EAAE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,KAAyB,EAAE,OAAe;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE;gBAChC,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE;4BACN;gCACE,IAAI,EAAE,iBAAiB;gCACvB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE;6BAC9C;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,SAAS;IACT,wEAAwE;IAExE;;;;;OAKG;IACK,iBAAiB,CAAC,WAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC,GAAG,CAAC,eAAe,CACtB,YAAY,KAAK,IAAI,WAAW,uCAAuC,CACxE,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAkB,EAAE,iBAAgC;QACjE,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,YAAY,GAAG,CAAC,GAAiB,EAAW,EAAE;YAClD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,MAAM,OAAO,GAAe;YAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAC/B,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC;YACJ,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAC/B,iEAAiE;gBACjE,0DAA0D;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC;SACL,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAC3C,SAAS,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;gBAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CACxB,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,EAClC,CAAC,GAAG,EAAE,EAAE;wBACN,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAChE,CAAC;oBACH,CAAC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iEAAiE;wBAC/D,uBAAuB,CAC1B,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;SACF,CAAC,CAAC;QAEH,6DAA6D;QAC7D,yCAAyC;QACzC,MAAM,MAAM,GAAI,MAAqD;aAClE,MAAM,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1E,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAa,EAAE,GAAiB,EAAE,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;gBACrD,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,IAAI,CAAC,aAAa,IAAI,UAAU;oBACxC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC5D,cAAc;oBACd,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ;iBACpB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,oEAAoE;QACpE,4DAA4D;QAC5D,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAa,EAAE,GAAiB,EAAE,EAAE;YACrE,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;wBAChD,SAAS,EAAE,MAAM;qBAClB,CAAC,CAAC;oBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,GAAG;6BACA,MAAM,CAAC,GAAG,CAAC;6BACX,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAClE,OAAO;oBACT,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;oBACF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yBACvD,MAAM,CAAC,WAAW,CAAC;yBACnB,IAAI,CAAC,iBAAiB,CAAC;yBACvB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IAEhE,MAAM,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;IAC9C,CAAC;CACF;AAED,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "signalk-piper",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Piper text-to-speech as a managed container for Signal K, speaking the Wyoming protocol. Part of the signalk-wyoming voice assistant family.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
|
+
"public",
|
|
10
11
|
"README.md",
|
|
11
12
|
"LICENSE"
|
|
12
13
|
],
|
|
13
14
|
"scripts": {
|
|
14
|
-
"build": "tsc",
|
|
15
|
+
"build": "tsc && webpack",
|
|
15
16
|
"test": "npm run typecheck:test && vitest run",
|
|
16
17
|
"test:watch": "vitest",
|
|
17
18
|
"typecheck": "tsc --noEmit",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"prepublishOnly": "npm run build && npm test"
|
|
26
27
|
},
|
|
27
28
|
"lint-staged": {
|
|
28
|
-
"*.ts": [
|
|
29
|
+
"*.{ts,jsx}": [
|
|
29
30
|
"eslint --fix",
|
|
30
31
|
"prettier --write"
|
|
31
32
|
],
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
},
|
|
34
35
|
"keywords": [
|
|
35
36
|
"signalk-node-server-plugin",
|
|
37
|
+
"signalk-plugin-configurator",
|
|
36
38
|
"signalk-category-utility",
|
|
37
39
|
"wyoming",
|
|
38
40
|
"piper",
|
|
@@ -57,21 +59,28 @@
|
|
|
57
59
|
"node": ">=24"
|
|
58
60
|
},
|
|
59
61
|
"dependencies": {
|
|
60
|
-
"signalk-container-helper": "^0.
|
|
62
|
+
"signalk-container-helper": "^0.2.0"
|
|
61
63
|
},
|
|
62
64
|
"devDependencies": {
|
|
65
|
+
"@babel/core": "^7.29.0",
|
|
66
|
+
"@babel/preset-react": "^7.28.5",
|
|
63
67
|
"@eslint/js": "^10.0.1",
|
|
64
68
|
"@signalk/server-api": "^2.30.0",
|
|
65
69
|
"@types/node": "^24.0.0",
|
|
70
|
+
"babel-loader": "^10.1.1",
|
|
66
71
|
"eslint": "^10.2.0",
|
|
67
72
|
"eslint-config-prettier": "^10.1.8",
|
|
68
73
|
"globals": "^17.4.0",
|
|
69
74
|
"husky": "^9.1.7",
|
|
70
75
|
"lint-staged": "^16.4.0",
|
|
71
76
|
"prettier": "^3.8.1",
|
|
77
|
+
"react": "^19.2.4",
|
|
78
|
+
"react-dom": "^19.2.4",
|
|
72
79
|
"signalk-wyoming": "^0.1.0",
|
|
73
80
|
"typescript": "^5.5.0",
|
|
74
81
|
"typescript-eslint": "^8.58.0",
|
|
75
|
-
"vitest": "^4.1.10"
|
|
82
|
+
"vitest": "^4.1.10",
|
|
83
|
+
"webpack": "^5.105.4",
|
|
84
|
+
"webpack-cli": "^7.0.2"
|
|
76
85
|
}
|
|
77
86
|
}
|
package/public/172.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __webpack_esm_id__=172;export const __webpack_esm_ids__=[172];export const __webpack_esm_modules__={172(e,t,n){n.d(t,{default:()=>E}),n.r(t);var r=n(231);function a(e,t={}){const{stableCount:n=5,preCount:r=3}=t,a=e.filter(e=>"number"==typeof e.pr),o=e.filter(e=>"number"!=typeof e.pr);return{prVersions:a,stableVersions:o.filter(e=>!e.prerelease).slice(0,n),preVersions:o.filter(e=>e.prerelease).slice(0,r)}}const o={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSecondary:{background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0"},btnWarn:{background:"#f59e0b",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff"},btnDisabled:{opacity:.5,cursor:"not-allowed"},btnSmall:{padding:"4px 12px",fontSize:12},status:{marginTop:8,fontSize:12,minHeight:18},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},link:{color:"#3b82f6",textDecoration:"none",fontSize:13,fontWeight:600},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},bannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}},l={ok:"#10b981",warn:"#f59e0b",error:"#ef4444"};function i(e){const{runningTag:t,tagKind:n,currentVersion:r,latestVersion:a,updateAvailable:o,reason:l,fromCache:i,lastSuccessfulCheckAt:s}=e??{};return"offline"===l?i&&s?`Offline — last checked ${function(e){try{const t=new Date(e).getTime(),n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<5)return"just now";if(n<60)return`${n}s ago`;const r=Math.floor(n/60);if(r<60)return`${r}m ago`;const a=Math.floor(r/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}catch{return e}}(s)}: ${o?"update available":"up to date"}`:"Offline — never checked yet":"newer-version"===l?`Update available: ${r} → ${a}`:"digest-drift"===l?`Image rebuild available for :${t}${a?` (latest stable: ${a})`:""}`:"up-to-date"===l?"floating"===n&&a?`Up to date with :${t} (latest stable: ${a})`:`Up to date (${r||t})`:"older-than-pinned"===l?`Pinned to ${r}; latest stable is ${a}`:"error"===l?`Check error: ${e?.error||"unknown"}`:`State: ${l||"unknown"}`}function s({children:e}){return r.createElement("div",{style:o.sectionTitle},e)}function c({children:e,color:t}){return r.createElement("span",{style:{...o.hint,...t?{color:t}:{}}},e)}function d({label:e,hint:t,hintColor:n,children:a}){return r.createElement("div",{style:o.fieldRow},r.createElement("span",{style:o.label},e),a,null!=t&&""!==t&&r.createElement(c,{color:n},t))}function u({state:e="ok",color:t,title:n,style:a}){return r.createElement("div",{style:{...o.stateIndicator,background:t??l[e],...a},title:n})}function p({icon:e,iconBackground:t,iconColor:n,title:a,meta:i,state:s="ok",stateTitle:c,link:d,children:p}){const f="error"===s&&!t;return r.createElement("div",{style:o.card},r.createElement("div",{style:{...o.cardIcon,background:f?"#fef2f2":t??"#3b82f6",color:f?l.error:n??"#fff"}},e),r.createElement("div",{style:o.cardInfo},r.createElement("div",{style:o.cardTitle},a),null!=i&&r.createElement("div",{style:o.cardMeta},i)),p,d&&r.createElement("a",{href:d.href,target:"_blank",rel:"noopener noreferrer",style:o.link},d.label),r.createElement(u,{state:s,title:c}))}function f({title:e,defaultOpen:t=!1,children:n}){const[a,l]=(0,r.useState)(t);return r.createElement("div",null,r.createElement("button",{type:"button","aria-expanded":a,style:{...o.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>l(!a)},r.createElement("span",{style:{fontSize:10,transition:"transform 0.15s",transform:a?"rotate(90deg)":"rotate(0deg)"}},"▶"),e),a&&r.createElement("div",{style:{marginBottom:16}},n))}const g={primary:o.btnPrimary,secondary:o.btnSecondary,warn:o.btnWarn,danger:o.btnDanger};function m({variant:e="primary",small:t=!1,busy:n=!1,busyLabel:a,disabled:l=!1,onClick:i,title:s,style:c,children:d}){const u=l||n;return r.createElement("button",{type:"button",style:{...o.btn,...g[e],...t?o.btnSmall:{},...u?o.btnDisabled:{},...c},onClick:i,disabled:u,title:s},n?a??d:d)}function b({message:e,error:t=!1,style:n}){return e?r.createElement("div",{style:{...o.status,color:t?l.error:l.ok,marginTop:16,...n}},e):null}const h=[{tag:"latest",label:"latest (recommended)"}];function y({value:e,onChange:t,versions:n,floatingOptions:i=h,stableCount:s,preCount:d,loading:u=!1,error:p,onRefresh:f,disabled:g=!1,style:b}){const y={stableCount:s,preCount:d},{prVersions:v,stableVersions:k,preVersions:S}=a(n,y),E=function(e,t,n=["latest"],r={}){return e?function(e,t=["latest"],n={}){const{prVersions:r,stableVersions:o,preVersions:l}=a(e,n);return new Set([...t,...l.map(e=>e.tag),...o.map(e=>e.tag),...r.map(e=>e.tag)])}(t,n,r).has(e)?null:e:null}(e,n,i.map(e=>e.tag),y);return r.createElement(r.Fragment,null,r.createElement("select",{style:{...o.select,...b},value:e,onChange:e=>t(e.target.value),disabled:g},i.map(e=>r.createElement("option",{key:e.tag,value:e.tag},e.label??e.tag)),S.map(e=>r.createElement("option",{key:e.tag,value:e.tag},e.tag," (pre-release)")),k.map((e,t)=>r.createElement("option",{key:e.tag,value:e.tag},e.tag,0===t?" (current stable)":"")),v.length>0&&r.createElement("optgroup",{label:"PR test images"},v.map(e=>r.createElement("option",{key:e.tag,value:e.tag},e.tag,e.title?` — ${e.title}`:""))),E&&r.createElement("option",{value:E},E," (running)")),u&&r.createElement(c,null,"loading releases..."),f&&r.createElement(m,{small:!0,style:{padding:"4px 10px",fontSize:11},onClick:f,title:"Refresh available versions"},"↻"),p&&r.createElement(c,{color:l.error},p))}function v({checkUrl:e,applyUrl:t,tag:n,onApplied:a,updateLabel:o="Update",disabled:s=!1,style:c}){const d=function(e){const{checkUrl:t,applyUrl:n}=e,[a,o]=(0,r.useState)(!1),[l,i]=(0,r.useState)(!1),[s,c]=(0,r.useState)(null),[d,u]=(0,r.useState)("");return{checking:a,applying:l,result:s,error:d,check:(0,r.useCallback)(async()=>{o(!0),u("");try{const e=await fetch(t),n=await e.json().catch(()=>null);if(e.ok&&n&&"object"==typeof n)c(n);else{const t=n?.error??`HTTP ${e.status}`;u(`Check failed: ${t}`)}}catch(e){u(`Check failed: ${e instanceof Error?e.message:String(e)}`)}o(!1)},[t]),apply:(0,r.useCallback)(async e=>{let t;i(!0),u("");try{const r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?{tag:e}:{})}),a=await r.json().catch(()=>null);r.ok?(t={ok:!0,tag:a?.tag},c(null)):(t={ok:!1,error:a?.error??`HTTP ${r.status}`},u(`Update failed: ${t.error}`))}catch(e){t={ok:!1,error:e instanceof Error?e.message:String(e)},u(`Update failed: ${t.error}`)}return i(!1),t},[n])}}({checkUrl:e,applyUrl:t}),[u,p]=(0,r.useState)("");return r.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12,...c}},d.result?.updateAvailable?r.createElement(r.Fragment,null,r.createElement("span",{style:{fontSize:13}},i(d.result)),r.createElement(m,{small:!0,variant:"warn",busy:d.applying,busyLabel:"Updating...",disabled:s||d.checking,onClick:()=>{(async()=>{p("");const e=await d.apply(n);e.ok&&(p(e.tag?`Updated to ${e.tag}.`:"Updated."),a?.(e.tag))})()},title:"Pull the image and recreate the container"},o)):d.result?r.createElement("span",{style:{fontSize:12,color:"#888"}},i(d.result)):r.createElement(m,{small:!0,variant:"secondary",busy:d.checking,busyLabel:"Checking...",disabled:s||d.applying,onClick:()=>{d.check()}},"Check for updates"),u&&r.createElement("span",{style:{fontSize:12,color:l.ok}},u),d.error&&r.createElement("span",{style:{fontSize:12,color:l.error}},d.error))}const k="/plugins/signalk-piper",S="en_US-lessac-medium";function E({configuration:e,save:t}){const n=e||{},a=n.advanced||{},[i,c]=(0,r.useState)(n.voice||S),[u,g]=(0,r.useState)(n.imageTag||"auto"),[h,E]=(0,r.useState)(String(n.port??10200)),[x,w]=(0,r.useState)("0.0.0.0"===a.bind?"0.0.0.0":"127.0.0.1"),[C,$]=(0,r.useState)(a.memoryLimit||"512m"),[z,T]=(0,r.useState)(a.restartPolicy||"unless-stopped"),[R,_]=(0,r.useState)(!0===a.updateVoices),[A,U]=(0,r.useState)("number"==typeof a.sentenceSilence?String(a.sentenceSilence):""),[B,I]=(0,r.useState)("number"==typeof a.lengthScale?String(a.lengthScale):""),[P,W]=(0,r.useState)(""),{status:V,loading:H,refresh:L}=function(e,t={}){const{intervalMs:n=5e3}=t,[a,o]=(0,r.useState)(null),[l,i]=(0,r.useState)(!0),s=(0,r.useRef)(0),c=(0,r.useRef)(t.fallback??null),d=(0,r.useCallback)(async t=>{const n=++s.current;let r=c.current;try{const n=await fetch(e,{signal:t}),a=await n.json().catch(()=>null);a&&"object"==typeof a&&(r=a)}catch{}n===s.current&&(o(r),i(!1))},[e]);return(0,r.useEffect)(()=>{let e=!1,t=null;const r=new AbortController,a=async()=>{await d(r.signal),!e&&n>0&&(t=setTimeout(a,n))};return a(),()=>{e=!0,r.abort(),t&&clearTimeout(t)}},[d,n]),{status:a,loading:l,refresh:()=>d()}}(`${k}/api/status`,{fallback:{status:"not_running"}}),M=function(e){const[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(""),[l,i]=(0,r.useState)(!1),s=(0,r.useRef)(0),c=(0,r.useCallback)(async()=>{const t=++s.current;i(!0);try{const r=await fetch(e),a=await r.json().catch(()=>null),l=function(e,t){if(!e)return{versions:null,versionsError:"⚠ Could not reach GitHub — showing last known versions, retry"};const n=t&&"object"==typeof t?t:{},r=Array.isArray(n)?n:Array.isArray(n.versions)?n.versions:[],a=!Array.isArray(n)&&n.sources&&"object"==typeof n.sources?n.sources:{};let o="";return"rate-limited"===a.prImages?o="⚠ GitHub rate-limited — PR test images temporarily unavailable, retry shortly":"rate-limited"===a.releases?o="⚠ GitHub rate-limited — some versions temporarily unavailable, retry shortly":"error"!==a.prImages&&"error"!==a.releases||(o="⚠ Could not fetch some versions from GitHub, retry"),{versions:r,versionsError:o}}(r.ok,a);if(t!==s.current)return;null!==l.versions&&n(l.versions),o(l.versionsError)}catch{if(t!==s.current)return;o("⚠ Offline — showing last known versions")}i(!1)},[e]);return(0,r.useEffect)(()=>{c()},[c]),{versions:t,versionsError:a,loading:l,refresh:c}}(`${k}/api/versions`),j=V&&"string"==typeof V.status?V.status:"not_running",N="ready"===j?"ok":"starting"===j?"warn":"error",F=function(e){if(!e||!Array.isArray(e.tts))return null;let t=0;for(const n of e.tts)n&&Array.isArray(n.voices)&&(t+=n.voices.length);return t}(V&&V.info),O=H?"Checking...":"ready"===j?`rhasspy/wyoming-piper:${V.tag} at ${V.uri}`+(F?` — ${F} voice${1===F?"":"s"}`:""):"starting"===j?"Starting — a first start downloads the voice (~60 MB)":"error"===j?"Not answering"+(V&&V.uri?` at ${V.uri}`:""):"Not running",D=function(e){return e.endsWith("-low")||e.endsWith("-x_low")}(i);return r.createElement("div",{style:o.root},r.createElement(s,null,"Piper status"),r.createElement(p,{icon:"P",iconBackground:"ready"===j?"#7c3aed":void 0,title:"Piper TTS (Wyoming)",meta:O,state:N,stateTitle:j}),"not_running"!==j&&"stopped"!==j&&r.createElement(v,{checkUrl:`${k}/api/update/check`,applyUrl:`${k}/api/update/apply`,tag:u,onApplied:()=>{L()}}),r.createElement(s,null,"Settings"),r.createElement(d,{label:"Voice",hint:D?`${i} is a 16 kHz voice — use -medium or -high (22.05 kHz)`:"22.05 kHz voices only (-medium / -high); ~60 MB download on first start",hintColor:D?l.warn:void 0},r.createElement("input",{style:{...o.input,width:220},value:i,onChange:e=>c(e.target.value),placeholder:S})),r.createElement(d,{label:"Image version"},r.createElement(y,{value:u,onChange:g,versions:M.versions,floatingOptions:[{tag:"auto",label:"auto (pinned release, recommended)"}],loading:M.loading,error:M.versionsError,onRefresh:M.refresh})),r.createElement(d,{label:"Port",hint:"leave at 10200 unless it collides"},r.createElement("input",{style:{...o.input,width:90},type:"number",value:h,onChange:e=>E(e.target.value)})),r.createElement(f,{title:"Advanced"},r.createElement(d,{label:"Bind address",hint:"0.0.0.0"===x?"LAN-reachable — Wyoming has no authentication, firewall accordingly":"only Signal K can reach the service",hintColor:"0.0.0.0"===x?l.warn:void 0},r.createElement("select",{style:o.select,value:x,onChange:e=>w(e.target.value)},r.createElement("option",{value:"127.0.0.1"},"127.0.0.1 (recommended)"),r.createElement("option",{value:"0.0.0.0"},"0.0.0.0 (all interfaces)"))),r.createElement(d,{label:"Memory limit",hint:'hard cap, e.g. "512m" or "1g"'},r.createElement("input",{style:{...o.input,width:90},value:C,onChange:e=>$(e.target.value)})),r.createElement(d,{label:"Restart policy"},r.createElement("select",{style:o.select,value:z,onChange:e=>T(e.target.value)},r.createElement("option",{value:"unless-stopped"},"unless-stopped"),r.createElement("option",{value:"always"},"always"),r.createElement("option",{value:"no"},"no"))),r.createElement(d,{label:"Update voices list",hint:"fetch the latest voices catalog at container start (needs internet)"},r.createElement("input",{style:o.checkbox,type:"checkbox",checked:R,onChange:e=>_(e.target.checked)})),r.createElement(d,{label:"Sentence silence",hint:"optional seconds of silence after each sentence"},r.createElement("input",{style:{...o.input,width:90},type:"number",step:"0.1",value:A,onChange:e=>U(e.target.value)})),r.createElement(d,{label:"Length scale",hint:"optional; above 1 slows speech down"},r.createElement("input",{style:{...o.input,width:90},type:"number",step:"0.1",value:B,onChange:e=>I(e.target.value)}))),r.createElement("div",{style:{marginTop:24}},r.createElement(m,{onClick:()=>{const e={bind:x,memoryLimit:C,restartPolicy:z,updateVoices:R},r=Number(A);""!==A&&Number.isFinite(r)&&(e.sentenceSilence=r);const a=Number(B);""!==B&&Number.isFinite(a)&&(e.lengthScale=a);const o=Number(h);t({...n,voice:i,imageTag:u,port:""!==h&&Number.isFinite(o)?o:10200,advanced:e}),W("Saved. Signal K restarts the plugin with the new configuration.")}},"Save Configuration")),r.createElement(b,{message:P}))}}};
|
package/public/540.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 540.mjs.LICENSE.txt */
|
|
2
|
+
export const __webpack_esm_id__=540;export const __webpack_esm_ids__=[540];export const __webpack_esm_modules__={869(e,t){var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),i=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),d=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,m={};function b(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}function v(){}function S(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var E=S.prototype=new v;E.constructor=S,h(E,b.prototype),E.isPureReactComponent=!0;var w=Array.isArray;function g(){}var k={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function j(e,t,r){var o=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==o?o:null,props:r}}function R(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36);var n,r}function x(e,t,o,u,c){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var i,a,f=!1;if(null===e)f=!0;else switch(s){case"bigint":case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case n:case r:f=!0;break;case p:return x((f=e._init)(e._payload),t,o,u,c)}}if(f)return c=c(e),f=""===u?"."+$(e,0):u,w(c)?(o="",null!=f&&(o=f.replace(C,"$&/")+"/"),x(c,t,o,"",function(e){return e})):null!=c&&(R(c)&&(i=c,a=o+(null==c.key||e&&e.key===c.key?"":(""+c.key).replace(C,"$&/")+"/")+f,c=j(i.type,a,i.props)),t.push(c)),1;f=0;var l,y=""===u?".":u+":";if(w(e))for(var _=0;_<e.length;_++)f+=x(u=e[_],t,o,s=y+$(u,_),c);else if("function"==typeof(_=null===(l=e)||"object"!=typeof l?null:"function"==typeof(l=d&&l[d]||l["@@iterator"])?l:null))for(e=_.call(e),_=0;!(u=e.next()).done;)f+=x(u=u.value,t,o,s=y+$(u,_++),c);else if("object"===s){if("function"==typeof e.then)return x(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(g,g):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(e),t,o,u,c);throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return f}function T(e,t,n){if(null==e)return e;var r=[],o=0;return x(e,r,"","",function(e){return t.call(n,e,o++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var O="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},I={map:T,forEach:function(e,t,n){T(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return T(e,function(){t++}),t},toArray:function(e){return T(e,function(e){return e})||[]},only:function(e){if(!R(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};t.Activity=y,t.Children=I,t.Component=b,t.Fragment=o,t.Profiler=c,t.PureComponent=S,t.StrictMode=u,t.Suspense=f,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return k.H.useMemoCache(e)}},t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=h({},e.props),o=e.key;if(null!=t)for(u in void 0!==t.key&&(o=""+t.key),t)!H.call(t,u)||"key"===u||"__self"===u||"__source"===u||"ref"===u&&void 0===t.ref||(r[u]=t[u]);var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){for(var c=Array(u),s=0;s<u;s++)c[s]=arguments[s+2];r.children=c}return j(e.type,o,r)},t.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:s,_context:e},e},t.createElement=function(e,t,n){var r,o={},u=null;if(null!=t)for(r in void 0!==t.key&&(u=""+t.key),t)H.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var s=Array(c),i=0;i<c;i++)s[i]=arguments[i+2];o.children=s}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return j(e,u,o)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:a,render:e}},t.isValidElement=R,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:l,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=k.T,n={};k.T=n;try{var r=e(),o=k.S;null!==o&&o(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(g,O)}catch(e){O(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),k.T=t}},t.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},t.use=function(e){return k.H.use(e)},t.useActionState=function(e,t,n){return k.H.useActionState(e,t,n)},t.useCallback=function(e,t){return k.H.useCallback(e,t)},t.useContext=function(e){return k.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return k.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return k.H.useEffect(e,t)},t.useEffectEvent=function(e){return k.H.useEffectEvent(e)},t.useId=function(){return k.H.useId()},t.useImperativeHandle=function(e,t,n){return k.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return k.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return k.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return k.H.useMemo(e,t)},t.useOptimistic=function(e,t){return k.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return k.H.useReducer(e,t,n)},t.useRef=function(e){return k.H.useRef(e)},t.useState=function(e){return k.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return k.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return k.H.useTransition()},t.version="19.2.8"},540(e,t,n){e.exports=n(869)}};
|
package/public/main.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={980(){}};const t={};function r(o){const s=t[o];if(void 0!==s)return s.exports;const n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.m=e,r.c=t,r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>e+".mjs",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{r.S={};const e={},t={};r.I=(o,s)=>{s||(s=[]);let n=t[o];if(n||(n=t[o]={}),s.indexOf(n)>=0)return;if(s.push(n),e[o])return e[o];r.o(r.S,o)||(r.S[o]={});const i=r.S[o],c="signalk-piper",_=[];return"default"===o&&((e,t,o,s)=>{const n=i[e]=i[e]||{},_=n[t];(!_||!_.loaded&&(1!=!_.eager?s:c>_.from))&&(n[t]={get:()=>r.e(540).then(()=>()=>r(540)),from:c,eager:!1})})("react","19.2.8"),e[o]=_.length?Promise.all(_).then(()=>e[o]=1):1}})(),(()=>{const e={792:0},t=t=>{let{__webpack_esm_ids__:o,__webpack_esm_modules__:s,__webpack_esm_runtime__:n}=t;var i,c,_=0;for(i in s)r.o(s,i)&&(r.m[i]=s[i]);for(n&&n(r);_<o.length;_++)c=o[_],r.o(e,c)&&e[c]&&e[c][0](),e[o[_]]=0};r.f.j=(o,s)=>{let n=r.o(e,o)?e[o]:void 0;if(0!==n)if(n)s.push(n[1]);else{let i=import("./"+r.u(o)).then(t,t=>{throw 0!==e[o]&&(e[o]=void 0),t});i=Promise.race([i,new Promise(t=>n=e[o]=[t])]),s.push(n[1]=i)}}})(),r(980);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={623(e,r,t){const n={"./PluginConfigurationPanel":()=>t.e(172).then(()=>()=>t(172))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then(()=>{throw new Error('Module "'+e+'" does not exist in container.')}),t.R=void 0,r),i=(e,r)=>{if(!t.S)return;const n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)};t.d(r,{get:()=>o,init:()=>i})}};const r={};function t(n){const o=r[n];if(void 0!==o)return o.exports;const i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}t.m=e,t.c=r,t.d=(e,r)=>{if(Array.isArray(r))for(var n=0;n<r.length;){var o=r[n++],i=r[n++];t.o(e,o)?0===i&&n++:0===i?Object.defineProperty(e,o,{enumerable:!0,value:r[n++]}):Object.defineProperty(e,o,{enumerable:!0,get:i})}else for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,n)=>(t.f[n](e,r),r),[])),t.u=e=>e+".mjs",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{t.S={};const e={},r={};t.I=(n,o)=>{o||(o=[]);let i=r[n];if(i||(i=r[n]={}),o.indexOf(i)>=0)return;if(o.push(i),e[n])return e[n];t.o(t.S,n)||(t.S[n]={});const s=t.S[n],a="signalk-piper",u=[];return"default"===n&&((e,r,n,o)=>{const i=s[e]=s[e]||{},u=i[r];(!u||!u.loaded&&(1!=!u.eager?o:a>u.from))&&(i[r]={get:()=>t.e(540).then(()=>()=>t(540)),from:a,eager:!1})})("react","19.2.8"),e[n]=u.length?Promise.all(u).then(()=>e[n]=1):1}})(),(()=>{var e=e=>{var r=e=>e.split(".").map(e=>+e==e?+e:e),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},r=e=>{var t=e[0],n="";if(1===e.length)return"*";if(t+.5){n+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var o=1,i=1;i<e.length;i++)o--,n+="u"==(typeof(a=e[i]))[0]?"-":(o>0?".":"")+(o=2,a);return n}var s=[];for(i=1;i<e.length;i++){var a=e[i];s.push(0===a?"not("+u()+")":1===a?"("+u()+" || "+u()+")":2===a?s.pop()+" "+s.pop():r(a))}return u();function u(){return s.pop().replace(/^\((.+)\)$/,"$1")}},n=(r,t)=>{if(0 in r){t=e(t);var o=r[0],i=o<0;i&&(o=-o-1);for(var s=0,a=1,u=!0;;a++,s++){var f,l,c=a<r.length?(typeof r[a])[0]:"";if(s>=t.length||"o"==(l=(typeof(f=t[s]))[0]))return!u||("u"==c?a>o&&!i:""==c!=i);if("u"==l){if(!u||"u"!=c)return!1}else if(u)if(c==l)if(a<=o){if(f!=r[a])return!1}else{if(i?f>r[a]:f<r[a])return!1;f!=r[a]&&(u=!1)}else if("s"!=c&&"n"!=c){if(i||a<=o)return!1;u=!1,a--}else{if(a<=o||l<c!=i)return!1;u=!1}else"s"!=c&&"n"!=c&&(u=!1,a--)}}var p=[],d=p.pop.bind(p);for(s=1;s<r.length;s++){var h=r[s];p.push(1==h?d()|d():2==h?d()&d():h?n(h,t):!d())}return!!d()};const o=(r,t,n)=>{const o=n?(e=>Object.keys(e).reduce((r,t)=>(e[t].eager&&(r[t]=e[t]),r),{}))(r[t]):r[t];return Object.keys(o).reduce((r,t)=>!r||!o[r].loaded&&((r,t)=>{r=e(r),t=e(t);for(var n=0;;){if(n>=r.length)return n<t.length&&"u"!=(typeof t[n])[0];var o=r[n],i=(typeof o)[0];if(n>=t.length)return"u"==i;var s=t[n],a=(typeof s)[0];if(i!=a)return"o"==i&&"n"==a||"s"==a||"u"==i;if("o"!=i&&"u"!=i&&o!=s)return o<s;n++}})(r,t)?t:r,0)},i=(e,r,t)=>t?t():((e,r)=>(e=>{throw new Error(e)})("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),s=(e=>function(r,n,o,i,s){const a=t.I(r);return a?.then&&!o?a.then(e.bind(e,r,t.S[r],n,!1,i,s)):e(r,t.S[r],n,o,i,s)})((e,s,a,u,f,l)=>{if(!((e,r)=>e&&t.o(e,r))(s,a))return i(e,a,l);const c=o(s,a,u);return n(f,c)||(d=((e,t,n,o)=>"Unsatisfied version "+n+" from "+(n&&e[t][n].from)+" of shared singleton module "+t+" (required "+r(o)+")")(s,a,c,f),"undefined"!=typeof console&&console.warn&&console.warn(d)),(p=s[a][c]).loaded=1,p.get();var p,d}),a={},u={231:()=>s("default","react",!1,[1,19],()=>t.e(540).then(()=>()=>t(540)))},f={172:[231]},l={};t.f.consumes=(e,r)=>{t.o(f,e)&&f[e].forEach(e=>{if(t.o(a,e))return r.push(a[e]);if(!l[e]){const n=r=>{a[e]=0,t.m[e]=n=>{delete t.c[e],n.exports=r()}};l[e]=!0;const o=r=>{delete a[e],t.m[e]=n=>{throw delete t.c[e],r}};try{const t=u[e]();t.then?r.push(a[e]=t.then(n).catch(o)):n(t)}catch(e){o(e)}}})}})(),(()=>{const e={37:0},r=r=>{let{__webpack_esm_ids__:n,__webpack_esm_modules__:o,__webpack_esm_runtime__:i}=r;var s,a,u=0;for(s in o)t.o(o,s)&&(t.m[s]=o[s]);for(i&&i(t);u<n.length;u++)a=n[u],t.o(e,a)&&e[a]&&e[a][0](),e[n[u]]=0};t.f.j=(n,o)=>{let i=t.o(e,n)?e[n]:void 0;if(0!==i)if(i)o.push(i[1]);else{let s=import("./"+t.u(n)).then(r,r=>{throw 0!==e[n]&&(e[n]=void 0),r});s=Promise.race([s,new Promise(r=>i=e[n]=[r])]),o.push(i[1]=s)}}})();let n=t(623);const o=n.get,i=n.init;export{o as get,i as init};
|