@anam-ai/js-sdk 4.16.0 → 4.17.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/main/AnamClient.d.ts +1 -0
- package/dist/main/AnamClient.d.ts.map +1 -1
- package/dist/main/AnamClient.js +82 -23
- package/dist/main/AnamClient.js.map +1 -1
- package/dist/main/lib/ClientMetrics.d.ts +1 -0
- package/dist/main/lib/ClientMetrics.d.ts.map +1 -1
- package/dist/main/lib/ClientMetrics.js +11 -4
- package/dist/main/lib/ClientMetrics.js.map +1 -1
- package/dist/main/lib/ConnectionMilestones.d.ts +39 -0
- package/dist/main/lib/ConnectionMilestones.d.ts.map +1 -0
- package/dist/main/lib/ConnectionMilestones.js +137 -0
- package/dist/main/lib/ConnectionMilestones.js.map +1 -0
- package/dist/main/lib/constants.js +1 -1
- package/dist/main/modules/SignallingClient.d.ts +3 -1
- package/dist/main/modules/SignallingClient.d.ts.map +1 -1
- package/dist/main/modules/SignallingClient.js +31 -3
- package/dist/main/modules/SignallingClient.js.map +1 -1
- package/dist/main/modules/StreamingClient.d.ts +19 -1
- package/dist/main/modules/StreamingClient.d.ts.map +1 -1
- package/dist/main/modules/StreamingClient.js +211 -24
- package/dist/main/modules/StreamingClient.js.map +1 -1
- package/dist/main/types/AnamPublicClientOptions.d.ts +2 -1
- package/dist/main/types/AnamPublicClientOptions.d.ts.map +1 -1
- package/dist/main/types/ConnectionMilestoneMetricsOptions.d.ts +16 -0
- package/dist/main/types/ConnectionMilestoneMetricsOptions.d.ts.map +1 -0
- package/dist/main/types/ConnectionMilestoneMetricsOptions.js +3 -0
- package/dist/main/types/ConnectionMilestoneMetricsOptions.js.map +1 -0
- package/dist/main/types/index.d.ts +1 -0
- package/dist/main/types/index.d.ts.map +1 -1
- package/dist/main/types/index.js.map +1 -1
- package/dist/module/AnamClient.d.ts +1 -0
- package/dist/module/AnamClient.d.ts.map +1 -1
- package/dist/module/AnamClient.js +82 -23
- package/dist/module/AnamClient.js.map +1 -1
- package/dist/module/lib/ClientMetrics.d.ts +1 -0
- package/dist/module/lib/ClientMetrics.d.ts.map +1 -1
- package/dist/module/lib/ClientMetrics.js +11 -4
- package/dist/module/lib/ClientMetrics.js.map +1 -1
- package/dist/module/lib/ConnectionMilestones.d.ts +39 -0
- package/dist/module/lib/ConnectionMilestones.d.ts.map +1 -0
- package/dist/module/lib/ConnectionMilestones.js +133 -0
- package/dist/module/lib/ConnectionMilestones.js.map +1 -0
- package/dist/module/lib/constants.js +1 -1
- package/dist/module/modules/SignallingClient.d.ts +3 -1
- package/dist/module/modules/SignallingClient.d.ts.map +1 -1
- package/dist/module/modules/SignallingClient.js +31 -3
- package/dist/module/modules/SignallingClient.js.map +1 -1
- package/dist/module/modules/StreamingClient.d.ts +19 -1
- package/dist/module/modules/StreamingClient.d.ts.map +1 -1
- package/dist/module/modules/StreamingClient.js +211 -24
- package/dist/module/modules/StreamingClient.js.map +1 -1
- package/dist/module/types/AnamPublicClientOptions.d.ts +2 -1
- package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -1
- package/dist/module/types/ConnectionMilestoneMetricsOptions.d.ts +16 -0
- package/dist/module/types/ConnectionMilestoneMetricsOptions.d.ts.map +1 -0
- package/dist/module/types/ConnectionMilestoneMetricsOptions.js +2 -0
- package/dist/module/types/ConnectionMilestoneMetricsOptions.js.map +1 -0
- package/dist/module/types/index.d.ts +1 -0
- package/dist/module/types/index.d.ts.map +1 -1
- package/dist/module/types/index.js.map +1 -1
- package/dist/umd/anam.js +1 -1
- package/package.json +2 -1
|
@@ -17,7 +17,7 @@ const SUCCESS_METRIC_POLLING_TIMEOUT_MS = 15000; // After this time we will stop
|
|
|
17
17
|
const STATS_COLLECTION_INTERVAL_MS = 5000;
|
|
18
18
|
const ICE_CANDIDATE_POOL_SIZE = 2; // Optimisation to speed up connection time
|
|
19
19
|
export class StreamingClient {
|
|
20
|
-
constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager) {
|
|
20
|
+
constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager, connectionMilestones) {
|
|
21
21
|
var _a, _b, _c, _d;
|
|
22
22
|
this.peerConnection = null;
|
|
23
23
|
this.connectionReceivedAnswer = false;
|
|
@@ -37,9 +37,14 @@ export class StreamingClient {
|
|
|
37
37
|
this.peerConnectionStatsReportOutputFormat = 'console';
|
|
38
38
|
this.statsCollectionInterval = null;
|
|
39
39
|
this.agentAudioInputStream = null;
|
|
40
|
+
this.firstLocalIceCandidateSent = false;
|
|
41
|
+
this.firstRemoteIceCandidateReceived = false;
|
|
42
|
+
this.firstRemoteIceCandidateApplied = false;
|
|
43
|
+
this.connectionEstablishedMilestoneRecorded = false;
|
|
40
44
|
this.publicEventEmitter = publicEventEmitter;
|
|
41
45
|
this.internalEventEmitter = internalEventEmitter;
|
|
42
46
|
this.toolCallManager = toolCallManager;
|
|
47
|
+
this.connectionMilestones = connectionMilestones;
|
|
43
48
|
this.apiGatewayConfig = options.apiGateway;
|
|
44
49
|
// initialize input audio state
|
|
45
50
|
const { inputAudio } = options;
|
|
@@ -60,7 +65,7 @@ export class StreamingClient {
|
|
|
60
65
|
this.iceTransportPolicy = options.iceTransportPolicy;
|
|
61
66
|
this.rtcConfiguration = options.rtcConfiguration;
|
|
62
67
|
// initialize signalling client
|
|
63
|
-
this.signallingClient = new SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig);
|
|
68
|
+
this.signallingClient = new SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig, this.connectionMilestones);
|
|
64
69
|
// initialize engine API client
|
|
65
70
|
this.engineApiRestClient = new EngineApiRestClient(options.engine.baseUrl, sessionId, this.apiGatewayConfig);
|
|
66
71
|
this.audioDeviceId = options.inputAudio.audioDeviceId;
|
|
@@ -127,12 +132,32 @@ export class StreamingClient {
|
|
|
127
132
|
}
|
|
128
133
|
});
|
|
129
134
|
}
|
|
135
|
+
recordSessionSuccess(detectionMethod) {
|
|
136
|
+
var _a, _b;
|
|
137
|
+
if (this.successMetricFired) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.successMetricFired = true;
|
|
141
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame', {
|
|
142
|
+
detectionMethod,
|
|
143
|
+
});
|
|
144
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.recordSessionSuccess({ detectionMethod });
|
|
145
|
+
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod });
|
|
146
|
+
}
|
|
130
147
|
startSuccessMetricPolling() {
|
|
131
148
|
if (this.successMetricPoller || this.successMetricFired) {
|
|
132
149
|
return;
|
|
133
150
|
}
|
|
134
151
|
const timeoutId = setTimeout(() => {
|
|
152
|
+
var _a, _b;
|
|
135
153
|
if (this.successMetricPoller) {
|
|
154
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame_timeout', {
|
|
155
|
+
timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
|
|
156
|
+
});
|
|
157
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure({
|
|
158
|
+
failureStage: 'first_video_frame',
|
|
159
|
+
timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
|
|
160
|
+
});
|
|
136
161
|
console.warn('No video frames received, there is a problem with the connection.');
|
|
137
162
|
clearInterval(this.successMetricPoller);
|
|
138
163
|
this.successMetricPoller = null;
|
|
@@ -175,8 +200,7 @@ export class StreamingClient {
|
|
|
175
200
|
}
|
|
176
201
|
});
|
|
177
202
|
if (videoDetected && !this.successMetricFired) {
|
|
178
|
-
this.
|
|
179
|
-
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', detectionMethod ? { detectionMethod } : undefined);
|
|
203
|
+
this.recordSessionSuccess(detectionMethod !== null && detectionMethod !== void 0 ? detectionMethod : 'unknown');
|
|
180
204
|
if (this.successMetricPoller) {
|
|
181
205
|
clearInterval(this.successMetricPoller);
|
|
182
206
|
}
|
|
@@ -292,11 +316,14 @@ export class StreamingClient {
|
|
|
292
316
|
}
|
|
293
317
|
}
|
|
294
318
|
startConnection() {
|
|
319
|
+
var _a;
|
|
295
320
|
try {
|
|
296
321
|
if (this.peerConnection) {
|
|
297
322
|
console.error('StreamingClient - startConnection: peer connection already exists');
|
|
298
323
|
return;
|
|
299
324
|
}
|
|
325
|
+
this.resetAttemptScopedMilestoneState();
|
|
326
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('connection_start_requested');
|
|
300
327
|
// start the connection
|
|
301
328
|
this.signallingClient.connect();
|
|
302
329
|
}
|
|
@@ -305,6 +332,12 @@ export class StreamingClient {
|
|
|
305
332
|
this.handleWebrtcFailure(error);
|
|
306
333
|
}
|
|
307
334
|
}
|
|
335
|
+
resetAttemptScopedMilestoneState() {
|
|
336
|
+
this.firstLocalIceCandidateSent = false;
|
|
337
|
+
this.firstRemoteIceCandidateReceived = false;
|
|
338
|
+
this.firstRemoteIceCandidateApplied = false;
|
|
339
|
+
this.connectionEstablishedMilestoneRecorded = false;
|
|
340
|
+
}
|
|
308
341
|
stopConnection() {
|
|
309
342
|
return __awaiter(this, void 0, void 0, function* () {
|
|
310
343
|
yield this.shutdown();
|
|
@@ -335,12 +368,18 @@ export class StreamingClient {
|
|
|
335
368
|
}
|
|
336
369
|
initPeerConnection() {
|
|
337
370
|
return __awaiter(this, void 0, void 0, function* () {
|
|
338
|
-
var _a, _b, _c;
|
|
371
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
372
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('peer_connection_creating');
|
|
339
373
|
this.peerConnection = new RTCPeerConnection(Object.assign(Object.assign({
|
|
340
374
|
// SDK default first (caller's rtcConfiguration may override it)
|
|
341
|
-
iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE }, this.rtcConfiguration), { iceTransportPolicy: (
|
|
375
|
+
iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE }, this.rtcConfiguration), { iceTransportPolicy: (_d = (_c = (_b = this.rtcConfiguration) === null || _b === void 0 ? void 0 : _b.iceTransportPolicy) !== null && _c !== void 0 ? _c : this.iceTransportPolicy) !== null && _d !== void 0 ? _d : undefined,
|
|
342
376
|
// resolved iceServers always wins for its field (preserves backward compat)
|
|
343
377
|
iceServers: this.iceServers }));
|
|
378
|
+
(_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('peer_connection_created', {
|
|
379
|
+
iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE,
|
|
380
|
+
iceServerCount: this.iceServers.length,
|
|
381
|
+
iceTransportPolicy: (_h = (_g = (_f = this.rtcConfiguration) === null || _f === void 0 ? void 0 : _f.iceTransportPolicy) !== null && _g !== void 0 ? _g : this.iceTransportPolicy) !== null && _h !== void 0 ? _h : 'all',
|
|
382
|
+
});
|
|
344
383
|
// set event handlers
|
|
345
384
|
this.peerConnection.onicecandidate = this.onIceCandidate.bind(this);
|
|
346
385
|
this.peerConnection.oniceconnectionstatechange =
|
|
@@ -353,12 +392,18 @@ export class StreamingClient {
|
|
|
353
392
|
// add transceivers
|
|
354
393
|
this.peerConnection.addTransceiver('video', { direction: 'recvonly' });
|
|
355
394
|
if (this.disableInputAudio) {
|
|
395
|
+
(_j = this.connectionMilestones) === null || _j === void 0 ? void 0 : _j.record('microphone_permission_skipped', {
|
|
396
|
+
reason: 'input_audio_disabled',
|
|
397
|
+
});
|
|
356
398
|
this.peerConnection.addTransceiver('audio', { direction: 'recvonly' });
|
|
357
399
|
}
|
|
358
400
|
else {
|
|
359
401
|
this.peerConnection.addTransceiver('audio', { direction: 'sendrecv' });
|
|
360
402
|
// Handle audio setup after transceivers are configured
|
|
361
403
|
if (this.inputAudioStream) {
|
|
404
|
+
(_k = this.connectionMilestones) === null || _k === void 0 ? void 0 : _k.record('input_audio_stream_provided', {
|
|
405
|
+
audioTrackCount: this.inputAudioStream.getAudioTracks().length,
|
|
406
|
+
});
|
|
362
407
|
// User provided an audio stream, set it up immediately
|
|
363
408
|
yield this.setupAudioTrack();
|
|
364
409
|
}
|
|
@@ -374,30 +419,42 @@ export class StreamingClient {
|
|
|
374
419
|
}
|
|
375
420
|
onSignalMessage(signalMessage) {
|
|
376
421
|
return __awaiter(this, void 0, void 0, function* () {
|
|
422
|
+
var _a, _b, _c, _d;
|
|
377
423
|
if (!this.peerConnection) {
|
|
378
424
|
console.error('StreamingClient - onSignalMessage: peerConnection is not initialized');
|
|
379
425
|
return;
|
|
380
426
|
}
|
|
381
427
|
switch (signalMessage.actionType) {
|
|
382
|
-
case SignalMessageAction.ANSWER:
|
|
428
|
+
case SignalMessageAction.ANSWER: {
|
|
429
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('answer_received');
|
|
383
430
|
const answer = signalMessage.payload;
|
|
384
431
|
yield this.peerConnection.setRemoteDescription(answer);
|
|
432
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('remote_description_set');
|
|
385
433
|
this.connectionReceivedAnswer = true;
|
|
386
434
|
// flush the remote buffer
|
|
387
|
-
this.flushRemoteIceCandidateBuffer();
|
|
435
|
+
yield this.flushRemoteIceCandidateBuffer();
|
|
388
436
|
break;
|
|
389
|
-
|
|
437
|
+
}
|
|
438
|
+
case SignalMessageAction.ICE_CANDIDATE: {
|
|
390
439
|
const iceCandidateConfig = signalMessage.payload;
|
|
391
440
|
const candidate = new RTCIceCandidate(iceCandidateConfig);
|
|
441
|
+
if (!this.firstRemoteIceCandidateReceived) {
|
|
442
|
+
this.firstRemoteIceCandidateReceived = true;
|
|
443
|
+
(_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('first_remote_ice_candidate_received', getIceCandidateMilestoneTags(candidate));
|
|
444
|
+
}
|
|
392
445
|
if (this.connectionReceivedAnswer) {
|
|
393
|
-
yield this.
|
|
446
|
+
yield this.addRemoteIceCandidate(candidate);
|
|
394
447
|
}
|
|
395
448
|
else {
|
|
396
449
|
this.remoteIceCandidateBuffer.push(candidate);
|
|
397
450
|
}
|
|
398
451
|
break;
|
|
452
|
+
}
|
|
399
453
|
case SignalMessageAction.END_SESSION:
|
|
400
454
|
const reason = signalMessage.payload;
|
|
455
|
+
(_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
|
|
456
|
+
failureStage: 'server_closed_connection',
|
|
457
|
+
});
|
|
401
458
|
this.publicEventEmitter.emit(AnamEvent.CONNECTION_CLOSED, ConnectionClosedCode.SERVER_CLOSED_CONNECTION, reason);
|
|
402
459
|
// close the peer connection
|
|
403
460
|
this.shutdown();
|
|
@@ -436,11 +493,43 @@ export class StreamingClient {
|
|
|
436
493
|
});
|
|
437
494
|
}
|
|
438
495
|
flushRemoteIceCandidateBuffer() {
|
|
439
|
-
this
|
|
440
|
-
|
|
441
|
-
|
|
496
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
497
|
+
const bufferedCandidates = [...this.remoteIceCandidateBuffer];
|
|
498
|
+
this.remoteIceCandidateBuffer = [];
|
|
499
|
+
for (const candidate of bufferedCandidates) {
|
|
500
|
+
yield this.addRemoteIceCandidate(candidate);
|
|
501
|
+
}
|
|
442
502
|
});
|
|
443
|
-
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Add a single remote ICE candidate to the peer connection.
|
|
506
|
+
* Each candidate is added independently: a rejection on one candidate is
|
|
507
|
+
* logged and swallowed so it cannot abort the flush loop (dropping the
|
|
508
|
+
* remaining buffered candidates) or surface as an unhandled rejection from
|
|
509
|
+
* the ANSWER handler. The "first applied" milestone is only recorded after a
|
|
510
|
+
* genuine, successful add.
|
|
511
|
+
*/
|
|
512
|
+
addRemoteIceCandidate(candidate) {
|
|
513
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
514
|
+
if (!this.peerConnection) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
try {
|
|
518
|
+
yield this.peerConnection.addIceCandidate(candidate);
|
|
519
|
+
this.recordFirstRemoteIceCandidateApplied(candidate);
|
|
520
|
+
}
|
|
521
|
+
catch (error) {
|
|
522
|
+
console.warn('StreamingClient - addRemoteIceCandidate: failed to add remote ICE candidate', error);
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
recordFirstRemoteIceCandidateApplied(candidate) {
|
|
527
|
+
var _a;
|
|
528
|
+
if (this.firstRemoteIceCandidateApplied) {
|
|
529
|
+
return;
|
|
530
|
+
}
|
|
531
|
+
this.firstRemoteIceCandidateApplied = true;
|
|
532
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_remote_ice_candidate_applied', getIceCandidateMilestoneTags(candidate));
|
|
444
533
|
}
|
|
445
534
|
/**
|
|
446
535
|
* ICE Candidate Trickle
|
|
@@ -448,27 +537,68 @@ export class StreamingClient {
|
|
|
448
537
|
* webRTC server immediately in an effort to reduce time to connection.
|
|
449
538
|
*/
|
|
450
539
|
onIceCandidate(event) {
|
|
540
|
+
var _a, _b;
|
|
451
541
|
if (event.candidate) {
|
|
542
|
+
if (!this.firstLocalIceCandidateSent) {
|
|
543
|
+
this.firstLocalIceCandidateSent = true;
|
|
544
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_local_ice_candidate_sent', getIceCandidateMilestoneTags(event.candidate));
|
|
545
|
+
}
|
|
452
546
|
this.signallingClient.sendIceCandidate(event.candidate);
|
|
453
547
|
}
|
|
548
|
+
else {
|
|
549
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_gathering_complete');
|
|
550
|
+
}
|
|
454
551
|
}
|
|
455
552
|
onIceConnectionStateChange() {
|
|
456
|
-
var _a, _b;
|
|
457
|
-
|
|
458
|
-
|
|
553
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
554
|
+
const iceConnectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
|
|
555
|
+
if (iceConnectionState) {
|
|
556
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_connection_state_changed', {
|
|
557
|
+
iceConnectionState,
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.iceConnectionState) === 'connected' ||
|
|
561
|
+
((_d = this.peerConnection) === null || _d === void 0 ? void 0 : _d.iceConnectionState) === 'completed') {
|
|
562
|
+
if (!this.connectionEstablishedMilestoneRecorded) {
|
|
563
|
+
this.connectionEstablishedMilestoneRecorded = true;
|
|
564
|
+
(_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('client_connection_established', {
|
|
565
|
+
iceConnectionState: this.peerConnection.iceConnectionState,
|
|
566
|
+
});
|
|
567
|
+
}
|
|
459
568
|
this.publicEventEmitter.emit(AnamEvent.CONNECTION_ESTABLISHED);
|
|
460
569
|
// Start collecting stats every 5 seconds
|
|
461
570
|
this.startStatsCollection();
|
|
462
571
|
}
|
|
572
|
+
else if (((_f = this.peerConnection) === null || _f === void 0 ? void 0 : _f.iceConnectionState) === 'failed') {
|
|
573
|
+
(_g = this.connectionMilestones) === null || _g === void 0 ? void 0 : _g.publishFailure({
|
|
574
|
+
failureStage: 'ice_connection',
|
|
575
|
+
iceConnectionState: this.peerConnection.iceConnectionState,
|
|
576
|
+
});
|
|
577
|
+
}
|
|
463
578
|
}
|
|
464
579
|
onConnectionStateChange() {
|
|
465
|
-
var _a;
|
|
466
|
-
|
|
580
|
+
var _a, _b, _c, _d, _e;
|
|
581
|
+
const connectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState;
|
|
582
|
+
if (connectionState) {
|
|
583
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('webrtc_connection_state_changed', {
|
|
584
|
+
connectionState,
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.connectionState) === 'failed') {
|
|
588
|
+
(_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
|
|
589
|
+
failureStage: 'webrtc_connection',
|
|
590
|
+
connectionState: this.peerConnection.connectionState,
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
if (((_e = this.peerConnection) === null || _e === void 0 ? void 0 : _e.connectionState) === 'closed') {
|
|
467
594
|
console.error('StreamingClient - onConnectionStateChange: Connection closed');
|
|
468
595
|
this.handleWebrtcFailure('The connection to our servers was lost. Please try again.');
|
|
469
596
|
}
|
|
470
597
|
}
|
|
471
598
|
handleWebrtcFailure(err) {
|
|
599
|
+
var _a, _b;
|
|
600
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('webrtc_failure', getErrorTags(err));
|
|
601
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure(Object.assign({ failureStage: 'webrtc' }, getErrorTags(err)));
|
|
472
602
|
console.error({ message: 'StreamingClient - handleWebrtcFailure: ', err });
|
|
473
603
|
if (err.name === 'NotAllowedError' && err.message === 'Permission denied') {
|
|
474
604
|
this.publicEventEmitter.emit(AnamEvent.CONNECTION_CLOSED, ConnectionClosedCode.MICROPHONE_PERMISSION_DENIED);
|
|
@@ -484,7 +614,9 @@ export class StreamingClient {
|
|
|
484
614
|
}
|
|
485
615
|
}
|
|
486
616
|
onTrackEventHandler(event) {
|
|
617
|
+
var _a, _b;
|
|
487
618
|
if (event.track.kind === 'video') {
|
|
619
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('video_track_received');
|
|
488
620
|
// start polling stats to detect successful video data received
|
|
489
621
|
this.startSuccessMetricPolling();
|
|
490
622
|
this.videoStream = event.streams[0];
|
|
@@ -496,14 +628,12 @@ export class StreamingClient {
|
|
|
496
628
|
// unregister the callback after the first frame
|
|
497
629
|
(_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.cancelVideoFrameCallback(handle);
|
|
498
630
|
this.publicEventEmitter.emit(AnamEvent.VIDEO_PLAY_STARTED);
|
|
499
|
-
|
|
500
|
-
this.successMetricFired = true;
|
|
501
|
-
sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod: 'videoElement' });
|
|
502
|
-
}
|
|
631
|
+
this.recordSessionSuccess('videoElement');
|
|
503
632
|
});
|
|
504
633
|
}
|
|
505
634
|
}
|
|
506
635
|
else if (event.track.kind === 'audio') {
|
|
636
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('audio_track_received');
|
|
507
637
|
this.audioStream = event.streams[0];
|
|
508
638
|
this.publicEventEmitter.emit(AnamEvent.AUDIO_STREAM_STARTED, this.audioStream);
|
|
509
639
|
}
|
|
@@ -513,6 +643,7 @@ export class StreamingClient {
|
|
|
513
643
|
*/
|
|
514
644
|
setupDataChannels() {
|
|
515
645
|
return __awaiter(this, void 0, void 0, function* () {
|
|
646
|
+
var _a;
|
|
516
647
|
if (!this.peerConnection) {
|
|
517
648
|
console.error('StreamingClient - setupDataChannels: peer connection is not initialized');
|
|
518
649
|
return;
|
|
@@ -538,10 +669,16 @@ export class StreamingClient {
|
|
|
538
669
|
const dataChannel = this.peerConnection.createDataChannel('session', {
|
|
539
670
|
ordered: true,
|
|
540
671
|
});
|
|
672
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_created');
|
|
541
673
|
dataChannel.onopen = () => {
|
|
674
|
+
var _a;
|
|
542
675
|
this.dataChannel = dataChannel !== null && dataChannel !== void 0 ? dataChannel : null;
|
|
676
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_open');
|
|
677
|
+
};
|
|
678
|
+
dataChannel.onclose = () => {
|
|
679
|
+
var _a;
|
|
680
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_closed');
|
|
543
681
|
};
|
|
544
|
-
dataChannel.onclose = () => { };
|
|
545
682
|
// pass text message to the message history client
|
|
546
683
|
dataChannel.onmessage = (event) => {
|
|
547
684
|
var _a, _b, _c, _d;
|
|
@@ -600,10 +737,12 @@ export class StreamingClient {
|
|
|
600
737
|
*/
|
|
601
738
|
requestMicrophonePermissionAsync() {
|
|
602
739
|
return __awaiter(this, void 0, void 0, function* () {
|
|
740
|
+
var _a, _b, _c;
|
|
603
741
|
if (this.inputAudioState.permissionState === AudioPermissionState.PENDING) {
|
|
604
742
|
return; // Already requesting
|
|
605
743
|
}
|
|
606
744
|
this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.PENDING });
|
|
745
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('microphone_permission_pending');
|
|
607
746
|
this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_PENDING);
|
|
608
747
|
try {
|
|
609
748
|
const audioConstraints = {
|
|
@@ -619,6 +758,7 @@ export class StreamingClient {
|
|
|
619
758
|
audio: audioConstraints,
|
|
620
759
|
});
|
|
621
760
|
this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.GRANTED });
|
|
761
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('microphone_permission_granted');
|
|
622
762
|
this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_GRANTED);
|
|
623
763
|
// Now add the audio track to the existing connection
|
|
624
764
|
yield this.setupAudioTrack();
|
|
@@ -626,6 +766,7 @@ export class StreamingClient {
|
|
|
626
766
|
catch (error) {
|
|
627
767
|
console.error('Failed to get microphone permission:', error);
|
|
628
768
|
this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.DENIED });
|
|
769
|
+
(_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('microphone_permission_denied', Object.assign({}, getErrorTags(error)));
|
|
629
770
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
630
771
|
this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_DENIED, errorMessage);
|
|
631
772
|
}
|
|
@@ -636,6 +777,7 @@ export class StreamingClient {
|
|
|
636
777
|
*/
|
|
637
778
|
setupAudioTrack() {
|
|
638
779
|
return __awaiter(this, void 0, void 0, function* () {
|
|
780
|
+
var _a;
|
|
639
781
|
if (!this.peerConnection || !this.inputAudioStream) {
|
|
640
782
|
return;
|
|
641
783
|
}
|
|
@@ -672,11 +814,15 @@ export class StreamingClient {
|
|
|
672
814
|
this.peerConnection.addTrack(audioTrack, this.inputAudioStream);
|
|
673
815
|
}
|
|
674
816
|
// pass the stream to the callback
|
|
817
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('input_audio_stream_started', {
|
|
818
|
+
audioTrackCount: this.inputAudioStream.getAudioTracks().length,
|
|
819
|
+
});
|
|
675
820
|
this.publicEventEmitter.emit(AnamEvent.INPUT_AUDIO_STREAM_STARTED, this.inputAudioStream);
|
|
676
821
|
});
|
|
677
822
|
}
|
|
678
823
|
initPeerConnectionAndSendOffer() {
|
|
679
824
|
return __awaiter(this, void 0, void 0, function* () {
|
|
825
|
+
var _a, _b, _c, _d, _e, _f;
|
|
680
826
|
yield this.initPeerConnection();
|
|
681
827
|
if (!this.peerConnection) {
|
|
682
828
|
console.error('StreamingClient - initPeerConnectionAndSendOffer: peer connection is not initialized');
|
|
@@ -684,16 +830,22 @@ export class StreamingClient {
|
|
|
684
830
|
}
|
|
685
831
|
// create offer and set local description
|
|
686
832
|
try {
|
|
833
|
+
(_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('offer_creation_started');
|
|
687
834
|
const offer = yield this.peerConnection.createOffer();
|
|
835
|
+
(_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('offer_creation_completed');
|
|
688
836
|
yield this.peerConnection.setLocalDescription(offer);
|
|
837
|
+
(_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('local_description_set');
|
|
689
838
|
}
|
|
690
839
|
catch (error) {
|
|
691
840
|
console.error('StreamingClient - initPeerConnectionAndSendOffer: error creating offer', error);
|
|
841
|
+
(_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.record('offer_creation_failed', Object.assign({}, getErrorTags(error)));
|
|
842
|
+
(_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.publishFailure(Object.assign({ failureStage: 'offer_creation' }, getErrorTags(error)));
|
|
692
843
|
}
|
|
693
844
|
if (!this.peerConnection.localDescription) {
|
|
694
845
|
throw new Error('StreamingClient - initPeerConnectionAndSendOffer: local description is null');
|
|
695
846
|
}
|
|
696
847
|
yield this.signallingClient.sendOffer(this.peerConnection.localDescription);
|
|
848
|
+
(_f = this.connectionMilestones) === null || _f === void 0 ? void 0 : _f.record('offer_sent');
|
|
697
849
|
});
|
|
698
850
|
}
|
|
699
851
|
shutdown() {
|
|
@@ -753,4 +905,39 @@ export class StreamingClient {
|
|
|
753
905
|
});
|
|
754
906
|
}
|
|
755
907
|
}
|
|
908
|
+
const getIceCandidateMilestoneTags = (candidate) => {
|
|
909
|
+
const safeCandidate = candidate;
|
|
910
|
+
return removeEmptyTags({
|
|
911
|
+
candidateType: safeCandidate.type,
|
|
912
|
+
protocol: safeCandidate.protocol,
|
|
913
|
+
relayProtocol: safeCandidate.relayProtocol,
|
|
914
|
+
tcpType: safeCandidate.tcpType,
|
|
915
|
+
component: safeCandidate.component,
|
|
916
|
+
});
|
|
917
|
+
};
|
|
918
|
+
const getErrorTags = (error) => {
|
|
919
|
+
if (error instanceof Error) {
|
|
920
|
+
return removeEmptyTags({ errorName: error.name });
|
|
921
|
+
}
|
|
922
|
+
if (typeof error === 'object' && error !== null) {
|
|
923
|
+
const possibleError = error;
|
|
924
|
+
return removeEmptyTags({
|
|
925
|
+
errorName: typeof possibleError.name === 'string' ? possibleError.name : undefined,
|
|
926
|
+
errorCode: typeof possibleError.code === 'string' ||
|
|
927
|
+
typeof possibleError.code === 'number'
|
|
928
|
+
? possibleError.code
|
|
929
|
+
: undefined,
|
|
930
|
+
});
|
|
931
|
+
}
|
|
932
|
+
return {};
|
|
933
|
+
};
|
|
934
|
+
const removeEmptyTags = (tags) => {
|
|
935
|
+
const sanitizedTags = {};
|
|
936
|
+
Object.entries(tags).forEach(([key, value]) => {
|
|
937
|
+
if (value !== undefined) {
|
|
938
|
+
sanitizedTags[key] = value;
|
|
939
|
+
}
|
|
940
|
+
});
|
|
941
|
+
return sanitizedTags;
|
|
942
|
+
};
|
|
756
943
|
//# sourceMappingURL=StreamingClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAGnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EAGT,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAElB,aAAa,EAEb,mBAAmB,GAKpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAO/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,iCAAiC,GAAG,KAAK,CAAC,CAAC,+FAA+F;AAChJ,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,uBAAuB,GAAG,CAAC,CAAC,CAAC,2CAA2C;AAE9E,MAAM,OAAO,eAAe;IAoC1B,YACE,SAAiB,EACjB,OAA+B,EAC/B,kBAAsC,EACtC,oBAA0C,EAC1C,eAAgC,EAChC,oBAAwD;;QAjClD,mBAAc,GAA6B,IAAI,CAAC;QAChD,6BAAwB,GAAG,KAAK,CAAC;QACjC,6BAAwB,GAAsB,EAAE,CAAC;QACjD,qBAAgB,GAAuB,IAAI,CAAC;QAC5C,gBAAW,GAA0B,IAAI,CAAC;QAC1C,iBAAY,GAA4B,IAAI,CAAC;QAC7C,gBAAW,GAAuB,IAAI,CAAC;QACvC,gBAAW,GAAuB,IAAI,CAAC;QACvC,oBAAe,GAAoB;YACzC,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,oBAAoB,CAAC,aAAa;SACpD,CAAC;QAGM,wBAAmB,GAA0C,IAAI,CAAC;QAClE,uBAAkB,GAAG,KAAK,CAAC;QAC3B,kCAA6B,GAAY,KAAK,CAAC;QAC/C,0CAAqC,GAAuB,SAAS,CAAC;QACtE,4BAAuB,GAA0C,IAAI,CAAC;QACtE,0BAAqB,GAAiC,IAAI,CAAC;QAG3D,+BAA0B,GAAG,KAAK,CAAC;QACnC,oCAA+B,GAAG,KAAK,CAAC;QACxC,mCAA8B,GAAG,KAAK,CAAC;QACvC,2CAAsC,GAAG,KAAK,CAAC;QAUrD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;QAC3C,+BAA+B;QAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QAClD,IAAI,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,KAAK,IAAI,CAAC;QACvE,0BAA0B;QAC1B,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,eAAe,EAC7B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5C,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,uBAAuB,EACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAChC,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,uCAAuC,EACrD,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,IAAI,CACnD,IAAI,CAAC,eAAe,CACrB,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,yCAAyC,EACvD,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,IAAI,CACrD,IAAI,CAAC,eAAe,CACrB,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,sCAAsC,EACpD,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,IAAI,CAClD,IAAI,CAAC,eAAe,CACrB,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,CACnC,aAAa,CAAC,sBAAsB,EACpC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QACF,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,SAAS,EACT,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,+BAA+B;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAChD,OAAO,CAAC,MAAM,CAAC,OAAO,EACtB,SAAS,EACT,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QACtD,IAAI,CAAC,6BAA6B;YAChC,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,6BAA6B,mCAAI,KAAK,CAAC;QAC1D,IAAI,CAAC,qCAAqC;YACxC,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,qCAAqC,mCAAI,SAAS,CAAC;IACxE,CAAC;IAEO,uBAAuB,CAC7B,QAAyB,EACzB,QAAyB;QAEzB,gCAAgC;QAChC,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB;;QACxB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;;QAC1B,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,GAAS,EAAE;YACpD,IACE,CAAC,IAAI,CAAC,cAAc;gBACpB,CAAC,IAAI,CAAC,WAAW;gBACjB,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,EACtC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;gBACnD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAA,EAAE,4BAA4B,CAAC,CAAC;IACnC,CAAC;IAEO,qBAAqB,CAAC,KAAqB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC,MAAgB,EAAE,EAAE;YACjC,qDAAqD;YACrD,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG;oBACd,YAAY,EAAE,kBAAkB;oBAChC,IAAI,EAAE,MAAM;iBACb,CAAC;gBAEF,oCAAoC;gBACpC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,eAAuB;;QAClD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,mBAAmB,EAAE;YACrD,eAAe;SAChB,CAAC,CAAC;QACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,oBAAoB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;QACrE,gBAAgB,CACd,uBAAuB,CAAC,yCAAyC,EACjE,GAAG,EACH,EAAE,eAAe,EAAE,CACpB,CAAC;IACJ,CAAC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;;YAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,2BAA2B,EAAE;oBAC7D,SAAS,EAAE,iCAAiC;iBAC7C,CAAC,CAAC;gBACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,CAAC;oBACxC,YAAY,EAAE,mBAAmB;oBACjC,SAAS,EAAE,iCAAiC;iBAC7C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CACV,mEAAmE,CACpE,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC,EAAE,iCAAiC,CAAC,CAAC;QAEtC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,GAAS,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACpD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,CAAC;gBACD,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAEnD,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,eAAe,GAAG,IAAI,CAAC;gBAE3B,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBACvB,oCAAoC;oBACpC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC7D,6DAA6D;wBAC7D,IACE,MAAM,CAAC,aAAa,KAAK,SAAS;4BAClC,MAAM,CAAC,aAAa,GAAG,CAAC,EACxB,CAAC;4BACD,aAAa,GAAG,IAAI,CAAC;4BACrB,eAAe,GAAG,eAAe,CAAC;wBACpC,CAAC;6BAAM,IACL,MAAM,CAAC,cAAc,KAAK,SAAS;4BACnC,MAAM,CAAC,cAAc,GAAG,CAAC,EACzB,CAAC;4BACD,aAAa,GAAG,IAAI,CAAC;4BACrB,eAAe,GAAG,gBAAgB,CAAC;wBACrC,CAAC;6BAAM,IACL,MAAM,CAAC,aAAa,GAAG,CAAC;4BACxB,MAAM,CAAC,eAAe,GAAG,CAAC;4BAC1B,uEAAuE;4BACvE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,kBAAkB;0BAChD,CAAC;4BACD,aAAa,GAAG,IAAI,CAAC;4BACrB,eAAe,GAAG,eAAe,CAAC;wBACpC,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,SAAS,CAAC,CAAC;oBACxD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAC1C,CAAC;oBACD,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;QACpB,CAAC,CAAA,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEM,cAAc;QACnB,MAAM,aAAa,GAAoB,IAAI,CAAC,eAAe,CAAC;QAC5D,MAAM,aAAa,mCACd,IAAI,CAAC,eAAe,KACvB,OAAO,EAAE,IAAI,GACd,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,gBAAgB;QACrB,MAAM,aAAa,GAAoB,IAAI,CAAC,eAAe,CAAC;QAC5D,MAAM,aAAa,mCACd,IAAI,CAAC,eAAe,KACvB,OAAO,EAAE,KAAK,GACf,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEY,sBAAsB,CAAC,QAAgB;;YAClD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAE9C,IAAI,CAAC;gBACH,uCAAuC;gBACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACvD,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,kDAAkD;gBAClD,MAAM,gBAAgB,GAA0B;oBAC9C,gBAAgB,EAAE,IAAI;oBACtB,QAAQ,EAAE;wBACR,KAAK,EAAE,QAAQ;qBAChB;iBACF,CAAC;gBAEF,IAAI,CAAC,gBAAgB,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;oBAChE,KAAK,EAAE,gBAAgB;iBACxB,CAAC,CAAC;gBAEH,8BAA8B;gBAC9B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gBAE9B,iDAAiD;gBACjD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAE7B,yBAAyB;gBACzB,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC;gBAED,mDAAmD;gBACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,0BAA0B,EACpC,QAAQ,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,wBAAwB,CAC9B,OAAsC;QAEtC,MAAM,OAAO,GAA2B;YACtC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,0BAA0B,EAAE,OAAO,CAAC,uBAAuB;YAC3D,qBAAqB,EAAE,OAAO,CAAC,mBAAmB;SACnD,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAEM,eAAe,CAAC,OAAe;QACpC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEM,wBAAwB,CAAC,cAAsB;QACpD,2BAA2B;QAC3B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,0CAA0C,cAAc,YAAY,CACrE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,YAAgC,CAAC;QACvD,CAAC;IACH,CAAC;IAEM,eAAe;;QACpB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,mEAAmE,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACxC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAChE,uBAAuB;YACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,gCAAgC;QACtC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,sCAAsC,GAAG,KAAK,CAAC;IACtD,CAAC;IAEY,cAAc;;YACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;KAAA;IAEY,eAAe,CAAC,OAAe;;YAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;KAAA;IAEM,sBAAsB,CAAC,aAAsB;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,qCAAqC;YACrC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,iBAAiB,CAC1B,aAAa,EACb,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAEM,2BAA2B,CAChC,MAA6B;QAE7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CACpD,MAAM,EACN,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEM,wBAAwB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEa,kBAAkB;;;YAC9B,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB;gBACzC,gEAAgE;gBAChE,oBAAoB,EAAE,uBAAuB,IAE1C,IAAI,CAAC,gBAAgB,KACxB,kBAAkB,EAChB,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,kBAAkB,mCACzC,IAAI,CAAC,kBAAkB,mCACvB,SAAS;gBACX,4EAA4E;gBAC5E,UAAU,EAAE,IAAI,CAAC,UAAU,IAC3B,CAAC;YACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,yBAAyB,EAAE;gBAC3D,oBAAoB,EAAE,uBAAuB;gBAC7C,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACtC,kBAAkB,EAChB,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,kBAAkB,mCACzC,IAAI,CAAC,kBAAkB,mCACvB,KAAK;aACR,CAAC,CAAC;YACH,qBAAqB;YACrB,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,cAAc,CAAC,0BAA0B;gBAC5C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,uBAAuB;gBACzC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAClC,OAAO,EACP,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAC;YAEF,uBAAuB;YACvB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,mBAAmB;YACnB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,+BAA+B,EAAE;oBACjE,MAAM,EAAE,sBAAsB;iBAC/B,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEvE,uDAAuD;gBACvD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,6BAA6B,EAAE;wBAC/D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,MAAM;qBAC/D,CAAC,CAAC;oBACH,uDAAuD;oBACvD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,qEAAqE;oBACrE,6DAA6D;oBAC7D,IAAI,CAAC,gCAAgC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACtD,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;oBACtE,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEa,eAAe,CAAC,aAA4B;;;YACxD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACX,sEAAsE,CACvE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,QAAQ,aAAa,CAAC,UAAU,EAAE,CAAC;gBACjC,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAoC,CAAC;oBAClE,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBAC3C,MAAM;gBACR,CAAC;gBACD,KAAK,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvC,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAA8B,CAAC;oBACxE,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBAC1D,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;wBAC1C,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;wBAC5C,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAC/B,qCAAqC,EACrC,4BAA4B,CAAC,SAAS,CAAC,CACxC,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;wBAClC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAChD,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,mBAAmB,CAAC,WAAW;oBAClC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAiB,CAAC;oBAC/C,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,CAAC;wBACxC,YAAY,EAAE,0BAA0B;qBACzC,CAAC,CAAC;oBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,oBAAoB,CAAC,wBAAwB,EAC7C,MAAM,CACP,CAAC;oBACF,4BAA4B;oBAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,MAAM;gBACR,KAAK,mBAAmB,CAAC,OAAO;oBAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAiB,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAC;oBACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,mBAAmB,CAAC,uBAAuB;oBAC9C,MAAM,WAAW,GACf,aAAa,CAAC,OAA6C,CAAC;oBAC9D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,uBAAuB,EACjC,WAAW,CAAC,aAAa,CAC1B,CAAC;oBACF,MAAM;gBACR,KAAK,mBAAmB,CAAC,aAAa;oBACpC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAmB,CAAC;oBACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;oBACjE,MAAM;gBACR,KAAK,mBAAmB,CAAC,SAAS;oBAChC,MAAM;gBACR;oBACE,OAAO,CAAC,IAAI,CACV,oHAAoH,EACpH,aAAa,CACd,CAAC;YACN,CAAC;QACH,CAAC;KAAA;IAEa,2BAA2B;;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBAC9C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CACX,mFAAmF,EACnF,GAAG,CACJ,CAAC;oBACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEa,6BAA6B;;YACzC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC9D,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAED;;;;;;;OAOG;IACW,qBAAqB,CAAC,SAA0B;;YAC5D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,6EAA6E,EAC7E,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAEO,oCAAoC,CAAC,SAA0B;;QACrE,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAC/B,oCAAoC,EACpC,4BAA4B,CAAC,SAAS,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,KAAgC;;QACrD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACrC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACvC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAC/B,gCAAgC,EAChC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,CAC9C,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,0BAA0B;;QAChC,MAAM,kBAAkB,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,CAAC;QACnE,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,8BAA8B,EAAE;gBAChE,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC;QACD,IACE,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,MAAK,WAAW;YACvD,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,MAAK,WAAW,EACvD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC;gBACjD,IAAI,CAAC,sCAAsC,GAAG,IAAI,CAAC;gBACnD,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,+BAA+B,EAAE;oBACjE,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;iBAC3D,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAC/D,yCAAyC;YACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,MAAK,QAAQ,EAAE,CAAC;YAChE,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,CAAC;gBACxC,YAAY,EAAE,gBAAgB;gBAC9B,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;aAC3D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,uBAAuB;;QAC7B,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,eAAe,CAAC;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,iCAAiC,EAAE;gBACnE,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,eAAe,MAAK,QAAQ,EAAE,CAAC;YACtD,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,CAAC;gBACxC,YAAY,EAAE,mBAAmB;gBACjC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe;aACrD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,eAAe,MAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CACX,8DAA8D,CAC/D,CAAC;YACF,IAAI,CAAC,mBAAmB,CACtB,2DAA2D,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAQ;;QAClC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,iBACvC,YAAY,EAAE,QAAQ,IACnB,YAAY,CAAC,GAAG,CAAC,EACpB,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAC1E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,oBAAoB,CAAC,4BAA4B,CAClD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,oBAAoB,CAAC,cAAc,CACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,kEAAkE,EAClE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAoB;;QAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC1D,+DAA+D;YAC/D,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,oBAAoB,EAC9B,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,GAAG,EAAE;;oBAC9D,gDAAgD;oBAChD,MAAA,IAAI,CAAC,YAAY,0CAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;oBAC3D,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,oBAAoB,EAC9B,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IACD;;OAEG;IACW,iBAAiB;;;YAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACX,yEAAyE,CAC1E,CAAC;gBACF,OAAO;YACT,CAAC;YAED;;;;;eAKG;YACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrD,mDAAmD;gBACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;;;;;eAKG;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE;gBACnE,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC1D,WAAW,CAAC,MAAM,GAAG,GAAG,EAAE;;gBACxB,IAAI,CAAC,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC;gBACvC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACzD,CAAC,CAAC;YACF,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE;;gBACzB,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC3D,CAAC,CAAC;YACF,kDAAkD;YAClD,WAAW,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;;gBAChC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAEvC,6BAA6B;oBAC7B,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC5B,KAAK,kBAAkB,CAAC,WAAW;4BACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,4BAA4B,EAC1C,OAAO,CAAC,IAA8B,CACvC,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,iBAAiB;4BACvC,4HAA4H;4BAC5H,iKAAiK;4BACjK,MAAM,eAAe,GAAG,OAAO,CAAC,IAA6B,CAAC;4BAE9D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,iCAAiC,EAC/C,eAAe,CAChB,CAAC;4BACF,MAAM,eAAe,GACnB,eAAe,CAAC,sCAAsC,CACpD,eAAe,CAChB,CAAC;4BACJ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,0BAA0B,EACpC,eAAe,CAChB,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,uBAAuB;4BAC7C,MAAM,0BAA0B,GAC9B,OAAO,CAAC,IAAkC,CAAC;4BAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,IAAI,CAAC,eAAe,CAAC,kDAAkD,CACrE,0BAA0B,CAC3B,CACF,CAAC;4BACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,uCAAuC,EACrD,0BAA0B,CAC3B,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,yBAAyB;4BAC/C,MAAM,4BAA4B,GAChC,OAAO,CAAC,IAAoC,CAAC;4BAC/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,mBAAmB,EAC7B,IAAI,CAAC,eAAe,CAAC,sDAAsD,CACzE,4BAA4B,CAC7B,CACF,CAAC;4BACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,yCAAyC,EACvD,4BAA4B,CAC7B,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,sBAAsB;4BAC5C,MAAM,yBAAyB,GAC7B,OAAO,CAAC,IAAiC,CAAC;4BAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,gBAAgB,EAC1B,IAAI,CAAC,eAAe,CAAC,gDAAgD,CACnE,yBAAyB,CAC1B,CACF,CAAC;4BACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,sCAAsC,EACpD,yBAAyB,CAC1B,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,cAAc;4BACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,aAAa,CAAC,sCAAsC,EACpD,OAAO,CAAC,IAAuC,CAChD,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,mBAAmB;4BACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,mBAAmB,EAC7B,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,0BAA0B,mCAAI,SAAS,CACtD,CAAC;4BACF,MAAM;wBACR,KAAK,kBAAkB,CAAC,iBAAiB;4BACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,0BAA0B,mCAAI,SAAS,CACtD,CAAC;4BACF,MAAM;wBACR,+EAA+E;wBAC/E;4BACE,MAAM;oBACV,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;KAAA;IAED;;OAEG;IACW,gCAAgC;;;YAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;gBAC1E,OAAO,CAAC,qBAAqB;YAC/B,CAAC;YAED,IAAI,CAAC,eAAe,mCACf,IAAI,CAAC,eAAe,KACvB,eAAe,EAAE,oBAAoB,CAAC,OAAO,GAC9C,CAAC;YAEF,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,+BAA+B,CAAC,CAAC;YACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAE/D,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAA0B;oBAC9C,gBAAgB,EAAE,IAAI;iBACvB,CAAC;gBAEF,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,gBAAgB,CAAC,QAAQ,GAAG;wBAC1B,KAAK,EAAE,IAAI,CAAC,aAAa;qBAC1B,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,gBAAgB,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;oBAChE,KAAK,EAAE,gBAAgB;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,eAAe,mCACf,IAAI,CAAC,eAAe,KACvB,eAAe,EAAE,oBAAoB,CAAC,OAAO,GAC9C,CAAC;gBAEF,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,+BAA+B,CAAC,CAAC;gBACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;gBAE/D,qDAAqD;gBACrD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC7D,IAAI,CAAC,eAAe,mCACf,IAAI,CAAC,eAAe,KACvB,eAAe,EAAE,oBAAoB,CAAC,MAAM,GAC7C,CAAC;gBAEF,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,8BAA8B,oBAC3D,YAAY,CAAC,KAAK,CAAC,EACtB,CAAC;gBACH,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,qBAAqB,EAC/B,YAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACW,eAAe;;;YAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,qCAAqC;YACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;gBACnD,OAAO,CAAC,KAAK,CACX,sEAAsE,CACvE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,6DAA6D;YAC7D,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;YAE7D,wBAAwB;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CACtC,CAAC,MAAM,EAAE,EAAE;;gBACT,OAAA,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,MAAK,OAAO;oBAC9B,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;aAAA,CAClD,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,8DAA8D;gBAC9D,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;oBACvD,+BAA+B;oBAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAClE,CAAC;YAED,kCAAkC;YAClC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,4BAA4B,EAAE;gBAC9D,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,MAAM;aAC/D,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC1B,SAAS,CAAC,0BAA0B,EACpC,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACJ,CAAC;KAAA;IAEa,8BAA8B;;;YAC1C,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACX,sFAAsF,CACvF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC;gBACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBAC5D,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,wEAAwE,EACxE,KAAK,CACN,CAAC;gBACF,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,uBAAuB,oBACpD,YAAY,CAAC,KAAK,CAAC,EACtB,CAAC;gBACH,MAAA,IAAI,CAAC,oBAAoB,0CAAE,cAAc,iBACvC,YAAY,EAAE,gBAAgB,IAC3B,YAAY,CAAC,KAAK,CAAC,EACtB,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC5E,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;KAAA;IAEa,QAAQ;;;YACpB,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,EAAE,CAAA,CAAC;gBACpD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,oBAAoB,CACjC,KAAK,EACL,IAAI,CAAC,qCAAqC,CAC3C,CAAC;oBACF,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,wBAAwB;YACxB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACjC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACtC,CAAC;YACD,4BAA4B;YAC5B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAEhC,8BAA8B;YAC9B,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAClD,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,+DAA+D,EAC/D,KAAK,CACN,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,wDAAwD,EACxD,KAAK,CACN,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC;gBACH,IACE,IAAI,CAAC,cAAc;oBACnB,IAAI,CAAC,cAAc,CAAC,eAAe,KAAK,QAAQ,EAChD,CAAC;oBACD,IAAI,CAAC,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACnD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF;AAED,MAAM,4BAA4B,GAAG,CACnC,SAA0B,EACO,EAAE;IACnC,MAAM,aAAa,GAAG,SAMrB,CAAC;IAEF,OAAO,eAAe,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC,IAAI;QACjC,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,aAAa,EAAE,aAAa,CAAC,aAAa;QAC1C,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;KACnC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAmC,EAAE;IACvE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,KAA2C,CAAC;QAClE,OAAO,eAAe,CAAC;YACrB,SAAS,EACP,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACzE,SAAS,EACP,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;gBACtC,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ;gBACpC,CAAC,CAAC,aAAa,CAAC,IAAI;gBACpB,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,IAAiD,EAChB,EAAE;IACnC,MAAM,aAAa,GAAoC,EAAE,CAAC;IAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ApiOptions } from '../types';
|
|
2
|
+
import { ConnectionMilestoneMetricsOptions } from './ConnectionMilestoneMetricsOptions';
|
|
2
3
|
import { VoiceDetectionOptions } from './VoiceDetectionOptions';
|
|
3
4
|
export interface AnamPublicClientOptions {
|
|
4
5
|
api?: ApiOptions;
|
|
5
6
|
voiceDetection?: VoiceDetectionOptions;
|
|
6
7
|
audioDeviceId?: string;
|
|
7
8
|
disableInputAudio?: boolean;
|
|
8
|
-
metrics?: {
|
|
9
|
+
metrics?: ConnectionMilestoneMetricsOptions & {
|
|
9
10
|
showPeerConnectionStatsReport?: boolean;
|
|
10
11
|
peerConnectionStatsReportOutputFormat?: 'console' | 'json';
|
|
11
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnamPublicClientOptions.d.ts","sourceRoot":"","sources":["../../../src/types/AnamPublicClientOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"AnamPublicClientOptions.d.ts","sourceRoot":"","sources":["../../../src/types/AnamPublicClientOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,iCAAiC,GAAG;QAC5C,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,qCAAqC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QAC3D;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ConnectionMilestoneMetricsOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Ratio of successful normal connection attempts that should publish detailed
|
|
4
|
+
* connection milestones. Failed and slow attempts are published regardless.
|
|
5
|
+
* Values are clamped to the 0-1 range.
|
|
6
|
+
* @default 0
|
|
7
|
+
*/
|
|
8
|
+
connectionMilestoneSampleRatio?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Successful attempts with total connection setup time at or above this
|
|
11
|
+
* threshold publish detailed connection milestones even when not sampled.
|
|
12
|
+
* @default 5000
|
|
13
|
+
*/
|
|
14
|
+
slowConnectionThresholdMs?: number;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ConnectionMilestoneMetricsOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionMilestoneMetricsOptions.d.ts","sourceRoot":"","sources":["../../../src/types/ConnectionMilestoneMetricsOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC"}
|