beam-protocol-sdk 0.2.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,5 +1,7 @@
1
+ import { BeamIdentity } from './identity.js';
1
2
  import { BeamDirectory } from './directory.js';
2
- import type { BeamClientConfig, BeamIdString, IntentFrame, ResultFrame, AgentRecord } from './types.js';
3
+ import { BeamCredentialsClient, BeamDID } from './did.js';
4
+ import type { AgentProfile, AgentRecord, BeamClientConfig, BeamIdString, BrowseFilters, BrowseResult, Delegation, DirectoryStats, DomainVerification, IntentFrame, KeyRotationResult, Report, ResultFrame, BeamIdentityData } from './types.js';
3
5
  type IntentHandler = (frame: IntentFrame, respond: (options: {
4
6
  success: boolean;
5
7
  payload?: Record<string, unknown>;
@@ -8,8 +10,10 @@ type IntentHandler = (frame: IntentFrame, respond: (options: {
8
10
  latency?: number;
9
11
  }) => ResultFrame) => void | Promise<void>;
10
12
  export declare class BeamClient {
11
- private readonly _identity;
13
+ private _identity;
12
14
  private readonly _directory;
15
+ private readonly _did;
16
+ private readonly _credentials;
13
17
  private readonly _directoryUrl;
14
18
  private _ws;
15
19
  private _wsConnected;
@@ -18,29 +22,27 @@ export declare class BeamClient {
18
22
  constructor(config: BeamClientConfig);
19
23
  get beamId(): BeamIdString;
20
24
  get directory(): BeamDirectory;
25
+ get did(): BeamDID;
26
+ get credentials(): BeamCredentialsClient;
21
27
  register(displayName: string, capabilities: string[]): Promise<AgentRecord>;
28
+ updateProfile(fields: {
29
+ description?: string;
30
+ logo_url?: string;
31
+ website?: string;
32
+ }): Promise<AgentProfile>;
33
+ verifyDomain(domain: string): Promise<DomainVerification>;
34
+ checkDomainVerification(): Promise<DomainVerification>;
35
+ rotateKeys(newKeyPair: BeamIdentity | BeamIdentityData): Promise<KeyRotationResult>;
36
+ browse(page?: number, filters?: BrowseFilters): Promise<BrowseResult>;
37
+ getStats(): Promise<DirectoryStats>;
38
+ delegate(targetBeamId: string, scope: string, expiresIn?: number): Promise<Delegation>;
39
+ report(targetBeamId: string, reason: string): Promise<Report>;
22
40
  connect(): Promise<void>;
23
41
  private _handleMessage;
24
42
  send(to: BeamIdString, intent: string, payload?: Record<string, unknown>, timeoutMs?: number): Promise<ResultFrame>;
25
43
  private _sendViaWebSocket;
26
44
  private _sendViaHttp;
27
45
  on(intent: string, handler: IntentHandler): this;
28
- /**
29
- * Send a natural language message to another agent.
30
- * The receiving agent uses its LLM to interpret and respond.
31
- *
32
- * @example
33
- * const reply = await client.talk(
34
- * 'clara@coppen.beam.directory',
35
- * 'Was weißt du über Chris Schnorrenberg?'
36
- * )
37
- * console.log(reply.message) // Natural language response
38
- * console.log(reply.structured) // Optional structured data
39
- */
40
- /**
41
- * Start a multi-turn conversation thread.
42
- * Returns a Thread object with a `say()` method for follow-ups.
43
- */
44
46
  thread(to: BeamIdString, options?: {
45
47
  language?: string;
46
48
  timeoutMs?: number;
@@ -56,27 +58,9 @@ export declare class BeamClient {
56
58
  threadId?: string;
57
59
  raw: ResultFrame;
58
60
  }>;
59
- /**
60
- * Register a natural language handler.
61
- * Convenience wrapper that listens for conversation.message intents.
62
- *
63
- * @example
64
- * client.onTalk(async (message, from, respond) => {
65
- * const answer = await myLLM.generate(message)
66
- * respond(answer)
67
- * })
68
- */
69
61
  onTalk(handler: (message: string, from: BeamIdString, respond: (reply: string, structured?: Record<string, unknown>) => void, frame: IntentFrame) => void | Promise<void>): this;
70
62
  disconnect(): void;
71
63
  }
72
- /**
73
- * A multi-turn conversation thread between two agents.
74
- *
75
- * @example
76
- * const chat = client.thread('clara@coppen.beam.directory')
77
- * const r1 = await chat.say('Was weißt du über Chris?')
78
- * const r2 = await chat.say('Und seine Pipeline?') // keeps context
79
- */
80
64
  export declare class BeamThread {
81
65
  readonly threadId: string;
82
66
  private readonly _client;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,17 +1,19 @@
1
1
  import { BeamIdentity } from './identity.js';
2
2
  import { BeamDirectory } from './directory.js';
3
+ import { BeamCredentialsClient, BeamDID } from './did.js';
3
4
  import { createIntentFrame, createResultFrame, signFrame, validateIntentFrame } from './frames.js';
4
5
  async function openWebSocket(url) {
5
6
  if (typeof globalThis.WebSocket !== 'undefined') {
6
7
  return new globalThis.WebSocket(url);
7
8
  }
8
- // Node 18-20: use ws package
9
9
  const { default: WS } = await import('ws');
10
10
  return new WS(url);
11
11
  }
12
12
  export class BeamClient {
13
13
  _identity;
14
14
  _directory;
15
+ _did;
16
+ _credentials;
15
17
  _directoryUrl;
16
18
  _ws = null;
17
19
  _wsConnected = false;
@@ -21,6 +23,8 @@ export class BeamClient {
21
23
  this._identity = BeamIdentity.fromData(config.identity);
22
24
  this._directoryUrl = config.directoryUrl;
23
25
  this._directory = new BeamDirectory({ baseUrl: config.directoryUrl });
26
+ this._did = new BeamDID({ baseUrl: config.directoryUrl, identity: this._identity });
27
+ this._credentials = new BeamCredentialsClient(config.directoryUrl);
24
28
  }
25
29
  get beamId() {
26
30
  return this._identity.beamId;
@@ -28,6 +32,12 @@ export class BeamClient {
28
32
  get directory() {
29
33
  return this._directory;
30
34
  }
35
+ get did() {
36
+ return this._did;
37
+ }
38
+ get credentials() {
39
+ return this._credentials;
40
+ }
31
41
  async register(displayName, capabilities) {
32
42
  const parsed = BeamIdentity.parseBeamId(this._identity.beamId);
33
43
  if (!parsed)
@@ -37,13 +47,39 @@ export class BeamClient {
37
47
  displayName,
38
48
  capabilities,
39
49
  publicKey: this._identity.publicKeyBase64,
40
- org: parsed.org
50
+ org: parsed.org,
41
51
  });
42
52
  }
53
+ async updateProfile(fields) {
54
+ return this._directory.updateProfile(this._identity.beamId, fields);
55
+ }
56
+ async verifyDomain(domain) {
57
+ return this._directory.verifyDomain(this._identity.beamId, domain);
58
+ }
59
+ async checkDomainVerification() {
60
+ return this._directory.checkDomainVerification(this._identity.beamId);
61
+ }
62
+ async rotateKeys(newKeyPair) {
63
+ const identity = newKeyPair instanceof BeamIdentity ? newKeyPair : BeamIdentity.fromData(newKeyPair);
64
+ const result = await this._directory.rotateKeys(this._identity.beamId, identity.publicKeyBase64);
65
+ this._identity = identity;
66
+ return result;
67
+ }
68
+ async browse(page = 1, filters = {}) {
69
+ return this._directory.browse(page, filters);
70
+ }
71
+ async getStats() {
72
+ return this._directory.getStats();
73
+ }
74
+ async delegate(targetBeamId, scope, expiresIn) {
75
+ return this._directory.delegate(this._identity.beamId, targetBeamId, scope, expiresIn);
76
+ }
77
+ async report(targetBeamId, reason) {
78
+ return this._directory.report(this._identity.beamId, targetBeamId, reason);
79
+ }
43
80
  async connect() {
44
81
  if (this._ws && this._wsConnected)
45
82
  return;
46
- // Convert http(s) scheme to ws(s) and append /ws path with beamId query param
47
83
  const wsUrl = this._directoryUrl
48
84
  .replace(/^http:\/\//, 'ws://')
49
85
  .replace(/^https:\/\//, 'wss://')
@@ -52,7 +88,6 @@ export class BeamClient {
52
88
  openWebSocket(wsUrl).then((ws) => {
53
89
  this._ws = ws;
54
90
  ws.onopen = () => {
55
- // Wait for the server's connected message before resolving
56
91
  };
57
92
  ws.onmessage = (event) => {
58
93
  this._handleMessage(event.data);
@@ -60,7 +95,6 @@ export class BeamClient {
60
95
  ws.onclose = () => {
61
96
  this._wsConnected = false;
62
97
  this._ws = null;
63
- // Reject all pending results
64
98
  for (const [nonce, pending] of this._pendingResults) {
65
99
  clearTimeout(pending.timer);
66
100
  pending.reject(new Error('WebSocket connection closed'));
@@ -72,7 +106,6 @@ export class BeamClient {
72
106
  reject(new Error(`WebSocket connection error: ${String(event)}`));
73
107
  }
74
108
  };
75
- // We resolve after receiving the 'connected' message
76
109
  const originalHandleMessage = this._handleMessage.bind(this);
77
110
  this._handleMessage = (data) => {
78
111
  try {
@@ -85,7 +118,6 @@ export class BeamClient {
85
118
  }
86
119
  }
87
120
  catch {
88
- // ignore parse errors during connect phase
89
121
  }
90
122
  originalHandleMessage(data);
91
123
  };
@@ -110,31 +142,37 @@ export class BeamClient {
110
142
  this._pendingResults.delete(frame.nonce);
111
143
  pending.resolve(frame);
112
144
  }
145
+ return;
113
146
  }
114
- else if (msg['type'] === 'intent') {
115
- const frame = msg['frame'];
116
- const senderPublicKey = msg['senderPublicKey'];
117
- if (!frame || !senderPublicKey)
118
- return;
119
- const validation = validateIntentFrame(frame, senderPublicKey);
120
- if (!validation.valid)
121
- return;
122
- const handler = this._intentHandlers.get(frame.intent) ?? this._intentHandlers.get('*');
123
- if (!handler)
124
- return;
125
- const startTime = Date.now();
126
- const respond = (options) => {
127
- const latency = options.latency ?? (Date.now() - startTime);
128
- const resultFrame = createResultFrame({ ...options, nonce: frame.nonce, latency }, this._identity);
129
- if (this._ws && this._wsConnected) {
130
- this._ws.send(JSON.stringify({ type: 'result', frame: resultFrame }));
131
- }
132
- return resultFrame;
133
- };
134
- Promise.resolve(handler(frame, respond)).catch(() => {
135
- // Swallow handler errors to avoid unhandled rejections
136
- });
147
+ if (msg['type'] !== 'intent') {
148
+ return;
137
149
  }
150
+ const frame = msg['frame'];
151
+ const senderPublicKey = msg['senderPublicKey'];
152
+ if (!frame || !senderPublicKey)
153
+ return;
154
+ const validation = validateIntentFrame(frame, senderPublicKey);
155
+ if (!validation.valid)
156
+ return;
157
+ const handler = this._intentHandlers.get(frame.intent) ?? this._intentHandlers.get('*');
158
+ if (!handler)
159
+ return;
160
+ const startTime = Date.now();
161
+ const respond = (options) => {
162
+ const latency = options.latency ?? (Date.now() - startTime);
163
+ const resultFrame = createResultFrame({ ...options, nonce: frame.nonce, latency }, this._identity);
164
+ if (this._ws && this._wsConnected) {
165
+ this._ws.send(JSON.stringify({ type: 'result', frame: resultFrame }));
166
+ }
167
+ return resultFrame;
168
+ };
169
+ Promise.resolve(handler(frame, respond)).catch((error) => {
170
+ respond({
171
+ success: false,
172
+ error: error instanceof Error ? error.message : 'Unhandled intent error',
173
+ errorCode: 'INTENT_HANDLER_ERROR',
174
+ });
175
+ });
138
176
  }
139
177
  async send(to, intent, payload, timeoutMs = 30_000) {
140
178
  const frame = createIntentFrame({ intent, from: this._identity.beamId, to, payload }, this._identity);
@@ -163,7 +201,7 @@ export class BeamClient {
163
201
  }
164
202
  async _sendViaHttp(frame) {
165
203
  const baseUrl = this._directoryUrl.replace(/\/$/, '');
166
- const res = await fetch(`${baseUrl}/intents`, {
204
+ const res = await fetch(`${baseUrl}/intents/send`, {
167
205
  method: 'POST',
168
206
  headers: { 'Content-Type': 'application/json' },
169
207
  body: JSON.stringify(frame)
@@ -177,22 +215,6 @@ export class BeamClient {
177
215
  this._intentHandlers.set(intent, handler);
178
216
  return this;
179
217
  }
180
- /**
181
- * Send a natural language message to another agent.
182
- * The receiving agent uses its LLM to interpret and respond.
183
- *
184
- * @example
185
- * const reply = await client.talk(
186
- * 'clara@coppen.beam.directory',
187
- * 'Was weißt du über Chris Schnorrenberg?'
188
- * )
189
- * console.log(reply.message) // Natural language response
190
- * console.log(reply.structured) // Optional structured data
191
- */
192
- /**
193
- * Start a multi-turn conversation thread.
194
- * Returns a Thread object with a `say()` method for follow-ups.
195
- */
196
218
  thread(to, options) {
197
219
  return new BeamThread(this, to, options);
198
220
  }
@@ -203,9 +225,7 @@ export class BeamClient {
203
225
  if (message.length > 32768) {
204
226
  throw new Error('Message exceeds maximum length of 32768 characters');
205
227
  }
206
- const payload = {
207
- message,
208
- };
228
+ const payload = { message };
209
229
  if (options?.context)
210
230
  payload['context'] = options.context;
211
231
  if (options?.language)
@@ -220,16 +240,6 @@ export class BeamClient {
220
240
  raw: result,
221
241
  };
222
242
  }
223
- /**
224
- * Register a natural language handler.
225
- * Convenience wrapper that listens for conversation.message intents.
226
- *
227
- * @example
228
- * client.onTalk(async (message, from, respond) => {
229
- * const answer = await myLLM.generate(message)
230
- * respond(answer)
231
- * })
232
- */
233
243
  onTalk(handler) {
234
244
  this.on('conversation.message', (frame, rawRespond) => {
235
245
  const message = frame.payload?.['message'] ?? '';
@@ -259,14 +269,6 @@ export class BeamClient {
259
269
  }
260
270
  }
261
271
  }
262
- /**
263
- * A multi-turn conversation thread between two agents.
264
- *
265
- * @example
266
- * const chat = client.thread('clara@coppen.beam.directory')
267
- * const r1 = await chat.say('Was weißt du über Chris?')
268
- * const r2 = await chat.say('Und seine Pipeline?') // keeps context
269
- */
270
272
  export class BeamThread {
271
273
  threadId;
272
274
  _client;
@@ -278,7 +280,7 @@ export class BeamThread {
278
280
  this._to = to;
279
281
  this._language = options?.language;
280
282
  this._timeoutMs = options?.timeoutMs ?? 60_000;
281
- this.threadId = crypto.randomUUID();
283
+ this.threadId = BeamIdentity.generateNonce();
282
284
  }
283
285
  async say(message, context) {
284
286
  const result = await this._client.talk(this._to, message, {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/did.d.ts ADDED
@@ -0,0 +1,85 @@
1
+ import { BeamIdentity } from './identity.js';
2
+ export type ServiceEndpointValue = string | string[] | Record<string, unknown>;
3
+ export interface VerificationMethod {
4
+ id: string;
5
+ type: 'Ed25519VerificationKey2020';
6
+ controller: string;
7
+ publicKeyMultibase: string;
8
+ }
9
+ export interface ServiceEndpoint {
10
+ id: string;
11
+ type: string;
12
+ serviceEndpoint: ServiceEndpointValue;
13
+ }
14
+ export interface DIDDocument {
15
+ '@context': string[];
16
+ id: string;
17
+ alsoKnownAs?: string[];
18
+ verificationMethod: VerificationMethod[];
19
+ authentication: string[];
20
+ assertionMethod: string[];
21
+ capabilityInvocation: string[];
22
+ capabilityDelegation: string[];
23
+ service?: ServiceEndpoint[];
24
+ created?: string;
25
+ updated?: string;
26
+ deactivated?: boolean;
27
+ }
28
+ export interface CredentialSubject {
29
+ id: string;
30
+ email?: string;
31
+ domain?: string;
32
+ business?: Record<string, unknown>;
33
+ verified: boolean;
34
+ }
35
+ export interface Proof {
36
+ type: 'Ed25519Signature2020';
37
+ created: string;
38
+ proofPurpose: 'assertionMethod';
39
+ verificationMethod: string;
40
+ proofValue: string;
41
+ publicKeyMultibase: string;
42
+ }
43
+ export interface VerifiableCredential {
44
+ '@context': string[];
45
+ id: string;
46
+ type: string[];
47
+ issuer: string;
48
+ issuanceDate: string;
49
+ credentialSubject: CredentialSubject;
50
+ proof: Proof;
51
+ }
52
+ type BeamDIDConfig = {
53
+ baseUrl: string;
54
+ identity?: BeamIdentity;
55
+ };
56
+ type CreateOptions = {
57
+ beamId?: string;
58
+ publicKey?: string;
59
+ format?: 'personal' | 'org' | 'key';
60
+ createdAt?: string;
61
+ updatedAt?: string;
62
+ };
63
+ export declare class BeamDID {
64
+ private readonly baseUrl;
65
+ private readonly identity?;
66
+ constructor(config: BeamDIDConfig);
67
+ create(options?: CreateOptions): DIDDocument;
68
+ resolve(did: string): Promise<DIDDocument | null>;
69
+ update(document: DIDDocument, patch: Partial<DIDDocument>): DIDDocument;
70
+ deactivate(document: DIDDocument): DIDDocument;
71
+ }
72
+ export declare class CredentialVerifier {
73
+ static verify(vc: VerifiableCredential): boolean;
74
+ }
75
+ export declare class BeamCredentialsClient {
76
+ private readonly baseUrl;
77
+ constructor(baseUrl: string);
78
+ issueEmailVC(beamId: string, email: string): Promise<VerifiableCredential>;
79
+ issueDomainVC(beamId: string, domain: string): Promise<VerifiableCredential>;
80
+ issueBusinessVC(beamId: string, businessInfo: Record<string, unknown>): Promise<VerifiableCredential>;
81
+ verify(vc: VerifiableCredential): boolean;
82
+ private post;
83
+ }
84
+ export {};
85
+ //# sourceMappingURL=did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../src/did.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,4BAA4B,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,oBAAoB,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;IACxC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,iBAAiB,CAAA;IAC/B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,KAAK,EAAE,KAAK,CAAA;CACb;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAgLD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAc;gBAE5B,MAAM,EAAE,aAAa;IAKjC,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW;IA0B1C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAgBvD,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW;IAQvE,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW;CAO/C;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,GAAG,OAAO;CAwBjD;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;gBAEpB,OAAO,EAAE,MAAM;IAIrB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI1E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI3G,MAAM,CAAC,EAAE,EAAE,oBAAoB,GAAG,OAAO;YAI3B,IAAI;CAanB"}