skapi-js 1.2.14-beta.3 → 1.2.14-beta.6

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 (92) hide show
  1. package/dist/bundle-report-commonjs.html +2 -2
  2. package/dist/bundle-report-esm.html +2 -2
  3. package/dist/bundle-report-node-esm.html +2 -2
  4. package/dist/bundle-report.html +2 -2
  5. package/dist/skapi.cjs +1 -1
  6. package/dist/skapi.cjs.map +1 -1
  7. package/dist/skapi.js +1 -1
  8. package/dist/skapi.js.map +1 -1
  9. package/dist/skapi.mjs +1 -1
  10. package/dist/skapi.mjs.map +1 -1
  11. package/dist/skapi.node.mjs +1 -1
  12. package/dist/skapi.node.mjs.map +1 -1
  13. package/js/package.json +6 -5
  14. package/js/src/Types.d.ts +40 -2
  15. package/js/src/main/skapi.d.ts +41 -29
  16. package/js/src/main/skapi.js +48 -60
  17. package/js/src/main/skapi.js.map +1 -1
  18. package/js/src/methods/admin.d.ts +2 -4
  19. package/js/src/methods/database.d.ts +8 -0
  20. package/js/src/methods/database.js +285 -8
  21. package/js/src/methods/database.js.map +1 -1
  22. package/js/src/methods/param_restrictions.d.ts +8 -4
  23. package/js/src/methods/param_restrictions.js +72 -6
  24. package/js/src/methods/param_restrictions.js.map +1 -1
  25. package/js/src/methods/request.js +1 -1
  26. package/js/src/methods/request.js.map +1 -1
  27. package/js/src/methods/subscription.d.ts +0 -6
  28. package/js/src/methods/subscription.js +0 -28
  29. package/js/src/methods/subscription.js.map +1 -1
  30. package/js/src/methods/vivian.d.ts +18 -3
  31. package/js/src/methods/vivian.js +20 -10
  32. package/js/src/methods/vivian.js.map +1 -1
  33. package/js/src/utils/network.js +16 -11
  34. package/js/src/utils/network.js.map +1 -1
  35. package/js/src/utils/utils.d.ts +3 -1
  36. package/js/src/utils/utils.js +15 -3
  37. package/js/src/utils/utils.js.map +1 -1
  38. package/package.json +6 -5
  39. package/js/Main.d.ts +0 -6
  40. package/js/Main.js +0 -6
  41. package/js/Main.js.map +0 -1
  42. package/js/Types.d.ts +0 -305
  43. package/js/Types.js +0 -2
  44. package/js/Types.js.map +0 -1
  45. package/js/main/error.d.ts +0 -9
  46. package/js/main/error.js +0 -46
  47. package/js/main/error.js.map +0 -1
  48. package/js/main/skapi.d.ts +0 -443
  49. package/js/main/skapi.js +0 -853
  50. package/js/main/skapi.js.map +0 -1
  51. package/js/methods/admin.d.ts +0 -61
  52. package/js/methods/admin.js +0 -325
  53. package/js/methods/admin.js.map +0 -1
  54. package/js/methods/database.d.ts +0 -65
  55. package/js/methods/database.js +0 -947
  56. package/js/methods/database.js.map +0 -1
  57. package/js/methods/notification.d.ts +0 -21
  58. package/js/methods/notification.js +0 -81
  59. package/js/methods/notification.js.map +0 -1
  60. package/js/methods/param_restrictions.d.ts +0 -21
  61. package/js/methods/param_restrictions.js +0 -144
  62. package/js/methods/param_restrictions.js.map +0 -1
  63. package/js/methods/realtime.d.ts +0 -35
  64. package/js/methods/realtime.js +0 -408
  65. package/js/methods/realtime.js.map +0 -1
  66. package/js/methods/request.d.ts +0 -43
  67. package/js/methods/request.js +0 -132
  68. package/js/methods/request.js.map +0 -1
  69. package/js/methods/subscription.d.ts +0 -53
  70. package/js/methods/subscription.js +0 -337
  71. package/js/methods/subscription.js.map +0 -1
  72. package/js/methods/user.d.ts +0 -176
  73. package/js/methods/user.js +0 -1120
  74. package/js/methods/user.js.map +0 -1
  75. package/js/methods/vivian.d.ts +0 -3
  76. package/js/methods/vivian.js +0 -36
  77. package/js/methods/vivian.js.map +0 -1
  78. package/js/methods/webrtc.d.ts +0 -26
  79. package/js/methods/webrtc.js +0 -608
  80. package/js/methods/webrtc.js.map +0 -1
  81. package/js/polyfills/global.d.ts +0 -3
  82. package/js/polyfills/global.js +0 -235
  83. package/js/polyfills/global.js.map +0 -1
  84. package/js/utils/network.d.ts +0 -24
  85. package/js/utils/network.js +0 -707
  86. package/js/utils/network.js.map +0 -1
  87. package/js/utils/utils.d.ts +0 -40
  88. package/js/utils/utils.js +0 -651
  89. package/js/utils/utils.js.map +0 -1
  90. package/js/utils/validator.d.ts +0 -24
  91. package/js/utils/validator.js +0 -293
  92. package/js/utils/validator.js.map +0 -1
@@ -1,608 +0,0 @@
1
- import { SkapiError } from "../Main";
2
- import { extractFormData } from "../utils/utils";
3
- import validator from "../utils/validator";
4
- export const __peerConnection = {};
5
- export const __dataChannel = {};
6
- export const __caller_ringing = {};
7
- export const __receiver_ringing = {};
8
- export const __rtcEvents = {};
9
- let __rtcCandidatesBuffer = {};
10
- let __rtcSdpOfferBuffer = {};
11
- function setBuffer(buffer, recipient, item) {
12
- if (!buffer[recipient]) {
13
- buffer[recipient] = [];
14
- }
15
- buffer[recipient].push(item);
16
- }
17
- async function processBuffer(buffer, recipient, fn) {
18
- let proceed = [];
19
- if (buffer[recipient]) {
20
- for (let v of buffer[recipient]) {
21
- if (v) {
22
- let process = fn(v);
23
- if (process instanceof Promise) {
24
- process = await process;
25
- }
26
- proceed.push(process);
27
- }
28
- }
29
- ;
30
- delete buffer[recipient];
31
- }
32
- return proceed;
33
- }
34
- export async function answerSdpOffer(offer, recipient) {
35
- if (!this?.session?.accessToken?.jwtToken) {
36
- throw new SkapiError('Access token is required.', { code: 'INVALID_PARAMETER' });
37
- }
38
- let socket = await this.__socket;
39
- async function sendAnswer(offer, recipient, socket) {
40
- this.log('answerSdpOffer from', recipient);
41
- await __peerConnection[recipient].setRemoteDescription(new RTCSessionDescription(offer));
42
- const answer = await __peerConnection[recipient].createAnswer();
43
- await __peerConnection[recipient].setLocalDescription(answer);
44
- socket.send(JSON.stringify({
45
- action: 'rtc',
46
- uid: recipient,
47
- content: { sdpanswer: answer },
48
- token: this.session.accessToken.jwtToken
49
- }));
50
- }
51
- if (__peerConnection?.[recipient]) {
52
- if (!offer) {
53
- await processBuffer(__rtcSdpOfferBuffer, recipient, (offer) => sendAnswer.bind(this)(offer, recipient, socket));
54
- }
55
- else {
56
- await processBuffer(__rtcSdpOfferBuffer, recipient, (offer) => sendAnswer.bind(this)(offer, recipient, socket));
57
- await sendAnswer.bind(this)(offer, recipient, socket);
58
- }
59
- }
60
- else {
61
- if (offer) {
62
- setBuffer(__rtcSdpOfferBuffer, recipient, offer);
63
- }
64
- }
65
- }
66
- export async function receiveIceCandidate(candidate, recipient) {
67
- this.log('receiveIceCandidate', candidate);
68
- if (__peerConnection?.[recipient] && __peerConnection[recipient]?.remoteDescription && __peerConnection[recipient]?.remoteDescription?.type) {
69
- if (!candidate) {
70
- return processBuffer(__rtcCandidatesBuffer, recipient, (candidate) => __peerConnection[recipient].addIceCandidate(candidate));
71
- }
72
- await processBuffer(__rtcCandidatesBuffer, recipient, (candidate) => __peerConnection[recipient].addIceCandidate(candidate));
73
- await __peerConnection[recipient].addIceCandidate(candidate);
74
- }
75
- else {
76
- setBuffer(__rtcCandidatesBuffer, recipient, candidate);
77
- }
78
- }
79
- export async function closeRTC(params) {
80
- if (typeof window === 'undefined' || window._runningInNodeJS) {
81
- throw new SkapiError('WebRTC is not supported in Node.js environment.', { code: 'NOT_SUPPORTED' });
82
- }
83
- validator.Params(params, {
84
- cid: v => {
85
- if (typeof v !== 'string') {
86
- throw new SkapiError(`"cid" should be type: <string>.`, { code: 'INVALID_PARAMETER' });
87
- }
88
- if (v && v.slice(0, 4) !== 'cid:') {
89
- throw new SkapiError(`"cid" should be a valid connection id.`, { code: 'INVALID_PARAMETER' });
90
- }
91
- return v;
92
- },
93
- close: 'boolean'
94
- });
95
- let socket = await this.__socket;
96
- let { cid, close_all = false } = params || {};
97
- if (!close_all && !cid) {
98
- throw new SkapiError(`"cid" is required.`, { code: 'INVALID_PARAMETER' });
99
- }
100
- let close = (cid) => {
101
- if (!cid) {
102
- throw new SkapiError(`"cid" is required.`, { code: 'INVALID_PARAMETER' });
103
- }
104
- delete __rtcSdpOfferBuffer[cid];
105
- delete __rtcCandidatesBuffer[cid];
106
- if (__dataChannel[cid]) {
107
- Object.values(__dataChannel[cid]).forEach(channel => {
108
- if (channel.readyState !== 'closed') {
109
- channel.close();
110
- }
111
- });
112
- }
113
- delete __dataChannel[cid];
114
- if (__peerConnection?.[cid]) {
115
- if (__peerConnection[cid].connectionState !== 'closed') {
116
- __peerConnection[cid].close();
117
- socket.send(JSON.stringify({
118
- action: 'rtc',
119
- uid: cid,
120
- content: { hungup: this.user.user_id },
121
- token: this.session.accessToken.jwtToken
122
- }));
123
- }
124
- let msg = {
125
- type: 'connectionstatechange',
126
- target: __peerConnection[cid],
127
- timestamp: new Date().toISOString(),
128
- state: __peerConnection[cid].connectionState,
129
- iceState: __peerConnection[cid].iceConnectionState,
130
- signalingState: __peerConnection[cid].signalingState
131
- };
132
- if (__rtcEvents[cid]) {
133
- __rtcEvents[cid](msg);
134
- }
135
- this.log('closeRTC', msg);
136
- }
137
- delete __rtcEvents[cid];
138
- delete __receiver_ringing[cid];
139
- delete __caller_ringing[cid];
140
- delete __peerConnection[cid];
141
- };
142
- if (close_all) {
143
- for (let key in __peerConnection) {
144
- close(key);
145
- }
146
- }
147
- else {
148
- close(cid);
149
- }
150
- this.log('Cleaning up media stream...');
151
- if (this.__mediaStream) {
152
- this.__mediaStream.getTracks().forEach((track) => {
153
- track.stop();
154
- });
155
- this.__mediaStream = null;
156
- }
157
- }
158
- async function createMediaStream(media) {
159
- if (media instanceof MediaStream) {
160
- return media;
161
- }
162
- if (!media.video && !media.audio) {
163
- const dummyStream = new MediaStream();
164
- const canvas = document.createElement('canvas');
165
- canvas.width = 1;
166
- canvas.height = 1;
167
- const dummyVideoStream = canvas.captureStream();
168
- const dummyVideoTrack = dummyVideoStream.getVideoTracks()[0];
169
- dummyStream.addTrack(dummyVideoTrack);
170
- return dummyStream;
171
- }
172
- return window.navigator.mediaDevices.getUserMedia(media);
173
- }
174
- export async function connectRTC(params, callback) {
175
- if (typeof window === 'undefined' || window._runningInNodeJS) {
176
- throw new SkapiError('WebRTC is not supported in Node.js environment.', { code: 'NOT_SUPPORTED' });
177
- }
178
- if (typeof callback !== 'function') {
179
- throw new SkapiError(`Callback is required.`, { code: 'INVALID_PARAMETER' });
180
- }
181
- if (!this?.session?.accessToken?.jwtToken) {
182
- throw new SkapiError('Access token is required.', { code: 'INVALID_PARAMETER' });
183
- }
184
- params = validator.Params(params, {
185
- cid: v => {
186
- if (typeof v !== 'string') {
187
- throw new SkapiError(`"cid" should be type: <string>.`, { code: 'INVALID_PARAMETER' });
188
- }
189
- if (v && v.slice(0, 4) !== 'cid:') {
190
- throw new SkapiError(`"cid" should be a valid connection id.`, { code: 'INVALID_PARAMETER' });
191
- }
192
- return v;
193
- },
194
- ice: ['string', () => 'stun:stun.skapi.com:3468'],
195
- media: v => v,
196
- channels: ['text-chat', 'file-transfer', 'video-chat', 'voice-chat', 'gaming', {
197
- ordered: 'boolean',
198
- maxPacketLifeTime: 'number',
199
- maxRetransmits: 'number',
200
- protocol: 'string'
201
- }, () => {
202
- return [{ ordered: true, maxPacketLifeTime: 10, protocol: 'default' }];
203
- }]
204
- }, ['cid']);
205
- let { cid, ice } = params;
206
- if (!(params?.media instanceof MediaStream)) {
207
- if (params?.media?.video || params?.media?.audio) {
208
- if (window.location.hostname !== 'localhost' && window.location.protocol !== 'https:') {
209
- throw new SkapiError(`Media stream is only supported on either localhost or https.`, { code: 'INVALID_REQUEST' });
210
- }
211
- }
212
- }
213
- let socket = this.__socket ? await this.__socket : this.__socket;
214
- if (!socket) {
215
- throw new SkapiError(`No realtime connection. Execute connectRealtime() before this method.`, { code: 'INVALID_REQUEST' });
216
- }
217
- if (socket.readyState !== 1) {
218
- throw new SkapiError('Realtime connection is not ready.', { code: 'INVALID_REQUEST' });
219
- }
220
- const configuration = {
221
- iceServers: [
222
- { urls: ice }
223
- ]
224
- };
225
- if (!__peerConnection?.[cid]) {
226
- __peerConnection[cid] = new RTCPeerConnection(configuration);
227
- }
228
- if (params?.media) {
229
- this.__mediaStream = await createMediaStream(params.media);
230
- this.__mediaStream.getTracks().forEach(track => {
231
- __peerConnection[cid].addTrack(track, this.__mediaStream);
232
- });
233
- }
234
- __rtcEvents[cid] = callback;
235
- if (!__dataChannel[cid]) {
236
- __dataChannel[cid] = {};
237
- }
238
- for (let i = 0; i < params.channels.length; i++) {
239
- let options = params.channels[i];
240
- if (typeof options === 'string') {
241
- switch (options) {
242
- case 'text-chat':
243
- options = { ordered: true, maxRetransmits: 10, protocol: 'text-chat' };
244
- break;
245
- case 'file-transfer':
246
- options = { ordered: false, maxPacketLifeTime: 3000, protocol: 'file-transfer' };
247
- break;
248
- case 'video-chat':
249
- options = { ordered: true, maxRetransmits: 10, protocol: 'video-chat' };
250
- break;
251
- case 'voice-chat':
252
- options = { ordered: true, maxRetransmits: 10, protocol: 'voice-chat' };
253
- break;
254
- case 'gaming':
255
- options = { ordered: false, maxPacketLifeTime: 100, protocol: 'gaming' };
256
- break;
257
- default:
258
- options = { ordered: true, maxRetransmits: 10, protocol: 'default' };
259
- break;
260
- }
261
- }
262
- let protocol = options.protocol || 'default';
263
- if (Object.keys(__dataChannel[cid]).includes(protocol)) {
264
- throw new SkapiError(`Data channel with the protocol "${protocol}" already exists.`, { code: 'INVALID_REQUEST' });
265
- }
266
- let dataChannel = __peerConnection[cid].createDataChannel(protocol, options);
267
- __dataChannel[cid][protocol] = dataChannel;
268
- }
269
- for (let key in __dataChannel[cid]) {
270
- let dataChannel = __dataChannel[cid][key];
271
- handleDataChannel.bind(this)(cid, dataChannel);
272
- }
273
- peerConnectionHandler.bind(this)(cid, ['onnegotiationneeded']);
274
- await sendOffer.bind(this)(cid);
275
- return {
276
- hangup: () => __caller_ringing[cid] && __caller_ringing[cid](false),
277
- connection: new Promise(resolve => {
278
- __caller_ringing[cid] = ((proceed) => {
279
- this.log('receiver picked up the call', cid);
280
- if (!proceed) {
281
- closeRTC.bind(this)({ cid: cid });
282
- return null;
283
- }
284
- __peerConnection[cid].onnegotiationneeded = () => {
285
- this.log('onnegotiationneeded', `sending offer to "${cid}".`);
286
- sendOffer.bind(this)(cid);
287
- if (__rtcEvents[cid])
288
- __rtcEvents[cid]({
289
- type: 'negotiationneeded',
290
- target: __peerConnection[cid],
291
- timestamp: new Date().toISOString(),
292
- signalingState: __peerConnection[cid].signalingState,
293
- connectionState: __peerConnection[cid].iceConnectionState,
294
- gatheringState: __peerConnection[cid].iceGatheringState
295
- });
296
- };
297
- resolve({
298
- target: __peerConnection[cid],
299
- channels: __dataChannel[cid],
300
- hangup: () => closeRTC.bind(this)({ cid: cid }),
301
- media: this.__mediaStream
302
- });
303
- }).bind(this);
304
- })
305
- };
306
- }
307
- export function respondRTC(msg) {
308
- return async (params, callback) => {
309
- params = params || {};
310
- params = extractFormData(params).data;
311
- let sender = msg.sender_cid;
312
- let socket = await this.__socket;
313
- if (!__receiver_ringing[sender]) {
314
- return null;
315
- }
316
- if (typeof callback !== 'function') {
317
- throw new SkapiError(`Callback is required.`, { code: 'INVALID_PARAMETER' });
318
- }
319
- if (!(params?.media instanceof MediaStream)) {
320
- if (params?.media?.video || params?.media?.audio) {
321
- if (window.location.hostname !== 'localhost' && window.location.protocol !== 'https:') {
322
- throw new SkapiError(`Media stream is only supported on either localhost or https.`, { code: 'INVALID_REQUEST' });
323
- }
324
- }
325
- }
326
- let { ice = 'stun:stun.skapi.com:3468' } = params;
327
- if (!__peerConnection?.[sender]) {
328
- __peerConnection[sender] = new RTCPeerConnection({
329
- iceServers: [
330
- { urls: ice }
331
- ]
332
- });
333
- }
334
- if (params?.media) {
335
- this.__mediaStream = await createMediaStream(params.media);
336
- this.__mediaStream.getTracks().forEach(track => {
337
- __peerConnection[sender].addTrack(track, this.__mediaStream);
338
- });
339
- }
340
- delete __receiver_ringing[sender];
341
- __rtcEvents[sender] = callback;
342
- if (!__dataChannel[sender]) {
343
- __dataChannel[sender] = {};
344
- }
345
- __peerConnection[sender].ondatachannel = (event) => {
346
- this.log('ondatachannel', `received data channel "${event.channel.label}".`);
347
- const dataChannel = event.channel;
348
- __dataChannel[sender][dataChannel.label] = dataChannel;
349
- handleDataChannel.bind(this)(sender, dataChannel);
350
- };
351
- peerConnectionHandler.bind(this)(sender, ['onnegotiationneeded']);
352
- await answerSdpOffer.bind(this)(null, sender);
353
- await receiveIceCandidate.bind(this)(null, sender);
354
- socket.send(JSON.stringify({
355
- action: 'rtc',
356
- uid: sender,
357
- content: { pickup: this.user.user_id },
358
- token: this.session.accessToken.jwtToken
359
- }));
360
- return {
361
- target: __peerConnection[sender],
362
- channels: __dataChannel[sender],
363
- hangup: () => closeRTC.bind(this)({ cid: sender }),
364
- media: this.__mediaStream
365
- };
366
- };
367
- }
368
- async function sendOffer(recipient) {
369
- if (!this?.session?.accessToken?.jwtToken) {
370
- throw new SkapiError('Access token is required.', { code: 'INVALID_PARAMETER' });
371
- }
372
- this.log('sendOffer', recipient);
373
- let socket = await this.__socket;
374
- const offer = await __peerConnection[recipient].createOffer();
375
- await __peerConnection[recipient].setLocalDescription(offer);
376
- let sdpoffer = __peerConnection[recipient].localDescription;
377
- this.log('rtcSdpOffer to', sdpoffer);
378
- socket.send(JSON.stringify({
379
- action: 'rtc',
380
- uid: recipient,
381
- content: { sdpoffer },
382
- token: this.session.accessToken.jwtToken
383
- }));
384
- }
385
- async function sendIceCandidate(event, recipient) {
386
- if (!this?.session?.accessToken?.jwtToken) {
387
- throw new SkapiError('Access token is required.', { code: 'INVALID_PARAMETER' });
388
- }
389
- this.log('sendIceCandidate to', recipient);
390
- let socket = await this.__socket;
391
- if (!event.candidate) {
392
- this.log('candidate-end', 'all ice candidates have been sent');
393
- return;
394
- }
395
- let callback = __rtcEvents[recipient] || (() => { });
396
- let candidate = event.candidate;
397
- this.log('ice gathering state set to', __peerConnection[recipient].iceGatheringState);
398
- callback({
399
- type: 'icecandidate',
400
- target: __peerConnection[recipient],
401
- timestamp: new Date().toISOString(),
402
- candidate: event.candidate.candidate,
403
- sdpMid: event.candidate.sdpMid,
404
- sdpMLineIndex: event.candidate.sdpMLineIndex,
405
- usernameFragment: event.candidate.usernameFragment,
406
- protocol: event.candidate.protocol,
407
- gatheringState: __peerConnection[recipient].iceGatheringState,
408
- connectionState: __peerConnection[recipient].iceConnectionState
409
- });
410
- socket.send(JSON.stringify({
411
- action: 'rtc',
412
- uid: recipient,
413
- content: { candidate },
414
- token: this.session.accessToken.jwtToken
415
- }));
416
- }
417
- function peerConnectionHandler(key, skipKey) {
418
- let skip = new Set(skipKey);
419
- let cb = __rtcEvents[key] || ((v) => { });
420
- let peer = __peerConnection[key];
421
- const handlers = {
422
- ontrack: (event) => {
423
- cb({
424
- type: 'track',
425
- target: peer,
426
- timeStamp: event.timeStamp,
427
- streams: event.streams,
428
- track: event.track,
429
- });
430
- },
431
- onicecandidate: (event) => {
432
- sendIceCandidate.bind(this)(event, key);
433
- if (event.candidate) {
434
- cb({
435
- type: 'icecandidate',
436
- target: peer,
437
- timestamp: new Date().toISOString(),
438
- candidate: event.candidate.candidate,
439
- sdpMid: event.candidate.sdpMid,
440
- sdpMLineIndex: event.candidate.sdpMLineIndex,
441
- usernameFragment: event.candidate.usernameFragment,
442
- protocol: event.candidate.protocol,
443
- gatheringState: peer.iceGatheringState,
444
- connectionState: peer.iceConnectionState
445
- });
446
- }
447
- else {
448
- cb({ type: 'icecandidateend', target: peer, timestamp: new Date().toISOString() });
449
- }
450
- },
451
- onicecandidateerror: (event) => {
452
- cb({
453
- type: 'icecandidateerror',
454
- target: peer,
455
- timestamp: new Date().toISOString(),
456
- errorCode: event.errorCode,
457
- errorText: event.errorText,
458
- url: event.url,
459
- hostCandidate: event.hostCandidate,
460
- gatheringState: peer.iceGatheringState,
461
- connectionState: peer.iceConnectionState
462
- });
463
- },
464
- oniceconnectionstatechange: () => {
465
- cb({
466
- type: 'iceconnectionstatechange',
467
- target: peer,
468
- timestamp: new Date().toISOString(),
469
- state: peer.iceConnectionState,
470
- gatheringState: peer.iceGatheringState,
471
- signalingState: peer.signalingState
472
- });
473
- },
474
- onicegatheringstatechange: () => {
475
- cb({
476
- type: 'icegatheringstatechange',
477
- target: peer,
478
- timestamp: new Date().toISOString(),
479
- state: peer.iceGatheringState,
480
- connectionState: peer.iceConnectionState,
481
- signalingState: peer.signalingState
482
- });
483
- },
484
- onsignalingstatechange: () => {
485
- cb({
486
- type: 'signalingstatechange',
487
- target: peer,
488
- timestamp: new Date().toISOString(),
489
- state: peer.signalingState,
490
- connectionState: peer.iceConnectionState,
491
- gatheringState: peer.iceGatheringState
492
- });
493
- },
494
- onnegotiationneeded: () => {
495
- sendOffer.bind(this)(key);
496
- cb({
497
- type: 'negotiationneeded',
498
- target: peer,
499
- timestamp: new Date().toISOString(),
500
- signalingState: peer.signalingState,
501
- connectionState: peer.iceConnectionState,
502
- gatheringState: peer.iceGatheringState
503
- });
504
- },
505
- onconnectionstatechange: () => {
506
- cb({
507
- type: 'connectionstatechange',
508
- target: peer,
509
- timestamp: new Date().toISOString(),
510
- state: peer.connectionState,
511
- iceState: peer.iceConnectionState,
512
- signalingState: peer.signalingState
513
- });
514
- let state = peer.connectionState;
515
- if (state === 'disconnected' || state === 'failed' || state === 'closed') {
516
- closeRTC.bind(this)({ cid: key });
517
- }
518
- }
519
- };
520
- for (const [event, handler] of Object.entries(handlers)) {
521
- if (!skip.has(event)) {
522
- peer[event] = handler;
523
- }
524
- }
525
- }
526
- function handleDataChannel(key, dataChannel, skipKey) {
527
- let skip = new Set(skipKey);
528
- let cb = __rtcEvents[key] || ((v) => { });
529
- const events = {
530
- onmessage: (event) => {
531
- let msg = {
532
- type: event.type,
533
- target: dataChannel,
534
- timeStamp: event.timeStamp,
535
- data: event.data,
536
- lastEventId: event.lastEventId,
537
- origin: event.origin,
538
- readyState: dataChannel.readyState,
539
- bufferedAmount: dataChannel.bufferedAmount
540
- };
541
- this.log(`${dataChannel.label}: message`, event.data);
542
- cb(msg);
543
- },
544
- onerror: (event) => {
545
- let err = {
546
- type: event.type,
547
- target: dataChannel,
548
- timeStamp: event.timeStamp,
549
- error: event.error.message,
550
- errorCode: event.error.errorDetail,
551
- readyState: dataChannel.readyState,
552
- label: dataChannel.label
553
- };
554
- this.log(`${dataChannel.label}: error`, event.error.message);
555
- cb(err);
556
- },
557
- onclose: (event) => {
558
- let closed = {
559
- type: event.type,
560
- target: dataChannel,
561
- timeStamp: event.timeStamp,
562
- readyState: dataChannel.readyState,
563
- label: dataChannel.label,
564
- id: dataChannel.id
565
- };
566
- this.log(`${dataChannel.label}: closed`, null);
567
- cb(closed);
568
- if (__dataChannel[key]) {
569
- delete __dataChannel[key][dataChannel.label];
570
- if (Object.keys(__dataChannel[key]).length === 0) {
571
- closeRTC.bind(this)({ cid: key });
572
- }
573
- }
574
- },
575
- onbufferedamountlow: (event) => {
576
- let buffer = {
577
- target: dataChannel,
578
- bufferedAmount: dataChannel.bufferedAmount,
579
- bufferedAmountLowThreshold: dataChannel.bufferedAmountLowThreshold,
580
- type: event.type,
581
- timeStamp: event.timeStamp
582
- };
583
- this.log(`${dataChannel.label}: bufferedamountlow`, dataChannel.bufferedAmount);
584
- cb(buffer);
585
- },
586
- onopen: (event) => {
587
- this.log('dataChannel', `data channel: "${dataChannel.label}" is open and ready to send messages.`);
588
- let msg = {
589
- type: event.type,
590
- target: dataChannel,
591
- timeStamp: event.timeStamp,
592
- readyState: dataChannel.readyState,
593
- label: dataChannel.label,
594
- id: dataChannel.id,
595
- ordered: dataChannel.ordered,
596
- maxRetransmits: dataChannel.maxRetransmits,
597
- protocol: dataChannel.protocol
598
- };
599
- cb(msg);
600
- }
601
- };
602
- for (const [event, handler] of Object.entries(events)) {
603
- if (!skip.has(event)) {
604
- dataChannel[event] = handler;
605
- }
606
- }
607
- }
608
- //# sourceMappingURL=webrtc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webrtc.js","sourceRoot":"","sources":["../../src/methods/webrtc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAA4C,EAAE,CAAC;AAC5E,MAAM,CAAC,MAAM,aAAa,GAA8D,EAAE,CAAC;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAA8C,EAAE,CAAC;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAiC,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAA2C,EAAE,CAAC;AAEtE,IAAI,qBAAqB,GAAgC,EAAE,CAAC;AAC5D,IAAI,mBAAmB,GAAgC,EAAE,CAAC;AAE1D,SAAS,SAAS,CAAC,MAAsC,EAAE,SAAiB,EAAE,IAAS;IACnF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAsC,EAAE,SAAiB,EAAE,EAAsB;IAC1G,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC;gBACJ,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;oBAC7B,OAAO,GAAG,MAAM,OAAO,CAAC;gBAC5B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QAAA,CAAC;QACF,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAU,EAAE,SAAiB;IAC9D,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,MAAM,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC;IAC5C,KAAK,UAAU,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;QAC9C,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC;QAChE,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;SAC3C,CAAC,CAAC,CAAC;IACR,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,aAAa,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACpH,CAAC;aACI,CAAC;YACF,MAAM,aAAa,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAChH,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;SACI,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAc,EAAE,SAAiB;IACvE,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,gBAAgB,EAAE,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,iBAAiB,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC1I,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAClI,CAAC;QACD,MAAM,aAAa,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7H,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;SACI,CAAC;QACF,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAA6C;IACxE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,gBAAgB,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QACrB,GAAG,EAAE,CAAC,CAAC,EAAE;YACL,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,UAAU,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,IAAI,MAAM,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC;IAC5C,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAE9C,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAGlC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChD,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAClC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACrD,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;gBAE9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvB,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;iBAC3C,CAAC,CAAC,CAAC;YACR,CAAC;YAED,IAAI,GAAG,GAAG;gBACN,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe;gBAC5C,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,kBAAkB;gBAClD,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc;aACvD,CAAA;YAED,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,KAAK,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC/B,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACL,CAAC;SACI,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAA2C;IACxE,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAG/B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAGtC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAG7D,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAGtC,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAA0B,EAC1B,QAAkB;IAElB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,gBAAgB,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9B,GAAG,EAAE,CAAC,CAAC,EAAE;YACL,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,UAAU,CAAC,wCAAwC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE;gBAG3E,OAAO,EAAE,SAAS;gBAClB,iBAAiB,EAAE,QAAQ;gBAC3B,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,QAAQ;aACrB,EAAE,GAAG,EAAE;gBACJ,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;YAC1E,CAAC,CAAC;KACL,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE1B,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;QAC1C,IAAI,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAE/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACpF,MAAM,IAAI,UAAU,CAAC,8DAA8D,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACtH,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,MAAM,GAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,UAAU,CAAC,uEAAuE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3F,CAAC;IAGD,MAAM,aAAa,GAAG;QAClB,UAAU,EAAE;YACR,EAAE,IAAI,EAAE,GAAG,EAAE;SAChB;KACJ,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC;IAGD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3C,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAE5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,OAAO,EAAE,CAAC;gBACd,KAAK,WAAW;oBACZ,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;oBACvE,MAAM;gBACV,KAAK,eAAe;oBAChB,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;oBACjF,MAAM;gBACV,KAAK,YAAY;oBACb,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;oBACxE,MAAM;gBACV,KAAK,YAAY;oBACb,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;oBACxE,MAAM;gBACV,KAAK,QAAQ;oBACT,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;oBACzE,MAAM;gBACV;oBACI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACrE,MAAM;YACd,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,UAAU,CAAC,mCAAmC,QAAQ,mBAAmB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACtH,CAAC;QAED,IAAI,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7E,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;IAC/C,CAAC;IAED,KAAK,IAAI,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACnE,UAAU,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAC1C,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClC,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,gBAAgB,CAAC,GAAG,CAAC,CAAC,mBAAmB,GAAG,GAAG,EAAE;oBAC7C,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAAC;oBAC9D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,WAAW,CAAC,GAAG,CAAC;wBAChB,WAAW,CAAC,GAAG,CAAC,CAAC;4BACb,IAAI,EAAE,mBAAmB;4BACzB,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC;4BAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAAc;4BACpD,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,kBAAkB;4BACzD,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,iBAAiB;yBAC1D,CAAC,CAAC;gBACX,CAAC,CAAC;gBAEF,OAAO,CAAC;oBACJ,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC;oBAC7B,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;oBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBAC/C,KAAK,EAAE,IAAI,CAAC,aAAa;iBAC5B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC;KACL,CAAA;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAqB;IAC5C,OAAO,KAAK,EAAE,MAAyB,EAAE,QAAkB,EAAwB,EAAE;QACjF,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QACtB,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QAEtC,IAAI,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,IAAI,MAAM,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC;QAE5C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,YAAY,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAE/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACpF,MAAM,IAAI,UAAU,CAAC,8DAA8D,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACtH,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,EAAE,GAAG,GAAG,0BAA0B,EAAE,GAAG,MAAM,CAAC;QAElD,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,iBAAiB,CAAC;gBAC7C,UAAU,EAAE;oBACR,EAAE,IAAI,EAAE,GAAG,EAAE;iBAChB;aACJ,CAAC,CAAC;QACP,CAAC;QAED,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC3C,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,WAAW,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,gBAAgB,CAAC,MAAM,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,0BAA0B,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;YAClC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;YACvD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC,CAAA;QAED,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAClE,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;SAC3C,CAAC,CAAC,CAAC;QAEJ,OAAO;YACH,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YAClD,KAAK,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAA;IACL,CAAC,CAAA;AACL,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAS;IAC9B,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjC,IAAI,MAAM,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC;IAE5C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE7D,IAAI,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC;IAC5D,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAErC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;KAC3C,CAAC,CAAC,CAAC;AACR,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,KAAK,EAAE,SAAS;IAC5C,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAE3C,IAAI,MAAM,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;QAC/D,OAAO;IACX,CAAC;IAED,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAGrD,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAEtF,QAAQ,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS;QACpC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;QAC9B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;QAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB;QAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;QAClC,cAAc,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,iBAAiB;QAC7D,eAAe,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,kBAAkB;KAClE,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,EAAE,SAAS,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;KAC3C,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW,EAAE,OAAiB;IACzD,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,QAAQ,GAAG;QACb,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;YACpB,EAAE,CAAC;gBACC,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACP,CAAC;QACD,cAAc,EAAE,CAAC,KAAgC,EAAE,EAAE;YACjD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,EAAE,CAAC;oBACC,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS;oBACpC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;oBAC9B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa;oBAC5C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB;oBAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;oBAClC,cAAc,EAAE,IAAI,CAAC,iBAAiB;oBACtC,eAAe,EAAE,IAAI,CAAC,kBAAkB;iBAC3C,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;QACD,mBAAmB,EAAE,CAAC,KAAU,EAAE,EAAE;YAChC,EAAE,CAAC;gBACC,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,cAAc,EAAE,IAAI,CAAC,iBAAiB;gBACtC,eAAe,EAAE,IAAI,CAAC,kBAAkB;aAC3C,CAAC,CAAC;QACP,CAAC;QACD,0BAA0B,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC;gBACC,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,cAAc,EAAE,IAAI,CAAC,iBAAiB;gBACtC,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC,CAAC;QACP,CAAC;QACD,yBAAyB,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC;gBACC,IAAI,EAAE,yBAAyB;gBAC/B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,iBAAiB;gBAC7B,eAAe,EAAE,IAAI,CAAC,kBAAkB;gBACxC,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC,CAAC;QACP,CAAC;QACD,sBAAsB,EAAE,GAAG,EAAE;YACzB,EAAE,CAAC;gBACC,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,cAAc;gBAC1B,eAAe,EAAE,IAAI,CAAC,kBAAkB;gBACxC,cAAc,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,CAAC;QACP,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE;YACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1B,EAAE,CAAC;gBACC,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,eAAe,EAAE,IAAI,CAAC,kBAAkB;gBACxC,cAAc,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC,CAAC;QACP,CAAC;QACD,uBAAuB,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC;gBACC,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,eAAe;gBAC3B,QAAQ,EAAE,IAAI,CAAC,kBAAkB;gBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC,CAAC;YAEH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;YAEjC,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAEvE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;KACJ,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC1B,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,WAA2B,EAAE,OAAkB;IACnF,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,GAAG,GAAG;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,cAAc,EAAE,WAAW,CAAC,cAAc;aAC7C,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,GAAG,GAAG;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gBAC1B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBAClC,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,EAAE,WAAW,CAAC,KAAK;aAC3B,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7D,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,MAAM,GAAG;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,EAAE,EAAE,WAAW,CAAC,EAAE;aACrB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,UAAU,EAAE,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,CAAC;YAEX,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,CAAC;YACL,CAAC;QACL,CAAC;QACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,MAAM,GAAG;gBACT,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,0BAA0B,EAAE,WAAW,CAAC,0BAA0B;gBAClE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC7B,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,qBAAqB,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;YAChF,EAAE,CAAC,MAAM,CAAC,CAAC;QACf,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,kBAAkB,WAAW,CAAC,KAAK,uCAAuC,CAAC,CAAC;YACpG,IAAI,GAAG,GAAG;gBACN,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ;aACjC,CAAC;YACF,EAAE,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;KACJ,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- declare const root: any;
2
- declare const win: any;
3
- declare function toBase64Url(input: any): string;