homebridge-intratone 0.2.0 → 0.2.1
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/CHANGELOG.md +78 -0
- package/README.md +57 -18
- package/config.schema.json +3 -3
- package/dist/config.js +5 -4
- package/dist/config.js.map +1 -1
- package/dist/intratoneClient.js +8 -0
- package/dist/intratoneClient.js.map +1 -1
- package/docs/DEVELOPMENT.md +139 -0
- package/package.json +12 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `homebridge-intratone`. Versions follow [semver](https://semver.org/).
|
|
4
|
+
|
|
5
|
+
## [0.2.1] - 2026-10-31
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- `app_id` is now optional and defaults to the iOS app's value, `app_apisip_ios`. It names the
|
|
10
|
+
official app, not your account, so every iPhone sends the same one. Set it only with
|
|
11
|
+
`user_agent: android`, whose value isn't known yet. `app_token` is still required and has no
|
|
12
|
+
default.
|
|
13
|
+
- The settings form shows **App ID** as an optional plain field, with the default as its
|
|
14
|
+
placeholder.
|
|
15
|
+
|
|
16
|
+
### Documentation
|
|
17
|
+
|
|
18
|
+
- Step-by-step guide to read `app_token` on the iPhone itself with Proxyman for iOS.
|
|
19
|
+
- Install instructions say to search the full name `homebridge-intratone` in the Homebridge UI,
|
|
20
|
+
because a new package ranks too low to show up for "intratone".
|
|
21
|
+
- Added this changelog and a developer guide ([docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)).
|
|
22
|
+
- The npm page now links to the GitHub repository and issue tracker.
|
|
23
|
+
|
|
24
|
+
## [0.2.0] - 2026-10-31
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- **Matter.** On a bridge with Matter enabled (Homebridge 2), every openable door is also
|
|
29
|
+
exposed as a Matter door lock, next to the HomeKit accessory, for Google Home, Alexa,
|
|
30
|
+
SmartThings and other Matter controllers.
|
|
31
|
+
- *Unlock* opens the door. It shows unlocked for `pulse_seconds`, then locked again.
|
|
32
|
+
- A failed open is reported to the controller as an error.
|
|
33
|
+
- Repeated unlocks while a door is opening send a single open.
|
|
34
|
+
- *Lock* only ends the unlocked pulse early, since the door relocks by itself.
|
|
35
|
+
- Cached Matter doors are registered again at startup to get their handlers back, and reset
|
|
36
|
+
to locked.
|
|
37
|
+
- Names are trimmed to Matter's 32-byte limit.
|
|
38
|
+
- As on HomeKit, an empty door list never removes doors.
|
|
39
|
+
- Every door is a lock on Matter, whatever `service` says: Matter has no gate opener.
|
|
40
|
+
- `supports-hap` and `supports-matter` package keywords, which the Homebridge UI reads to show
|
|
41
|
+
its HomeKit and Matter badges.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- Replaced a test fixture `device_id` with a fully synthetic value.
|
|
46
|
+
|
|
47
|
+
## [0.1.0] - 2026-10-30
|
|
48
|
+
|
|
49
|
+
First release: remote opening over the REST API of the official app. Doorbell, video and
|
|
50
|
+
two-way audio are out of scope.
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
|
|
54
|
+
- Homebridge dynamic platform `Intratone`, made to run as a child bridge.
|
|
55
|
+
- Sign-in with `POST /api/auth/device`. Several spellings of the phone number are tried (national,
|
|
56
|
+
country code + number, bare number), and the one that works is remembered.
|
|
57
|
+
- The 7-day JWT is kept fresh: checked every 12 h and renewed when less than a day is left.
|
|
58
|
+
A refused call triggers one refresh, and concurrent callers share a single refresh.
|
|
59
|
+
- Door discovery with `GET /api/access` at startup and every hour (configurable). `data` and
|
|
60
|
+
`ble` doors are exposed. `clemobil` (2G) doors are skipped and logged once, because the app
|
|
61
|
+
opens them with a GSM call. Names get the residence as a prefix when there are several
|
|
62
|
+
residences.
|
|
63
|
+
- Opening with `POST /api/access/open/clemobil`, shown as a HomeKit lock (default) or garage
|
|
64
|
+
door that stays unlocked/open for `pulse_seconds`.
|
|
65
|
+
- `device_id` and the JWT are stored in Homebridge's storage (mode 0600). The `device_id` is
|
|
66
|
+
generated once, or taken from the config to act as an existing phone.
|
|
67
|
+
- On HTTP 429 the plugin honours `Retry-After`, or else waits 1 min, doubling up to 15 min.
|
|
68
|
+
- When no door comes back, the log says why. The most common reason is the mobipass key being
|
|
69
|
+
active on another device. Cached doors are kept until the list returns.
|
|
70
|
+
- CLI `homebridge-intratone` with `status`, `login`, `list`, `open`, and the mobipass transfer
|
|
71
|
+
commands `activate` and `verify`.
|
|
72
|
+
- Debug logging of every request and response, with tokens, app credentials and phone numbers
|
|
73
|
+
masked.
|
|
74
|
+
- MIT license.
|
|
75
|
+
|
|
76
|
+
[0.2.1]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.2.1
|
|
77
|
+
[0.2.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.2.0
|
|
78
|
+
[0.1.0]: https://github.com/jtoucas-DIMO/Homebridge-Intratone/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -32,8 +32,10 @@ implemented.
|
|
|
32
32
|
|
|
33
33
|
## Install
|
|
34
34
|
|
|
35
|
-
In the Homebridge UI, open **Plugins**, search for **intratone**
|
|
36
|
-
works the same in the official `homebridge/homebridge` Docker image
|
|
35
|
+
In the Homebridge UI, open **Plugins**, search for **homebridge-intratone** (the full name) and
|
|
36
|
+
click **Install**. This works the same in the official `homebridge/homebridge` Docker image
|
|
37
|
+
(Synology, Unraid, …). A search for just "intratone" may not list it yet: the UI shows the 99
|
|
38
|
+
best-ranked Homebridge plugins for a word, and npm ranks new packages low.
|
|
37
39
|
|
|
38
40
|
Without the UI:
|
|
39
41
|
|
|
@@ -50,7 +52,6 @@ settings → *Bridge Settings*), so a fault here can't take the main bridge down
|
|
|
50
52
|
{
|
|
51
53
|
"platform": "Intratone",
|
|
52
54
|
"name": "Intratone",
|
|
53
|
-
"app_id": "<from the official app>",
|
|
54
55
|
"app_token": "<from the official app>",
|
|
55
56
|
"tel": "0612345678",
|
|
56
57
|
"indicatif": "33",
|
|
@@ -61,7 +62,8 @@ settings → *Bridge Settings*), so a fault here can't take the main bridge down
|
|
|
61
62
|
|
|
62
63
|
| key | default | notes |
|
|
63
64
|
| ------------------------ | -------- | ----- |
|
|
64
|
-
| `
|
|
65
|
+
| `app_token` | required | The official app's secret, not shipped with this plugin. See [Getting app_token](#getting-app_token). |
|
|
66
|
+
| `app_id` | iOS app's | Names the official app, not your account: every iPhone sends `app_apisip_ios`, which is the default. Set it only with `user_agent: android`, whose value isn't known yet. |
|
|
65
67
|
| `tel` | required | Phone number of the Intratone account. National (`06…`) or international (`+33 6…`). Several spellings are tried, and the one that works is remembered. |
|
|
66
68
|
| `indicatif` | `33` | Country code. |
|
|
67
69
|
| `device_id` | generated | Leave empty to generate a UUID that is stored and reused forever. Set it to reuse an existing phone's registration (`device_id` claim of that phone's JWT). |
|
|
@@ -72,6 +74,10 @@ settings → *Bridge Settings*), so a fault here can't take the main bridge down
|
|
|
72
74
|
| `app_version` | `4.6.4` | `appversion` sent at login. |
|
|
73
75
|
| `debug` | `false` | Logs every request and response at info level, plus the raw door list once at startup. Tokens, app credentials and your phone number are masked. |
|
|
74
76
|
|
|
77
|
+
The plugin keeps `device_id` and the current JWT in
|
|
78
|
+
`<homebridge storage>/intratone/<hash>.json` (mode 0600). Delete that file only if you want to
|
|
79
|
+
register as a new device.
|
|
80
|
+
|
|
75
81
|
### Matter
|
|
76
82
|
|
|
77
83
|
Needs Homebridge 2. In the plugin settings, open *Bridge Settings*, tick **Enable Matter**,
|
|
@@ -90,24 +96,53 @@ or any other Matter controller. Several controllers can share the same pairing.
|
|
|
90
96
|
- Homebridge's Matter support is experimental and not CSA certified, so controllers may warn
|
|
91
97
|
about an uncertified accessory while pairing.
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
### Getting app_token
|
|
100
|
+
|
|
101
|
+
`app_token` is built into the official app and only travels in the request the app sends when
|
|
102
|
+
you sign in (`POST /api/auth/device`). You read it by recording your iPhone's own traffic for a
|
|
103
|
+
few minutes with [Proxyman for iOS](https://proxyman.com/ios), an App Store app that does this
|
|
104
|
+
on the phone itself. No computer is needed.
|
|
96
105
|
|
|
97
|
-
|
|
106
|
+
**1. Set up Proxyman**
|
|
98
107
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
108
|
+
1. Install **Proxyman** from the App Store and open it.
|
|
109
|
+
2. Follow its setup screens: allow the VPN configuration it adds, then generate its
|
|
110
|
+
certificate. iOS downloads it as a profile.
|
|
111
|
+
3. Install the profile in **Settings → General → VPN & Device Management**.
|
|
112
|
+
4. Trust it in **Settings → General → About → Certificate Trust Settings**: turn on full trust
|
|
113
|
+
for the Proxyman certificate.
|
|
114
|
+
5. Back in Proxyman, start the VPN. Its status should say it is ready to intercept HTTPS.
|
|
102
115
|
|
|
103
|
-
|
|
104
|
-
2. Make the app log in. It does this on its own about once a week, when its token expires, or
|
|
105
|
-
at once after you delete and reinstall it and register again.
|
|
106
|
-
3. In the capture, open the `POST https://sip.intratone.info/api/auth/device` request. Its
|
|
107
|
-
form body contains `app_id` and `app_token`, plus the `device_id` and `tel` the app uses.
|
|
116
|
+
**2. Decrypt Intratone's traffic**
|
|
108
117
|
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
1. With Proxyman running, open the Intratone app and look at your doors, then switch back to
|
|
119
|
+
Proxyman.
|
|
120
|
+
2. Tap the **sip.intratone.info** domain, then any request in it, and tap
|
|
121
|
+
**Enable SSL Proxying**. Requests to that domain are now readable.
|
|
122
|
+
|
|
123
|
+
**3. Capture the sign-in**
|
|
124
|
+
|
|
125
|
+
1. Delete the Intratone app, reinstall it from the App Store and sign in as you did the first
|
|
126
|
+
time. A fresh install always sends the sign-in request. (The app also signs in by itself
|
|
127
|
+
about once a week, if you'd rather wait.)
|
|
128
|
+
2. In Proxyman, open **sip.intratone.info** and find **POST /api/auth/device**.
|
|
129
|
+
3. Open the request body. Copy `app_token` into the plugin's **App token** setting.
|
|
130
|
+
4. Optional: copy `device_id` into the plugin's **Device ID** setting (under *Advanced*).
|
|
131
|
+
Homebridge then acts as your iPhone and shares its door key, so you don't need the mobipass
|
|
132
|
+
transfer described below.
|
|
133
|
+
|
|
134
|
+
**4. Clean up**
|
|
135
|
+
|
|
136
|
+
The capture holds a live session token and your phone number, so don't share it.
|
|
137
|
+
|
|
138
|
+
1. Stop the VPN in Proxyman and delete the captured requests.
|
|
139
|
+
2. Remove the Proxyman profile in **Settings → General → VPN & Device Management**, or at
|
|
140
|
+
least turn off its full trust. Leaving a trusted certificate installed weakens your
|
|
141
|
+
iPhone's HTTPS security.
|
|
142
|
+
|
|
143
|
+
Already run an HTTPS proxy on a computer, such as [mitmproxy](https://mitmproxy.org/)? It works
|
|
144
|
+
the same way: route the iPhone through it, trust its certificate, sign in to the Intratone app
|
|
145
|
+
and read the same request.
|
|
111
146
|
|
|
112
147
|
## Mobipass: taking the door key
|
|
113
148
|
|
|
@@ -162,6 +197,10 @@ npm test
|
|
|
162
197
|
npm run build
|
|
163
198
|
```
|
|
164
199
|
|
|
200
|
+
How the plugin works inside, how it's tested and how releases are made:
|
|
201
|
+
[docs/DEVELOPMENT.md](docs/DEVELOPMENT.md). What changed in each version:
|
|
202
|
+
[CHANGELOG.md](CHANGELOG.md).
|
|
203
|
+
|
|
165
204
|
`npm run lint` and `npm run typecheck` are also available. Link the build into a local
|
|
166
205
|
Homebridge with `npm link`.
|
|
167
206
|
|
package/config.schema.json
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"app_id": {
|
|
17
17
|
"title": "App ID",
|
|
18
|
-
"description": "
|
|
18
|
+
"description": "Identifies the official app, not your account. Leave empty to use the iOS app's id shown here; set it only for another app.",
|
|
19
19
|
"type": "string",
|
|
20
|
-
"
|
|
20
|
+
"placeholder": "app_apisip_ios"
|
|
21
21
|
},
|
|
22
22
|
"app_token": {
|
|
23
23
|
"title": "App token",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
},
|
|
94
94
|
"layout": [
|
|
95
95
|
"name",
|
|
96
|
-
|
|
96
|
+
"app_id",
|
|
97
97
|
{ "key": "app_token", "type": "password" },
|
|
98
98
|
{ "type": "flex", "flex-flow": "row wrap", "items": ["indicatif", "tel"] },
|
|
99
99
|
"service",
|
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { IntratoneClient } from './intratoneClient.js';
|
|
2
|
+
import { DEFAULT_APP_IDS, IntratoneClient } from './intratoneClient.js';
|
|
3
3
|
import { StateStore, accountKey } from './storage.js';
|
|
4
4
|
import { isRecord, str } from './util.js';
|
|
5
5
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -11,13 +11,14 @@ function clamp(value, fallback, min, max) {
|
|
|
11
11
|
export function parseSettings(raw) {
|
|
12
12
|
const config = isRecord(raw) ? raw : {};
|
|
13
13
|
const errors = [];
|
|
14
|
-
const
|
|
14
|
+
const identity = config.user_agent === 'android' ? 'android' : 'ios';
|
|
15
|
+
const appId = str(config.app_id) || DEFAULT_APP_IDS[identity] || '';
|
|
15
16
|
const appToken = str(config.app_token);
|
|
16
17
|
const tel = str(config.tel);
|
|
17
18
|
const indicatif = (str(config.indicatif) || '33').replace(/^\+/, '');
|
|
18
19
|
const deviceId = str(config.device_id) || undefined;
|
|
19
20
|
if (!appId) {
|
|
20
|
-
errors.push(
|
|
21
|
+
errors.push(`app_id is required: there is no default for the ${identity} app`);
|
|
21
22
|
}
|
|
22
23
|
if (!appToken) {
|
|
23
24
|
errors.push('app_token is required');
|
|
@@ -46,7 +47,7 @@ export function parseSettings(raw) {
|
|
|
46
47
|
service: config.service === 'garage' ? 'garage' : 'lock',
|
|
47
48
|
pulseMs: clamp(config.pulse_seconds, 2, 1, 30) * 1000,
|
|
48
49
|
accessRefreshMs: clamp(config.access_refresh_minutes, 60, 15, 1440) * 60_000,
|
|
49
|
-
identity
|
|
50
|
+
identity,
|
|
50
51
|
appVersion: str(config.app_version) || '4.6.4',
|
|
51
52
|
debug: config.debug === true,
|
|
52
53
|
},
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAqC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/intratoneClient.js
CHANGED
|
@@ -4,6 +4,14 @@ export const USER_AGENTS = {
|
|
|
4
4
|
ios: 'intratone-x10-19/4 CFNetwork/3896.200.61 Darwin/27.2.0',
|
|
5
5
|
android: 'okhttp/5.0.0-alpha.2',
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* `app_id` names the client app, not the account or the install, so every iPhone sends the same
|
|
9
|
+
* value (captured from the iOS app 4.6.0). The Android app's is not known. `app_token` is the
|
|
10
|
+
* app's secret and is never defaulted.
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_APP_IDS = {
|
|
13
|
+
ios: 'app_apisip_ios',
|
|
14
|
+
};
|
|
7
15
|
/** Modes the REST open endpoint handles. `clemobil` (GSM call) cannot be driven headless. */
|
|
8
16
|
export const OPENABLE_MODES = new Set(['data', 'ble']);
|
|
9
17
|
const PATHS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intratoneClient.js","sourceRoot":"","sources":["../src/intratoneClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,wDAAwD;IAC7D,OAAO,EAAE,sBAAsB;CACvB,CAAC;AAIX,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE5E,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,0BAA0B;IACtC,gBAAgB,EAAE,uBAAuB;IACzC,cAAc,EAAE,yBAAyB;CACjC,CAAC;AAEX,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC9C,kGAAkG;AAClG,MAAM,mBAAmB,GAAG,EAAE,GAAG,QAAQ,CAAC;AA2D1C,MAAM,OAAO,cAAe,SAAQ,KAAK;IAG5B;IACA;IACA;IAJX,YACE,OAAe,EACN,MAAe,EACf,IAAc,EACd,IAAa,EACtB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QALf,WAAM,GAAN,MAAM,CAAS;QACf,SAAI,GAAJ,IAAI,CAAU;QACd,SAAI,GAAJ,IAAI,CAAS;QAItB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,OAAO,kBAAmB,SAAQ,cAAc;CAAG;AAEzD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACnB;IAAtC,YAAY,OAAe,EAAW,YAAoB,EAAE,MAAe,EAAE,IAAc;QACzF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QADO,iBAAY,GAAZ,YAAY,CAAQ;IAE1D,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;CAAG;AA2BpD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,SAAiB;IAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAQ,EAAE;QACtC,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,IAAI,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1E,GAAG,CAAC,aAAa,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,CAAC;QACd,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IACpF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAQ,EAAE;YACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB,EAAE,GAAW;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,QAAsB;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,OAAO,eAAe;IAUG;IATrB,OAAO,CAAW;IAClB,eAAe,CAAoB;IACnC,YAAY,GAAG,CAAC,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACZ,SAAS,CAAe;IACxB,GAAG,CAAe;IAClB,OAAO,CAAS;IAChB,SAAS,CAAS;IAEnC,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,iEAAiE;IACjE,eAAe,CAAC,cAAc,GAAG,MAAM;QACrC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACL,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,wBAAwB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA0C;QACnD,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,iBAAiB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACjI,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,uFAAuF;IACvF,cAAc,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA4B;QAC/D,0FAA0F;QAC1F,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,YAAY,IAAI,IAAI,SAAS,aAAa,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClI,CAAC;IAEO,EAAE,CAAC,QAAsB;QAC/B,OAAO,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,IAAY,EACZ,IAAwC,EACxC,WAAgD;QAEhD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,IAAI,iBAAiB,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC;QACjG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;QAClH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/E,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;QACrC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,IAA8B,CAAC;QACnC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACjH,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK;oBAClG,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1G,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,IAAI,GAAG,QAAQ,CAAC;YAChB,aAAa,KAAK,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,wCAAwC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,oDAAoD,UAAU,CAAC,MAAM,WAAW,MAAM,KAAK;YACzF,wDAAwD,EAC1D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CACzB,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAW,EAAE,IAA6B,EAAE,GAAW;QAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,MAAM,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,OAAO;YACL,GAAG;YACH,SAAS,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB;YACnF,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,SAAS;YAC1D,GAAG;YACH,KAAK,EAAE;gBACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;gBACzC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC1C,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACpD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAY,EAAE,IAA6B,EAAE,GAAY;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,uBAAuB,CAC/B,gDAAgD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAC9F,IAAI,CAAC,YAAY,GAAG,GAAG,CACxB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChD,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,yBAAyB;SAC7C,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,IAAwB,CAAC;QAC7B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;YAC9D,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,KAAK,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBACtD,MAAM;gBACN,OAAO;gBACP,IAAI;gBACJ,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,cAAc,CAAC,GAAG,MAAM,KAAK,IAAI,YAAa,KAAe,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;gBAClH,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAY,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;QACzF,CAAC;QACD,MAAM,QAAQ,GAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE1D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;YAC9F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACzC,MAAM,IAAI,uBAAuB,CAC/B,sDAAsD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAClF,OAAO,EACP,GAAG,CAAC,MAAM,EACV,MAAM,CACP,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,OAAe;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"intratoneClient.js","sourceRoot":"","sources":["../src/intratoneClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Developer guide
|
|
2
|
+
|
|
3
|
+
How the plugin is built, tested and released. For setup and usage, see the
|
|
4
|
+
[README](../README.md); for what changed in each version, see the [changelog](../CHANGELOG.md).
|
|
5
|
+
|
|
6
|
+
## Layout
|
|
7
|
+
|
|
8
|
+
| file | role |
|
|
9
|
+
| ---- | ---- |
|
|
10
|
+
| `src/index.ts` | Registers the `Intratone` platform with Homebridge. |
|
|
11
|
+
| `src/platform.ts` | `IntratonePlatform`: startup, token upkeep, the access-list sync loop, and HomeKit accessory registration and removal. |
|
|
12
|
+
| `src/accessAccessory.ts` | One door as a HomeKit `LockMechanism` or `GarageDoorOpener` with a timed "open" pulse. |
|
|
13
|
+
| `src/matterDoors.ts` | The same doors as Matter door locks, when the bridge has Matter enabled. |
|
|
14
|
+
| `src/intratoneClient.ts` | REST client: sign-in, JWT lifecycle, access list, open, mobipass, 429 backoff. |
|
|
15
|
+
| `src/config.ts` | Validates the config block (`parseSettings`) and opens the account state (`openAccount`). |
|
|
16
|
+
| `src/storage.ts` | Per-account state file holding `device_id` and the session. |
|
|
17
|
+
| `src/cli.ts` | The `homebridge-intratone` command (`status`, `login`, `list`, `open`, `activate`, `verify`). |
|
|
18
|
+
| `src/util.ts` | Small helpers, including the log redaction. |
|
|
19
|
+
| `config.schema.json` | Settings form for the Homebridge UI. |
|
|
20
|
+
|
|
21
|
+
The code is TypeScript, compiled as ES modules (`NodeNext`) to `dist/`. Runtime dependencies:
|
|
22
|
+
none. Homebridge provides HAP and Matter at runtime, and HTTP uses Node's built-in `fetch`.
|
|
23
|
+
|
|
24
|
+
## The Intratone API
|
|
25
|
+
|
|
26
|
+
All calls go to `https://sip.intratone.info/` with form-encoded bodies, a 10 s timeout and the
|
|
27
|
+
official app's `User-Agent`. The iOS app is used by default, and the Android one with
|
|
28
|
+
`user_agent: android`.
|
|
29
|
+
|
|
30
|
+
| call | used for |
|
|
31
|
+
| ---- | -------- |
|
|
32
|
+
| `POST /api/auth/device` (`app_id`, `app_token`, `tel`, `device_id`, `appversion`) | Sign-in. Returns a 7-day HS512 JWT and the mobipass flags (`openingaccess`, `access_refresh`, `mobipass_compatible`, `mobipass`). |
|
|
33
|
+
| `GET /api/access` | The doors. The first entry of `openmode` decides: `data`/`ble` can be opened, `clemobil` can't. The server sends modes in upper case (`["DATA"]`), so they're compared case-insensitively. |
|
|
34
|
+
| `POST /api/access/open/clemobil` (`phonenumber`, `access_id`) | Opens one door, whatever its mode. |
|
|
35
|
+
| `POST /api/mobipass/activate`, `POST /api/mobipass/otp/verify` | Moves the mobipass key to this device (SMS code). |
|
|
36
|
+
|
|
37
|
+
A response counts as success when `error` is `0` (or `state` is `ok` without an `error`).
|
|
38
|
+
|
|
39
|
+
- **Credentials:** `app_id` names the client app (`app_apisip_ios` for iPhone) and is a public
|
|
40
|
+
default. `app_token` is the app's secret: it's never shipped, and users capture it once
|
|
41
|
+
(README, *Getting app_token*).
|
|
42
|
+
- **The JWT** is decoded without verification, only to read its expiry. It's renewed when less
|
|
43
|
+
than 24 h is left, and once on a refused call. Concurrent callers share one refresh.
|
|
44
|
+
- **On HTTP 429** the client stops sending until `Retry-After`, or else 1 min doubling to 15 min.
|
|
45
|
+
|
|
46
|
+
The API notes come from the open-source Home Assistant integration
|
|
47
|
+
[GuiHash/ha-intratone](https://github.com/GuiHash/ha-intratone) and from a capture of the iOS
|
|
48
|
+
app. **Never commit a capture:** it holds a live JWT, the phone number and device ids.
|
|
49
|
+
`mitmproxy/`, `*.har` and `*.tgz` are git-ignored, and the npm `files` list only ships
|
|
50
|
+
`dist/`, the schema and the docs.
|
|
51
|
+
|
|
52
|
+
## HomeKit
|
|
53
|
+
|
|
54
|
+
Each door is an accessory with UUID `uuid.generate('intratone:<access id>')`. The access is
|
|
55
|
+
kept in `accessory.context`, so cached doors work at startup even before the network answers.
|
|
56
|
+
|
|
57
|
+
A successful open shows *Unlocked* (or *Open*) for `pulse_seconds`, then *Locked* again. The
|
|
58
|
+
server reports no real door state. An empty access list never removes accessories, so a
|
|
59
|
+
server hiccup or a moved mobipass key can't wipe the user's rooms and automations.
|
|
60
|
+
|
|
61
|
+
## Matter
|
|
62
|
+
|
|
63
|
+
Matter support is optional and appears only when Homebridge sets `api.matter`. That happens on
|
|
64
|
+
Homebridge 2, on a bridge with a `matter` block (*Enable Matter* in the child bridge
|
|
65
|
+
settings). Values come from `api.matter` (`deviceTypes`, `types`), never from a value import of
|
|
66
|
+
`homebridge`, which fails on installs where Homebridge lives in a separate `node_modules`.
|
|
67
|
+
|
|
68
|
+
- **Shape:** each door is a `DoorLock` with `lockState` `Locked`, `lockType` `Other`,
|
|
69
|
+
`actuatorEnabled` and `operatingMode` `Normal`. Its UUID is
|
|
70
|
+
`uuid.generate('intratone:matter:<access id>')`, separate from the HomeKit one.
|
|
71
|
+
- **Commands:**
|
|
72
|
+
- `unlockDoor` awaits the open. Homebridge sets `lockState` to *Unlocked* when the handler
|
|
73
|
+
resolves, and reports a failure when it throws.
|
|
74
|
+
- The plugin sets *Locked* again after the pulse with `updateAccessoryState`, outside the
|
|
75
|
+
handler.
|
|
76
|
+
- `lockDoor` only cancels the pulse.
|
|
77
|
+
- **Cache:**
|
|
78
|
+
- Homebridge restores cached Matter accessories with *empty* handlers and calls
|
|
79
|
+
`configureMatterAccessory`.
|
|
80
|
+
- The plugin then registers each cached door again at startup. Homebridge attaches the
|
|
81
|
+
handlers to the restored endpoint ("Attached plugin registration to restored accessory")
|
|
82
|
+
and forces `Locked`.
|
|
83
|
+
- Registering the same UUID twice in one session throws, so the plugin tracks what it
|
|
84
|
+
registered.
|
|
85
|
+
- `updatePlatformAccessories` only updates the cache (a rename shows after a restart).
|
|
86
|
+
- **Names:** the bridged node label is limited to 32 bytes and Homebridge doesn't trim it,
|
|
87
|
+
so `matterLabel` does.
|
|
88
|
+
- **UI badges:** the Homebridge UI shows its HomeKit and Matter badges from the `supports-hap`
|
|
89
|
+
and `supports-matter` keywords in `package.json`.
|
|
90
|
+
|
|
91
|
+
## Tests
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npm test
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Vitest, no network. `test/helpers.ts` has a `fetch` double that routes on path, a JWT builder,
|
|
98
|
+
a fake `api.matter` with matter.js's real DoorLock enum values, and a helper that runs a
|
|
99
|
+
DoorLock command the way Homebridge does. HomeKit tests use the real `@homebridge/hap-nodejs`,
|
|
100
|
+
pinned to the version Homebridge itself requires, so the types match.
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npm run lint
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm run typecheck
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Smoke test against a real Homebridge with Matter
|
|
111
|
+
|
|
112
|
+
The 0.2.0 Matter support was also checked end to end in a throwaway Homebridge 2.4 (matter.js
|
|
113
|
+
0.17), with no real account involved:
|
|
114
|
+
|
|
115
|
+
- **Setup:** a temporary storage folder whose `config.json` has a `bridge.matter` block and the
|
|
116
|
+
Intratone platform with dummy credentials.
|
|
117
|
+
- **Fake API:** Homebridge started with `NODE_OPTIONS=--import=<preload>`. The preload replaces
|
|
118
|
+
`fetch` for `sip.intratone.info` with canned answers, and keeps a reference to Homebridge's
|
|
119
|
+
Matter manager (`HomebridgeAPI.prototype._setMatterManager`).
|
|
120
|
+
- **The run:** `homebridge -U <tmp> -P <repo> --strict-plugin-resolution -D`.
|
|
121
|
+
- **The unlock:** the preload calls `matterServer.triggerCommand(uuid, 'doorLock',
|
|
122
|
+
'unlockDoor', {})`, which goes through Homebridge's real `HomebridgeDoorLockServer`. It then
|
|
123
|
+
reads `lockState` before, right after, and after the pulse (1 → 2 → 1). Finally it sends
|
|
124
|
+
`SIGTERM` for a clean shutdown.
|
|
125
|
+
- **The restart:** a second run on the same storage checks the cache restore.
|
|
126
|
+
|
|
127
|
+
## Releasing
|
|
128
|
+
|
|
129
|
+
1. Update `CHANGELOG.md` and bump `version` in `package.json`.
|
|
130
|
+
2. `npm publish`. `prepublishOnly` runs lint, typecheck and tests, and `prepack` builds `dist/`.
|
|
131
|
+
The npm account uses 2FA: npm prints an approval link and waits. Approve it within a few
|
|
132
|
+
minutes, or the request expires and the publish fails with a 404 on `/-/v1/done`.
|
|
133
|
+
3. After `+ homebridge-intratone@x.y.z`, the registry takes about a minute to move `latest`.
|
|
134
|
+
4. Tag the commit `vX.Y.Z`, push the tag, and create the GitHub release from the changelog
|
|
135
|
+
entry.
|
|
136
|
+
|
|
137
|
+
A new package scores 0 in npm search for a while. The Homebridge UI shows only the 99
|
|
138
|
+
best-ranked plugins for a word, so a new package appears there only when searched by its full
|
|
139
|
+
name, `homebridge-intratone`, which the UI fetches directly.
|
package/package.json
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-intratone",
|
|
3
3
|
"displayName": "Intratone",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"description": "Unofficial Homebridge plugin to open Intratone / Cogelec doors and gates from HomeKit and Matter (remote open, no doorbell).",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "jtoucas-DIMO",
|
|
8
|
+
"homepage": "https://github.com/jtoucas-DIMO/Homebridge-Intratone#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/jtoucas-DIMO/Homebridge-Intratone.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/jtoucas-DIMO/Homebridge-Intratone/issues"
|
|
15
|
+
},
|
|
8
16
|
"type": "module",
|
|
9
17
|
"main": "dist/index.js",
|
|
10
18
|
"bin": {
|
|
@@ -13,7 +21,9 @@
|
|
|
13
21
|
"files": [
|
|
14
22
|
"dist",
|
|
15
23
|
"config.schema.json",
|
|
16
|
-
"README.md"
|
|
24
|
+
"README.md",
|
|
25
|
+
"CHANGELOG.md",
|
|
26
|
+
"docs"
|
|
17
27
|
],
|
|
18
28
|
"engines": {
|
|
19
29
|
"homebridge": "^1.8.0 || ^2.0.0-beta.0",
|