@junctionpanel/relay 0.1.75 → 0.1.77
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/crypto.d.ts.map +1 -1
- package/dist/crypto.js +12 -12
- package/dist/crypto.js.map +1 -1
- package/dist/encrypted-channel.d.ts.map +1 -1
- package/dist/encrypted-channel.js +79 -66
- package/dist/encrypted-channel.js.map +1 -1
- package/package.json +1 -1
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAKH,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAKH,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AA6EnC,wBAAgB,eAAe,IAAI,OAAO,CAIzC;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAK7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAM1D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAK7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAM1D;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,UAAU,GACxB,SAAS,CAQX;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CASrF;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAwBrF"}
|
package/dist/crypto.js
CHANGED
|
@@ -57,10 +57,11 @@ function toUint8(data) {
|
|
|
57
57
|
}
|
|
58
58
|
return new Uint8Array(Buffer.from(data, "utf8"));
|
|
59
59
|
}
|
|
60
|
-
function
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
function toOwnedArrayBuffer(bytes) {
|
|
61
|
+
if (bytes.byteOffset === 0 && bytes.byteLength === bytes.buffer.byteLength) {
|
|
62
|
+
return bytes.buffer;
|
|
63
|
+
}
|
|
64
|
+
return bytes.slice().buffer;
|
|
64
65
|
}
|
|
65
66
|
function isBinaryMuxPayload(bytes) {
|
|
66
67
|
if (bytes.byteLength < BINARY_MUX_HEADER_SIZE) {
|
|
@@ -127,31 +128,30 @@ export function encrypt(sharedKey, data) {
|
|
|
127
128
|
const out = new Uint8Array(nonce.byteLength + ciphertext.byteLength);
|
|
128
129
|
out.set(nonce, 0);
|
|
129
130
|
out.set(ciphertext, nonce.byteLength);
|
|
130
|
-
return
|
|
131
|
+
return out.buffer;
|
|
131
132
|
}
|
|
132
133
|
export function decrypt(sharedKey, data) {
|
|
133
134
|
const bytes = new Uint8Array(data);
|
|
134
135
|
if (bytes.byteLength < NONCE_LENGTH) {
|
|
135
136
|
throw new Error("Ciphertext bundle too short");
|
|
136
137
|
}
|
|
137
|
-
const nonce = bytes.
|
|
138
|
-
const ciphertext = bytes.
|
|
138
|
+
const nonce = bytes.subarray(0, NONCE_LENGTH);
|
|
139
|
+
const ciphertext = bytes.subarray(NONCE_LENGTH);
|
|
139
140
|
const opened = nacl.box.open.after(ciphertext, nonce, sharedKey);
|
|
140
141
|
if (!opened) {
|
|
141
142
|
throw new Error("Decryption failed");
|
|
142
143
|
}
|
|
143
|
-
const plaintext = toArrayBuffer(opened);
|
|
144
144
|
if (isBinaryMuxPayload(opened)) {
|
|
145
|
-
return
|
|
145
|
+
return toOwnedArrayBuffer(opened);
|
|
146
146
|
}
|
|
147
147
|
try {
|
|
148
148
|
if (textDecoder) {
|
|
149
|
-
return textDecoder.decode(
|
|
149
|
+
return textDecoder.decode(opened);
|
|
150
150
|
}
|
|
151
|
-
return Buffer.from(
|
|
151
|
+
return Buffer.from(opened).toString("utf8");
|
|
152
152
|
}
|
|
153
153
|
catch {
|
|
154
|
-
return
|
|
154
|
+
return toOwnedArrayBuffer(opened);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
//# sourceMappingURL=crypto.js.map
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASvD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;AAChD,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,MAAM;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,MAAM;AACvC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,WAAW,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,MAAM,WAAW,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAE1G,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,SAAS,UAAU;IACjB,IAAI,SAAS;QAAE,OAAO;IAEtB,IAAI,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpB,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO;IACT,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;IAED,MAAM,SAAS,GAAI,UAA6C,CAAC,MAAM,CAAC;IACxE,IAAI,SAAS,EAAE,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,OAAO,CAAC,IAA0B;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted-channel.d.ts","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAOL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypted-channel.d.ts","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAOL,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,KAAK,uBAAuB,GAAG;IAC7B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAuFF;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAgG3B;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,MAAM,GAAE,sBAA2B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CA+D3B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;gBAG/C,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,sBAA2B,EACnC,OAAO,GAAE,uBAA4B;IAkBvC,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;YAIrB,aAAa;IA8FrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBvC,iBAAiB;IAS/B,KAAK,CAAC,IAAI,SAAO,EAAE,MAAM,SAAmB,GAAG,IAAI;IAKnD,MAAM,IAAI,OAAO;IAIjB,aAAa,IAAI,OAAO;IAIxB,kBAAkB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIxC,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;CAG9B"}
|
|
@@ -29,6 +29,48 @@ function decodeUtf8(data) {
|
|
|
29
29
|
}
|
|
30
30
|
return Buffer.from(data).toString("utf8");
|
|
31
31
|
}
|
|
32
|
+
function isJsonWhitespaceCharCode(code) {
|
|
33
|
+
return code === 0x09 || code === 0x0a || code === 0x0d || code === 0x20;
|
|
34
|
+
}
|
|
35
|
+
function isLikelyJsonObjectFrame(data) {
|
|
36
|
+
if (typeof data === "string") {
|
|
37
|
+
let start = 0;
|
|
38
|
+
let end = data.length - 1;
|
|
39
|
+
while (start <= end && /\s/.test(data[start] ?? "")) {
|
|
40
|
+
start += 1;
|
|
41
|
+
}
|
|
42
|
+
while (end >= start && /\s/.test(data[end] ?? "")) {
|
|
43
|
+
end -= 1;
|
|
44
|
+
}
|
|
45
|
+
return start <= end && data[start] === "{" && data[end] === "}";
|
|
46
|
+
}
|
|
47
|
+
const bytes = new Uint8Array(data);
|
|
48
|
+
let start = 0;
|
|
49
|
+
let end = bytes.length - 1;
|
|
50
|
+
while (start <= end && isJsonWhitespaceCharCode(bytes[start] ?? -1)) {
|
|
51
|
+
start += 1;
|
|
52
|
+
}
|
|
53
|
+
while (end >= start && isJsonWhitespaceCharCode(bytes[end] ?? -1)) {
|
|
54
|
+
end -= 1;
|
|
55
|
+
}
|
|
56
|
+
return start <= end && bytes[start] === 0x7b && bytes[end] === 0x7d;
|
|
57
|
+
}
|
|
58
|
+
function parseJsonObjectFrame(data) {
|
|
59
|
+
if (!isLikelyJsonObjectFrame(data)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const text = typeof data === "string" ? data : decodeUtf8(data);
|
|
64
|
+
const parsed = JSON.parse(text);
|
|
65
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return parsed;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
32
74
|
/**
|
|
33
75
|
* Creates an encrypted channel as the initiator (client).
|
|
34
76
|
*
|
|
@@ -141,14 +183,8 @@ export async function createDaemonChannel(transport, daemonKeyPair, events = {})
|
|
|
141
183
|
return new Promise((resolve, reject) => {
|
|
142
184
|
const bufferedMessages = [];
|
|
143
185
|
const shouldIgnorePostHelloPlaintext = (data) => {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const parsed = JSON.parse(text);
|
|
147
|
-
return parsed.type === "e2ee_hello" || parsed.type === "e2ee_ready";
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
186
|
+
const parsed = parseJsonObjectFrame(data);
|
|
187
|
+
return parsed?.type === "e2ee_hello" || parsed?.type === "e2ee_ready";
|
|
152
188
|
};
|
|
153
189
|
transport.onmessage = async (data) => {
|
|
154
190
|
try {
|
|
@@ -225,19 +261,13 @@ export class EncryptedChannel {
|
|
|
225
261
|
}
|
|
226
262
|
async handleMessage(data) {
|
|
227
263
|
if (this.state === "handshaking") {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
cb();
|
|
236
|
-
await this.flushPendingSends();
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
catch {
|
|
240
|
-
// ignore non-ready handshake traffic
|
|
264
|
+
const msg = parseJsonObjectFrame(data);
|
|
265
|
+
if (msg?.type === "e2ee_ready") {
|
|
266
|
+
this.state = "open";
|
|
267
|
+
this.events.onopen?.();
|
|
268
|
+
for (const cb of this.onOpenCallbacks)
|
|
269
|
+
cb();
|
|
270
|
+
await this.flushPendingSends();
|
|
241
271
|
}
|
|
242
272
|
return;
|
|
243
273
|
}
|
|
@@ -245,56 +275,39 @@ export class EncryptedChannel {
|
|
|
245
275
|
return;
|
|
246
276
|
try {
|
|
247
277
|
const ciphertext = await (async () => {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
// the channel and cause decrypt failures.
|
|
261
|
-
if (keysEqual(nextSharedKey, this.sharedKey)) {
|
|
262
|
-
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
263
|
-
return null;
|
|
264
|
-
}
|
|
265
|
-
// Different key implies a new client connection (common with relays
|
|
266
|
-
// where the daemon's socket stays open while the client reconnects).
|
|
267
|
-
// Re-key and re-send "ready". Drop any queued sends to avoid leaking
|
|
268
|
-
// messages between logical client sessions.
|
|
269
|
-
this.state = "handshaking";
|
|
270
|
-
this.sharedKey = nextSharedKey;
|
|
271
|
-
this.pendingSends = [];
|
|
272
|
-
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
273
|
-
this.state = "open";
|
|
274
|
-
await this.flushPendingSends();
|
|
275
|
-
return null;
|
|
276
|
-
}
|
|
277
|
-
catch (error) {
|
|
278
|
-
throw error;
|
|
279
|
-
}
|
|
278
|
+
const parsed = parseJsonObjectFrame(data);
|
|
279
|
+
if (parsed) {
|
|
280
|
+
if (parsed.type === "e2ee_hello" && typeof parsed.key === "string") {
|
|
281
|
+
if (this.options.daemonKeyPair) {
|
|
282
|
+
const clientPublicKey = importPublicKey(parsed.key);
|
|
283
|
+
const nextSharedKey = deriveSharedKey(this.options.daemonKeyPair.secretKey, clientPublicKey);
|
|
284
|
+
// If it's the same client key (handshake retry), re-send
|
|
285
|
+
// "ready" but do not re-key. Re-keying here would desync
|
|
286
|
+
// the channel and cause decrypt failures.
|
|
287
|
+
if (keysEqual(nextSharedKey, this.sharedKey)) {
|
|
288
|
+
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
289
|
+
return null;
|
|
280
290
|
}
|
|
291
|
+
// Different key implies a new client connection (common with relays
|
|
292
|
+
// where the daemon's socket stays open while the client reconnects).
|
|
293
|
+
// Re-key and re-send "ready". Drop any queued sends to avoid leaking
|
|
294
|
+
// messages between logical client sessions.
|
|
295
|
+
this.state = "handshaking";
|
|
296
|
+
this.sharedKey = nextSharedKey;
|
|
297
|
+
this.pendingSends = [];
|
|
298
|
+
this.transport.send(JSON.stringify({ type: "e2ee_ready" }));
|
|
299
|
+
this.state = "open";
|
|
300
|
+
await this.flushPendingSends();
|
|
281
301
|
return null;
|
|
282
302
|
}
|
|
283
|
-
|
|
284
|
-
return null;
|
|
285
|
-
}
|
|
286
|
-
// Any other JSON-looking payload is plaintext app traffic, which
|
|
287
|
-
// means the peer is not encrypting (or we are out of sync).
|
|
288
|
-
throw new Error("Received plaintext frame on encrypted channel");
|
|
303
|
+
return null;
|
|
289
304
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
// If we detected plaintext protocol mismatch, fail hard.
|
|
293
|
-
if (error instanceof Error && error.message.includes("plaintext frame")) {
|
|
294
|
-
throw error;
|
|
305
|
+
if (parsed.type === "e2ee_ready") {
|
|
306
|
+
return null;
|
|
295
307
|
}
|
|
296
|
-
//
|
|
297
|
-
//
|
|
308
|
+
// Any other JSON-looking payload is plaintext app traffic, which
|
|
309
|
+
// means the peer is not encrypting (or we are out of sync).
|
|
310
|
+
throw new Error("Received plaintext frame on encrypted channel");
|
|
298
311
|
}
|
|
299
312
|
if (typeof data === "string") {
|
|
300
313
|
return base64ToArrayBuffer(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted-channel.js","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encrypted-channel.js","sourceRoot":"","sources":["../src/encrypted-channel.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,OAAO,EACP,OAAO,GAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAwCvE,SAAS,sBAAsB,CAAC,OAAe,EAAE,MAAgB;IAC/D,MAAM,YAAY,GAChB,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAClC,CAAC,CAAE,MAAkC;QACrC,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,CAAC;IACnC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC;IAC/F,MAAM,MAAM,GACV,OAAO,YAAY,EAAE,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,OAAO,IAAI,KAAK,CACd,uCAAuC,YAAY,YAAY,MAAM,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAC7G,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,WAAW,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAElF,SAAS,UAAU,CAAC,IAAiB;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AAC1E,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA0B;IACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;QACD,OAAO,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,OAAO,KAAK,IAAI,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,IAAI,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAmB,IAA0B;IACxE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,kBAA0B,EAC1B,SAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnE,sCAAsC;IACtC,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,KAAK,GAAyC,IAAI,CAAC;IACvD,IAAI,YAAY,GAAG,kBAAkB,CAAC;IACtC,IAAI,iBAAiB,GAAyC,IAAI,CAAC;IACnE,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,yEAAyE;YACzE,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,iBAAiB,EAAE,CAAC;YACtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAChC,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,UAAU,EAAE,CAAC;QACb,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAClE,aAAa,EAAE,CAAC;QAClB,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,6EAA6E;QAC5E,KAA2C,CAAC,KAAK,EAAE,EAAE,CAAC;IACzD,CAAC,CAAC;IAEF,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE;QAC9B,oBAAoB,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QACnB,oBAAoB,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,EAAE;QACzD,oBAAoB,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC5B,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACpD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAClD,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACxB,iBAAuD,CAAC,KAAK,EAAE,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,aAAsB,EACtB,SAAiC,EAAE;IAEnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,gBAAgB,GAAgC,EAAE,CAAC;QACzD,MAAM,8BAA8B,GAAG,CAAC,IAA0B,EAAW,EAAE;YAC7E,MAAM,MAAM,GAAG,oBAAoB,CAA+C,IAAI,CAAC,CAAC;YACxF,OAAO,MAAM,EAAE,IAAI,KAAK,YAAY,IAAI,MAAM,EAAE,IAAI,KAAK,YAAY,CAAC;QACxE,CAAC,CAAC;QAEF,SAAS,CAAC,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAErD,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBAED,MAAM,GAAG,GAAG,MAAmC,CAAC;gBAChD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChF,MAAM,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAClD,CAAC;gBAED,qEAAqE;gBACrE,uEAAuE;gBACvE,qEAAqE;gBACrE,+CAA+C;gBAC/C,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;oBAC7B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC,CAAC;gBAEF,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBAE5E,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtF,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAA6B,CAAC,CAClE,CAAC;gBAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAElB,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;oBACxC,IAAI,8BAA8B,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBACvD,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;QAEF,SAAS,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAU3B,YACE,SAAoB,EACpB,SAAoB,EACpB,SAAiC,EAAE,EACnC,UAAmC,EAAE;QAX/B,UAAK,GAAiB,aAAa,CAAC;QAGpC,iBAAY,GAAgC,EAAE,CAAC;QAC/C,oBAAe,GAAsB,EAAE,CAAC;QACxC,qBAAgB,GAAsB,EAAE,CAAC;QAQ/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,SAAS,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB;gBAAE,EAAE,EAAE,CAAC;QAC/C,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAA0B;QACpD,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,oBAAoB,CAA4B,IAAI,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe;oBAAE,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAElC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;gBACnC,MAAM,MAAM,GAAG,oBAAoB,CAA+C,IAAI,CAAC,CAAC;gBACxF,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACnE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;4BAC/B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACpD,MAAM,aAAa,GAAG,eAAe,CACnC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EACpC,eAAe,CAChB,CAAC;4BAEF,yDAAyD;4BACzD,yDAAyD;4BACzD,0CAA0C;4BAC1C,IAAI,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAA6B,CAAC,CAClE,CAAC;gCACF,OAAO,IAAI,CAAC;4BACd,CAAC;4BAED,oEAAoE;4BACpE,qEAAqE;4BACrE,qEAAqE;4BACrE,4CAA4C;4BAC5C,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;4BAC3B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;4BAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAA6B,CAAC,CAClE,CAAC;4BACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;4BACpB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC/B,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,iEAAiE;oBACjE,4DAA4D;oBAC5D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;gBAED,qEAAqE;gBACrE,2DAA2D;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjC,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,0EAA0E;YAC1E,yEAAyE;YACzE,iEAAiE;YACjE,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAA0B;QACnC,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,kDAAkD;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,gBAAgB;QAC1C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,EAAc;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,EAAc;QACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;CACF;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,CAAa;IAC7C,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|