@wireapp/core 17.17.4 → 17.19.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 CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [17.19.1](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/compare/@wireapp/core@17.19.0...@wireapp/core@17.19.1) (2021-10-18)
7
+
8
+ **Note:** Version bump only for package @wireapp/core
9
+
10
+
11
+
12
+
13
+
14
+ # [17.19.0](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/compare/@wireapp/core@17.18.1...@wireapp/core@17.19.0) (2021-10-18)
15
+
16
+
17
+ ### Features
18
+
19
+ * **core:** Add callback hooks to edit and confirmation messages ([#4156](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/issues/4156)) ([8585faa](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/commit/8585faa16835438633c620443c9b4fbc353eb827))
20
+
21
+
22
+
23
+
24
+
25
+ ## [17.18.1](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/compare/@wireapp/core@17.18.0...@wireapp/core@17.18.1) (2021-10-14)
26
+
27
+ **Note:** Version bump only for package @wireapp/core
28
+
29
+
30
+
31
+
32
+
33
+ # [17.18.0](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/compare/@wireapp/core@17.17.4...@wireapp/core@17.18.0) (2021-10-13)
34
+
35
+
36
+ ### Features
37
+
38
+ * **core:** Add domain to encrypted session ids ([#4154](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/issues/4154)) ([ca00b8a](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/commit/ca00b8a11552be9f7b5a14fb62df7de8818e03e3))
39
+
40
+
41
+
42
+
43
+
6
44
  ## [17.17.4](https://github.com/wireapp/wire-web-packages/tree/main/packages/core/compare/@wireapp/core@17.17.3...@wireapp/core@17.17.4) (2021-10-12)
7
45
 
8
46
  **Note:** Version bump only for package @wireapp/core
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "dependencies": {
6
6
  "@types/long": "4.0.1",
7
7
  "@types/node": "~14",
8
- "@wireapp/api-client": "15.0.0",
8
+ "@wireapp/api-client": "15.1.1",
9
9
  "@wireapp/cryptobox": "12.7.1",
10
10
  "bazinga64": "5.9.7",
11
11
  "hash.js": "1.1.7",
@@ -69,6 +69,6 @@
69
69
  "test:project": "yarn dist && yarn test",
70
70
  "test:node": "nyc jasmine --config=jasmine.json"
71
71
  },
72
- "version": "17.17.4",
73
- "gitHead": "7c7b8b9a00379df61f6faa6d1057231a61dd0fde"
72
+ "version": "17.19.1",
73
+ "gitHead": "e120c02e25e8029934abf4ed5b6b1151f0cb5741"
74
74
  }
@@ -59,16 +59,16 @@ class ClientDatabaseRepository {
59
59
  }
60
60
  async updateClient(userId, client, domain) {
61
61
  const transformedClient = this.transformClient(userId, client, false, domain);
62
- await this.storeEngine.update(ClientDatabaseRepository.STORES.CLIENTS, cryptography_1.CryptographyService.constructSessionId(userId, client.id), transformedClient);
62
+ await this.storeEngine.update(ClientDatabaseRepository.STORES.CLIENTS, cryptography_1.CryptographyService.constructSessionId(userId, client.id, domain), transformedClient);
63
63
  return transformedClient;
64
64
  }
65
65
  async createClient(userId, client, domain) {
66
66
  const transformedClient = this.transformClient(userId, client, false, domain);
67
- await this.storeEngine.create(ClientDatabaseRepository.STORES.CLIENTS, cryptography_1.CryptographyService.constructSessionId(userId, client.id), transformedClient);
67
+ await this.storeEngine.create(ClientDatabaseRepository.STORES.CLIENTS, cryptography_1.CryptographyService.constructSessionId(userId, client.id, domain), transformedClient);
68
68
  return transformedClient;
69
69
  }
70
70
  transformClient(userId, client, verified, domain) {
71
- return Object.assign(Object.assign({}, client), { domain, meta: { is_verified: verified, primary_key: cryptography_1.CryptographyService.constructSessionId(userId, client.id) } });
71
+ return Object.assign(Object.assign({}, client), { domain, meta: { is_verified: verified, primary_key: cryptography_1.CryptographyService.constructSessionId(userId, client.id, domain) } });
72
72
  }
73
73
  transformLocalClient(client, domain) {
74
74
  return Object.assign(Object.assign({}, client), { domain, meta: { is_verified: true, primary_key: ClientDatabaseRepository.KEYS.LOCAL_IDENTITY } });
@@ -1 +1 @@
1
- {"version":3,"file":"ClientDatabaseRepository.js","sourceRoot":"","sources":["ClientDatabaseRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientDatabaseRepository.js","sourceRoot":"","sources":["ClientDatabaseRepository.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ export class ClientDatabaseRepository {
91
91
  const transformedClient = this.transformClient(userId, client, false, domain);
92
92
  await this.storeEngine.update(
93
93
  ClientDatabaseRepository.STORES.CLIENTS,
94
- CryptographyService.constructSessionId(userId, client.id),
94
+ CryptographyService.constructSessionId(userId, client.id, domain),
95
95
  transformedClient,
96
96
  );
97
97
  return transformedClient;
@@ -101,7 +101,7 @@ export class ClientDatabaseRepository {
101
101
  const transformedClient = this.transformClient(userId, client, false, domain);
102
102
  await this.storeEngine.create(
103
103
  ClientDatabaseRepository.STORES.CLIENTS,
104
- CryptographyService.constructSessionId(userId, client.id),
104
+ CryptographyService.constructSessionId(userId, client.id, domain),
105
105
  transformedClient,
106
106
  );
107
107
  return transformedClient;
@@ -116,7 +116,7 @@ export class ClientDatabaseRepository {
116
116
  return {
117
117
  ...client,
118
118
  domain,
119
- meta: {is_verified: verified, primary_key: CryptographyService.constructSessionId(userId, client.id)},
119
+ meta: {is_verified: verified, primary_key: CryptographyService.constructSessionId(userId, client.id, domain)},
120
120
  };
121
121
  }
122
122
 
@@ -45,7 +45,7 @@ export declare class ConversationService {
45
45
  private sendText;
46
46
  clearConversation(conversationId: string, timestamp?: number | Date, messageId?: string, sendAsProtobuf?: boolean, conversationDomain?: string): Promise<ClearConversationMessage>;
47
47
  deleteMessageLocal(conversationId: string, messageIdToHide: string, sendAsProtobuf?: boolean, conversationDomain?: string): Promise<HideMessage>;
48
- deleteMessageEveryone(conversationId: string, messageIdToDelete: string, userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients, sendAsProtobuf?: boolean, conversationDomain?: string): Promise<DeleteMessage>;
48
+ deleteMessageEveryone(conversationId: string, messageIdToDelete: string, userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients, sendAsProtobuf?: boolean, conversationDomain?: string, callbacks?: MessageSendingCallbacks): Promise<DeleteMessage>;
49
49
  private shouldSendAsExternal;
50
50
  leaveConversation(conversationId: string): Promise<ConversationMemberLeaveEvent>;
51
51
  leaveConversations(conversationIds?: string[]): Promise<ConversationMemberLeaveEvent[]>;
@@ -215,16 +215,20 @@ class ConversationService {
215
215
  await this.sendGenericMessage(this.apiClient.validatedClientId, payloadBundle.conversation, genericMessage, userIds, sendAsProtobuf, conversationDomain);
216
216
  return Object.assign(Object.assign({}, payloadBundle), { messageTimer: 0, state: conversation_2.PayloadBundleState.OUTGOING_SENT });
217
217
  }
218
- async sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain) {
218
+ async sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks) {
219
+ var _a, _b;
219
220
  const content = protocol_messaging_1.Confirmation.create(payloadBundle.content);
220
221
  const genericMessage = protocol_messaging_1.GenericMessage.create({
221
222
  [conversation_2.GenericMessageType.CONFIRMATION]: content,
222
223
  messageId: payloadBundle.id,
223
224
  });
225
+ (_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStart) === null || _a === void 0 ? void 0 : _a.call(callbacks, genericMessage);
224
226
  await this.sendGenericMessage(this.apiClient.validatedClientId, payloadBundle.conversation, genericMessage, userIds, sendAsProtobuf, conversationDomain);
227
+ (_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onSuccess) === null || _b === void 0 ? void 0 : _b.call(callbacks, genericMessage);
225
228
  return Object.assign(Object.assign({}, payloadBundle), { messageTimer: 0, state: conversation_2.PayloadBundleState.OUTGOING_SENT });
226
229
  }
227
- async sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain) {
230
+ async sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks) {
231
+ var _a, _b;
228
232
  const editedMessage = protocol_messaging_1.MessageEdit.create({
229
233
  replacingMessageId: payloadBundle.content.originalMessageId,
230
234
  text: MessageToProtoMapper_1.MessageToProtoMapper.mapText(payloadBundle),
@@ -233,7 +237,9 @@ class ConversationService {
233
237
  [conversation_2.GenericMessageType.EDITED]: editedMessage,
234
238
  messageId: payloadBundle.id,
235
239
  });
236
- await this.sendGenericMessage(this.apiClient.validatedClientId, payloadBundle.conversation, genericMessage, userIds, sendAsProtobuf, conversationDomain);
240
+ (_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStart) === null || _a === void 0 ? void 0 : _a.call(callbacks, genericMessage);
241
+ const response = await this.sendGenericMessage(this.apiClient.validatedClientId, payloadBundle.conversation, genericMessage, userIds, sendAsProtobuf, conversationDomain);
242
+ (_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onSuccess) === null || _b === void 0 ? void 0 : _b.call(callbacks, genericMessage, response === null || response === void 0 ? void 0 : response.time);
237
243
  return Object.assign(Object.assign({}, payloadBundle), { messageTimer: 0, state: conversation_2.PayloadBundleState.OUTGOING_SENT });
238
244
  }
239
245
  async sendFileData(payloadBundle, userIds, sendAsProtobuf, conversationDomain) {
@@ -486,7 +492,8 @@ class ConversationService {
486
492
  type: conversation_2.PayloadBundleType.MESSAGE_HIDE,
487
493
  };
488
494
  }
489
- async deleteMessageEveryone(conversationId, messageIdToDelete, userIds, sendAsProtobuf, conversationDomain) {
495
+ async deleteMessageEveryone(conversationId, messageIdToDelete, userIds, sendAsProtobuf, conversationDomain, callbacks) {
496
+ var _a, _b;
490
497
  const messageId = MessageBuilder_1.MessageBuilder.createId();
491
498
  const content = protocol_messaging_1.MessageDelete.create({
492
499
  messageId: messageIdToDelete,
@@ -495,7 +502,9 @@ class ConversationService {
495
502
  [conversation_2.GenericMessageType.DELETED]: content,
496
503
  messageId,
497
504
  });
498
- await this.sendGenericMessage(this.apiClient.validatedClientId, conversationId, genericMessage, userIds, sendAsProtobuf, conversationDomain);
505
+ (_a = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onStart) === null || _a === void 0 ? void 0 : _a.call(callbacks, genericMessage);
506
+ const response = await this.sendGenericMessage(this.apiClient.validatedClientId, conversationId, genericMessage, userIds, sendAsProtobuf, conversationDomain);
507
+ (_b = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onSuccess) === null || _b === void 0 ? void 0 : _b.call(callbacks, genericMessage, response === null || response === void 0 ? void 0 : response.time);
499
508
  return {
500
509
  content,
501
510
  conversation: conversationId,
@@ -606,11 +615,11 @@ class ConversationService {
606
615
  case conversation_2.PayloadBundleType.COMPOSITE:
607
616
  return this.sendComposite(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
608
617
  case conversation_2.PayloadBundleType.CONFIRMATION:
609
- return this.sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
618
+ return this.sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks);
610
619
  case conversation_2.PayloadBundleType.LOCATION:
611
620
  return this.sendLocation(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
612
621
  case conversation_2.PayloadBundleType.MESSAGE_EDIT:
613
- return this.sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
622
+ return this.sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks);
614
623
  case conversation_2.PayloadBundleType.PING:
615
624
  return this.sendKnock(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
616
625
  case conversation_2.PayloadBundleType.REACTION:
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationService.js","sourceRoot":"","sources":["ConversationService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;AAGH,wEAU+C;AAC/C,qEAA6G;AAG7G,oEAiBqC;AACrC,yCAAkC;AAElC,mDAQ0B;AAG1B,0FAA4E;AAC5E,iEAAmH;AACnH,6DAAwD;AACxD,6DAAwD;AACxD,yEAAoE;AA6BpE,MAAa,mBAAmB;IAK9B,YACmB,SAAoB,EACpB,mBAAwC,EACxC,YAA0B;QAF1B,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAE3C,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrF,CAAC;IAEO,eAAe,CAAC,sBAAsC,EAAE,iBAAyB;QACvF,MAAM,gBAAgB,GAAG,8BAAS,CAAC,MAAM,CAAC;YACxC,iBAAiB;YACjB,CAAC,sBAAsB,CAAC,OAAQ,CAAC,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,OAAQ,CAAC;SAC3F,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,SAAS,CAAC,EAAE,gBAAgB;YAChD,SAAS,EAAE,sBAAsB,CAAC,SAAS;SAC5C,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,cAAsB,EACtB,kBAA0B,EAC1B,OAA8C;QAE9C,IAAI,OAAO,GAAkB,EAAE,CAAC;QAEhC,IAAI,OAAO,EAAE;YACX,IAAI,IAAA,sCAAkB,EAAC,OAAO,CAAC,EAAE;gBAC/B,OAAO,GAAG,OAAO,CAAC;aACnB;iBAAM;gBACL,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAgB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE;oBAC7F,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,OAAO,WAAW,CAAC;gBACrB,CAAC,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CACxE,EAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAC,EAChD,IAAI,CACL,CAAC;YACF;;;;eAIG;YACH,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM;iBAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;iBACvC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAa,CAAC;gBACpC,kGAAkG;iBACjG,MAAM,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAO,EAAE,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;SACxF;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,eAAe,EAAC,EAAE;YAClC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACnF,OAAO,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAC,CAAC;QAChE,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAA+B,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE;;YACjF,SAAS,MAAC,eAAe,CAAC,IAAI,CAAC,MAAM,MAArC,SAAS,OAAkC,EAAE,EAAC;YAC9C,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE;gBAC5C,MAAA,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAM,EAAE,EAAC;gBACvE,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;aAChG;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,cAAsB,EAAE,OAAgC;QAC/E,IAAI,OAAO,GAAa,EAAE,CAAC;QAE3B,IAAI,OAAO,EAAE;YACX,IAAI,IAAA,iCAAa,EAAC,OAAO,CAAC,EAAE;gBAC1B,OAAO,GAAG,OAAO,CAAC;aACnB;iBAAM,IAAI,IAAA,iCAAa,EAAC,OAAO,CAAC,EAAE;gBACjC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAC3F;;;;eAIG;YACH,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrG;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,SAA8B,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,SAAS,CAAC,MAAM,MAAhB,SAAS,CAAC,MAAM,IAAM,EAAE,EAAC;YACzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;aAClD;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,mBAAmB;QACzB,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,eAAuB,EACvB,cAAsB,EACtB,KAAqB,EACrB,aAAkC,EAClC,cAAwB;QAExB,IAAI,aAAa,CAAC,IAAI,EAAE;YACtB,MAAM,EAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;YAC7C,MAAM,SAAS,GAAG,+BAAc,CAAC,QAAQ,EAAE,CAAC;YAE5C,MAAM,eAAe,GAAG;gBACtB,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAChC,MAAM,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC;aAC/B,CAAC;YAEF,MAAM,gBAAgB,GAAG,mBAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;YAE/D,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;gBAC3C,CAAC,iCAAkB,CAAC,QAAQ,CAAC,EAAE,eAAe;gBAC9C,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;YAEtE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAEzF,IAAI,cAAc,EAAE;gBAClB,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAC/C,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,CACX,CAAC;aACH;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CACvC,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,CACjB,CAAC;YAEF,mCAAmC;SACpC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,eAAuB,EACvB,cAAsB,EACtB,kBAA0B,EAC1B,cAA8B,EAC9B,OAA8C;QAE9C,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAEvG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAElG,OAAO,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAChD,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,eAAuB,EACvB,cAAsB,EACtB,cAA8B,EAC9B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,kBAAkB,EAAE;YACtB,IAAI,IAAA,iCAAa,EAAC,OAAO,CAAC,IAAI,IAAA,iCAAa,EAAC,OAAO,CAAC,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACvD;YAED,OAAO,IAAI,CAAC,2BAA2B,CACrC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,OAAO,CACR,CAAC;SACH;QAED,IAAI,IAAA,sCAAkB,EAAC,OAAO,CAAC,IAAI,IAAA,0CAAsB,EAAC,OAAO,CAAC,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE;YAC5D,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,EAAC,SAAS,EAAE,cAAc,EAAC,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC,0BAA0B,CACpC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,CACf,CAAC;SACH;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEzF,OAAO,cAAc;YACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC;YACzG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACtG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAkC,EAClC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,aAAa,CAAC,EAAE,iCAAY,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YAC9E,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,aAA8C,EAC9C,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,0BAA0B,CAAC,EAAE,6CAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YACvG,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,aAA+B,EAC/B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,SAAS,CAAC,EAAE,8BAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;YACvE,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAkC,EAClC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,OAAO,GAAG,iCAAY,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,YAAY,CAAC,EAAE,OAAO;YAC1C,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,aAAgC,EAChC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,aAAa,GAAG,gCAAW,CAAC,MAAM,CAAC;YACvC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,iBAAiB;YAC3D,IAAI,EAAE,2CAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,MAAM,CAAC,EAAE,aAAa;YAC1C,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,aAA+B,EAC/B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,MAAM,EAAC,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAEhF,MAAM,UAAU,GAAG,0BAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,0BAAK,CAAC,MAAM,CAAC;YAChC,uBAAuB;YACvB,eAAe;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,GAAG,iCAAkB,CAAC,QAAQ,CAAC;QAElD,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,YAAY;YACxC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAuC,EACvC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,EAAC,uBAAuB,EAAE,eAAe,EAAE,QAAQ,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAEnF,MAAM,QAAQ,GAAG,0BAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,0BAAK,CAAC,MAAM,CAAC;YAChC,uBAAuB;YACvB,eAAe;YACf,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,YAAY;YACxC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,aAAoC,EACpC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,MAAM,EAAC,uBAAuB,EAAE,eAAe,EAAE,MAAM,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAEjF,MAAM,YAAY,GAAG,0BAAK,CAAC,MAAM,CAAC;YAChC,uBAAuB;YACvB,eAAe;YACf,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,GAAG,iCAAkB,CAAC,YAAY,CAAC;QAEtD,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,YAAY;YACxC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,aAAwC,EACxC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,MAAM,EAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAEvF,MAAM,aAAa,GAAG,0BAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YAC/C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,0BAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,aAAa;YACzC,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,0BAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,0BAAK,CAAC,MAAM,CAAC;YAChC,uBAAuB;YACvB,eAAe;YACf,QAAQ;YACR,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,GAAG,iCAAkB,CAAC,QAAQ,CAAC;QAElD,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,YAAY;YACxC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,OAAO,EAAE,YAA4B,EACrC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,aAA8B,EAC9B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,EAAC,uBAAuB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAE1G,MAAM,eAAe,GAAG,6BAAQ,CAAC,MAAM,CAAC;YACtC,uBAAuB;YACvB,QAAQ;YACR,eAAe;YACf,SAAS;YACT,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,QAAQ,CAAC,EAAE,eAAe;YAC9C,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,aAA0B,EAC1B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,OAAO,GAAG,0BAAK,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEpD,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,CAAC,iCAAkB,CAAC,KAAK,CAAC,EAAE,OAAO;YACnC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,aAAa,CAAC,YAAY,EACxC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,aAA8B,EAC9B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,EAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,EAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAEzE,MAAM,QAAQ,GAAG,6BAAQ,CAAC,MAAM,CAAC;YAC/B,KAAK,EAAE,IAAI;YACX,eAAe;YACf,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ;YACvC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,aAAkC,EAClC,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,aAAa,CAAC,EAAE,iCAAY,CAAC,aAAa;YAC9D,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,aAA0B,EAC1B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,WAAW,GAAG,4BAAO,CAAC,MAAM,CAAC;YACjC,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,OAAO,CAAC,EAAE,WAAW;YACzC,SAAS,EAAE,aAAa,CAAC,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,uCACK,aAAa,KAChB,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,aAA0B,EAC1B,OAAuE,EACvE,cAAwB,EACxB,kBAA2B,EAC3B,SAAmC;;QAEnC,IAAI,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YACzC,SAAS,EAAE,aAAa,CAAC,EAAE;YAC3B,CAAC,iCAAkB,CAAC,IAAI,CAAC,EAAE,2CAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;SACvE,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;SAC1E;QACD,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,+CAAlB,SAAS,EAAY,cAAc,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,aAAa,CAAC,YAAY,EAC1B,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QACF,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,+CAApB,SAAS,EAAc,cAAc,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC;QAEvD,uCACK,aAAa,KAChB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAC3E,KAAK,EAAE,iCAAkB,CAAC,aAAa,IACvC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,cAAsB,EACtB,YAA2B,IAAI,IAAI,EAAE,EACrC,YAAoB,+BAAc,CAAC,QAAQ,EAAE,EAC7C,cAAwB,EACxB,kBAA2B;QAE3B,IAAI,SAAS,YAAY,IAAI,EAAE;YAC7B,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;SACjC;QAED,MAAM,OAAO,GAAmB;YAC9B,gBAAgB,EAAE,SAAS;YAC3B,cAAc;SACf,CAAC;QAEF,MAAM,cAAc,GAAG,4BAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,OAAO,CAAC,EAAE,cAAc;YAC5C,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,EAAC,EAAE,EAAE,kBAAkB,EAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAElE,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,OAAO;YACL,OAAO;YACP,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM;YACpC,EAAE,EAAE,SAAS;YACb,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,kCAAmB,CAAC,KAAK;YACjC,KAAK,EAAE,iCAAkB,CAAC,aAAa;YACvC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,gCAAiB,CAAC,kBAAkB;SAC3C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,cAAsB,EACtB,eAAuB,EACvB,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,SAAS,GAAG,+BAAc,CAAC,QAAQ,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAkB,gCAAW,CAAC,MAAM,CAAC;YAChD,cAAc;YACd,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,MAAM,CAAC,EAAE,OAAO;YACpC,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,EAAC,EAAE,EAAE,kBAAkB,EAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAElE,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,OAAO;YACL,OAAO;YACP,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM;YACpC,EAAE,EAAE,SAAS;YACb,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,CAAC;YAC/D,MAAM,EAAE,kCAAmB,CAAC,KAAK;YACjC,KAAK,EAAE,iCAAkB,CAAC,aAAa;YACvC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,gCAAiB,CAAC,YAAY;SACrC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,cAAsB,EACtB,iBAAyB,EACzB,OAAuE,EACvE,cAAwB,EACxB,kBAA2B;QAE3B,MAAM,SAAS,GAAG,+BAAc,CAAC,QAAQ,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAmB,kCAAa,CAAC,MAAM,CAAC;YACnD,SAAS,EAAE,iBAAiB;SAC7B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,mCAAc,CAAC,MAAM,CAAC;YAC3C,CAAC,iCAAkB,CAAC,OAAO,CAAC,EAAE,OAAO;YACrC,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAC3B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAChC,cAAc,EACd,cAAc,EACd,OAAO,EACP,cAAc,EACd,kBAAkB,CACnB,CAAC;QAEF,OAAO;YACL,OAAO;YACP,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM;YACpC,EAAE,EAAE,SAAS;YACb,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,CAAC;YAC/D,MAAM,EAAE,kCAAmB,CAAC,KAAK;YACjC,KAAK,EAAE,iCAAkB,CAAC,aAAa;YACvC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,gCAAiB,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,SAAqB,EAAE,aAAkC;QACpF,MAAM,gCAAgC,GAAG,GAAG,GAAG,IAAI,CAAC;QAEpD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;YAChC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SACxD;QAED,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACxD,MAAM,uBAAuB,GAAG,WAAW,GAAG,cAAc,CAAC;QAE7D,OAAO,uBAAuB,GAAG,gCAAgC,CAAC;IACpE,CAAC;IAEM,iBAAiB,CAAC,cAAsB;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC;IACtG,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,eAA0B;QACxD,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnD,eAAe,GAAG,YAAY;iBAC3B,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,gCAAiB,CAAC,OAAO,CAAC;iBACvE,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACzC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAEM,kBAAkB,CAAC,IAAY,EAAE,eAAkC,EAAE;QAC1E,MAAM,GAAG,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAE7E,MAAM,eAAe,GAAoB;YACvC,IAAI;YACJ,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,GAAG;SACX,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC3E,CAAC;IAIM,KAAK,CAAC,gBAAgB,CAAC,eAAmC;QAC/D,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;SAC9D;QACD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;YACvC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACzE;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAa;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/E,MAAM,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAExD,OAAO,iBAAiB,CAAC,YAAY,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,UAAmB;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/E,OAAO,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,cAAsB,EACtB,OAAU;QAEV,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,IAAA,iCAAa,EAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;SACxE;aAAM,IAAI,IAAA,sCAAkB,EAAC,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;SAC1E;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,MAAc;QAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,EAChB,aAAa,EACb,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,SAAS,GAOV;QACC,QAAQ,aAAa,CAAC,IAAI,EAAE;YAC1B,KAAK,gCAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACvF,KAAK,gCAAiB,CAAC,WAAW;gBAChC,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACxF,KAAK,gCAAiB,CAAC,UAAU;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC3F,KAAK,gCAAiB,CAAC,WAAW;gBAChC,OAAO,IAAI,CAAC,SAAS,CAAC,aAA0C,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACjH,KAAK,gCAAiB,CAAC,aAAa;gBAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC3F,KAAK,gCAAiB,CAAC,0BAA0B;gBAC/C,OAAO,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACvG,KAAK,gCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACnF,KAAK,gCAAiB,CAAC,aAAa,CAAC,CAAC;gBACpC,IAAI,aAAa,CAAC,OAAO,CAAC,YAAY,KAAK,iCAAY,CAAC,aAAa,EAAE;oBACrE,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;iBAC1F;gBACD,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,CAAC,IAAI,uBAAuB,aAAa,CAAC,OAAO,IAAI,CACtG,CAAC;aACH;YACD,KAAK,gCAAiB,CAAC,SAAS;gBAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACxF,KAAK,gCAAiB,CAAC,YAAY;gBACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC3F,KAAK,gCAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACvF,KAAK,gCAAiB,CAAC,YAAY;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACzF,KAAK,gCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACpF,KAAK,gCAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;YACvF,KAAK,gCAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;YAC9F;gBACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACjF;IACH,CAAC;IAEM,eAAe,CAAC,cAAsB;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,0BAAmB,CAAC,OAAO,EAAC,CAAC,CAAC;IAC3G,CAAC;IAEM,cAAc,CAAC,cAAsB;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,0BAAmB,CAAC,OAAO,EAAC,CAAC,CAAC;IAC3G,CAAC;IAEM,0BAA0B,CAC/B,cAAsB,EACtB,MAAmB,EACnB,aAA4B;QAE5B,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,aAAa,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAiC;YAC5C,aAAa,EAAE,aAAa,CAAC,WAAW,EAAE;YAC1C,gBAAgB,EAAE,MAAM;SACzB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IAEM,yBAAyB,CAC9B,cAAsB,EACtB,QAAiB,EACjB,mBAAkC,IAAI,IAAI,EAAE;QAE5C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACxC,gBAAgB,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC/C;QAED,MAAM,OAAO,GAAiC;YAC5C,YAAY,EAAE,QAAQ;YACtB,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,EAAE;SACjD,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IAEM,yBAAyB,CAC9B,cAAsB,EACtB,MAAc,EACd,gBAAsD;QAEtD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE;YAC5E,iBAAiB,EAAE,gBAAgB;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AA3mCD,kDA2mCC"}
1
+ {"version":3,"file":"ConversationService.js","sourceRoot":"","sources":["ConversationService.ts"],"names":[],"mappings":"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"}
@@ -418,6 +418,7 @@ export class ConversationService {
418
418
  userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients,
419
419
  sendAsProtobuf?: boolean,
420
420
  conversationDomain?: string,
421
+ callbacks?: MessageSendingCallbacks,
421
422
  ): Promise<ConfirmationMessage> {
422
423
  const content = Confirmation.create(payloadBundle.content);
423
424
 
@@ -425,6 +426,7 @@ export class ConversationService {
425
426
  [GenericMessageType.CONFIRMATION]: content,
426
427
  messageId: payloadBundle.id,
427
428
  });
429
+ callbacks?.onStart?.(genericMessage);
428
430
 
429
431
  await this.sendGenericMessage(
430
432
  this.apiClient.validatedClientId,
@@ -434,6 +436,7 @@ export class ConversationService {
434
436
  sendAsProtobuf,
435
437
  conversationDomain,
436
438
  );
439
+ callbacks?.onSuccess?.(genericMessage);
437
440
 
438
441
  return {
439
442
  ...payloadBundle,
@@ -447,6 +450,7 @@ export class ConversationService {
447
450
  userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients,
448
451
  sendAsProtobuf?: boolean,
449
452
  conversationDomain?: string,
453
+ callbacks?: MessageSendingCallbacks,
450
454
  ): Promise<EditedTextMessage> {
451
455
  const editedMessage = MessageEdit.create({
452
456
  replacingMessageId: payloadBundle.content.originalMessageId,
@@ -457,8 +461,9 @@ export class ConversationService {
457
461
  [GenericMessageType.EDITED]: editedMessage,
458
462
  messageId: payloadBundle.id,
459
463
  });
464
+ callbacks?.onStart?.(genericMessage);
460
465
 
461
- await this.sendGenericMessage(
466
+ const response = await this.sendGenericMessage(
462
467
  this.apiClient.validatedClientId,
463
468
  payloadBundle.conversation,
464
469
  genericMessage,
@@ -466,6 +471,7 @@ export class ConversationService {
466
471
  sendAsProtobuf,
467
472
  conversationDomain,
468
473
  );
474
+ callbacks?.onSuccess?.(genericMessage, response?.time);
469
475
 
470
476
  return {
471
477
  ...payloadBundle,
@@ -993,6 +999,7 @@ export class ConversationService {
993
999
  userIds?: string[] | QualifiedId[] | UserClients | QualifiedUserClients,
994
1000
  sendAsProtobuf?: boolean,
995
1001
  conversationDomain?: string,
1002
+ callbacks?: MessageSendingCallbacks,
996
1003
  ): Promise<DeleteMessage> {
997
1004
  const messageId = MessageBuilder.createId();
998
1005
 
@@ -1004,8 +1011,9 @@ export class ConversationService {
1004
1011
  [GenericMessageType.DELETED]: content,
1005
1012
  messageId,
1006
1013
  });
1014
+ callbacks?.onStart?.(genericMessage);
1007
1015
 
1008
- await this.sendGenericMessage(
1016
+ const response = await this.sendGenericMessage(
1009
1017
  this.apiClient.validatedClientId,
1010
1018
  conversationId,
1011
1019
  genericMessage,
@@ -1013,6 +1021,7 @@ export class ConversationService {
1013
1021
  sendAsProtobuf,
1014
1022
  conversationDomain,
1015
1023
  );
1024
+ callbacks?.onSuccess?.(genericMessage, response?.time);
1016
1025
 
1017
1026
  return {
1018
1027
  content,
@@ -1160,11 +1169,11 @@ export class ConversationService {
1160
1169
  case PayloadBundleType.COMPOSITE:
1161
1170
  return this.sendComposite(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
1162
1171
  case PayloadBundleType.CONFIRMATION:
1163
- return this.sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
1172
+ return this.sendConfirmation(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks);
1164
1173
  case PayloadBundleType.LOCATION:
1165
1174
  return this.sendLocation(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
1166
1175
  case PayloadBundleType.MESSAGE_EDIT:
1167
- return this.sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
1176
+ return this.sendEditedText(payloadBundle, userIds, sendAsProtobuf, conversationDomain, callbacks);
1168
1177
  case PayloadBundleType.PING:
1169
1178
  return this.sendKnock(payloadBundle, userIds, sendAsProtobuf, conversationDomain);
1170
1179
  case PayloadBundleType.REACTION:
@@ -20,14 +20,14 @@ export declare class CryptographyService {
20
20
  cryptobox: Cryptobox;
21
21
  private readonly database;
22
22
  constructor(apiClient: APIClient, storeEngine: CRUDEngine);
23
- static constructSessionId(userId: string, clientId: string): string;
23
+ static constructSessionId(userId: string, clientId: string, domain: string | null): string;
24
24
  static convertArrayRecipientsToBase64(recipients: OTRRecipients<Uint8Array>): OTRRecipients<string>;
25
25
  static convertBase64RecipientsToArray(recipients: OTRRecipients<string>): OTRRecipients<Uint8Array>;
26
26
  createCryptobox(): Promise<SerializedPreKey[]>;
27
27
  decrypt(sessionId: string, encodedCiphertext: string): Promise<Uint8Array>;
28
28
  private static dismantleSessionId;
29
29
  encryptQualified(plainText: Uint8Array, preKeyBundles: QualifiedUserPreKeyBundleMap): Promise<QualifiedOTRRecipients>;
30
- encrypt(plainText: Uint8Array, preKeyBundles: UserPreKeyBundleMap): Promise<OTRRecipients<Uint8Array>>;
30
+ encrypt(plainText: Uint8Array, preKeyBundles: UserPreKeyBundleMap, domain?: string): Promise<OTRRecipients<Uint8Array>>;
31
31
  private encryptPayloadForSession;
32
32
  initCryptobox(): Promise<void>;
33
33
  deleteCryptographyStores(): Promise<boolean[]>;
@@ -41,8 +41,9 @@ class CryptographyService {
41
41
  markdown: false,
42
42
  });
43
43
  }
44
- static constructSessionId(userId, clientId) {
45
- return `${userId}@${clientId}`;
44
+ static constructSessionId(userId, clientId, domain) {
45
+ const baseId = `${userId}@${clientId}`;
46
+ return domain ? `${domain}@${baseId}` : baseId;
46
47
  }
47
48
  static convertArrayRecipientsToBase64(recipients) {
48
49
  return Object.fromEntries(Object.entries(recipients).map(([userId, otrClientMap]) => {
@@ -78,30 +79,34 @@ class CryptographyService {
78
79
  return this.cryptobox.decrypt(sessionId, messageBytes.buffer);
79
80
  }
80
81
  static dismantleSessionId(sessionId) {
81
- return sessionId.split('@');
82
+ // see https://regex101.com/r/c8FtCw/1
83
+ const regex = /((?<domain>.+)@)?(?<userId>.+)@(?<clientId>.+)$/g;
84
+ const match = regex.exec(sessionId);
85
+ const { domain, userId, clientId } = (match === null || match === void 0 ? void 0 : match.groups) || {};
86
+ return { clientId, domain, userId };
82
87
  }
83
88
  async encryptQualified(plainText, preKeyBundles) {
84
89
  const qualifiedOTRRecipients = {};
85
90
  for (const [domain, preKeyBundleMap] of Object.entries(preKeyBundles)) {
86
- qualifiedOTRRecipients[domain] = await this.encrypt(plainText, preKeyBundleMap);
91
+ qualifiedOTRRecipients[domain] = await this.encrypt(plainText, preKeyBundleMap, domain);
87
92
  }
88
93
  return qualifiedOTRRecipients;
89
94
  }
90
- async encrypt(plainText, preKeyBundles) {
95
+ async encrypt(plainText, preKeyBundles, domain) {
91
96
  const recipients = {};
92
97
  const bundles = [];
93
98
  for (const userId in preKeyBundles) {
94
99
  recipients[userId] = {};
95
100
  for (const clientId in preKeyBundles[userId]) {
96
101
  const { key: base64PreKey } = preKeyBundles[userId][clientId];
97
- const sessionId = CryptographyService.constructSessionId(userId, clientId);
102
+ const sessionId = CryptographyService.constructSessionId(userId, clientId, domain || null);
98
103
  bundles.push(this.encryptPayloadForSession(sessionId, plainText, base64PreKey));
99
104
  }
100
105
  }
101
106
  const payloads = await Promise.all(bundles);
102
107
  payloads.forEach(payload => {
103
108
  const { encryptedPayload, sessionId } = payload;
104
- const [userId, clientId] = CryptographyService.dismantleSessionId(sessionId);
109
+ const { userId, clientId } = CryptographyService.dismantleSessionId(sessionId);
105
110
  recipients[userId][clientId] = encryptedPayload;
106
111
  });
107
112
  return recipients;
@@ -131,8 +136,8 @@ class CryptographyService {
131
136
  this.logger.log(`Deleted session ID "${sessionId}".`);
132
137
  }
133
138
  async decodeGenericMessage(otrMessage, source) {
134
- const { from, data: { sender, text: cipherText }, } = otrMessage;
135
- const sessionId = CryptographyService.constructSessionId(from, sender);
139
+ const { from, qualified_from, data: { sender, text: cipherText }, } = otrMessage;
140
+ const sessionId = CryptographyService.constructSessionId(from, sender, (qualified_from === null || qualified_from === void 0 ? void 0 : qualified_from.domain) || null);
136
141
  const decryptedMessage = await this.decrypt(sessionId, cipherText);
137
142
  const genericMessage = protocol_messaging_1.GenericMessage.decode(decryptedMessage);
138
143
  if (genericMessage.content === conversation_1.GenericMessageType.EPHEMERAL) {
@@ -1 +1 @@
1
- {"version":3,"file":"CryptographyService.js","sourceRoot":"","sources":["CryptographyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptographyService.js","sourceRoot":"","sources":["CryptographyService.ts"],"names":[],"mappings":"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"}
@@ -82,17 +82,6 @@ describe('CryptographyService', () => {
82
82
  });
83
83
  });
84
84
 
85
- describe('"dismantleSessionId"', () => {
86
- it('gets User ID and Client ID from a Session ID.', () => {
87
- const clientId = '1ceb9063fced26d3';
88
- const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
89
- const sessionId = CryptographyService.constructSessionId(userId, clientId);
90
- const [actualUserId, actualClientId] = CryptographyService.dismantleSessionId(sessionId);
91
- expect(actualClientId).toBe(clientId);
92
- expect(actualUserId).toBe(userId);
93
- });
94
- });
95
-
96
85
  describe('"encrypt"', () => {
97
86
  it('generates a set of encrypted data based on PreKeys from multiple clients.', async () => {
98
87
  const firstUserID = 'bc0c99f1-49a5-4ad2-889a-62885af37088';
@@ -76,10 +76,18 @@ describe('CryptographyService', () => {
76
76
  it('constructs a Session ID by a given User ID and Client ID.', () => {
77
77
  const clientId = '1ceb9063fced26d3';
78
78
  const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
79
- const actual = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId);
79
+ const actual = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId, null);
80
80
  expect(actual).toContain(clientId);
81
81
  expect(actual).toContain(userId);
82
82
  });
83
+ it('constructs a Session ID by a given User ID and Client ID and domain.', () => {
84
+ const clientId = '1ceb9063fced26d3';
85
+ const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
86
+ const actual = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId, 'test.wire.link');
87
+ expect(actual).toContain(clientId);
88
+ expect(actual).toContain(userId);
89
+ expect(actual).toContain('test.wire.link');
90
+ });
83
91
  });
84
92
  describe('"decrypt"', () => {
85
93
  it('decrypts a Base64-encoded cipher message.', async () => {
@@ -107,13 +115,22 @@ describe('CryptographyService', () => {
107
115
  });
108
116
  });
109
117
  describe('"dismantleSessionId"', () => {
110
- it('gets User ID and Client ID from a Session ID.', () => {
111
- const clientId = '1ceb9063fced26d3';
112
- const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
113
- const sessionId = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId);
114
- const [actualUserId, actualClientId] = CryptographyService_1.CryptographyService['dismantleSessionId'](sessionId);
115
- expect(actualClientId).toBe(clientId);
116
- expect(actualUserId).toBe(userId);
118
+ const clientId = '1ceb9063fced26d3';
119
+ const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
120
+ const domain = 'domain.wire.link';
121
+ it('gets User ID and Client ID from a Session ID without domain.', () => {
122
+ const sessionId = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId, null);
123
+ const res = CryptographyService_1.CryptographyService['dismantleSessionId'](sessionId);
124
+ expect(res.clientId).toBe(clientId);
125
+ expect(res.userId).toBe(userId);
126
+ expect(res.domain).toBe(undefined);
127
+ });
128
+ it('gets User ID and Client ID from a Session ID with domain.', () => {
129
+ const sessionId = CryptographyService_1.CryptographyService.constructSessionId(userId, clientId, domain);
130
+ const res = CryptographyService_1.CryptographyService['dismantleSessionId'](sessionId);
131
+ expect(res.clientId).toBe(clientId);
132
+ expect(res.userId).toBe(userId);
133
+ expect(res.domain).toBe(domain);
117
134
  });
118
135
  });
119
136
  describe('"encrypt"', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CryptographyService.test.node.js","sourceRoot":"","sources":["CryptographyService.test.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptographyService.test.node.js","sourceRoot":"","sources":["CryptographyService.test.node.ts"],"names":[],"mappings":"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"}
@@ -63,10 +63,19 @@ describe('CryptographyService', () => {
63
63
  it('constructs a Session ID by a given User ID and Client ID.', () => {
64
64
  const clientId = '1ceb9063fced26d3';
65
65
  const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
66
- const actual = CryptographyService.constructSessionId(userId, clientId);
66
+ const actual = CryptographyService.constructSessionId(userId, clientId, null);
67
67
  expect(actual).toContain(clientId);
68
68
  expect(actual).toContain(userId);
69
69
  });
70
+
71
+ it('constructs a Session ID by a given User ID and Client ID and domain.', () => {
72
+ const clientId = '1ceb9063fced26d3';
73
+ const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
74
+ const actual = CryptographyService.constructSessionId(userId, clientId, 'test.wire.link');
75
+ expect(actual).toContain(clientId);
76
+ expect(actual).toContain(userId);
77
+ expect(actual).toContain('test.wire.link');
78
+ });
70
79
  });
71
80
 
72
81
  describe('"decrypt"', () => {
@@ -101,13 +110,24 @@ describe('CryptographyService', () => {
101
110
  });
102
111
 
103
112
  describe('"dismantleSessionId"', () => {
104
- it('gets User ID and Client ID from a Session ID.', () => {
105
- const clientId = '1ceb9063fced26d3';
106
- const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
107
- const sessionId = CryptographyService.constructSessionId(userId, clientId);
108
- const [actualUserId, actualClientId] = CryptographyService['dismantleSessionId'](sessionId);
109
- expect(actualClientId).toBe(clientId);
110
- expect(actualUserId).toBe(userId);
113
+ const clientId = '1ceb9063fced26d3';
114
+ const userId = 'afbb5d60-1187-4385-9c29-7361dea79647';
115
+ const domain = 'domain.wire.link';
116
+
117
+ it('gets User ID and Client ID from a Session ID without domain.', () => {
118
+ const sessionId = CryptographyService.constructSessionId(userId, clientId, null);
119
+ const res = CryptographyService['dismantleSessionId'](sessionId);
120
+ expect(res.clientId).toBe(clientId);
121
+ expect(res.userId).toBe(userId);
122
+ expect(res.domain).toBe(undefined);
123
+ });
124
+
125
+ it('gets User ID and Client ID from a Session ID with domain.', () => {
126
+ const sessionId = CryptographyService.constructSessionId(userId, clientId, domain);
127
+ const res = CryptographyService['dismantleSessionId'](sessionId);
128
+ expect(res.clientId).toBe(clientId);
129
+ expect(res.userId).toBe(userId);
130
+ expect(res.domain).toBe(domain);
111
131
  });
112
132
  });
113
133
 
@@ -57,8 +57,9 @@ export class CryptographyService {
57
57
  });
58
58
  }
59
59
 
60
- public static constructSessionId(userId: string, clientId: string): string {
61
- return `${userId}@${clientId}`;
60
+ public static constructSessionId(userId: string, clientId: string, domain: string | null): string {
61
+ const baseId = `${userId}@${clientId}`;
62
+ return domain ? `${domain}@${baseId}` : baseId;
62
63
  }
63
64
 
64
65
  public static convertArrayRecipientsToBase64(recipients: OTRRecipients<Uint8Array>): OTRRecipients<string> {
@@ -107,8 +108,12 @@ export class CryptographyService {
107
108
  return this.cryptobox.decrypt(sessionId, messageBytes.buffer);
108
109
  }
109
110
 
110
- private static dismantleSessionId(sessionId: string): string[] {
111
- return sessionId.split('@');
111
+ private static dismantleSessionId(sessionId: string): {clientId: string; domain?: string; userId: string} {
112
+ // see https://regex101.com/r/c8FtCw/1
113
+ const regex = /((?<domain>.+)@)?(?<userId>.+)@(?<clientId>.+)$/g;
114
+ const match = regex.exec(sessionId);
115
+ const {domain, userId, clientId} = match?.groups || {};
116
+ return {clientId, domain, userId};
112
117
  }
113
118
 
114
119
  public async encryptQualified(
@@ -118,13 +123,17 @@ export class CryptographyService {
118
123
  const qualifiedOTRRecipients: QualifiedOTRRecipients = {};
119
124
 
120
125
  for (const [domain, preKeyBundleMap] of Object.entries(preKeyBundles)) {
121
- qualifiedOTRRecipients[domain] = await this.encrypt(plainText, preKeyBundleMap);
126
+ qualifiedOTRRecipients[domain] = await this.encrypt(plainText, preKeyBundleMap, domain);
122
127
  }
123
128
 
124
129
  return qualifiedOTRRecipients;
125
130
  }
126
131
 
127
- public async encrypt(plainText: Uint8Array, preKeyBundles: UserPreKeyBundleMap): Promise<OTRRecipients<Uint8Array>> {
132
+ public async encrypt(
133
+ plainText: Uint8Array,
134
+ preKeyBundles: UserPreKeyBundleMap,
135
+ domain?: string,
136
+ ): Promise<OTRRecipients<Uint8Array>> {
128
137
  const recipients: OTRRecipients<Uint8Array> = {};
129
138
  const bundles: Promise<SessionPayloadBundle>[] = [];
130
139
 
@@ -133,7 +142,7 @@ export class CryptographyService {
133
142
 
134
143
  for (const clientId in preKeyBundles[userId]) {
135
144
  const {key: base64PreKey} = preKeyBundles[userId][clientId];
136
- const sessionId = CryptographyService.constructSessionId(userId, clientId);
145
+ const sessionId = CryptographyService.constructSessionId(userId, clientId, domain || null);
137
146
  bundles.push(this.encryptPayloadForSession(sessionId, plainText, base64PreKey));
138
147
  }
139
148
  }
@@ -142,7 +151,7 @@ export class CryptographyService {
142
151
 
143
152
  payloads.forEach(payload => {
144
153
  const {encryptedPayload, sessionId} = payload;
145
- const [userId, clientId] = CryptographyService.dismantleSessionId(sessionId);
154
+ const {userId, clientId} = CryptographyService.dismantleSessionId(sessionId);
146
155
  recipients[userId][clientId] = encryptedPayload;
147
156
  });
148
157
 
@@ -189,10 +198,11 @@ export class CryptographyService {
189
198
  ): Promise<PayloadBundle> {
190
199
  const {
191
200
  from,
201
+ qualified_from,
192
202
  data: {sender, text: cipherText},
193
203
  } = otrMessage;
194
204
 
195
- const sessionId = CryptographyService.constructSessionId(from, sender);
205
+ const sessionId = CryptographyService.constructSessionId(from, sender, qualified_from?.domain || null);
196
206
  const decryptedMessage = await this.decrypt(sessionId, cipherText);
197
207
  const genericMessage = GenericMessage.decode(decryptedMessage);
198
208