@matter/nodejs 0.16.0-alpha.0-20251006-3fe1e7c57 → 0.16.0-alpha.0-20251013-89bb7099d
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/dist/cjs/config.d.ts +1 -1
- package/dist/cjs/config.js +1 -1
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +2 -0
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +1 -1
- package/dist/cjs/environment/NodeJsEnvironment.js +15 -3
- package/dist/cjs/environment/NodeJsEnvironment.js.map +1 -1
- package/dist/cjs/environment/ProcessManager.d.ts +1 -0
- package/dist/cjs/environment/ProcessManager.d.ts.map +1 -1
- package/dist/cjs/environment/ProcessManager.js +8 -0
- package/dist/cjs/environment/ProcessManager.js.map +1 -1
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +42 -0
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +1 -0
- package/dist/cjs/net/NodeJsHttpEndpoint.js +304 -0
- package/dist/cjs/net/NodeJsHttpEndpoint.js.map +6 -0
- package/dist/cjs/net/NodeJsUdpChannel.d.ts +1 -1
- package/dist/cjs/net/NodeJsUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/NodeJsUdpChannel.js +31 -3
- package/dist/cjs/net/NodeJsUdpChannel.js.map +1 -1
- package/dist/cjs/net/WsAdapter.d.ts +25 -0
- package/dist/cjs/net/WsAdapter.d.ts.map +1 -0
- package/dist/cjs/net/WsAdapter.js +33 -0
- package/dist/cjs/net/WsAdapter.js.map +6 -0
- package/dist/cjs/net/index.d.ts +2 -0
- package/dist/cjs/net/index.d.ts.map +1 -1
- package/dist/cjs/net/index.js +2 -0
- package/dist/cjs/net/index.js.map +1 -1
- package/dist/esm/config.d.ts +1 -1
- package/dist/esm/config.js +1 -1
- package/dist/esm/environment/NodeJsEnvironment.d.ts +2 -0
- package/dist/esm/environment/NodeJsEnvironment.d.ts.map +1 -1
- package/dist/esm/environment/NodeJsEnvironment.js +16 -3
- package/dist/esm/environment/NodeJsEnvironment.js.map +1 -1
- package/dist/esm/environment/ProcessManager.d.ts +1 -0
- package/dist/esm/environment/ProcessManager.d.ts.map +1 -1
- package/dist/esm/environment/ProcessManager.js +8 -0
- package/dist/esm/environment/ProcessManager.js.map +1 -1
- package/dist/esm/net/NodeJsHttpEndpoint.d.ts +42 -0
- package/dist/esm/net/NodeJsHttpEndpoint.d.ts.map +1 -0
- package/dist/esm/net/NodeJsHttpEndpoint.js +284 -0
- package/dist/esm/net/NodeJsHttpEndpoint.js.map +6 -0
- package/dist/esm/net/NodeJsUdpChannel.d.ts +1 -1
- package/dist/esm/net/NodeJsUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/NodeJsUdpChannel.js +34 -3
- package/dist/esm/net/NodeJsUdpChannel.js.map +1 -1
- package/dist/esm/net/WsAdapter.d.ts +25 -0
- package/dist/esm/net/WsAdapter.d.ts.map +1 -0
- package/dist/esm/net/WsAdapter.js +13 -0
- package/dist/esm/net/WsAdapter.js.map +6 -0
- package/dist/esm/net/index.d.ts +2 -0
- package/dist/esm/net/index.d.ts.map +1 -1
- package/dist/esm/net/index.js +2 -0
- package/dist/esm/net/index.js.map +1 -1
- package/package.json +10 -10
- package/src/config.ts +1 -1
- package/src/environment/NodeJsEnvironment.ts +21 -3
- package/src/environment/ProcessManager.ts +12 -0
- package/src/net/NodeJsHttpEndpoint.ts +358 -0
- package/src/net/NodeJsUdpChannel.ts +42 -3
- package/src/net/WsAdapter.ts +30 -0
- package/src/net/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WsAdapter.d.ts","sourceRoot":"","sources":["../../../src/net/WsAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,yBAAiB,SAAS,CAAC;IAEhB,IAAI,cAAc,EAAgB,SAAS,GAAG,OAAO,CAAC;IAE7D,UAAiB,OAAO;QACpB,IAAI,SAAS,CAAC;KACjB;CACJ"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var WsAdapter_exports = {};
|
|
20
|
+
__export(WsAdapter_exports, {
|
|
21
|
+
WsAdapter: () => WsAdapter
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(WsAdapter_exports);
|
|
24
|
+
/**
|
|
25
|
+
* @license
|
|
26
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
27
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
28
|
+
*/
|
|
29
|
+
var WsAdapter;
|
|
30
|
+
((WsAdapter2) => {
|
|
31
|
+
WsAdapter2.defaultFactory = void 0;
|
|
32
|
+
})(WsAdapter || (WsAdapter = {}));
|
|
33
|
+
//# sourceMappingURL=WsAdapter.js.map
|
package/dist/cjs/net/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
export * from "./NodeJsHttpEndpoint.js";
|
|
6
7
|
export * from "./NodeJsNetwork.js";
|
|
7
8
|
export * from "./NodeJsUdpChannel.js";
|
|
9
|
+
export * from "./WsAdapter.js";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/net/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/net/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
|
package/dist/cjs/net/index.js
CHANGED
|
@@ -15,8 +15,10 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
16
|
var net_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(net_exports);
|
|
18
|
+
__reExport(net_exports, require("./NodeJsHttpEndpoint.js"), module.exports);
|
|
18
19
|
__reExport(net_exports, require("./NodeJsNetwork.js"), module.exports);
|
|
19
20
|
__reExport(net_exports, require("./NodeJsUdpChannel.js"), module.exports);
|
|
21
|
+
__reExport(net_exports, require("./WsAdapter.js"), module.exports);
|
|
20
22
|
/**
|
|
21
23
|
* @license
|
|
22
24
|
* Copyright 2022-2025 Matter.js Authors
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/net/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,oCANd;AAOA,wBAAc,+BAPd;AAQA,wBAAc,kCARd;AASA,wBAAc,2BATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/config.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export declare const config: {
|
|
|
69
69
|
*/
|
|
70
70
|
initializeStorage: boolean;
|
|
71
71
|
/**
|
|
72
|
-
* Enables handling of SIGINT, SIGTERM and
|
|
72
|
+
* Enables handling of SIGINT, SIGTERM, SIGUSR2 and SIGABRT (depending on platform; default: true).
|
|
73
73
|
*/
|
|
74
74
|
trapProcessSignals: boolean;
|
|
75
75
|
/**
|
package/dist/esm/config.js
CHANGED
|
@@ -118,7 +118,7 @@ const config = {
|
|
|
118
118
|
initializeStorage = value;
|
|
119
119
|
},
|
|
120
120
|
/**
|
|
121
|
-
* Enables handling of SIGINT, SIGTERM and
|
|
121
|
+
* Enables handling of SIGINT, SIGTERM, SIGUSR2 and SIGABRT (depending on platform; default: true).
|
|
122
122
|
*/
|
|
123
123
|
get trapProcessSignals() {
|
|
124
124
|
return trapProcessSignals;
|
|
@@ -43,6 +43,8 @@ import { Environment, VariableService } from "#general";
|
|
|
43
43
|
* * `runtime.signals` - By default register SIGINT and SIGUSR2 (diag) handlers, set to false if not wanted
|
|
44
44
|
* * `runtime.exitcode` - By default we set the process.exitcode to 0 (ok) or 1 (crash); set to false to disable
|
|
45
45
|
* * `runtime.unhandlederrors` - By default we log unhandled errors to matter.js log; set to false to disable
|
|
46
|
+
*
|
|
47
|
+
* TODO - this should go away. Node.js services should register with {@link ServiceBundle.default}
|
|
46
48
|
*/
|
|
47
49
|
export declare function NodeJsEnvironment(): Environment;
|
|
48
50
|
export declare function loadConfigFile(vars: VariableService): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIH,WAAW,
|
|
1
|
+
{"version":3,"file":"NodeJsEnvironment.d.ts","sourceRoot":"","sources":["../../../src/environment/NodeJsEnvironment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIH,WAAW,EAQX,eAAe,EAClB,MAAM,UAAU,CAAC;AASlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,iBAAiB,gBAqBhC;AAkGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;EAsBnD;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;EAiBhD"}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
Boot,
|
|
11
11
|
Crypto,
|
|
12
12
|
Environment,
|
|
13
|
+
HttpEndpointFactory,
|
|
13
14
|
ImplementationError,
|
|
14
15
|
LogFormat,
|
|
15
16
|
Logger,
|
|
@@ -17,6 +18,7 @@ import {
|
|
|
17
18
|
ServiceBundle,
|
|
18
19
|
StorageService
|
|
19
20
|
} from "#general";
|
|
21
|
+
import { NodeJsHttpEndpoint } from "#net/NodeJsHttpEndpoint.js";
|
|
20
22
|
import { existsSync, readFileSync } from "node:fs";
|
|
21
23
|
import { writeFile } from "node:fs/promises";
|
|
22
24
|
import { resolve } from "node:path";
|
|
@@ -64,6 +66,9 @@ function loadVariables(env) {
|
|
|
64
66
|
await writeFile(configPath, JSON.stringify(configVars, void 0, 4));
|
|
65
67
|
};
|
|
66
68
|
}
|
|
69
|
+
function rootDirOf(env) {
|
|
70
|
+
return env.vars.get("path.root", ".");
|
|
71
|
+
}
|
|
67
72
|
function configureCrypto(env) {
|
|
68
73
|
Boot.init(() => {
|
|
69
74
|
if (config.installCrypto || (env.vars.boolean("nodejs.crypto") ?? true)) {
|
|
@@ -79,9 +84,16 @@ function configureNetwork(env) {
|
|
|
79
84
|
}
|
|
80
85
|
Boot.init(() => {
|
|
81
86
|
if (config.installNetwork || (env.vars.boolean("nodejs.network") ?? true)) {
|
|
87
|
+
const basePathForUnixSockets = rootDirOf(env);
|
|
82
88
|
env.set(Network, new NodeJsNetwork());
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
env.set(HttpEndpointFactory, new NodeJsHttpEndpoint.Factory(basePathForUnixSockets));
|
|
90
|
+
} else {
|
|
91
|
+
if (Environment.default.has(Network)) {
|
|
92
|
+
env.set(Network, Environment.default.get(Network));
|
|
93
|
+
}
|
|
94
|
+
if (Environment.default.has(HttpEndpointFactory)) {
|
|
95
|
+
env.set(HttpEndpointFactory, Environment.default.get(HttpEndpointFactory));
|
|
96
|
+
}
|
|
85
97
|
}
|
|
86
98
|
});
|
|
87
99
|
}
|
|
@@ -95,9 +107,10 @@ function configureStorage(env) {
|
|
|
95
107
|
}
|
|
96
108
|
const service = env.get(StorageService);
|
|
97
109
|
env.vars.use(() => {
|
|
98
|
-
service.location = env.vars.get("storage.path", env
|
|
110
|
+
service.location = env.vars.get("storage.path", rootDirOf(env));
|
|
99
111
|
});
|
|
100
112
|
service.factory = (namespace) => new StorageBackendDisk(resolve(service.location ?? ".", namespace), env.vars.get("storage.clear", false));
|
|
113
|
+
service.resolve = (...paths) => resolve(rootDirOf(env), ...paths);
|
|
101
114
|
}
|
|
102
115
|
function loadConfigFile(vars) {
|
|
103
116
|
const configPath = vars.get("path.config", "config.json");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/environment/NodeJsEnvironment.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,oBAAoB;AAC7B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEG;AACP,SAAS,YAAY,oBAAoB;AACzC,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -39,6 +39,7 @@ export declare class ProcessManager implements Destructable {
|
|
|
39
39
|
protected stopListener: () => void;
|
|
40
40
|
protected crashListener: () => void;
|
|
41
41
|
protected interruptHandler: () => void;
|
|
42
|
+
protected abortHandler: () => never;
|
|
42
43
|
protected exitHandler: () => void;
|
|
43
44
|
protected diagnosticHandler: () => void;
|
|
44
45
|
protected installInterruptHandlers: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAwB,MAAM,UAAU,CAAC;AAKnG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAiBrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,aAIxB;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;IAEF,SAAS,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../../src/environment/ProcessManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAU,cAAc,EAAwB,MAAM,UAAU,CAAC;AAKnG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,YAAY;;IAInC,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBAGZ,GAAG,EAAE,WAAW;IActC,KAAK;IAOL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,SAAS,KAAK,gBAAgB,SAE7B;IAED,SAAS,KAAK,kBAAkB,SAE/B;IAED,SAAS,KAAK,wBAAwB,SAErC;IAED,SAAS,CAAC,aAAa,aAiBrB;IAEF,SAAS,CAAC,YAAY,aAMpB;IAEF,SAAS,CAAC,aAAa,aAIrB;IAEF,SAAS,CAAC,gBAAgB,aAIxB;IAEF,SAAS,CAAC,YAAY,cAQpB;IAEF,SAAS,CAAC,WAAW,aAInB;IAEF,SAAS,CAAC,iBAAiB,aAEzB;IAEF,SAAS,CAAC,wBAAwB,aAIhC;IAEF,SAAS,CAAC,0BAA0B,aAIlC;CAUL"}
|
|
@@ -69,6 +69,12 @@ class ProcessManager {
|
|
|
69
69
|
this.installInterruptHandlers();
|
|
70
70
|
this.runtime.interrupt();
|
|
71
71
|
};
|
|
72
|
+
abortHandler = () => {
|
|
73
|
+
this.uninstallInterruptHandlers();
|
|
74
|
+
logger.fatal("Terminating due to SIGABRT of JS runtime, diagnostics follow");
|
|
75
|
+
logger.info(JSON.stringify(process.report.getReport(), void 0, 2));
|
|
76
|
+
process.exit(-66);
|
|
77
|
+
};
|
|
72
78
|
exitHandler = () => {
|
|
73
79
|
if (process.exitCode === 13) {
|
|
74
80
|
logger.error("Internal error: Premature process exit because ongoing work has stalled");
|
|
@@ -80,10 +86,12 @@ class ProcessManager {
|
|
|
80
86
|
installInterruptHandlers = () => {
|
|
81
87
|
process.on("SIGINT", this.interruptHandler);
|
|
82
88
|
process.on("SIGTERM", this.interruptHandler);
|
|
89
|
+
process.on("SIGABRT", this.abortHandler);
|
|
83
90
|
};
|
|
84
91
|
uninstallInterruptHandlers = () => {
|
|
85
92
|
process.off("SIGINT", this.interruptHandler);
|
|
86
93
|
process.off("SIGTERM", this.interruptHandler);
|
|
94
|
+
process.off("SIGABRT", this.abortHandler);
|
|
87
95
|
};
|
|
88
96
|
#ignoreSignals() {
|
|
89
97
|
if (this.#signalHandlersInstalled) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/environment/ProcessManager.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAoC,QAAQ,sBAA4C;AAGxF,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAuBnC,MAAM,eAAuC;AAAA,EAIhD,YAAsB,KAAkB;AAAlB;AAClB,SAAK,UAAU,IAAI,IAAI,cAAc;AAErC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAC1C,SAAK,QAAQ,QAAQ,GAAG,KAAK,YAAY;AACzC,SAAK,QAAQ,QAAQ,GAAG,KAAK,aAAa;AAE1C,QAAI,KAAK,0BAA0B;AAC/B,cAAQ,YAAY,4BAA4B,WAAS;AACrD,eAAO,qBAAqB,KAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAfU;AAAA,EACV,2BAA2B;AAAA,EAgB3B,QAAQ;AACJ,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,QAAQ,QAAQ,IAAI,KAAK,YAAY;AAC1C,SAAK,QAAQ,QAAQ,IAAI,KAAK,aAAa;AAC3C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,IAAc,mBAAmB;AAC7B,WAAO,KAAK,IAAI,KAAK,IAAI,mBAAmB,IAAI;AAAA,EACpD;AAAA,EAEA,IAAc,qBAAqB;AAC/B,WAAO,KAAK,IAAI,KAAK,IAAI,oBAAoB,IAAI;AAAA,EACrD;AAAA,EAEA,IAAc,2BAA2B;AACrC,WAAO,KAAK,IAAI,KAAK,IAAI,2BAA2B,IAAI;AAAA,EAC5D;AAAA,EAEU,gBAAgB,MAAM;AAC5B,SAAK,IAAI,KAAK,IAAI,MAAM;AACpB,UAAI,KAAK,kBAAkB;AACvB,YAAI,KAAK,0BAA0B;AAC/B;AAAA,QACJ;AAEA,aAAK,yBAAyB;AAE9B,gBAAQ,GAAG,WAAW,KAAK,iBAAiB;AAC5C,gBAAQ,GAAG,QAAQ,KAAK,WAAW;AAEnC,aAAK,2BAA2B;AAAA,MACpC,OAAO;AACH,aAAK,eAAe;AAAA,MACxB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEU,eAAe,MAAM;AAC3B,SAAK,eAAe;AAEpB,QAAI,KAAK,sBAAsB,QAAQ,aAAa,QAAW;AAC3D,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,gBAAgB,MAAM;AAC5B,QAAI,KAAK,oBAAoB;AACzB,cAAQ,WAAW;AAAA,IACvB;AAAA,EACJ;AAAA,EAEU,mBAAmB,MAAM;AAC/B,SAAK,2BAA2B;AAChC,SAAK,yBAAyB;AAC9B,SAAK,QAAQ,UAAU;AAAA,EAC3B;AAAA,EAEU,cAAc,MAAM;AAC1B,QAAI,QAAQ,aAAa,IAAI;AACzB,aAAO,MAAM,yEAAyE;AAAA,IAC1F;AAAA,EACJ;AAAA,EAEU,oBAAoB,MAAM;AAChC,SAAK,IAAI,SAAS;AAAA,EACtB;AAAA,EAEU,2BAA2B,MAAM;AACvC,YAAQ,GAAG,UAAU,KAAK,gBAAgB;AAC1C,YAAQ,GAAG,WAAW,KAAK,gBAAgB;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { HttpEndpoint, HttpEndpointFactory } from "#general";
|
|
7
|
+
import { IncomingMessage, Server, ServerResponse } from "node:http";
|
|
8
|
+
/**
|
|
9
|
+
* An implementation of {@link HttpEndpoint} that uses Node.js's standard {@link Server}.
|
|
10
|
+
*
|
|
11
|
+
* WebSocket support is optional. You can install by importing `@matter/nodejs-ws`.
|
|
12
|
+
*
|
|
13
|
+
* This implementation is a little ugly because the native Node.js HTTP server API is pre-async and has some design
|
|
14
|
+
* flaws. Other runtimes tend build on WinterTC standards and adapters will be much simpler.
|
|
15
|
+
*/
|
|
16
|
+
export declare class NodeJsHttpEndpoint implements HttpEndpoint {
|
|
17
|
+
#private;
|
|
18
|
+
static create(options: NodeJsHttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
|
|
19
|
+
/**
|
|
20
|
+
* Create a new endpoint.
|
|
21
|
+
*
|
|
22
|
+
* You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
|
|
23
|
+
* to this endpoint.
|
|
24
|
+
*/
|
|
25
|
+
constructor(optionsOrServer: Server | NodeJsHttpEndpoint.Options);
|
|
26
|
+
get server(): Server<typeof IncomingMessage, typeof ServerResponse>;
|
|
27
|
+
get ready(): Promise<void>;
|
|
28
|
+
set http(handler: HttpEndpoint.HttpHandler | undefined);
|
|
29
|
+
set ws(handler: HttpEndpoint.WsHandler | undefined);
|
|
30
|
+
close: () => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare namespace NodeJsHttpEndpoint {
|
|
33
|
+
interface Options extends HttpEndpoint.Options {
|
|
34
|
+
basePathForUnixSockets?: string;
|
|
35
|
+
}
|
|
36
|
+
class Factory extends HttpEndpointFactory {
|
|
37
|
+
#private;
|
|
38
|
+
constructor(basePathForUnixSockets?: string);
|
|
39
|
+
create(options: HttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=NodeJsHttpEndpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeJsHttpEndpoint.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsHttpEndpoint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,YAAY,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AAExG,OAAO,EAAgB,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWlF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;WAYtC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMrF;;;;;OAKG;gBACS,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAAC,OAAO;IAehE,IAAI,MAAM,0DAET;IAsGD,IAAI,KAAK,kBAER;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,SAAS,EAsBrD;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,EA6BjD;IAED,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CA8D9B;AA8CD,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,YAAY,CAAC,OAAO;QACjD,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,MAAa,OAAQ,SAAQ,mBAAmB;;oBAGhC,sBAAsB,CAAC,EAAE,MAAM;QAKrC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO;KAM7C;CACJ"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AppAddress, asError, HttpEndpointFactory, Logger, NetworkError } from "#general";
|
|
7
|
+
import { existsSync, ReadStream, rmSync, statSync } from "node:fs";
|
|
8
|
+
import { createServer, IncomingMessage } from "node:http";
|
|
9
|
+
import { normalize, resolve } from "node:path";
|
|
10
|
+
import { WsAdapter } from "./WsAdapter.js";
|
|
11
|
+
const logger = new Logger("NodeJsHttpEndpoint");
|
|
12
|
+
class NodeJsHttpEndpoint {
|
|
13
|
+
#server;
|
|
14
|
+
#ready;
|
|
15
|
+
#http;
|
|
16
|
+
#httpListener;
|
|
17
|
+
#ws;
|
|
18
|
+
#wsListener;
|
|
19
|
+
#notFound;
|
|
20
|
+
#wsAdapter;
|
|
21
|
+
#wsAdapterFactory;
|
|
22
|
+
static async create(options) {
|
|
23
|
+
const endpoint = new NodeJsHttpEndpoint(options);
|
|
24
|
+
await endpoint.ready;
|
|
25
|
+
return endpoint;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a new endpoint.
|
|
29
|
+
*
|
|
30
|
+
* You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
|
|
31
|
+
* to this endpoint.
|
|
32
|
+
*/
|
|
33
|
+
constructor(optionsOrServer) {
|
|
34
|
+
let close, ready, server, notFound;
|
|
35
|
+
if ("on" in optionsOrServer) {
|
|
36
|
+
({ close, ready, server, notFound } = this.#bindToServer(optionsOrServer));
|
|
37
|
+
} else {
|
|
38
|
+
({ close, ready, server, notFound } = this.#createDedicatedServer(optionsOrServer));
|
|
39
|
+
}
|
|
40
|
+
this.#server = server;
|
|
41
|
+
this.#ready = ready;
|
|
42
|
+
this.close = close;
|
|
43
|
+
this.#notFound = notFound;
|
|
44
|
+
}
|
|
45
|
+
get server() {
|
|
46
|
+
return this.#server;
|
|
47
|
+
}
|
|
48
|
+
#bindToServer(server) {
|
|
49
|
+
return {
|
|
50
|
+
server,
|
|
51
|
+
ready: Promise.resolve(),
|
|
52
|
+
close: async () => {
|
|
53
|
+
this.http = void 0;
|
|
54
|
+
this.ws = void 0;
|
|
55
|
+
},
|
|
56
|
+
notFound: () => void 0
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
#createDedicatedServer(options) {
|
|
60
|
+
const server = createServer({ keepAlive: true });
|
|
61
|
+
const opts = {};
|
|
62
|
+
const address = AppAddress.for(options.address);
|
|
63
|
+
const { transport } = address;
|
|
64
|
+
switch (transport.kind) {
|
|
65
|
+
case "ip":
|
|
66
|
+
if (!address.isWildcardHost) {
|
|
67
|
+
opts.host = address.host;
|
|
68
|
+
}
|
|
69
|
+
if (!address.isWildcardPort) {
|
|
70
|
+
opts.port = address.portNum;
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case "unix":
|
|
74
|
+
const path = decodeURIComponent(address.hostname);
|
|
75
|
+
if (options.basePathForUnixSockets) {
|
|
76
|
+
opts.path = resolve(options.basePathForUnixSockets, normalize(path));
|
|
77
|
+
} else {
|
|
78
|
+
opts.path = normalize(path);
|
|
79
|
+
}
|
|
80
|
+
if (existsSync(opts.path)) {
|
|
81
|
+
if (statSync(opts.path).isSocket()) {
|
|
82
|
+
try {
|
|
83
|
+
rmSync(opts.path);
|
|
84
|
+
} catch (e) {
|
|
85
|
+
throw new NetworkError(
|
|
86
|
+
`Error deleting previous socket at ${opts.path}: ${asError(e).message}`
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
throw new NetworkError(`UNIX socket path ${opts.path} exists and is not a socket`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
throw new NetworkError(
|
|
96
|
+
`Unsupported address type "${options.address?.type}" for HTTP endpoint`
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
server.listen(opts);
|
|
100
|
+
return {
|
|
101
|
+
server,
|
|
102
|
+
ready: new Promise((resolve2, reject) => {
|
|
103
|
+
let settled = false;
|
|
104
|
+
server.once("listening", () => {
|
|
105
|
+
if (settled) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
settled = true;
|
|
109
|
+
resolve2();
|
|
110
|
+
});
|
|
111
|
+
server.on("error", (error) => {
|
|
112
|
+
if (settled) {
|
|
113
|
+
logger.warn("HTTP server error:", error.message);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
settled = true;
|
|
117
|
+
reject(error);
|
|
118
|
+
});
|
|
119
|
+
}),
|
|
120
|
+
close: async () => {
|
|
121
|
+
return new Promise((resolve2, reject) => {
|
|
122
|
+
server.close((err) => {
|
|
123
|
+
if (err) {
|
|
124
|
+
reject(err);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
resolve2();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
notFound: (res) => respondError(res, 404)
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
get ready() {
|
|
135
|
+
return this.#ready;
|
|
136
|
+
}
|
|
137
|
+
set http(handler) {
|
|
138
|
+
this.#http = handler;
|
|
139
|
+
if (!this.#http) {
|
|
140
|
+
if (this.#httpListener) {
|
|
141
|
+
this.#server.off("request", this.#httpListener);
|
|
142
|
+
}
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (this.#httpListener) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
this.#httpListener = (req, res) => {
|
|
149
|
+
this.#handleHttp(req, res).catch((error) => {
|
|
150
|
+
logger.error("Unhandled error in HTTP endpoint handler", error);
|
|
151
|
+
respondError(res, 500);
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
this.#server.on("request", this.#httpListener);
|
|
155
|
+
}
|
|
156
|
+
set ws(handler) {
|
|
157
|
+
this.#ws = handler;
|
|
158
|
+
if (!this.#ws) {
|
|
159
|
+
if (this.#wsListener) {
|
|
160
|
+
this.#server.off("upgrade", this.#wsListener);
|
|
161
|
+
}
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
let adapter = this.#wsAdapter;
|
|
165
|
+
if (!adapter) {
|
|
166
|
+
const factory = this.#wsAdapterFactory ?? WsAdapter.defaultFactory;
|
|
167
|
+
if (!factory) {
|
|
168
|
+
logger.warn(
|
|
169
|
+
"WebSocket support disabled because no adapter is installed; please import @matter/nodejs-ws or equivalent"
|
|
170
|
+
);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
adapter = this.#wsAdapter = factory();
|
|
174
|
+
}
|
|
175
|
+
this.#wsListener = (req, socket, head) => {
|
|
176
|
+
this.#handleUpgrade(adapter, req, socket, head).catch((error) => {
|
|
177
|
+
logger.error("Unhandled error WebSocket endpoint", error);
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
this.#server.on("upgrade", this.#wsListener);
|
|
181
|
+
}
|
|
182
|
+
close;
|
|
183
|
+
async #handleHttp(req, res) {
|
|
184
|
+
if (!this.#http) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const request = new NodeJsHttpRequest(req);
|
|
188
|
+
const response = await this.#http(request);
|
|
189
|
+
if (!response) {
|
|
190
|
+
this.#notFound(res);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
res.statusCode = response.status;
|
|
194
|
+
res.statusMessage = response.statusText;
|
|
195
|
+
response.headers.forEach(([name, value]) => res.appendHeader(name, value));
|
|
196
|
+
if (response.body === null) {
|
|
197
|
+
res.end();
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const nodeBodyStream = ReadStream.fromWeb(response.body);
|
|
201
|
+
nodeBodyStream.on("error", (error) => {
|
|
202
|
+
logger.error("Error transmitting HTTP body", error);
|
|
203
|
+
respondError(res, 500);
|
|
204
|
+
});
|
|
205
|
+
nodeBodyStream.pipe(res);
|
|
206
|
+
}
|
|
207
|
+
async #handleUpgrade(adapter, req, socket, head) {
|
|
208
|
+
if (req.headers.upgrade !== "websocket") {
|
|
209
|
+
socket.destroy();
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (!this.#ws) {
|
|
213
|
+
socket.destroy();
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const request = new NodeJsHttpRequest(req);
|
|
217
|
+
try {
|
|
218
|
+
await this.#ws(request, async () => {
|
|
219
|
+
return adapter.handle(req, socket, head);
|
|
220
|
+
});
|
|
221
|
+
} finally {
|
|
222
|
+
if (!socket.destroyed) {
|
|
223
|
+
socket.destroy();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
class NodeJsHttpRequest extends Request {
|
|
229
|
+
constructor(message) {
|
|
230
|
+
const { method, rawHeaders } = message;
|
|
231
|
+
const url = `http://${message.headers.host ?? "unknown"}${message.url ?? "/"}`;
|
|
232
|
+
const headers = new Headers();
|
|
233
|
+
for (let i = 0; i < message.rawHeaders.length; i += 2) {
|
|
234
|
+
headers.append(rawHeaders[i], rawHeaders[i + 1]);
|
|
235
|
+
}
|
|
236
|
+
const init = {
|
|
237
|
+
method,
|
|
238
|
+
headers,
|
|
239
|
+
duplex: "half"
|
|
240
|
+
// Not in RequestInit type but required by node
|
|
241
|
+
};
|
|
242
|
+
if (method !== "GET" && method !== "HEAD") {
|
|
243
|
+
init.body = IncomingMessage.toWeb(message);
|
|
244
|
+
}
|
|
245
|
+
super(url, init);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function respondError(res, code) {
|
|
249
|
+
if (res.closed) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
try {
|
|
253
|
+
if (!res.headersSent) {
|
|
254
|
+
res.statusCode = code;
|
|
255
|
+
res.setHeader("Content-Type", "text/plain");
|
|
256
|
+
res.end(`HTTP error ${code}
|
|
257
|
+
`);
|
|
258
|
+
} else {
|
|
259
|
+
res.end();
|
|
260
|
+
}
|
|
261
|
+
} catch (e) {
|
|
262
|
+
logger.warn(`Error conveying ${code} error:`, asError(e).message);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
((NodeJsHttpEndpoint2) => {
|
|
266
|
+
class Factory extends HttpEndpointFactory {
|
|
267
|
+
#basePathForUnixSockets;
|
|
268
|
+
constructor(basePathForUnixSockets) {
|
|
269
|
+
super();
|
|
270
|
+
this.#basePathForUnixSockets = basePathForUnixSockets;
|
|
271
|
+
}
|
|
272
|
+
async create(options) {
|
|
273
|
+
return NodeJsHttpEndpoint2.create({
|
|
274
|
+
basePathForUnixSockets: this.#basePathForUnixSockets,
|
|
275
|
+
...options
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
NodeJsHttpEndpoint2.Factory = Factory;
|
|
280
|
+
})(NodeJsHttpEndpoint || (NodeJsHttpEndpoint = {}));
|
|
281
|
+
export {
|
|
282
|
+
NodeJsHttpEndpoint
|
|
283
|
+
};
|
|
284
|
+
//# sourceMappingURL=NodeJsHttpEndpoint.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/net/NodeJsHttpEndpoint.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["resolve", "NodeJsHttpEndpoint"]
|
|
6
|
+
}
|
|
@@ -7,7 +7,7 @@ import { Bytes, ChannelType, UdpChannel, UdpChannelOptions, UdpSocketType } from
|
|
|
7
7
|
import * as dgram from "node:dgram";
|
|
8
8
|
export declare class NodeJsUdpChannel implements UdpChannel {
|
|
9
9
|
#private;
|
|
10
|
-
static create({ listeningPort, type, listeningAddress, netInterface }: UdpChannelOptions): Promise<NodeJsUdpChannel>;
|
|
10
|
+
static create({ listeningPort, type, listeningAddress, netInterface, reuseAddress }: UdpChannelOptions): Promise<NodeJsUdpChannel>;
|
|
11
11
|
readonly maxPayloadSize: number;
|
|
12
12
|
constructor(type: UdpSocketType, socket: dgram.Socket, netInterface?: string);
|
|
13
13
|
addMembership(membershipAddress: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsUdpChannel.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeJsUdpChannel.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGH,KAAK,EACL,WAAW,EAcX,UAAU,EACV,iBAAiB,EACjB,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAqDpC,qBAAa,gBAAiB,YAAW,UAAU;;WAKlC,MAAM,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,iBAAiB;IAuD5G,QAAQ,CAAC,cAAc,SAAwB;gBAWnC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAM5E,aAAa,CAAC,iBAAiB,EAAE,MAAM;IAkBvC,cAAc,CAAC,iBAAiB,EAAE,MAAM;IAkBxC,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI;;;IAoCzG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;IAsC5C,KAAK;IAUX,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;CAiB/C"}
|