livekit-client 0.11.2 → 0.13.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.
Files changed (87) hide show
  1. package/.eslintrc.js +1 -0
  2. package/.github/workflows/publish.yaml +1 -3
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +21 -1
  5. package/dist/api/SignalClient.d.ts +10 -7
  6. package/dist/api/SignalClient.js +19 -10
  7. package/dist/api/SignalClient.js.map +1 -1
  8. package/dist/connect.d.ts +23 -0
  9. package/dist/connect.js +93 -0
  10. package/dist/connect.js.map +1 -0
  11. package/dist/index.d.ts +4 -2
  12. package/dist/index.js +4 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/options.d.ts +5 -3
  15. package/dist/options.js.map +1 -1
  16. package/dist/proto/livekit_models.d.ts +68 -54
  17. package/dist/proto/livekit_models.js +324 -362
  18. package/dist/proto/livekit_models.js.map +1 -1
  19. package/dist/proto/livekit_rtc.d.ts +31 -61
  20. package/dist/proto/livekit_rtc.js +177 -356
  21. package/dist/proto/livekit_rtc.js.map +1 -1
  22. package/dist/room/DeviceManager.d.ts +10 -0
  23. package/dist/room/DeviceManager.js +77 -0
  24. package/dist/room/DeviceManager.js.map +1 -0
  25. package/dist/room/PCTransport.d.ts +5 -0
  26. package/dist/room/PCTransport.js +43 -0
  27. package/dist/room/PCTransport.js.map +1 -1
  28. package/dist/room/RTCEngine.d.ts +21 -15
  29. package/dist/room/RTCEngine.js +122 -87
  30. package/dist/room/RTCEngine.js.map +1 -1
  31. package/dist/room/Room.d.ts +47 -3
  32. package/dist/room/Room.js +167 -10
  33. package/dist/room/Room.js.map +1 -1
  34. package/dist/room/defaults.d.ts +3 -0
  35. package/dist/room/defaults.js +13 -0
  36. package/dist/room/defaults.js.map +1 -0
  37. package/dist/room/events.d.ts +26 -3
  38. package/dist/room/events.js +25 -2
  39. package/dist/room/events.js.map +1 -1
  40. package/dist/room/participant/LocalParticipant.d.ts +32 -9
  41. package/dist/room/participant/LocalParticipant.js +165 -60
  42. package/dist/room/participant/LocalParticipant.js.map +1 -1
  43. package/dist/room/participant/Participant.d.ts +14 -0
  44. package/dist/room/participant/Participant.js +39 -0
  45. package/dist/room/participant/Participant.js.map +1 -1
  46. package/dist/room/participant/RemoteParticipant.d.ts +2 -0
  47. package/dist/room/participant/RemoteParticipant.js +14 -0
  48. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  49. package/dist/room/track/LocalAudioTrack.d.ts +3 -0
  50. package/dist/room/track/LocalAudioTrack.js +37 -0
  51. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  52. package/dist/room/track/LocalTrack.d.ts +6 -2
  53. package/dist/room/track/LocalTrack.js +49 -6
  54. package/dist/room/track/LocalTrack.js.map +1 -1
  55. package/dist/room/track/LocalTrackPublication.d.ts +6 -3
  56. package/dist/room/track/LocalTrackPublication.js +21 -2
  57. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  58. package/dist/room/track/LocalVideoTrack.d.ts +3 -2
  59. package/dist/room/track/LocalVideoTrack.js +34 -5
  60. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  61. package/dist/room/track/RemoteAudioTrack.d.ts +2 -0
  62. package/dist/room/track/RemoteAudioTrack.js +8 -0
  63. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  64. package/dist/room/track/RemoteVideoTrack.d.ts +1 -0
  65. package/dist/room/track/RemoteVideoTrack.js +6 -1
  66. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  67. package/dist/room/track/Track.d.ts +14 -2
  68. package/dist/room/track/Track.js +42 -0
  69. package/dist/room/track/Track.js.map +1 -1
  70. package/dist/room/track/TrackPublication.d.ts +1 -0
  71. package/dist/room/track/TrackPublication.js +2 -0
  72. package/dist/room/track/TrackPublication.js.map +1 -1
  73. package/dist/room/track/create.d.ts +23 -0
  74. package/dist/room/track/create.js +166 -0
  75. package/dist/room/track/create.js.map +1 -0
  76. package/dist/room/track/options.d.ts +47 -17
  77. package/dist/room/track/options.js +11 -6
  78. package/dist/room/track/options.js.map +1 -1
  79. package/dist/version.d.ts +2 -2
  80. package/dist/version.js +2 -2
  81. package/example/index.html +51 -20
  82. package/example/sample.ts +204 -75
  83. package/example/webpack.config.js +8 -2
  84. package/package.json +11 -10
  85. package/dist/livekit.d.ts +0 -42
  86. package/dist/livekit.js +0 -194
  87. package/dist/livekit.js.map +0 -1
@@ -14,8 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const loglevel_1 = __importDefault(require("loglevel"));
16
16
  const livekit_rtc_1 = require("../../proto/livekit_rtc");
17
+ const defaults_1 = require("../defaults");
17
18
  const errors_1 = require("../errors");
18
19
  const events_1 = require("../events");
20
+ const create_1 = require("../track/create");
19
21
  const LocalAudioTrack_1 = __importDefault(require("../track/LocalAudioTrack"));
20
22
  const LocalTrackPublication_1 = __importDefault(require("../track/LocalTrackPublication"));
21
23
  const LocalVideoTrack_1 = __importDefault(require("../track/LocalVideoTrack"));
@@ -57,10 +59,117 @@ class LocalParticipant extends Participant_1.default {
57
59
  options_1.VideoPresets43.hd,
58
60
  options_1.VideoPresets43.fhd,
59
61
  ];
62
+ this.presetsScreenShare = [
63
+ options_1.ScreenSharePresets.vga,
64
+ options_1.ScreenSharePresets.hd_8,
65
+ options_1.ScreenSharePresets.hd_15,
66
+ options_1.ScreenSharePresets.fhd_15,
67
+ options_1.ScreenSharePresets.fhd_30,
68
+ ];
60
69
  this.audioTracks = new Map();
61
70
  this.videoTracks = new Map();
62
71
  this.tracks = new Map();
63
72
  this.engine = engine;
73
+ this.engine.on(events_1.EngineEvent.RemoteMuteChanged, (trackSid, muted) => {
74
+ const pub = this.tracks.get(trackSid);
75
+ if (!pub || !pub.track) {
76
+ return;
77
+ }
78
+ if (muted) {
79
+ pub.mute();
80
+ }
81
+ else {
82
+ pub.unmute();
83
+ }
84
+ });
85
+ }
86
+ getTrack(source) {
87
+ const track = super.getTrack(source);
88
+ if (track) {
89
+ return track;
90
+ }
91
+ }
92
+ getTrackByName(name) {
93
+ const track = super.getTrackByName(name);
94
+ if (track) {
95
+ return track;
96
+ }
97
+ }
98
+ /**
99
+ * Enable or disable a participant's camera track.
100
+ *
101
+ * If a track has already published, it'll mute or unmute the track.
102
+ */
103
+ setCameraEnabled(enabled) {
104
+ return this.setTrackEnabled(Track_1.Track.Source.Camera, enabled);
105
+ }
106
+ get isCameraEnabled() {
107
+ var _a;
108
+ const track = this.getTrack(Track_1.Track.Source.Camera);
109
+ return !((_a = track === null || track === void 0 ? void 0 : track.isMuted) !== null && _a !== void 0 ? _a : true);
110
+ }
111
+ /**
112
+ * Enable or disable a participant's microphone track.
113
+ *
114
+ * If a track has already published, it'll mute or unmute the track.
115
+ */
116
+ setMicrophoneEnabled(enabled) {
117
+ return this.setTrackEnabled(Track_1.Track.Source.Microphone, enabled);
118
+ }
119
+ get isMicrophoneEnabled() {
120
+ var _a;
121
+ const track = this.getTrack(Track_1.Track.Source.Microphone);
122
+ return !((_a = track === null || track === void 0 ? void 0 : track.isMuted) !== null && _a !== void 0 ? _a : true);
123
+ }
124
+ /**
125
+ * Start or stop sharing a participant's screen
126
+ */
127
+ setScreenShareEnabled(enabled) {
128
+ return this.setTrackEnabled(Track_1.Track.Source.ScreenShare, enabled);
129
+ }
130
+ get isScreenShareEnabled() {
131
+ const track = this.getTrack(Track_1.Track.Source.ScreenShare);
132
+ return !!track;
133
+ }
134
+ /**
135
+ * Enable or disable publishing for a track by source. This serves as a simple
136
+ * way to manage the common tracks (camera, mic, or screen share)
137
+ */
138
+ setTrackEnabled(source, enabled) {
139
+ return __awaiter(this, void 0, void 0, function* () {
140
+ const track = this.getTrack(source);
141
+ if (enabled) {
142
+ if (track) {
143
+ yield track.unmute();
144
+ }
145
+ else {
146
+ let localTrack;
147
+ switch (source) {
148
+ case Track_1.Track.Source.Camera:
149
+ localTrack = yield create_1.createLocalVideoTrack();
150
+ break;
151
+ case Track_1.Track.Source.Microphone:
152
+ localTrack = yield create_1.createLocalAudioTrack();
153
+ break;
154
+ case Track_1.Track.Source.ScreenShare:
155
+ [localTrack] = yield create_1.createLocalScreenTracks({ audio: false });
156
+ break;
157
+ default:
158
+ throw new errors_1.TrackInvalidError(source);
159
+ }
160
+ yield this.publishTrack(localTrack);
161
+ }
162
+ }
163
+ else if (track && track.track) {
164
+ // screenshare cannot be muted, unpublish instead
165
+ if (source === Track_1.Track.Source.ScreenShare) {
166
+ this.unpublishTrack(track.track);
167
+ }
168
+ else {
169
+ yield track.mute();
170
+ }
171
+ }
172
+ });
64
173
  }
65
174
  /**
66
175
  * Publish a new track to the room
@@ -68,7 +177,10 @@ class LocalParticipant extends Participant_1.default {
68
177
  * @param options
69
178
  */
70
179
  publishTrack(track, options) {
180
+ var _a, _b, _c, _d, _e;
71
181
  return __awaiter(this, void 0, void 0, function* () {
182
+ const opts = {};
183
+ Object.assign(opts, defaults_1.getTrackDefaults(), options);
72
184
  // convert raw media track into audio or video track
73
185
  if (track instanceof MediaStreamTrack) {
74
186
  switch (track.kind) {
@@ -94,6 +206,9 @@ class LocalParticipant extends Participant_1.default {
94
206
  });
95
207
  if (existingPublication)
96
208
  return existingPublication;
209
+ if (opts.source) {
210
+ track.source = opts.source;
211
+ }
97
212
  // handle track actions
98
213
  track.on(events_1.TrackEvent.Muted, this.onTrackMuted);
99
214
  track.on(events_1.TrackEvent.Unmuted, this.onTrackUnmuted);
@@ -108,6 +223,8 @@ class LocalParticipant extends Participant_1.default {
108
223
  name: track.name,
109
224
  type: Track_1.Track.kindToProto(track.kind),
110
225
  muted: track.isMuted,
226
+ source: Track_1.Track.sourceToProto(track.source),
227
+ disableDtx: !((_a = opts === null || opts === void 0 ? void 0 : opts.dtx) !== null && _a !== void 0 ? _a : true),
111
228
  });
112
229
  if (track.dimensions) {
113
230
  req.width = track.dimensions.width;
@@ -121,12 +238,14 @@ class LocalParticipant extends Participant_1.default {
121
238
  if (track.kind === Track_1.Track.Kind.Video) {
122
239
  // TODO: support react native, which doesn't expose getSettings
123
240
  const settings = track.mediaStreamTrack.getSettings();
124
- encodings = this.computeVideoEncodings(settings.width, settings.height, options);
241
+ const width = (_b = settings.width) !== null && _b !== void 0 ? _b : (_c = track.dimensions) === null || _c === void 0 ? void 0 : _c.width;
242
+ const height = (_d = settings.height) !== null && _d !== void 0 ? _d : (_e = track.dimensions) === null || _e === void 0 ? void 0 : _e.height;
243
+ encodings = this.computeVideoEncodings(track.source === Track_1.Track.Source.ScreenShare, width, height, opts);
125
244
  }
126
- else if (track.kind === Track_1.Track.Kind.Audio && (options === null || options === void 0 ? void 0 : options.audioBitrate)) {
245
+ else if (track.kind === Track_1.Track.Kind.Audio && opts.audioBitrate) {
127
246
  encodings = [
128
247
  {
129
- maxBitrate: options === null || options === void 0 ? void 0 : options.audioBitrate,
248
+ maxBitrate: opts.audioBitrate,
130
249
  },
131
250
  ];
132
251
  }
@@ -139,13 +258,14 @@ class LocalParticipant extends Participant_1.default {
139
258
  transceiverInit.sendEncodings = encodings;
140
259
  }
141
260
  const transceiver = this.engine.publisher.pc.addTransceiver(track.mediaStreamTrack, transceiverInit);
261
+ this.engine.negotiate();
142
262
  // store RTPSender
143
263
  track.sender = transceiver.sender;
144
264
  if (track instanceof LocalVideoTrack_1.default) {
145
265
  track.startMonitor(this.engine.client);
146
266
  }
147
- if (options === null || options === void 0 ? void 0 : options.videoCodec) {
148
- this.setPreferredCodec(transceiver, track.kind, options.videoCodec);
267
+ if (opts.videoCodec) {
268
+ this.setPreferredCodec(transceiver, track.kind, opts.videoCodec);
149
269
  }
150
270
  this.addTrackPublication(publication);
151
271
  // send event for publication
@@ -180,6 +300,7 @@ class LocalParticipant extends Participant_1.default {
180
300
  if (sender.track === mediaStreamTrack) {
181
301
  try {
182
302
  (_a = this.engine.publisher) === null || _a === void 0 ? void 0 : _a.pc.removeTrack(sender);
303
+ this.engine.negotiate();
183
304
  }
184
305
  catch (e) {
185
306
  loglevel_1.default.warn('unpublishTrack', 'failed to remove track', e);
@@ -214,23 +335,6 @@ class LocalParticipant extends Participant_1.default {
214
335
  get publisherMetrics() {
215
336
  return null;
216
337
  }
217
- /** @internal */
218
- updateInfo(info) {
219
- super.updateInfo(info);
220
- // match local track mute status to server
221
- info.tracks.forEach((ti) => {
222
- const pub = this.tracks.get(ti.sid);
223
- if (!pub) {
224
- return;
225
- }
226
- if (ti.muted && !pub.isMuted) {
227
- pub.mute();
228
- }
229
- else if (!ti.muted && pub.isMuted) {
230
- pub.unmute();
231
- }
232
- });
233
- }
234
338
  /**
235
339
  * Publish a new data payload to the room. Data will be forwarded to each
236
340
  * participant in the room if the destination argument is empty
@@ -243,35 +347,28 @@ class LocalParticipant extends Participant_1.default {
243
347
  * @param destination the participants who will receive the message
244
348
  */
245
349
  publishData(data, kind, destination) {
246
- if (data.length > 14000) {
247
- throw new errors_1.PublishDataError('data cannot be larger than 14k');
248
- }
249
- const dest = [];
250
- if (destination !== undefined) {
251
- destination.forEach((val) => {
252
- if (val instanceof RemoteParticipant_1.default) {
253
- dest.push(val.sid);
254
- }
255
- else {
256
- dest.push(val);
257
- }
258
- });
259
- }
260
- const packet = {
261
- kind,
262
- user: {
263
- participantSid: this.sid,
264
- payload: data,
265
- destinationSids: dest,
266
- },
267
- };
268
- const msg = livekit_rtc_1.DataPacket.encode(packet).finish();
269
- if (kind === livekit_rtc_1.DataPacket_Kind.LOSSY && this.engine.lossyDC) {
270
- this.engine.lossyDC.send(msg);
271
- }
272
- else if (kind === livekit_rtc_1.DataPacket_Kind.RELIABLE && this.engine.reliableDC) {
273
- this.engine.reliableDC.send(msg);
274
- }
350
+ return __awaiter(this, void 0, void 0, function* () {
351
+ const dest = [];
352
+ if (destination !== undefined) {
353
+ destination.forEach((val) => {
354
+ if (val instanceof RemoteParticipant_1.default) {
355
+ dest.push(val.sid);
356
+ }
357
+ else {
358
+ dest.push(val);
359
+ }
360
+ });
361
+ }
362
+ const packet = {
363
+ kind,
364
+ user: {
365
+ participantSid: this.sid,
366
+ payload: data,
367
+ destinationSids: dest,
368
+ },
369
+ };
370
+ yield this.engine.sendDataPacket(packet, kind);
371
+ });
275
372
  }
276
373
  getPublicationForTrack(track) {
277
374
  let publication;
@@ -313,23 +410,28 @@ class LocalParticipant extends Participant_1.default {
313
410
  return matchesVideoCodec || codec === 'audio/opus';
314
411
  });
315
412
  if (selected && 'setCodecPreferences' in transceiver) {
413
+ // @ts-ignore
316
414
  transceiver.setCodecPreferences([selected]);
317
415
  }
318
416
  }
319
- computeVideoEncodings(width, height, options) {
417
+ computeVideoEncodings(isScreenShare, width, height, options) {
320
418
  let encodings;
321
419
  let videoEncoding = options === null || options === void 0 ? void 0 : options.videoEncoding;
322
- if ((!videoEncoding && !(options === null || options === void 0 ? void 0 : options.simulcast)) || !width || !height) {
420
+ if (isScreenShare) {
421
+ videoEncoding = options === null || options === void 0 ? void 0 : options.screenShareEncoding;
422
+ }
423
+ const useSimulcast = !isScreenShare && (options === null || options === void 0 ? void 0 : options.simulcast);
424
+ if ((!videoEncoding && !useSimulcast) || !width || !height) {
323
425
  // don't set encoding when we are not simulcasting and user isn't restricting
324
426
  // encoding parameters
325
427
  return undefined;
326
428
  }
327
429
  if (!videoEncoding) {
328
430
  // find the right encoding based on width/height
329
- videoEncoding = this.determineAppropriateEncoding(width, height);
431
+ videoEncoding = this.determineAppropriateEncoding(isScreenShare, width, height);
330
432
  loglevel_1.default.debug('using video encoding', videoEncoding);
331
433
  }
332
- if (options === null || options === void 0 ? void 0 : options.simulcast) {
434
+ if (useSimulcast) {
333
435
  encodings = [
334
436
  {
335
437
  rid: 'f',
@@ -338,12 +440,12 @@ class LocalParticipant extends Participant_1.default {
338
440
  maxFramerate: videoEncoding.maxFramerate,
339
441
  },
340
442
  ];
341
- const presets = this.presetsForResolution(width, height);
443
+ const presets = this.presetsForResolution(isScreenShare, width, height);
342
444
  const midPreset = presets[1];
343
445
  const lowPreset = presets[0];
344
446
  // if resolution is high enough, we would send both h and q res..
345
447
  // otherwise only send h
346
- if (height * 0.7 >= midPreset.height) {
448
+ if (width >= 960) {
347
449
  encodings.push({
348
450
  rid: 'h',
349
451
  scaleResolutionDownBy: height / midPreset.height,
@@ -374,8 +476,8 @@ class LocalParticipant extends Participant_1.default {
374
476
  }
375
477
  return encodings;
376
478
  }
377
- determineAppropriateEncoding(width, height) {
378
- const presets = this.presetsForResolution(width, height);
479
+ determineAppropriateEncoding(isScreenShare, width, height) {
480
+ const presets = this.presetsForResolution(isScreenShare, width, height);
379
481
  let { encoding } = presets[0];
380
482
  for (let i = 0; i < presets.length; i += 1) {
381
483
  const preset = presets[i];
@@ -385,7 +487,10 @@ class LocalParticipant extends Participant_1.default {
385
487
  }
386
488
  return encoding;
387
489
  }
388
- presetsForResolution(width, height) {
490
+ presetsForResolution(isScreenShare, width, height) {
491
+ if (isScreenShare) {
492
+ return this.presetsScreenShare;
493
+ }
389
494
  const aspect = width / height;
390
495
  if (Math.abs(aspect - 16.0 / 9) < Math.abs(aspect - 4.0 / 3)) {
391
496
  return this.presets169;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAA2B;AAE3B,yDAA0D;AAC1D,0CAA+C;AAC/C,sCAGmB;AACnB,sCAAsE;AAEtE,4CAEyB;AACzB,+EAAuD;AAEvD,2FAAmE;AACnE,+EAAuD;AACvD,8CAI0B;AAC1B,0CAAuC;AACvC,gEAAwC;AACxC,4EAAoD;AAEpD,MAAqB,gBAAiB,SAAQ,qBAAW;IAUvD,gBAAgB;IAChB,YAAY,GAAW,EAAE,QAAgB,EAAE,MAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QA0VvB,gBAAgB;QAChB,mBAAc,GAAG,CAAC,KAAiB,EAAE,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,2EAA2E;QAC3E,gBAAgB;QAChB,iBAAY,GAAG,CACb,KAAiB,EACjB,KAAe,EACf,EAAE;YACF,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,KAAK,GAAG,IAAI,CAAC;aACd;YAED,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,kBAAG,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC;QAiIM,eAAU,GAAG;YACnB,sBAAY,CAAC,IAAI;YACjB,sBAAY,CAAC,GAAG;YAChB,sBAAY,CAAC,GAAG;YAChB,sBAAY,CAAC,EAAE;YACf,sBAAY,CAAC,GAAG;SACjB,CAAC;QAEM,cAAS,GAAG;YAClB,wBAAc,CAAC,IAAI;YACnB,wBAAc,CAAC,GAAG;YAClB,wBAAc,CAAC,GAAG;YAClB,wBAAc,CAAC,EAAE;YACjB,wBAAc,CAAC,GAAG;SACnB,CAAC;QAEM,uBAAkB,GAAG;YAC3B,4BAAkB,CAAC,GAAG;YACtB,4BAAkB,CAAC,IAAI;YACvB,4BAAkB,CAAC,KAAK;YACxB,4BAAkB,CAAC,MAAM;YACzB,4BAAkB,CAAC,MAAM;SAC1B,CAAC;QArgBA,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAW,CAAC,iBAAiB,EAAE,CAAC,QAAgB,EAAE,KAAc,EAAE,EAAE;YACjF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACtB,OAAO;aACR;YACD,IAAI,KAAK,EAAE;gBACT,GAAG,CAAC,IAAI,EAAE,CAAC;aACZ;iBAAM;gBACL,GAAG,CAAC,MAAM,EAAE,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAAoB;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE;YACT,OAAO,KAA8B,CAAC;SACvC;IACH,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;YACT,OAAO,KAA8B,CAAC;SACvC;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAgB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,eAAe;;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,OAAgB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,mBAAmB;;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAAgB;QACpC,OAAO,IAAI,CAAC,eAAe,CAAC,aAAK,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,oBAAoB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACW,eAAe,CAAC,MAAoB,EAAE,OAAgB;;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,OAAO,EAAE;gBACX,IAAI,KAAK,EAAE;oBACT,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;iBACtB;qBAAM;oBACL,IAAI,UAAkC,CAAC;oBACvC,QAAQ,MAAM,EAAE;wBACd,KAAK,aAAK,CAAC,MAAM,CAAC,MAAM;4BACtB,UAAU,GAAG,MAAM,8BAAqB,EAAE,CAAC;4BAC3C,MAAM;wBACR,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU;4BAC1B,UAAU,GAAG,MAAM,8BAAqB,EAAE,CAAC;4BAC3C,MAAM;wBACR,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW;4BAC3B,CAAC,UAAU,CAAC,GAAG,MAAM,gCAAuB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;4BAC/D,MAAM;wBACR;4BACE,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,CAAC;qBACvC;oBAED,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBACrC;aACF;iBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;gBAC/B,iDAAiD;gBACjD,IAAI,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW,EAAE;oBACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAClC;qBAAM;oBACL,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;iBACpB;aACF;QACH,CAAC;KAAA;IAED;;;;OAIG;IACG,YAAY,CAChB,KAAoC,EACpC,OAA6B;;;YAE7B,MAAM,IAAI,GAAwB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,2BAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;YAEjD,oDAAoD;YACpD,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBACrC,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAClB,KAAK,OAAO;wBACV,KAAK,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;wBAClD,MAAM;oBACR,KAAK,OAAO;wBACV,KAAK,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;wBAClD,MAAM;oBACR;wBACE,MAAM,IAAI,0BAAiB,CACzB,qCAAqC,KAAK,CAAC,IAAI,EAAE,CAClD,CAAC;iBACL;aACF;YAED,sCAAsC;YACtC,IAAI,mBAAsD,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;gBAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBACtB,OAAO;iBACR;gBACD,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,EAAE;oBAC/B,mBAAmB,GAA0B,WAAW,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,mBAAmB;gBAAE,OAAO,mBAAmB,CAAC;YAEpD,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aAC5B;YAED,uBAAuB;YACvB,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,KAAK,CAAC,EAAE,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAEtC,sCAAsC;YACtC,MAAM,GAAG,GAAG,6BAAe,CAAC,WAAW,CAAC;gBACtC,GAAG;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,MAAM,EAAE,aAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzC,UAAU,EAAE,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,IAAI,CAAC;aACjC,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;gBACnC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;aACtC;YACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,+BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACrE,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;YAEnB,IAAI,SAAiD,CAAC;YACtD,YAAY;YACZ,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE;gBACnC,+DAA+D;gBAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,KAAK,mCAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAC;gBACxD,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,MAAM,mCAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,MAAM,CAAC;gBAC3D,SAAS,GAAG,IAAI,CAAC,qBAAqB,CACpC,KAAK,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,WAAW,EACzC,KAAK,EACL,MAAM,EACN,IAAI,CACL,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC/D,SAAS,GAAG;oBACV;wBACE,UAAU,EAAE,IAAI,CAAC,YAAY;qBAC9B;iBACF,CAAC;aACH;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC1B,MAAM,IAAI,kCAAyB,CAAC,qBAAqB,CAAC,CAAC;aAC5D;YACD,kBAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,eAAe,GAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;YACzE,IAAI,SAAS,EAAE;gBACb,eAAe,CAAC,aAAa,GAAG,SAAS,CAAC;aAC3C;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CACzD,KAAK,CAAC,gBAAgB,EAAE,eAAe,CACxC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAExB,kBAAkB;YAClB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,IAAI,KAAK,YAAY,yBAAe,EAAE;gBACpC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACxC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEtC,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,yBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACxD,OAAO,WAAW,CAAC;;KACpB;IAED,cAAc,CACZ,KAAoC;QAEpC,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEvD,kBAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,EAAE;YAChB,kBAAG,CAAC,IAAI,CACN,gBAAgB,EAChB,4DAA4D,EAC5D,KAAK,CACN,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QAED,IAAI,KAAK,YAAY,yBAAe,IAAI,KAAK,YAAY,yBAAe,EAAE;YACxE,KAAK,CAAC,cAAc,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,KAAK,CAAC,cAAc,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAC/D;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,gBAAkC,CAAC;QACvC,IAAI,KAAK,YAAY,gBAAgB,EAAE;YACrC,gBAAgB,GAAG,KAAK,CAAC;SAC1B;aAAM;YACL,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YACtD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;gBACzB,IAAI,MAAM,CAAC,KAAK,KAAK,gBAAgB,EAAE;oBACrC,IAAI;wBACF,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;qBACzB;oBAAC,OAAO,CAAC,EAAE;wBACV,kBAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;qBACzD;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,WAAW,CAAC,IAAI,EAAE;YACxB,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,aAAK,CAAC,IAAI,CAAC,KAAK;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM;YACR;gBACE,MAAM;SACT;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe,CACb,MAAyC;QAEzC,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAoC,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE;gBACP,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACG,WAAW,CAAC,IAAgB,EAAE,IAAqB,EACvD,WAA4C;;YAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,WAAW,CAAC,OAAO,CAAC,CAAC,GAAS,EAAE,EAAE;oBAChC,IAAI,GAAG,YAAY,2BAAiB,EAAE;wBACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACpB;yBAAM;wBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,IAAI,EAAE;oBACJ,cAAc,EAAE,IAAI,CAAC,GAAG;oBACxB,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;iBACtB;aACF,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;KAAA;IAyBO,sBAAsB,CAC5B,KAAoC;QAEpC,IAAI,WAA8C,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,UAAU,EAAE;gBACf,OAAO;aACR;YAED,wDAAwD;YACxD,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBACrC,IACE,UAAU,YAAY,yBAAe;uBAClC,UAAU,YAAY,yBAAe,EACxC;oBACA,IAAI,UAAU,CAAC,gBAAgB,KAAK,KAAK,EAAE;wBACzC,WAAW,GAA0B,GAAG,CAAC;qBAC1C;iBACF;aACF;iBAAM,IAAI,KAAK,KAAK,UAAU,EAAE;gBAC/B,WAAW,GAA0B,GAAG,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,iBAAiB,CACvB,WAA8B,EAC9B,IAAgB,EAChB,UAAsB;QAEtB,IAAI,CAAC,CAAC,iBAAiB,IAAI,YAAY,CAAC,EAAE;YACxC,OAAO;SACR;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,iBAAiB,GAAG,KAAK,KAAK,SAAS,UAAU,EAAE,CAAC;YAE1D,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE;gBAC1C,OAAO,iBAAiB,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;aAC/E;YAED,OAAO,iBAAiB,IAAI,KAAK,KAAK,YAAY,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,IAAI,qBAAqB,IAAI,WAAW,EAAE;YACpD,aAAa;YACb,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;IAEO,qBAAqB,CAC3B,aAAsB,EACtB,KAAc,EACd,MAAe,EACf,OAA6B;QAE7B,IAAI,SAAqC,CAAC;QAE1C,IAAI,aAAa,GAA8B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;QACtE,IAAI,aAAa,EAAE;YACjB,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAC;SAC9C;QACD,MAAM,YAAY,GAAG,CAAC,aAAa,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,CAAC;QAE1D,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YAC1D,6EAA6E;YAC7E,sBAAsB;YACtB,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,CAAC,aAAa,EAAE;YAClB,gDAAgD;YAChD,aAAa,GAAG,IAAI,CAAC,4BAA4B,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAChF,kBAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;SAClD;QAED,IAAI,YAAY,EAAE;YAChB,SAAS,GAAG;gBACV;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,aAAa,CAAC,UAAU;oBACpC,gBAAgB;oBAChB,YAAY,EAAE,aAAa,CAAC,YAAY;iBACzC;aACF,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,iEAAiE;YACjE,wBAAwB;YACxB,IAAI,KAAK,IAAI,GAAG,EAAE;gBAChB,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,GAAG;oBACR,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM;oBAChD,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU;oBACzC,gBAAgB;oBAChB,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY;iBAC9C,CAAC,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,GAAG;oBACR,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM;oBAChD,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU;oBACzC,gBAAgB;oBAChB,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY;iBAC9C,CAAC,CAAC;aACJ;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,GAAG;oBACR,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM;oBAChD,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU;oBACzC,gBAAgB;oBAChB,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY;iBAC9C,CAAC,CAAC;aACJ;SACF;aAAM;YACL,SAAS,GAAG,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IA0BO,4BAA4B,CAClC,aAAsB,EACtB,KAAa,EACb,MAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACpD,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC5B;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAC1B,aAAsB,EAAE,KAAa,EAAE,MAAc;QAErD,IAAI,aAAa,EAAE;YACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;QACD,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAljBD,mCAkjBC"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
3
  import { ParticipantInfo } from '../../proto/livekit_models';
4
+ import { Track } from '../track/Track';
4
5
  import TrackPublication from '../track/TrackPublication';
5
6
  export declare type AudioTrackMap = {
6
7
  [key: string]: TrackPublication;
@@ -28,6 +29,19 @@ export default class Participant extends EventEmitter {
28
29
  /** @internal */
29
30
  constructor(sid: string, identity: string);
30
31
  getTracks(): TrackPublication[];
32
+ /**
33
+ * Finds the first track that matches the source filter, for example, getting
34
+ * the user's camera track with getTrackBySource(Track.Source.Camera).
35
+ * @param source
36
+ * @returns
37
+ */
38
+ getTrack(source: Track.Source): TrackPublication | undefined;
39
+ /**
40
+ * Finds the first track that matches the track's name.
41
+ * @param name
42
+ * @returns
43
+ */
44
+ getTrackByName(name: string): TrackPublication | undefined;
31
45
  /** when participant joined the room */
32
46
  get joinedAt(): Date | undefined;
33
47
  /** @internal */
@@ -20,6 +20,45 @@ class Participant extends events_1.EventEmitter {
20
20
  getTracks() {
21
21
  return Array.from(this.tracks.values());
22
22
  }
23
+ /**
24
+ * Finds the first track that matches the source filter, for example, getting
25
+ * the user's camera track with getTrackBySource(Track.Source.Camera).
26
+ * @param source
27
+ * @returns
28
+ */
29
+ getTrack(source) {
30
+ if (source === Track_1.Track.Source.Unknown) {
31
+ return;
32
+ }
33
+ for (const [, pub] of this.tracks) {
34
+ if (pub.source === source) {
35
+ return pub;
36
+ }
37
+ if (pub.source === Track_1.Track.Source.Unknown) {
38
+ if (source === Track_1.Track.Source.Microphone && pub.kind === Track_1.Track.Kind.Audio) {
39
+ return pub;
40
+ }
41
+ if (source === Track_1.Track.Source.Camera && pub.kind === Track_1.Track.Kind.Video && pub.trackName !== 'screen') {
42
+ return pub;
43
+ }
44
+ if (source === Track_1.Track.Source.ScreenShare && pub.kind === Track_1.Track.Kind.Video && pub.trackName === 'screen') {
45
+ return pub;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ /**
51
+ * Finds the first track that matches the track's name.
52
+ * @param name
53
+ * @returns
54
+ */
55
+ getTrackByName(name) {
56
+ for (const [, pub] of this.tracks) {
57
+ if (pub.trackName === name) {
58
+ return pub;
59
+ }
60
+ }
61
+ }
23
62
  /** when participant joined the room */
24
63
  get joinedAt() {
25
64
  if (this.participantInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"Participant.js","sourceRoot":"","sources":["../../../src/room/participant/Participant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Participant.js","sourceRoot":"","sources":["../../../src/room/participant/Participant.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export default class RemoteParticipant extends Participant {
14
14
  /** @internal */
15
15
  constructor(signalClient: SignalClient, id: string, name?: string);
16
16
  protected addTrackPublication(publication: TrackPublication): void;
17
+ getTrack(source: Track.Source): RemoteTrackPublication | undefined;
18
+ getTrackByName(name: string): RemoteTrackPublication | undefined;
17
19
  /** @internal */
18
20
  addSubscribedMediaTrack(mediaTrack: MediaStreamTrack, sid: Track.SID, receiver?: RTCRtpReceiver, triesLeft?: number): RemoteTrackPublication | undefined;
19
21
  /** @internal */
@@ -35,6 +35,18 @@ class RemoteParticipant extends Participant_1.default {
35
35
  this.signalClient.sendUpdateSubscription(sub);
36
36
  });
37
37
  }
38
+ getTrack(source) {
39
+ const track = super.getTrack(source);
40
+ if (track) {
41
+ return track;
42
+ }
43
+ }
44
+ getTrackByName(name) {
45
+ const track = super.getTrackByName(name);
46
+ if (track) {
47
+ return track;
48
+ }
49
+ }
38
50
  /** @internal */
39
51
  addSubscribedMediaTrack(mediaTrack, sid, receiver, triesLeft) {
40
52
  // find the track publication
@@ -75,10 +87,12 @@ class RemoteParticipant extends Participant_1.default {
75
87
  else {
76
88
  track = new RemoteAudioTrack_1.default(mediaTrack, sid, receiver);
77
89
  }
90
+ track.start();
78
91
  publication.setTrack(track);
79
92
  // set track name etc
80
93
  track.name = publication.trackName;
81
94
  track.sid = publication.trackSid;
95
+ track.source = publication.source;
82
96
  // keep publication's muted status
83
97
  track.isMuted = publication.isMuted;
84
98
  // when media track is ended, fire the event
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteParticipant.js","sourceRoot":"","sources":["../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,8 @@ import { CreateAudioTrackOptions } from './options';
3
3
  export default class LocalAudioTrack extends LocalTrack {
4
4
  sender?: RTCRtpSender;
5
5
  constructor(mediaTrack: MediaStreamTrack, name?: string, constraints?: MediaTrackConstraints);
6
+ setDeviceId(deviceId: string): Promise<void>;
7
+ mute(): Promise<LocalAudioTrack>;
8
+ unmute(): Promise<LocalAudioTrack>;
6
9
  restartTrack(options?: CreateAudioTrackOptions): Promise<void>;
7
10
  }
@@ -18,6 +18,43 @@ class LocalAudioTrack extends LocalTrack_1.default {
18
18
  constructor(mediaTrack, name, constraints) {
19
19
  super(mediaTrack, Track_1.Track.Kind.Audio, name, constraints);
20
20
  }
21
+ setDeviceId(deviceId) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ if (this.constraints.deviceId === deviceId) {
24
+ return;
25
+ }
26
+ this.constraints.deviceId = deviceId;
27
+ yield this.restartTrack();
28
+ if (this.isMuted) {
29
+ this.mediaStreamTrack.enabled = false;
30
+ }
31
+ });
32
+ }
33
+ mute() {
34
+ const _super = Object.create(null, {
35
+ mute: { get: () => super.mute }
36
+ });
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (this.source === Track_1.Track.Source.Microphone) {
39
+ // also stop the track, so that camera indicator is turned off
40
+ this.mediaStreamTrack.stop();
41
+ }
42
+ yield _super.mute.call(this);
43
+ return this;
44
+ });
45
+ }
46
+ unmute() {
47
+ const _super = Object.create(null, {
48
+ unmute: { get: () => super.unmute }
49
+ });
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ if (this.source === Track_1.Track.Source.Microphone) {
52
+ yield this.restartTrack();
53
+ }
54
+ yield _super.unmute.call(this);
55
+ return this;
56
+ });
57
+ }
21
58
  restartTrack(options) {
22
59
  return __awaiter(this, void 0, void 0, function* () {
23
60
  let constraints;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,mCAAgC;AAEhC,MAAqB,eAAgB,SAAQ,oBAAU;IAGrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,YAAY,CAAC,OAAiC;;YAClD,IAAI,WAA8C,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,GAAG,oBAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE;oBAChD,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;iBACvC;aACF;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;CACF;AArBD,kCAqBC"}
1
+ {"version":3,"file":"LocalAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8DAAsC;AAEtC,mCAAgC;AAEhC,MAAqB,eAAgB,SAAQ,oBAAU;IAGrD,YACE,UAA4B,EAC5B,IAAa,EACb,WAAmC;QAEnC,KAAK,CAAC,UAAU,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEK,WAAW,CAAC,QAAgB;;YAChC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;aACvC;QACH,CAAC;KAAA;IAEK,IAAI;;;;;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC3C,8DAA8D;gBAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aAC9B;YACD,MAAM,OAAM,IAAI,WAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM;;;;;YACV,IAAI,IAAI,CAAC,MAAM,KAAK,aAAK,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC3C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;aAC3B;YACD,MAAM,OAAM,MAAM,WAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,YAAY,CAAC,OAAiC;;YAClD,IAAI,WAA8C,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,GAAG,oBAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,SAAS,EAAE;oBAChD,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;iBACvC;aACF;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;KAAA;CACF;AAjDD,kCAiDC"}
@@ -8,8 +8,12 @@ export default class LocalTrack extends Track {
8
8
  get id(): string;
9
9
  get dimensions(): Track.Dimensions | undefined;
10
10
  static constraintsForOptions(options: CreateLocalTracksOptions): MediaStreamConstraints;
11
- mute(): LocalTrack;
12
- unmute(): LocalTrack;
11
+ /**
12
+ * @returns DeviceID of the device that is currently being used for this track
13
+ */
14
+ getDeviceId(): Promise<string | undefined>;
15
+ mute(): Promise<LocalTrack>;
16
+ unmute(): Promise<LocalTrack>;
13
17
  protected restart(constraints?: MediaTrackConstraints): Promise<LocalTrack>;
14
18
  protected setTrackMuted(muted: boolean): void;
15
19
  }