@googleworkspace/meet-addons 1.2.0-dev-831545221 → 1.2.0-dev-832460133

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/meet.addons.d.ts CHANGED
@@ -1,248 +1,5 @@
1
1
 
2
2
 
3
- // Original file: live_sharing.v2.types.d.ts
4
-
5
-
6
- /**
7
- * Binary-encoded state for CoDoing experiences.
8
- */
9
- export interface CoDoingState {
10
- bytes: Uint8Array;
11
- }
12
-
13
-
14
- /**
15
- * Host-provided set of base configuration options.
16
- */
17
- export interface CoActivityDelegate {
18
- /**
19
- * User-suitable string describing the CoActivity.
20
- */
21
- activityTitle: string;
22
- }
23
-
24
-
25
- /**
26
- * Host-provided set of callbacks required to operate a CoDoing experience.
27
- */
28
- export interface CoDoingDelegate extends CoActivityDelegate {
29
- /**
30
- * Callback for state updates broadcast by other participants in the meeting.
31
- *
32
- * Note: This isn't called in response to local changes.
33
- *
34
- * @param update the state update to be applied.
35
- */
36
- onCoDoingStateChanged(newState: CoDoingState): void;
37
- }
38
-
39
-
40
-
41
- /**
42
- * Client-constructed CoDoing experience with hooks for hosts to notify
43
- * of state updates.
44
- */
45
- export interface CoDoingClient {
46
- /**
47
- * Broadcasts state to all other current participants, and is the default
48
- * state for any participant until some other state is broadcast.
49
- *
50
- * **Note:** This shared state is eventually consistent across
51
- * participants. For predictable behavior, this binary state should be
52
- * complete, not partial, as the Meet add-ons SDK doesn't provide
53
- * guarantees around the delivery of individual messages -- only eventual
54
- * consistency.
55
- *
56
- * **Note:** In a race condition where two participants call this method
57
- * simultaneously, the Meet add-ons SDK selects a canonical winning
58
- * update. The losing update might or might not be applied to participants,
59
- * but the winning update is always applied later.
60
- */
61
- broadcastStateUpdate(newState: CoDoingState): void;
62
- }
63
-
64
-
65
-
66
- /**
67
- * Current PlaybackState for CoWatching experiences.
68
- */
69
- export type PlaybackState =
70
- | 'INVALID'
71
- | 'BUFFERING'
72
- | 'PLAY'
73
- | 'PAUSE'
74
- | 'ENDED';
75
-
76
- /**
77
- * State for CoWatching experiences.
78
- */
79
- export interface CoWatchingState {
80
- /**
81
- * The identifier for the media being played.
82
- *
83
- * Note: The actual format only matters to the co-watching app.
84
- */
85
- mediaId: string;
86
-
87
- /** The current position of the media playout, in seconds. */
88
- mediaPlayoutPosition: number;
89
-
90
- /** The current playout rate, where {@code 1.0} is normal speed. */
91
- mediaPlayoutRate: number;
92
-
93
- /** The current player state, such as Paused, Playing, Buffering, etc. */
94
- playbackState: PlaybackState;
95
- }
96
-
97
-
98
-
99
- type CoWatchingQueryResponse = Pick<CoWatchingState, 'mediaPlayoutPosition'>;
100
-
101
-
102
- /**
103
- * Host-provided set of callbacks required to operate a CoWatching experience.
104
- */
105
- export interface CoWatchingDelegate extends CoActivityDelegate {
106
- /**
107
- * Apply the supplied state to media playout, up to and including switching
108
- * to a new media stream if the mediaId changes.
109
- *
110
- * @param state the new state to be applied to the player.
111
- */
112
- onCoWatchingStateChanged(newState: CoWatchingState): void;
113
-
114
- /**
115
- * Return the current state of the local media playout. This is called
116
- * regularly so it should be written to be performant.
117
- *
118
- * @return a {@link CoWatchingState} describing the current state.
119
- */
120
- onCoWatchingStateQuery(): CoWatchingQueryResponse;
121
- }
122
-
123
-
124
-
125
- /**
126
- * Client-constructed CoWatching experience with hooks for hosts to manage the
127
- * state.
128
- */
129
- export interface CoWatchingClient {
130
- /**
131
- * Notify Meet that the user has switched media so Meet can pass that along
132
- * to other users.
133
- *
134
- * @param mediaTitle The title of the media switched to. This title is
135
- * reflected in the Meet UI when other users are considering connecting to
136
- * the co-watching session.
137
- * @param mediaId The string URI of the media switched to.
138
- * @param mediaPlayoutPosition The position at which the media began playout.
139
- */
140
- notifySwitchedToMedia(
141
- mediaTitle: string,
142
- mediaId: string,
143
- mediaPlayoutPosition: number,
144
- ): void;
145
-
146
- /**
147
- * Notify Meet that the user has paused or unpaused the playback of media, so
148
- * Meet can mirror that action for other users.
149
- *
150
- * @param paused The new paused or unpaused state.
151
- */
152
- notifyPauseState(paused: boolean, mediaPlayoutPosition: number): void;
153
-
154
- /**
155
- * Notify Meet that the user has sought the playback point of the media, so
156
- * Meet can mirror that action for other users.
157
- *
158
- * @param mediaPlayoutPosition The timestamp that the user sought.
159
- */
160
- notifySeekToTimestamp(mediaPlayoutPosition: number): void;
161
-
162
- /**
163
- * Notify Meet that the user updated the playout rate of the media to a new
164
- * value (for example, 1.25x).
165
- *
166
- * @param rate The rate at which the media is now being played.
167
- * @param mediaPlayoutPosition The position at which the media began playout
168
- */
169
- notifyPlayoutRate(rate: number, mediaPlayoutPosition: number): void;
170
-
171
- /**
172
- * Notify Meet that the media isn't ready to be played due to
173
- * buffering, a prior media switch, seeking, or normal network
174
- * congestion.
175
- *
176
- * @param mediaPlayoutPosition The timestamp at which the media is paused or
177
- * waiting for buffering to complete.
178
- */
179
- notifyBuffering(mediaPlayoutPosition: number): void;
180
-
181
- /**
182
- * Notify Meet that the buffering is complete and the media is now ready to
183
- * play, starting at the supplied timestamp.
184
- *
185
- * @param mediaPlayoutPosition The timestamp at which the media is buffered
186
- * and is now ready to play.
187
- */
188
- notifyReady(mediaPlayoutPosition: number): void;
189
- }
190
-
191
-
192
-
193
- // Original file: index.types.d.ts
194
-
195
-
196
- /**
197
- * Parameters to retrieve the add-on session.
198
- */
199
- export interface AddonSessionOptions {
200
- /**
201
- * The Google Cloud project number of the add-on.
202
- */
203
- cloudProjectNumber: string;
204
- }
205
-
206
- /**
207
- * The main entry point for accessing Meet add-on functionality. Available
208
- * globally under `window.meet.addon`.
209
- */
210
- export interface MeetAddon {
211
- /**
212
- * Returns the {@link
213
- * https://developers.google.com/meet/add-ons/reference/websdk/addon_sdk.frametype
214
- * | FrameType} in which the add-on is running in.
215
- */
216
- getFrameType: () => FrameType;
217
-
218
- /**
219
- * Creates an add-on session.
220
- */
221
- createAddonSession: (options: AddonSessionOptions) => Promise<AddonSession>;
222
- }
223
-
224
- /** The structure of the top-level add-on export. */
225
- interface MeetAddonExport {
226
- addon: MeetAddon;
227
- }
228
-
229
- /** The structure of an error generated from the Meet add-ons SDK. */
230
- interface MeetAddonError extends Error {
231
- readonly errorType: ErrorType;
232
- }
233
-
234
- /**
235
- * The main entry point for accessing Meet add-on functionality.
236
- */
237
- export const meet: MeetAddonExport;
238
-
239
- declare global {
240
- export interface Window {
241
- meet: MeetAddonExport;
242
- }
243
- }
244
-
245
-
246
3
  // Original file: client.types.d.ts
247
4
 
248
5
 
@@ -500,3 +257,246 @@ export interface AddonSession {
500
257
  coWatchingDelegate: CoWatchingDelegate,
501
258
  ): Promise<CoWatchingClient>;
502
259
  }
260
+
261
+
262
+ // Original file: index.types.d.ts
263
+
264
+
265
+ /**
266
+ * Parameters to retrieve the add-on session.
267
+ */
268
+ export interface AddonSessionOptions {
269
+ /**
270
+ * The Google Cloud project number of the add-on.
271
+ */
272
+ cloudProjectNumber: string;
273
+ }
274
+
275
+ /**
276
+ * The main entry point for accessing Meet add-on functionality. Available
277
+ * globally under `window.meet.addon`.
278
+ */
279
+ export interface MeetAddon {
280
+ /**
281
+ * Returns the {@link
282
+ * https://developers.google.com/meet/add-ons/reference/websdk/addon_sdk.frametype
283
+ * | FrameType} in which the add-on is running in.
284
+ */
285
+ getFrameType: () => FrameType;
286
+
287
+ /**
288
+ * Creates an add-on session.
289
+ */
290
+ createAddonSession: (options: AddonSessionOptions) => Promise<AddonSession>;
291
+ }
292
+
293
+ /** The structure of the top-level add-on export. */
294
+ interface MeetAddonExport {
295
+ addon: MeetAddon;
296
+ }
297
+
298
+ /** The structure of an error generated from the Meet add-ons SDK. */
299
+ interface MeetAddonError extends Error {
300
+ readonly errorType: ErrorType;
301
+ }
302
+
303
+ /**
304
+ * The main entry point for accessing Meet add-on functionality.
305
+ */
306
+ export const meet: MeetAddonExport;
307
+
308
+ declare global {
309
+ export interface Window {
310
+ meet: MeetAddonExport;
311
+ }
312
+ }
313
+
314
+
315
+ // Original file: live_sharing.v2.types.d.ts
316
+
317
+
318
+ /**
319
+ * Binary-encoded state for CoDoing experiences.
320
+ */
321
+ export interface CoDoingState {
322
+ bytes: Uint8Array;
323
+ }
324
+
325
+
326
+ /**
327
+ * Host-provided set of base configuration options.
328
+ */
329
+ export interface CoActivityDelegate {
330
+ /**
331
+ * User-suitable string describing the CoActivity.
332
+ */
333
+ activityTitle: string;
334
+ }
335
+
336
+
337
+ /**
338
+ * Host-provided set of callbacks required to operate a CoDoing experience.
339
+ */
340
+ export interface CoDoingDelegate extends CoActivityDelegate {
341
+ /**
342
+ * Callback for state updates broadcast by other participants in the meeting.
343
+ *
344
+ * Note: This isn't called in response to local changes.
345
+ *
346
+ * @param update the state update to be applied.
347
+ */
348
+ onCoDoingStateChanged(newState: CoDoingState): void;
349
+ }
350
+
351
+
352
+
353
+ /**
354
+ * Client-constructed CoDoing experience with hooks for hosts to notify
355
+ * of state updates.
356
+ */
357
+ export interface CoDoingClient {
358
+ /**
359
+ * Broadcasts state to all other current participants, and is the default
360
+ * state for any participant until some other state is broadcast.
361
+ *
362
+ * **Note:** This shared state is eventually consistent across
363
+ * participants. For predictable behavior, this binary state should be
364
+ * complete, not partial, as the Meet add-ons SDK doesn't provide
365
+ * guarantees around the delivery of individual messages -- only eventual
366
+ * consistency.
367
+ *
368
+ * **Note:** In a race condition where two participants call this method
369
+ * simultaneously, the Meet add-ons SDK selects a canonical winning
370
+ * update. The losing update might or might not be applied to participants,
371
+ * but the winning update is always applied later.
372
+ */
373
+ broadcastStateUpdate(newState: CoDoingState): void;
374
+ }
375
+
376
+
377
+
378
+ /**
379
+ * Current PlaybackState for CoWatching experiences.
380
+ */
381
+ export type PlaybackState =
382
+ | 'INVALID'
383
+ | 'BUFFERING'
384
+ | 'PLAY'
385
+ | 'PAUSE'
386
+ | 'ENDED';
387
+
388
+ /**
389
+ * State for CoWatching experiences.
390
+ */
391
+ export interface CoWatchingState {
392
+ /**
393
+ * The identifier for the media being played.
394
+ *
395
+ * Note: The actual format only matters to the co-watching app.
396
+ */
397
+ mediaId: string;
398
+
399
+ /** The current position of the media playout, in seconds. */
400
+ mediaPlayoutPosition: number;
401
+
402
+ /** The current playout rate, where {@code 1.0} is normal speed. */
403
+ mediaPlayoutRate: number;
404
+
405
+ /** The current player state, such as Paused, Playing, Buffering, etc. */
406
+ playbackState: PlaybackState;
407
+ }
408
+
409
+
410
+
411
+ type CoWatchingQueryResponse = Pick<CoWatchingState, 'mediaPlayoutPosition'>;
412
+
413
+
414
+ /**
415
+ * Host-provided set of callbacks required to operate a CoWatching experience.
416
+ */
417
+ export interface CoWatchingDelegate extends CoActivityDelegate {
418
+ /**
419
+ * Apply the supplied state to media playout, up to and including switching
420
+ * to a new media stream if the mediaId changes.
421
+ *
422
+ * @param state the new state to be applied to the player.
423
+ */
424
+ onCoWatchingStateChanged(newState: CoWatchingState): void;
425
+
426
+ /**
427
+ * Return the current state of the local media playout. This is called
428
+ * regularly so it should be written to be performant.
429
+ *
430
+ * @return a {@link CoWatchingState} describing the current state.
431
+ */
432
+ onCoWatchingStateQuery(): CoWatchingQueryResponse;
433
+ }
434
+
435
+
436
+
437
+ /**
438
+ * Client-constructed CoWatching experience with hooks for hosts to manage the
439
+ * state.
440
+ */
441
+ export interface CoWatchingClient {
442
+ /**
443
+ * Notify Meet that the user has switched media so Meet can pass that along
444
+ * to other users.
445
+ *
446
+ * @param mediaTitle The title of the media switched to. This title is
447
+ * reflected in the Meet UI when other users are considering connecting to
448
+ * the co-watching session.
449
+ * @param mediaId The string URI of the media switched to.
450
+ * @param mediaPlayoutPosition The position at which the media began playout.
451
+ */
452
+ notifySwitchedToMedia(
453
+ mediaTitle: string,
454
+ mediaId: string,
455
+ mediaPlayoutPosition: number,
456
+ ): void;
457
+
458
+ /**
459
+ * Notify Meet that the user has paused or unpaused the playback of media, so
460
+ * Meet can mirror that action for other users.
461
+ *
462
+ * @param paused The new paused or unpaused state.
463
+ */
464
+ notifyPauseState(paused: boolean, mediaPlayoutPosition: number): void;
465
+
466
+ /**
467
+ * Notify Meet that the user has sought the playback point of the media, so
468
+ * Meet can mirror that action for other users.
469
+ *
470
+ * @param mediaPlayoutPosition The timestamp that the user sought.
471
+ */
472
+ notifySeekToTimestamp(mediaPlayoutPosition: number): void;
473
+
474
+ /**
475
+ * Notify Meet that the user updated the playout rate of the media to a new
476
+ * value (for example, 1.25x).
477
+ *
478
+ * @param rate The rate at which the media is now being played.
479
+ * @param mediaPlayoutPosition The position at which the media began playout
480
+ */
481
+ notifyPlayoutRate(rate: number, mediaPlayoutPosition: number): void;
482
+
483
+ /**
484
+ * Notify Meet that the media isn't ready to be played due to
485
+ * buffering, a prior media switch, seeking, or normal network
486
+ * congestion.
487
+ *
488
+ * @param mediaPlayoutPosition The timestamp at which the media is paused or
489
+ * waiting for buffering to complete.
490
+ */
491
+ notifyBuffering(mediaPlayoutPosition: number): void;
492
+
493
+ /**
494
+ * Notify Meet that the buffering is complete and the media is now ready to
495
+ * play, starting at the supplied timestamp.
496
+ *
497
+ * @param mediaPlayoutPosition The timestamp at which the media is buffered
498
+ * and is now ready to play.
499
+ */
500
+ notifyReady(mediaPlayoutPosition: number): void;
501
+ }
502
+
package/meet.addons.mjs CHANGED
@@ -4,71 +4,72 @@ function da(a,b){if(b)a:{var c=ca;a=a.split(".");for(var d=0;d<a.length-1;d++){v
4
4
  Copyright The Closure Library Authors.
5
5
  SPDX-License-Identifier: Apache-2.0
6
6
  */
7
- var ea=this||self;function fa(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function ha(a,b){function c(){}c.prototype=b.prototype;a.qa=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.oa=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};function ia(a,b){if(Error.captureStackTrace)Error.captureStackTrace(this,ia);else{const c=Error().stack;c&&(this.stack=c)}a&&(this.message=String(a));b!==void 0&&(this.cause=b)}ha(ia,Error);ia.prototype.name="CustomError";function ja(a){ea.setTimeout(()=>{throw a;},0)};var ka,la;a:{for(var ma=["CLOSURE_FLAGS"],na=ea,oa=0;oa<ma.length;oa++)if(na=na[ma[oa]],na==null){la=null;break a}la=na}var pa=la&&la[748402147];ka=pa!=null?pa:!0;function qa(a,b){b=Array.prototype.indexOf.call(a,b,void 0);b>=0&&Array.prototype.splice.call(a,b,1)};const ra=/[-_.]/g,sa={"-":"+",_:"/",".":"="};function ta(a){return sa[a]||""}var ua={};function va(){return wa||(wa=new xa(null,ua))}var xa=class{constructor(a,b){ya(b);this.g=a;if(a!=null&&a.length===0)throw Error("ByteString should be constructed with non-empty values");}};let wa;function ya(a){if(a!==ua)throw Error("illegal external caller");};function za(a,b){a.__closure__error__context__984382||(a.__closure__error__context__984382={});a.__closure__error__context__984382.severity=b};let Aa=void 0;function Ba(a){a=Error(a);za(a,"warning");return a};function Ca(a,b=!1){return b&&Symbol.for&&a?Symbol.for(a):a!=null?Symbol(a):Symbol()}var Da=Ca(),Ea=Ca(),Fa=Ca("m_m",!0);const l=Ca("jas",!0);var Ga;const Ha=[];Ha[l]=7;Ga=Object.freeze(Ha);function Ia(){return typeof BigInt==="function"};var Ja={};function m(a,b){return b===void 0?a.g!==Ka&&!!(2&(a.l[l]|0)):!!(2&b)&&a.g!==Ka}const Ka={};function La(a,b){if(a!=null)if(typeof a==="string")a=a?new xa(a,ua):va();else if(a.constructor!==xa)if(a!=null&&a instanceof Uint8Array)a=a.length?new xa(new Uint8Array(a),ua):va();else{if(!b)throw Error();a=void 0}return a}var Ma=Object.freeze({});function Na(a){a.pa=!0;return a};var Oa=Na(a=>typeof a==="number"),Pa=Na(a=>typeof a==="string"),Qa=Na(a=>typeof a==="boolean");var Ra=typeof ea.BigInt==="function"&&typeof ea.BigInt(0)==="bigint";function p(a){var b=a;if(Pa(b)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(b))throw Error(String(b));}else if(Oa(b)&&!Number.isSafeInteger(b))throw Error(String(b));return Ra?BigInt(a):a=Qa(a)?a?"1":"0":Pa(a)?a.trim()||"0":String(a)}var Xa=Na(a=>Ra?a>=Sa&&a<=Ta:a[0]==="-"?Ua(a,Va):Ua(a,Wa));const Va=Number.MIN_SAFE_INTEGER.toString(),Sa=Ra?BigInt(Number.MIN_SAFE_INTEGER):void 0,Wa=Number.MAX_SAFE_INTEGER.toString(),Ta=Ra?BigInt(Number.MAX_SAFE_INTEGER):void 0;
8
- function Ua(a,b){if(a.length>b.length)return!1;if(a.length<b.length||a===b)return!0;for(let c=0;c<a.length;c++){const d=a[c],e=b[c];if(d>e)return!1;if(d<e)return!0}};let q=0,t=0;function Ya(a){const b=a>>>0;q=b;t=(a-b)/4294967296>>>0}function Za(a){if(a<0){Ya(-a);const [b,c]=$a(q,t);q=b>>>0;t=c>>>0}else Ya(a)}function ab(a,b){b>>>=0;a>>>=0;if(b<=2097151)var c=""+(4294967296*b+a);else Ia()?c=""+(BigInt(b)<<BigInt(32)|BigInt(a)):(c=(a>>>24|b<<8)&16777215,b=b>>16&65535,a=(a&16777215)+c*6777216+b*6710656,c+=b*8147497,b*=2,a>=1E7&&(c+=a/1E7>>>0,a%=1E7),c>=1E7&&(b+=c/1E7>>>0,c%=1E7),c=b+bb(c)+bb(a));return c}
9
- function bb(a){a=String(a);return"0000000".slice(a.length)+a}function cb(){var a=q,b=t;if(b&2147483648)if(Ia())a=""+(BigInt(b|0)<<BigInt(32)|BigInt(a>>>0));else{const [c,d]=$a(a,b);a="-"+ab(c,d)}else a=ab(a,b);return a}function $a(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};const db=typeof BigInt==="function"?BigInt.asIntN:void 0,eb=Number.isSafeInteger,fb=Number.isFinite,gb=Math.trunc;function hb(a){if(a==null||typeof a==="number")return a;if(a==="NaN"||a==="Infinity"||a==="-Infinity")return Number(a)}const ib=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function jb(a){switch(typeof a){case "bigint":return!0;case "number":return fb(a);case "string":return ib.test(a);default:return!1}}
10
- function kb(a){if(a!=null){if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;fb(a)}}function lb(a){if(a!=null)a:{if(!jb(a))throw Ba("int64");switch(typeof a){case "string":var b=gb(Number(a));eb(b)?a=String(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a=mb(a));break a;case "bigint":a=p(db(64,a));break a;default:a=pb(a)}}return a}
11
- function mb(a){var b=a.length;if(a[0]==="-"?b<20||b===20&&a<="-9223372036854775808":b<19||b===19&&a<="9223372036854775807")return a;if(a.length<16)Za(Number(a));else if(Ia())a=BigInt(a),q=Number(a&BigInt(4294967295))>>>0,t=Number(a>>BigInt(32)&BigInt(4294967295));else{b=+(a[0]==="-");t=q=0;const c=a.length;for(let d=b,e=(c-b)%6+b;e<=c;d=e,e+=6){const f=Number(a.slice(d,e));t*=1E6;q=q*1E6+f;q>=4294967296&&(t+=Math.trunc(q/4294967296),t>>>=0,q>>>=0)}if(b){const [d,e]=$a(q,t);q=d;t=e}}return cb()}
12
- function pb(a){a=gb(a);if(!eb(a)){Za(a);var b=q,c=t;if(a=c&2147483648)b=~b+1>>>0,c=~c>>>0,b==0&&(c=c+1>>>0);const d=c*4294967296+(b>>>0);b=Number.isSafeInteger(d)?d:ab(b,c);a=typeof b==="number"?a?-b:b:a?"-"+b:b}return a}function u(a){if(a!=null&&typeof a!=="string")throw Error();return a}function qb(a,b,c){if(a!=null&&a[Fa]===Ja)return a;if(Array.isArray(a)){var d=a[l]|0;c=d|c&32|c&2;c!==d&&(a[l]=c);return new b(a)}};function rb(a){return a};function sb(a,b,c,d){var e=d!==void 0;d=!!d;const f=[];var g=a.length;let h,k=4294967295,n=!1;const r=!!(b&64),z=r?b&128?0:-1:void 0;if(!(b&1||(h=g&&a[g-1],h!=null&&typeof h==="object"&&h.constructor===Object?(g--,k=g):h=void 0,!r||b&128||e))){n=!0;var A;k=((A=tb)!=null?A:rb)(k-z,z,a,h,void 0)+z}b=void 0;for(e=0;e<g;e++)if(A=a[e],A!=null&&(A=c(A,d))!=null)if(r&&e>=k){const G=e-z;let H;((H=b)!=null?H:b={})[G]=A}else f[e]=A;if(h)for(let G in h){a=h[G];if(a==null||(a=c(a,d))==null)continue;g=+G;let H;
13
- if(r&&!Number.isNaN(g)&&(H=g+z)<k)f[H]=a;else{let R;((R=b)!=null?R:b={})[G]=a}}b&&(n?f.push(b):f[k]=b);return f}
14
- function ub(a){switch(typeof a){case "number":return Number.isFinite(a)?a:""+a;case "bigint":return Xa(a)?Number(a):""+a;case "boolean":return a?1:0;case "object":if(Array.isArray(a)){var b=a[l]|0;return a.length===0&&b&1?void 0:sb(a,b,ub)}if(a!=null&&a[Fa]===Ja)return vb(a);if(a instanceof xa){b=a.g;if(b==null)a="";else if(typeof b==="string")a=b;else{let c="",d=0;const e=b.length-10240;for(;d<e;)c+=String.fromCharCode.apply(null,b.subarray(d,d+=10240));c+=String.fromCharCode.apply(null,d?b.subarray(d):
15
- b);a=a.g=btoa(c)}return a}return}return a}let tb;function vb(a){a=a.l;return sb(a,a[l]|0,ub)};function wb(a,b,c,d=0){if(a==null){var e=32;c?(a=[c],e|=128):a=[];b&&(e=e&-16760833|(b&1023)<<14)}else{if(!Array.isArray(a))throw Error("narr");e=a[l]|0;if(ka&&1&e)throw Error("rfarr");2048&e&&!(2&e)&&xb();if(e&256)throw Error("farr");if(e&64)return(e|d)!==e&&(a[l]=e|d),a;if(c&&(e|=128,c!==a[0]))throw Error("mid");a:{c=a;e|=64;var f=c.length;if(f){var g=f-1;const k=c[g];if(k!=null&&typeof k==="object"&&k.constructor===Object){b=e&128?0:-1;g-=b;if(g>=1024)throw Error("pvtlmt");for(var h in k)if(f=
16
- +h,f<g)c[f+b]=k[h],delete k[h];else break;e=e&-16760833|(g&1023)<<14;break a}}if(b){h=Math.max(b,f-(e&128?0:-1));if(h>1024)throw Error("spvt");e=e&-16760833|(h&1023)<<14}}}a[l]=e|64|d;return a}function xb(){if(ka)throw Error("carr");if(Ea!=null){var a;var b=(a=Aa)!=null?a:Aa={};a=b[Ea]||0;a>=5||(b[Ea]=a+1,b=Error(),za(b,"incident"),ja(b))}};function yb(a,b){if(typeof a!=="object")return a;if(Array.isArray(a)){var c=a[l]|0;a.length===0&&c&1?a=void 0:c&2||(!b||4096&c||16&c?a=zb(a,c,!1,b&&!(c&16)):(a[l]|=34,c&4&&Object.freeze(a)));return a}if(a!=null&&a[Fa]===Ja)return b=a.l,c=b[l]|0,m(a,c)?a:Ab(a,b,c)?Bb(a,b):zb(b,c);if(a instanceof xa)return a}function Bb(a,b,c){a=new a.constructor(b);c&&(a.g=Ka);a.A=Ka;return a}function zb(a,b,c,d){d!=null||(d=!!(34&b));a=sb(a,b,yb,d);d=32;c&&(d|=2);b=b&16769217|d;a[l]=b;return a}
17
- function Cb(a){const b=a.l,c=b[l]|0;return m(a,c)?Ab(a,b,c)?Bb(a,b,!0):new a.constructor(zb(b,c,!1)):a}function Db(a){if(a.g!==Ka)return!1;var b=a.l;b=zb(b,b[l]|0);b[l]|=2048;a.l=b;a.g=void 0;a.A=void 0;return!0}function Eb(a){if(!Db(a)&&m(a,a.l[l]|0))throw Error();}function Fb(a,b){b===void 0&&(b=a[l]|0);b&32&&!(b&4096)&&(a[l]=b|4096)}function Ab(a,b,c){return c&2?!0:c&32&&!(c&4096)?(b[l]=c|2,a.g=Ka,!0):!1};const Gb=p(0);function v(a,b,c,d){a=Hb(a.l,b,c,d);if(a!==null)return a}function Hb(a,b,c,d){if(b===-1)return null;const e=b+(c?0:-1),f=a.length-1;let g,h;if(!(f<1+(c?0:-1))){if(e>=f)if(g=a[f],g!=null&&typeof g==="object"&&g.constructor===Object)c=g[b],h=!0;else if(e===f)c=g;else return;else c=a[e];if(d&&c!=null){d=d(c);if(d==null)return d;if(!Object.is(d,c))return h?g[b]=d:a[e]=d,d}return c}}function Ib(a,b,c){Eb(a);const d=a.l;w(d,d[l]|0,b,c);return a}
18
- function w(a,b,c,d){const e=c+-1;var f=a.length-1;if(f>=0&&e>=f){const g=a[f];if(g!=null&&typeof g==="object"&&g.constructor===Object)return g[c]=d,b}if(e<=f)return a[e]=d,b;if(d!==void 0){let g;f=((g=b)!=null?g:b=a[l]|0)>>14&1023||536870912;c>=f?d!=null&&(a[f+-1]={[c]:d}):a[e]=d}return b}function Jb(a,b,c,d){const e=a.l;var f=e[l]|0;a=x(a,d)===c?c:-1;return Kb(e,f,b,a)!==void 0}function Lb(a){return!!(2&a)&&!!(4&a)||!!(256&a)}function Mb(a){return La(a,!0)}
19
- function y(a,b,c,d){Eb(a);const e=a.l;w(e,e[l]|0,b,(d==="0"?Number(c)===0:c===d)?void 0:c);return a}function x(a,b){a=a.l;return Nb(Ob(a),a,void 0,b)}function Ob(a){let b;return(b=a[Da])!=null?b:a[Da]=new Map}function Nb(a,b,c,d){let e=a.get(d);if(e!=null)return e;e=0;for(let f=0;f<d.length;f++){const g=d[f];Hb(b,g)!=null&&(e!==0&&(c=w(b,c,e)),e=g)}a.set(d,e);return e}
20
- function Kb(a,b,c,d){let e=!1;d=Hb(a,d,void 0,f=>{const g=qb(f,c,b);e=g!==f&&g!=null;return g});if(d!=null)return e&&!m(d)&&Fb(a,b),d}function Pb(a,b,c){let d=a.l,e=d[l]|0;b=Kb(d,e,b,c);if(b==null)return b;e=d[l]|0;if(!m(a,e)){const f=Cb(b);f!==b&&(Db(a)&&(d=a.l,e=d[l]|0),b=f,e=w(d,e,c,b),Fb(d,e))}return b}function Qb(a){a==null&&(a=void 0);return a}function Rb(a,b,c){c=Qb(c);Ib(a,b,c);c&&!m(c)&&Fb(a.l);return a}
21
- function B(a,b,c,d){d=Qb(d);a:{var e=d;Eb(a);const h=a.l;var f=h[l]|0;if(e==null){var g=Ob(h);if(Nb(g,h,f,c)===b)g.set(c,0);else break a}else{g=h;const k=Ob(g),n=Nb(k,g,f,c);n!==b&&(n&&(f=w(g,f,n)),k.set(c,b))}w(h,f,b,e)}d&&!m(d)&&Fb(a.l);return a}
22
- function Sb(a,b){Eb(a);const c=a.l;let d=c[l]|0;if(b==null)return w(c,d,1),a;let e=b===Ga?7:b[l]|0,f=e;const g=Lb(e),h=g||Object.isFrozen(b);let k=!0,n=!0;for(let z=0;z<b.length;z++){var r=b[z];g||(r=m(r),k&&(k=!r),n&&(n=r))}g||(e=k?13:5,e=n?e&-4097:e|4096);h&&e===f||(b=[...b],f=0,e=Tb(e,d));e!==f&&(b[l]=e);d=w(c,d,1,b);2&e||!(4096&e||16&e)||Fb(c,d);return a}function Tb(a,b){return a=(2&b?a|2:a&-3)&-273}
23
- function Ub(a){a=v(a,1);a=a==null||typeof a==="boolean"?a:typeof a==="number"?!!a:void 0;return a!=null?a:!1}function Vb(a){a=v(a,1);var b=typeof a;a!=null&&(b==="bigint"?a=p(db(64,a)):jb(a)?b==="string"?(b=gb(Number(a)),eb(b)?a=p(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a=Ia()?p(db(64,BigInt(a))):p(mb(a)))):eb(a)?a=p(pb(a)):(a=gb(a),eb(a)?a=String(a):(Za(a),a=cb()),a=p(a)):a=void 0);return a!=null?a:Gb}
24
- function C(a,b){a=v(a,b);a=a==null||typeof a==="string"?a:void 0;return a!=null?a:""}function D(a,b){a=v(a,b);a=a==null?a:fb(a)?a|0:void 0;return a!=null?a:0}function E(a,b,c,d){c=x(a,d)===c?c:-1;return Pb(a,b,c)}function F(a,b,c){if(c!=null){if(!fb(c))throw Ba("enum");c|=0}return y(a,b,c,0)};function Wb(){var a=Xb||(Xb=Yb("[1,2,0]"));a=Cb(a);a=Ib(a,4,u("dev-831545221"));const b=a.l,c=b[l]|0;return m(a,c)?a:Ab(a,b,c)?Bb(a,b):new a.constructor(zb(b,c,!0))}var I=class{constructor(a){this.l=wb(a,void 0,void 0,2048)}toJSON(){return vb(this)}};I.prototype[Fa]=Ja;I.prototype.toString=function(){return this.l.toString()};function Zb(a){return b=>{if(b==null||b=="")b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");b[l]|=32;b=new a(b)}return b}};var Yb=function(a){return b=>{b=JSON.parse(b);if(!Array.isArray(b)){var c=typeof b;throw Error("Expected jspb data to be an array, got "+(c!="object"?c:b?Array.isArray(b)?"array":c:"null")+": "+b);}b[l]|=34;return new a(b)}}(class extends I{});var $b=class extends I{};function ac(a){var b=new bc(500);let c=0,d;return(...e)=>{cc(b)?a(...e):(d=()=>void a(...e),c||(c=setTimeout(()=>{c=0;let f;(f=d)==null||f()},dc(b))))}}function ec(a){var b=new bc(100),c=Promise.resolve();return(...d)=>cc(b)?a(...d):c};function cc(a){return fc(a,a.index)>=a.g?(a.h[a.index]=Date.now(),a.index=(a.index+1)%1,!0):!1}function dc(a){const b=a.g;a=fc(a,a.index);return a>=b?0:b-a}function fc(a,b){let c;return Date.now()-((c=a.h[b])!=null?c:-1*a.g)}var bc=class{constructor(a){this.g=a;this.h=[];this.index=0}};var hc=class extends I{},ic=[2,3];var jc=class extends I{};var J=class extends Error{constructor({errorType:a,message:b,i:c}){super(`Meet add-on SDK error: ${`${b}${c?` - ${c}`:""}`}`);this.errorType=a}},K={errorType:"InternalError",message:"An unexpected error has occurred.",i:"No further information is available."},kc={errorType:"MissingUrlParameter",message:"Missing required Meet SDK URL parameter",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not strip URL parameters (e.g. as part of a redirect)."},
25
- lc={errorType:"NeedsMainStageContext",message:"This method can only be invoked if the addon is running in the main stage.",i:"Use getFrameType to check whether the addon is running in the main stage before invoking this method."},mc={errorType:"NeedsSidePanelContext",message:"This method can only be invoked if the addon is running in the side panel.",i:"Use getFrameType to check whether the addon is running in the side panel before invoking this method."},nc={errorType:"NotSupportedInStandalone",
26
- message:"This method is not supported in standalone mode.",i:"Do not call this method in standalone mode."},oc={errorType:"MustBeIframed",message:"The SDK must be run in an iframe as part of a Google Meet add-on.",i:"See https://developers.google.com/meet/add-ons/guides/deploy-add-on to deploy to Meet."},pc={errorType:"InternalError",message:"The frame type URL parameter is set to an unexpected value.",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not modify URL parameters (e.g. as part of a redirect)."},
27
- qc={errorType:"InvalidCloudProjectNumber",message:"Cloud Project Number provided by meet does not match the one passed in by the SDK. Ensure that the correct Cloud Project Number is passed to the SDK as a string.",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not modify URL parameters (e.g. as part of a redirect) and ensure that the correct Cloud Project Number was passed into the SDK as a string."},rc={errorType:"DestinationNotReady",
28
- message:"The recipient frame is not connected via the addon SDK and cannot receive the notification.",i:"Make sure the destination frame has connected before sending messages to it."},sc={errorType:"InvalidActivityStartingState",message:"Origin of the ActivityStartingState iframeURLs does not match the origin of the URLs provided in the add-on manifest.",i:"Ensure that the ActivityStartingState iframeURL origins match the origins of the URLs provided in the add-on manifest."},tc={errorType:"ActivityStartingStateMissingAttributes",
29
- message:"The supplied ActivityStartingState object does not contain any recognized attributes.",i:"Ensure that the ActivityStartingState object contains at least one of the following attributes: mainStageUrl, sidePanelUrl, additionalData."},uc={errorType:"ActivityStartingStateUnrecognizedAttributes",message:"The supplied ActivityStartingState object contains attributes that are not recognized.",i:"Ensure that the ActivityStartingState object has only the following attributes: mainStageUrl, sidePanelUrl, additionalData."},
30
- wc={errorType:"AddonStartingStateMissingAttributes",message:"The supplied AddonStartingState object does not contain any recognized attributes.",i:"Ensure that the AddonStartingState object contains at least one of the following attributes: sidePanelUrl, additionalData."},xc={errorType:"AddonStartingStateUnrecognizedAttributes",message:"The supplied AddonStartingState object contains attributes that are not recognized.",i:"Ensure that the AddonStartingState object has only the following attributes: sidePanelUrl, additionalData."},
31
- yc=a=>({errorType:"ArgumentNullError",message:`The argument supplied for '${a}' was 'null' but a value was expected.`,i:"Ensure you are passing a value of the expected type for the argument."}),L=(a,b,c)=>({errorType:"ArgumentTypeError",message:`The type '${b}' of argument supplied for '${a}' did not match the expected type '${c}'.`,i:"Ensure the type of the argument provided matches the expected type."}),zc=a=>({errorType:"InternalError",message:`Could not connect to ${a} channel. Unknown error`,
32
- i:"No further information is available."}),Ac={errorType:"ActivityIsOngoing",message:"Operation cannot be performed while an activity is ongoing.",i:"Ensure that no activity is ongoing."},Bc={errorType:"InternalError",message:"Frame message missing required Meet SDK command.",i:"Send one of the available commands in the frame message."},Cc={errorType:"NoActivityFound",message:"No activity found.",i:"Ensure that the activity is started before performing this operation."},Dc={errorType:"RequiresEapEnrollment",
33
- message:"This feature is only available to early access partners.",i:"Meet add-on early access enrollment is currently closed."},Ec={errorType:"UserNotInitiator",message:"Operation cannot be performed because the user is not the initiator of the current activity.",i:"Ensure that the user is the initiator of the current activity or that the activity has ended."},Fc={errorType:"SizeLimitExceededActivityStartingState",message:"The size of the activityStartingState URLs and/or its data exceed the limits allowed.",
34
- i:"Ensure that the activityStartingState URL size is less than 512 characters and the additional data size is less than 4096 characters."},Gc={errorType:"SizeLimitExceededFrameToFrameMessage",message:"The size of the frame to frame message exceeds the limits allowed.",i:"Ensure that the frame to frame message size is less than 1,000,000 characters."},Hc={errorType:"AddonSessionAlreadyCreated",message:"The addon session has already been created.",i:"Only instantiate the AddonSession once."},Ic={errorType:"UserCancelled",
35
- message:"The user cancelled starting an activity.",i:"The user needs to click continue to start the activity."},Jc={errorType:"NotSupportedInMeetCall",message:"This method is not supported during a Meet call.",i:"Do not call this method during a Meet call."},Kc={errorType:"InvalidAddonStartingState",message:"Origin of the AddonStartingState iframeURLs does not match the origin of the URLs provided in the add-on manifest.",i:"Ensure that the AddonStartingState iframeURL origins match the origins of the URLs provided in the add-on manifest."},
36
- Lc={errorType:"SizeLimitExceededAddonStartingState",message:"The size of the AddonStartingState URLs and/or its data exceed the limits allowed.",i:"Ensure that the AddonStartingState URL size is less than 512 characters and the additional data size is less than 4096 characters."},Mc={errorType:"MeetingPolicyPreventsStartingActivity",message:"A meeting policy (such as using host control settings) prevents the user from starting the activity.",i:"Have a meeting host or administrator modify the necessary settings to allow the current user to start the activity."};
37
- function Nc(a){switch(a){case 0:return K;case 1:return rc;case 2:return sc;case 3:return Ac;case 4:return Bc;case 5:return Dc;case 6:return nc;case 7:return Ec;case 8:return Fc;case 9:return Gc;case 10:return Ic;case 11:return Jc;case 12:return Kc;case 13:return Lc;case 14:return Cc;case 15:return Mc;default:return K}}
38
- function Oc(a){let b;var c=(b=D(a,1))!=null?b:0;a=Pc(x(a,ic));switch(c){case 1:return{errorType:"InternalError",message:`Could not connect to ${a} channel. Meet did not respond with a MessagePort.`,i:"No further information is available."};case 2:return{errorType:"InternalError",message:`Could not connect to ${a}. A conflicting ${a} exists.`,i:"No further information is available."};case 3:return{errorType:"InternalError",message:`Could not connect to ${a} channel. The addon does not have permission to open a ${a}.`,
39
- i:"This method might require EAP enrollment."};case 4:return{errorType:"InternalError",message:`Could not connect to ${a} channel. The addon is not authorized for this ${a}.`,i:"No further information is available."};case 0:return zc(a);case 5:a:switch(a){case "co":c={errorType:"InternalError",message:`Could not connect to ${a} channel. The coActivity was not found.`,i:`Consider starting the ${a} only after after the startActivity promise returns.`};break a;default:c={errorType:"InternalError",message:`Could not connect to ${a} channel.`,
40
- i:"No further information is available."}}return c;default:return zc(a)}}function Pc(a){switch(a){case 2:return"co";case 3:return"gd";case 0:return"unknown";default:return"unknown"}}function M({errorType:a,message:b,i:c},d=""){throw new J({errorType:a,message:d?`${b} ${d}`:b,i:c});}function Qc(a,b){M({...kc,message:`${kc.message}: ${a}. In URL ${b}`})};function Rc(a){var b=new Sc;return F(b,1,a)}function Tc(a,b){return y(a,2,u(b),"")}function Uc(a,b){return y(a,3,u(b),"")}var Sc=class extends I{getFrameType(){return D(this,1)}};function Vc(a){var b=a.l,c=b,d=b[l]|0,e=Sc;b=void 0===Ma?2:4;var f=m(a,d);const g=f?1:b;b=g===3;var h=!f;(g===2||h)&&Db(a)&&(c=a.l,d=c[l]|0);a=Hb(c,1);f=Array.isArray(a)?a:Ga;var k=f===Ga?7:f[l]|0;a=k;2&d&&(a|=2);var n=a|1;if(a=!(4&n)){var r=f,z=d;const A=!!(2&n);A&&(z|=2);let G=!A,H=!0,R=0,nb=0;for(;R<r.length;R++){const ob=qb(r[R],e,z);if(ob instanceof e){if(!A){const vc=m(ob);G&&(G=!vc);H&&(H=vc)}r[nb++]=ob}}nb<R&&(r.length=nb);n|=4;n=H?n&-4097:n|4096;n=G?n|8:n&-9}n!==k&&(f[l]=n,2&n&&Object.freeze(f));
41
- if(h&&!(8&n||!f.length&&(g===1||(g!==4?0:2&n||!(16&n)&&32&d)))){Lb(n)&&(f=[...f],n=Tb(n,d),d=w(c,d,1,f));e=f;h=n;for(k=0;k<e.length;k++)r=e[k],n=Cb(r),r!==n&&(e[k]=n);h|=8;n=h=e.length?h|4096:h&-4097;f[l]=n}h=e=n;g===1||(g!==4?0:2&e||!(16&e)&&32&d)?Lb(e)||(e|=!f.length||a&&!(4096&e)||32&d&&!(4096&e||16&e)?2:256,e!==h&&(f[l]=e),Object.freeze(f)):(g===2&&Lb(e)&&(f=[...f],h=0,e=Tb(e,d),d=w(c,d,1,f)),Lb(e)||(b||(e|=16),e!==h&&(f[l]=e)));2&e||!(4096&e||16&e)||Fb(c,d);return f}
42
- function Wc(a){var b=new Xc;return Sb(b,a)}var Xc=class extends I{};var Yc=class extends I{};function Zc(a){return Pb(a,Xc,1)}var $c=class extends I{};var ad=class extends I{};var bd=class extends I{};var cd=class extends I{};var dd=class extends I{getMeetPlatformInfo(){return Pb(this,bd,1)}};var ed=class extends I{getMeetingInfo(){return Pb(this,cd,1)}};var fd=class extends I{},N=[1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];var gd=class extends I{};var hd=class extends I{};var id=new Map([[2,"MAIN_STAGE"],[1,"SIDE_PANEL"]]),jd=new Map([[0,"UNKNOWN"],[1,"OPEN_ADDON"],[2,"START_ACTIVITY"],[3,"JOIN_ACTIVITY"]]);function kd(a){a&&typeof a.dispose=="function"&&a.dispose()};function O(){this.o=this.o;this.g=this.g}O.prototype.o=!1;O.prototype.dispose=function(){this.o||(this.o=!0,this.H())};O.prototype[Symbol.dispose]=function(){this.dispose()};function ld(a,b){a.o?b():(a.g||(a.g=[]),a.g.push(b))}O.prototype.H=function(){if(this.g)for(;this.g.length;)this.g.shift()()};function md({J:a,R:b}){if(a===null)throw new J(yc("activityStartingState"));if(b||a!==void 0){if(typeof a!=="object")throw new J(L("activityStartingState",typeof a,`object${b?"":" | undefined"}`));if(a.mainStageUrl!==void 0&&typeof a.mainStageUrl!=="string")throw new J(L("mainStageUrl",typeof a.mainStageUrl,"string | undefined"));if(a.sidePanelUrl!==void 0&&typeof a.sidePanelUrl!=="string")throw new J(L("sidePanelUrl",typeof a.sidePanelUrl,"string | undefined"));if(a.additionalData!==void 0&&typeof a.additionalData!==
43
- "string")throw new J(L("additionalData",typeof a.additionalData,"string | undefined"));if(Object.keys(a).length!==+!!a.mainStageUrl+ +!!a.sidePanelUrl+ +!!a.additionalData)throw new J(uc);if(Object.keys(a).length===0)throw new J(tc);}}function nd(a){const b=[];b.push(Uc(Tc(Rc(2),a.mainStageUrl),a.additionalData));b.push(Uc(Tc(Rc(1),a.sidePanelUrl),a.additionalData));return b}
44
- var wd=class extends O{constructor(a){super();this.context=a;this.h={};od(this.context.g.U,b=>{switch(x(b.content,N)){case 7:const d=this.h.frameToFrameMessage;b=E(b.content,ad,7,N);if(d&&b){var c=D(b,1);c=id.get(c);if(c===void 0)throw Error("Unknown frame type.");d({originator:c,payload:C(b,2)})}}},this)}async getMeetingInfo(){var a=await pd(this.context.g);var b=a.getMeetingInfo();b=C(b,1);a=a.getMeetingInfo();a=C(a,2);return{meetingId:b,meetingCode:a}}async getFrameOpenReason(){let a;const b=(a=
45
- this.context.h.da)!=null?a:0;let c;return(c=jd.get(b))!=null?c:"UNKNOWN"}async getActivityStartingState(){var a=Zc(await qd(this.context.g));const b=a==null?void 0:Vc(a).find(c=>c.getFrameType()===2);a=a==null?void 0:Vc(a).find(c=>c.getFrameType()===1);return{mainStageUrl:(b==null?void 0:C(b,2))||void 0,sidePanelUrl:(a==null?void 0:C(a,2))||void 0,additionalData:(a==null?void 0:C(a,3))||void 0}}async setActivityStartingState(a){md({J:a,R:!0});var b=nd(a);a=rd;var c=this.context.g;var d=new gd;b=Wc(b);
46
- d=Rb(d,1,b);await a(c,d)}on(a,b){this.h[a]=b}async getMeetPlatformInfo(){var a=(await sd(this.context.g)).getMeetPlatformInfo();return{isMeetHardware:Ub(a)}}async closeAddon(){await td(this.context.g)}async startActivity(a){md({J:a,R:!1});const b=new hd;a&&(a=nd(a),a=Wc(a),Rb(b,1,a));await ud(this.context.g,b)}async endActivity(a){var b=vd,c=this.context.g,d=new Yc;a=F(d,1,a==="aab61ee0-51b4-475d-aa4d-849f2498640d"?999:0);await b(c,a)}};var xd=Zb(class extends I{getFrameOpenReason(){return D(this,5)}});function yd(){var a=window.location.href;var b=window.location.href;var c=(new URL(b)).searchParams.get("meet_sdk");if(c)b=xd(atob(c));else{var d;((d=window.top)!=null?d:window)===window?M(oc):Qc("meet_sdk",b);b=void 0}(c=C(b,1))||Qc("meet_addon_frame_type",a);c=Number(c);if(c!==2&&c!==1)throw new J(pc);(d=C(b,2))||Qc("meet_control_channel_name",a);const e=C(b,4);e||Qc("addon_cloud_project_number",a);var f;a=(f=b.getFrameOpenReason())!=null?f:0;f=C(b,3)||"https://meet.google.com";return{da:a,frameType:c,
47
- ca:d,cloudProjectNumber:e,S:f}};var zd=class extends I{};var Ad=class extends I{};var Bd=class extends I{};function Cd(){var a=new Dd,b=new Bd;return B(a,1,Ed,b)}var Dd=class extends I{},Ed=[1,2];function Fd(a){var b=new Gd;return Rb(b,2,a)}function Hd(a,b){return y(a,3,u(b),"")}var Gd=class extends I{};var Id=class extends I{};var Jd=class extends I{};var Kd=class extends I{};var Ld=class extends I{};var Md=class extends I{};var Nd=class extends I{};var Od=class extends I{setAddonStartingState(a){return Rb(this,1,a)}};var Pd=class extends I{};function Qd(a,b){return B(a,2,P,b)}var Q=class extends I{},P=[1,2,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20];function Rd(a){return E(a,fd,2,Sd)}var Td=class extends I{},Ud=Zb(Td),Sd=[1,2];class Vd{constructor(a,b){this.data=a;this.channel=b}};var Wd=Promise;function Xd(a){const b=new MessageChannel;Yd(b.port1,a);return b}function Zd(a,b){Yd(a,b);return new $d(a)}class $d{constructor(a){this.g=a}send(a,b,c=[]){b=Xd(b);this.g.postMessage(a,[b.port2].concat(c))}D(a,b){return new Wd(c=>{this.send(a,c,b)})}}function Yd(a,b){b&&(a.onmessage=c=>{var d=c.data;c=Zd(c.ports[0]);b(new Vd(d,c))})};var ae=typeof AsyncContext!=="undefined"&&typeof AsyncContext.Snapshot==="function"?a=>a&&AsyncContext.Snapshot.wrap(a):a=>a;function be(a,b){a.m(b);a.h<100&&(a.h++,b.next=a.g,a.g=b)}class ce{constructor(a,b){this.j=a;this.m=b;this.h=0;this.g=null}get(){let a;this.h>0?(this.h--,a=this.g,this.g=a.next,a.next=null):a=this.j();return a}};function de(){var a=ee;let b=null;a.g&&(b=a.g,a.g=a.g.next,a.g||(a.h=null),b.next=null);return b}class fe{constructor(){this.h=this.g=null}add(a,b){const c=ge.get();c.set(a,b);this.h?this.h.next=c:this.g=c;this.h=c}}var ge=new ce(()=>new he,a=>a.reset());class he{constructor(){this.next=this.g=this.h=null}set(a,b){this.h=a;this.g=b;this.next=null}reset(){this.next=this.g=this.h=null}};let ie,je=!1,ee=new fe,le=(a,b)=>{ie||ke();je||(ie(),je=!0);ee.add(a,b)},ke=()=>{const a=Promise.resolve(void 0);ie=()=>{a.then(me)}};function me(){let a;for(;a=de();){try{a.h.call(a.g)}catch(b){ja(b)}be(ge,a)}je=!1};function ne(){};function S(a){this.g=0;this.T=void 0;this.m=this.h=this.j=null;this.u=this.A=!1;if(a!=ne)try{const b=this;a.call(void 0,function(c){oe(b,2,c)},function(c){oe(b,3,c)})}catch(b){oe(this,3,b)}}function pe(){this.next=this.context=this.h=this.m=this.g=null;this.j=!1}pe.prototype.reset=function(){this.context=this.h=this.m=this.g=null;this.j=!1};var qe=new ce(function(){return new pe},function(a){a.reset()});function re(a,b,c){const d=qe.get();d.m=a;d.h=b;d.context=c;return d}
48
- function se(){let a,b;const c=new S(function(d,e){a=d;b=e});return new te(c,a,b)}S.prototype.then=function(a,b,c){return ue(this,ae(typeof a==="function"?a:null),ae(typeof b==="function"?b:null),c)};S.prototype.$goog_Thenable=!0;function ve(a,b){b=ae(b);b=re(b,b);b.j=!0;we(a,b)}S.prototype.cancel=function(a){if(this.g==0){const b=new T(a);le(function(){xe(this,b)},this)}};
49
- function xe(a,b){if(a.g==0)if(a.j){var c=a.j;if(c.h){var d=0,e=null,f=null;for(let g=c.h;g&&(g.j||(d++,g.g==a&&(e=g),!(e&&d>1)));g=g.next)e||(f=g);e&&(c.g==0&&d==1?xe(c,b):(f?(d=f,d.next==c.m&&(c.m=d),d.next=d.next.next):ye(c),ze(c,e,3,b)))}a.j=null}else oe(a,3,b)}function we(a,b){a.h||a.g!=2&&a.g!=3||Ae(a);a.m?a.m.next=b:a.h=b;a.m=b}
50
- function ue(a,b,c,d){const e=re(null,null,null);e.g=new S(function(f,g){e.m=b?function(h){try{const k=b.call(d,h);f(k)}catch(k){g(k)}}:f;e.h=c?function(h){try{const k=c.call(d,h);k===void 0&&h instanceof T?g(h):f(k)}catch(k){g(k)}}:g});e.g.j=a;we(a,e);return e.g}S.prototype.na=function(a){this.g=0;oe(this,2,a)};S.prototype.Y=function(a){this.g=0;oe(this,3,a)};
51
- function oe(a,b,c){if(a.g==0){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.g=1;a:{var d=c,e=a.na,f=a.Y;if(d instanceof S){we(d,re(e||ne,f||null,a));var g=!0}else{if(d)try{var h=!!d.$goog_Thenable}catch(k){h=!1}else h=!1;if(h)d.then(e,f,a),g=!0;else{h=typeof d;if(h=="object"&&d!=null||h=="function")try{const k=d.then;if(typeof k==="function"){Be(d,k,e,f,a);g=!0;break a}}catch(k){f.call(a,k);g=!0;break a}g=!1}}}g||(a.T=c,a.g=b,a.j=null,Ae(a),b!=3||c instanceof T||Ce(a,c))}}
52
- function Be(a,b,c,d,e){function f(k){h||(h=!0,d.call(e,k))}function g(k){h||(h=!0,c.call(e,k))}let h=!1;try{b.call(a,g,f)}catch(k){f(k)}}function Ae(a){a.A||(a.A=!0,le(a.ma,a))}function ye(a){let b=null;a.h&&(b=a.h,a.h=b.next,b.next=null);a.h||(a.m=null);return b}S.prototype.ma=function(){let a;for(;a=ye(this);)ze(this,a,this.g,this.T);this.A=!1};
53
- function ze(a,b,c,d){if(c==3&&b.h&&!b.j)for(;a&&a.u;a=a.j)a.u=!1;if(b.g)b.g.j=null,De(b,c,d);else try{b.j?b.m.call(b.context):De(b,c,d)}catch(e){Ee.call(null,e)}be(qe,b)}function De(a,b,c){b==2?a.m.call(a.context,c):a.h&&a.h.call(a.context,c)}function Ce(a,b){a.u=!0;le(function(){a.u&&Ee.call(null,b)})}var Ee=ja;function T(a){ia.call(this,a)}ha(T,ia);T.prototype.name="cancel";function te(a,b,c){this.promise=a;this.resolve=b;this.reject=c};let Fe=1,Ge=new WeakMap;function He(a,b,c){var d=Ie;a.h.has(b);d(b,c)}var Ke=class extends O{constructor(){super();this.h=new Set}signal(){const a=new Je;this.h.add(a);ld(this,fa(kd,a));return a}};function Ie(a,b){return new Promise(c=>{Le(()=>{a.L&&(a.fa=b,a.P=!0);for(const {I:d,slot:e}of a.v.values())try{e(b,{signal:a,I:d})}catch(f){ja(f)}for(const d of a.C)d.resolve(b);a.C.clear();c()})})}function od(a,b,c){const d=Fe++;Le(()=>{Me(a,d,b,c)})}
54
- function Me(a,b,c,d){if(!a.o)if(d){if(!d.o){const e=()=>{Le(()=>{a.v.delete(b);const f=Ge.get(d);f&&qa(f,e)})};a.v.set(b,{I:b,slot:c,G:e});Ne(d,e)}}else a.v.set(b,{I:b,slot:c,G:()=>a.v.delete(b)})}
55
- var Je=class extends O{constructor(){super();this.L=!1;this.v=new Map;this.C=new Set;this.P=!1}detach(a){Le(()=>{const b=this.v.get(a);b&&b.G()})}value(a){return this.promise(!0,a)}next(a){return this.promise(!1,a)}promise(a,b){const c=se();Le(()=>{if(this.o)c.reject(new T("Signal initially disposed"));else if(b&&b.o)c.reject(new T("Owner initially disposed"));else if(a&&this.L&&this.P)c.resolve(this.fa);else if(this.C.add(c),ve(c.promise,()=>{this.C.delete(c)}),b){const d=()=>{c.reject(new T("Owner asynchronously disposed"))};
56
- ve(c.promise,()=>{const e=Ge.get(b);e&&qa(e,d)});Ne(b,d)}});return c.promise}H(){super.H();Le(()=>{for(const {G:a}of this.v.values())a();this.v.clear();for(const a of this.C)a.reject(new T("Signal asynchronously disposed"));this.C.clear()})}};const Oe=[];let Pe=!1;function Le(a){Oe.push(a);Qe()}async function Qe(){if(!Pe)try{Pe=!0;let a=Re(0);for(;a<Oe.length;)await Promise.resolve(),a=Re(a)}catch(a){ja(a)}finally{Oe.length=0,Pe=!1}}
57
- function Re(a){const b=a+100;for(;a<b&&a<Oe.length;)try{Oe[a++]()}catch(c){ja(c)}return a}function Ne(a,b){if(a.o)b();else{var c=Ge.get(a);if(c)c.push(b);else{const d=[b];Ge.set(a,d);ld(a,()=>{for(const e of[...d])e();Ge.delete(a)})}}};function U(a){var b=new Td;a=B(b,1,Sd,a);return{content:JSON.stringify(vb(a))}}const Se=new Ke;function Te(a,b){const c=Se.signal();return{channel:Zd(a,d=>{const e=b(d.data);He(Se,c,{content:e,la:d})}),signal:c}};let Xb;var V=class extends I{};var W=class extends I{};var Ve=class extends I{j(){return E(this,V,2,Ue)}h(){return Jb(this,V,2,Ue)}m(){return E(this,W,3,Ue)}u(){return Jb(this,W,3,Ue)}},Ue=[2,3];var We=Zb(class extends I{});var Xe=Zb(class extends I{}),Ye=[1,2];var Ze=({destination:a,origin:b,ra:c,Z:d="ZNWN1d",onMessage:e})=>{if(b==="*")throw Error("Sending to wildcard origin not allowed.");const f=Xd(e);a.postMessage(c?{n:d,t:c}:d,b,[f.port2]);return Zd(f.port1,e)};function $e(a,b,c){const d=new Ke,e=d.signal();a=Ze({destination:window.parent,origin:b,Z:a,onMessage:f=>{const g=Ud(f.data.content);x(g,Sd)===2&&He(d,e,{content:Rd(g),la:f,messagePort:f.data.messagePort})}});return new af(e,a,c)}async function pd(a){var b=X;var c=new Q;var d=new Kd;c=B(c,19,P,d);a=await b(a,U(c));let e;return(e=Rd(Ud(a.data.content)))==null?void 0:E(e,ed,20,N)}
58
- async function qd(a){var b=X;var c=new Q;var d=new Ad;c=B(c,17,P,d);a=await b(a,U(c));let e;return(e=Rd(Ud(a.data.content)))==null?void 0:E(e,$c,18,N)}async function rd(a,b){var c=X,d=new Q;b=B(d,8,P,b);await c(a,U(b))}async function sd(a){var b=X;var c=new Q;var d=new Jd;c=B(c,18,P,d);a=await b(a,U(c));let e;return(e=Rd(Ud(a.data.content)))==null?void 0:E(e,dd,19,N)}async function td(a){var b=X;var c=new Q;var d=new zd;c=B(c,11,P,d);await b(a,U(c))}
59
- async function ud(a,b){var c=X,d=new Q;b=B(d,14,P,b);await c(a,U(b))}async function vd(a,b){var c=X,d=new Q;b=B(d,15,P,b);await c(a,U(b))}async function bf(a){await a.h()}
60
- async function X(a,b){(a=await a.channel.D(b))||M(K,"Falsy response received from the message channel."+` ${JSON.stringify(a)}`);(b=a.data)||M(K,"Data field in the response from the message channel is falsy."+` ${JSON.stringify(b)}`);(b=b.content)||M(K,"Content field in the response from the message channel is falsy."+` ${JSON.stringify(b)}`);let c=void 0;try{c=Ud(b)}catch(d){M(K,"The ControlMessage can't be deserialized."+` ${JSON.stringify(b)}. ${JSON.stringify(d)}`)}(b=Rd(c))||M(K,"MeetToAddonMessage field on ControlMessage is falsy."+
61
- ` ${JSON.stringify(b)}`);b=b==null?void 0:E(b,jc,10,N);if((b==null?void 0:D(b,1))!==void 0)throw a=D(b,1),new J(Nc(a));return a}async function cf(a,b,c){var d=X,e=new Q;b=B(e,1,P,b);d=await d(a,U(b));a=d.data.messagePort;var f;(d=(f=Rd(Ud(d.data.content)))==null?void 0:E(f,hc,1,N))!=null?f=d:(f=new hc,f=F(f,1,0));return{channel:a?Te(a,c):void 0,response:f}}async function df(a){const b=Cd(),{channel:c,response:d}=await cf(a,b,e=>Xe(e));if(!c)throw new J(Oc(d));return c}
62
- async function ef(a){var b=X;var c=new Q;var d=new Pd;c=B(c,5,P,d);await b(a,U(c))}async function ff(a){var b=X;var c=new Q;var d=new Id;c=B(c,6,P,d);await b(a,U(c))}async function gf(a,b,c){var d=X,e=new Q,f=new Ld;b=F(f,1,b);c=y(b,2,u(c),"");e=B(e,7,P,c);await d(a,U(e))}async function hf(a,b){var c=X,d=new Q;b=B(d,16,P,b);await c(a,U(b))}
63
- class af extends O{constructor(a,b,c){super();this.U=a;this.channel=b;this.h=ec(async()=>{var d=this.channel,e=d.D;var f=new Q;var g=new Md;f=B(f,13,P,g);await e.call(d,U(f))});a=Wb();C(a,4);kb(v(a,1));kb(v(a,2));kb(v(a,3));c=Qd(new Q,Hd(Fd(a),c));this.channel.send(U(c));od(this.U,async d=>{switch(x(d.content,N)){case 16:await bf(this)}},this)}};let jf;var kf=class{constructor(a){var b=jf;this.h=a;this.g=b}delete(){throw Error("Not implemented.");}};var mf=class extends I{j(){return E(this,V,2,lf)}h(){return Jb(this,V,2,lf)}m(){return E(this,W,3,lf)}u(){return Jb(this,W,3,lf)}},lf=[2,3];var nf=class extends I{};var of=class extends I{};var pf=class extends I{};var rf=class extends I{j(){return E(this,V,2,qf)}h(){return Jb(this,V,2,qf)}m(){return E(this,W,3,qf)}u(){return Jb(this,W,3,qf)}},qf=[2,3],sf=[5,6];var tf=class extends I{};var uf=class extends I{},vf=[1,2,3];var wf=class extends Error{constructor(){super("Failed to create CoActivity: Connection refused - Meet refused to begin Live Sharing")}};var xf=class{constructor(a){this.config=a}start(){this.g!=null||(this.g=setInterval(()=>{this.config.ia()},this.config.ea));return this}shutdown(){clearInterval(this.g)}};function yf(a){return Xa(a)?Number(a):String(a)};function zf(){const a=new Map,b={set(c,d){a.set(c,d);return b},F:()=>a};return b};function Af(a){if(a.h()){a=a.j();a=v(a,1,void 0,Mb);var b=a==null?va():a;a=Uint8Array;ya(ua);var c=b.g;if(!(c==null||c!=null&&c instanceof Uint8Array))if(typeof c==="string"){c=ra.test(c)?c.replace(ra,ta):c;c=atob(c);const d=new Uint8Array(c.length);for(let e=0;e<c.length;e++)d[e]=c.charCodeAt(e);c=d}else c=null;b=c==null?c:b.g=c;return{bytes:new a(b||0)}}}function Bf(a,b){b=Cf(b);B(a,2,qf,b);return a}function Df(a,b){b=Cf(b);B(a,2,lf,b);return a}
64
- function Cf(a){var b=new V;return y(b,1,La(a.bytes,!1),va())}function Ef(a){if(a.u()){a=a.m();var b,c=C(a,1);var d=(b=Pb(a,$b,2))==null?void 0:Vb(b);b=d!=null?yf(d):void 0;b=b!=null?b:0;let e;d=(e=v(a,4,void 0,hb))!=null?e:0;return{mediaId:c,mediaPlayoutPosition:b,mediaPlayoutRate:d,playbackState:Ff.get(D(a,3))}}}function Gf(a,b){b=Hf(b);B(a,3,qf,b);return a}function If(a,b){b=Hf(b);B(a,3,lf,b);return a}
65
- const Ff=zf().set(0,"INVALID").set(1,"BUFFERING").set(2,"PLAY").set(3,"PAUSE").set(4,"ENDED").F(),Jf=zf().set("INVALID",0).set("BUFFERING",1).set("PLAY",2).set("PAUSE",3).set("ENDED",4).F();function Hf(a){var b=new W;b=y(b,1,u(a.mediaId),"");var c=a.mediaPlayoutRate;if(c!=null&&typeof c!=="number")throw Error(`Value of float/double field must be a number, found ${typeof c}: ${c}`);b=y(b,4,c,0);c=new $b;c=y(c,1,lb(a.mediaPlayoutPosition),"0");b=Rb(b,2,c);a=Jf.get(a.playbackState);return F(b,3,a)}
66
- function Kf({activityTitle:a}){var b=new pf;return Ib(b,4,u(a))}function Lf(a,b){var c=new of;b=F(c,1,b.B);B(a,6,sf,b);return a}function Mf(a){var b=new nf;B(a,5,sf,b);return a};const Nf=zf().set("co-doing",1).set("co-watching",2).F();async function Of(a,b,c){var d=b.D,e=new uf;var f=new tf;f=y(f,1,u(a.activityTitle),"");var g=Nf.get(a.K);f=F(f,2,g);e=B(e,3,vf,f);d=await d.call(b,e,We);let h;if((h=Ub(d))!=null&&h)return new Pf(a,b,c,Pb(d,Ve,2));throw new wf;}function Qf(a,b){const c=a.config.N(b);c&&!a.config.M(a.g,c)&&(a.g=c,a.j=yf(Vb(b)),a.u(a.g))}function Y(a,b){const {state:c,ga:d,context:e}=b(a.g);a.g=c;a.notify(a.g,e,d)}
67
- class Pf{constructor(a,b,c,d){this.m=a;this.h=b;this.config=c;this.u=ac(e=>void this.m.O(e));Rf(this.h,e=>{const f=x(e,Ye);switch(f){case 1:Qf(this,E(e,Ve,1,Ye));break;case 2:case 0:console.warn(`IllegalMessage: ${f} - ${"Unhandled message"} - ${"Please raise a bug with the MeetJS team"}`)}});this.A=(new xf({ea:1E3,ia:()=>{var e,f,g=(f=(e=this.m).ka)==null?void 0:f.call(e);if(this.g!==null){this.g={...this.g,...g};e=new uf;f=this.config;g=f.W;var h=new mf;h=y(h,1,lb(this.j),"0");f=g.call(f,h,this.g);
68
- e=B(e,1,vf,f);this.h.send(e)}}})).start();this.g=null;this.j=0;d&&Qf(this,d)}disconnect(){this.h.shutdown();this.A.shutdown()}notify(a,b,c){var d=c?Kf(c):void 0;c=this.config;var e=c.X;var f=new rf;f=y(f,1,lb(this.j),"0");d=Rb(f,4,d);a=e.call(c,d,a);a=this.config.V(a,b);b=this.h;c=b.send;e=new uf;a=B(e,2,vf,a);c.call(b,a)}};var Sf=class{constructor(a){this.g=a}broadcastStateUpdate(a){Y(this.g,()=>({state:a,context:{}}))}disconnect(){this.g.disconnect()}};function Tf(a,b){return a==null||b==null?!1:a.bytes.length===b.bytes.length&&a.bytes.every((c,d)=>c===b.bytes[d])};var Uf=class{constructor(a){this.g=a}notifySwitchedToMedia(a,b,c){Y(this.g,()=>({state:{mediaId:b,mediaPlayoutRate:1,mediaPlayoutPosition:c,playbackState:"PLAY"},ga:{activityTitle:a},context:{B:1}}))}notifyPauseState(a,b){Y(this.g,c=>{if(c==null)throw Error("Invalid before coWatchingState");return{state:{...c,playbackState:a?"PAUSE":"PLAY",mediaPlayoutPosition:b},context:{B:3}}})}notifySeekToTimestamp(a){Y(this.g,b=>{if(b==null)throw Error("Invalid before coWatchingState");return{state:{...b,mediaPlayoutPosition:a},
7
+ var ea=this||self;function fa(a,b){a:{var c=["CLOSURE_FLAGS"];for(var d=ea,e=0;e<c.length;e++)if(d=d[c[e]],d==null){c=null;break a}c=d}a=c&&c[a];return a!=null?a:b}function ha(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}
8
+ function ia(a,b){function c(){}c.prototype=b.prototype;a.qa=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.oa=function(d,e,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[e].apply(d,g)}};function ja(a,b){if(Error.captureStackTrace)Error.captureStackTrace(this,ja);else{const c=Error().stack;c&&(this.stack=c)}a&&(this.message=String(a));b!==void 0&&(this.cause=b)}ia(ja,Error);ja.prototype.name="CustomError";function ka(a){ea.setTimeout(()=>{throw a;},0)};var la=fa(748402147,!0),ma=fa(824656860,!1);function na(a,b){b=Array.prototype.indexOf.call(a,b,void 0);b>=0&&Array.prototype.splice.call(a,b,1)};const oa=/[-_.]/g,pa={"-":"+",_:"/",".":"="};function qa(a){return pa[a]||""}var ra={};function sa(){return ta||(ta=new ua(null,ra))}var ua=class{constructor(a,b){va(b);this.g=a;if(a!=null&&a.length===0)throw Error("ByteString should be constructed with non-empty values");}};let ta;function va(a){if(a!==ra)throw Error("illegal external caller");};function wa(a,b){a.__closure__error__context__984382||(a.__closure__error__context__984382={});a.__closure__error__context__984382.severity=b};let xa=void 0;function ya(a){a=Error(a);wa(a,"warning");return a};function za(a,b=!1){return b&&Symbol.for&&a?Symbol.for(a):a!=null?Symbol(a):Symbol()}var Aa=za(),Ba=za(),Ca=za("m_m",!0);const l=za("jas",!0);var Da;const Ea=[];Ea[l]=7;Da=Object.freeze(Ea);function Fa(){return typeof BigInt==="function"};var Ga={};function m(a,b){return b===void 0?a.g!==Ha&&!!(2&(a.l[l]|0)):!!(2&b)&&a.g!==Ha}const Ha={};function Ia(a,b){if(a!=null)if(typeof a==="string")a=a?new ua(a,ra):sa();else if(a.constructor!==ua)if(a!=null&&a instanceof Uint8Array)a=a.length?new ua(new Uint8Array(a),ra):sa();else{if(!b)throw Error();a=void 0}return a}var Ja=Object.freeze({});function Ka(a){a.pa=!0;return a};var La=Ka(a=>typeof a==="number"),Ma=Ka(a=>typeof a==="string"),Na=Ka(a=>typeof a==="boolean");var Oa=typeof ea.BigInt==="function"&&typeof ea.BigInt(0)==="bigint";function p(a){var b=a;if(Ma(b)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(b))throw Error(String(b));}else if(La(b)&&!Number.isSafeInteger(b))throw Error(String(b));return Oa?BigInt(a):a=Na(a)?a?"1":"0":Ma(a)?a.trim()||"0":String(a)}var Ua=Ka(a=>Oa?a>=Pa&&a<=Qa:a[0]==="-"?Ra(a,Sa):Ra(a,Ta));const Sa=Number.MIN_SAFE_INTEGER.toString(),Pa=Oa?BigInt(Number.MIN_SAFE_INTEGER):void 0,Ta=Number.MAX_SAFE_INTEGER.toString(),Qa=Oa?BigInt(Number.MAX_SAFE_INTEGER):void 0;
9
+ function Ra(a,b){if(a.length>b.length)return!1;if(a.length<b.length||a===b)return!0;for(let c=0;c<a.length;c++){const d=a[c],e=b[c];if(d>e)return!1;if(d<e)return!0}};let q=0,t=0;function Va(a){const b=a>>>0;q=b;t=(a-b)/4294967296>>>0}function Wa(a){if(a<0){Va(-a);const [b,c]=Xa(q,t);q=b>>>0;t=c>>>0}else Va(a)}function Ya(a,b){b>>>=0;a>>>=0;if(b<=2097151)var c=""+(4294967296*b+a);else Fa()?c=""+(BigInt(b)<<BigInt(32)|BigInt(a)):(c=(a>>>24|b<<8)&16777215,b=b>>16&65535,a=(a&16777215)+c*6777216+b*6710656,c+=b*8147497,b*=2,a>=1E7&&(c+=a/1E7>>>0,a%=1E7),c>=1E7&&(b+=c/1E7>>>0,c%=1E7),c=b+Za(c)+Za(a));return c}
10
+ function Za(a){a=String(a);return"0000000".slice(a.length)+a}function $a(){var a=q,b=t;if(b&2147483648)if(Fa())a=""+(BigInt(b|0)<<BigInt(32)|BigInt(a>>>0));else{const [c,d]=Xa(a,b);a="-"+Ya(c,d)}else a=Ya(a,b);return a}function Xa(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};const ab=typeof BigInt==="function"?BigInt.asIntN:void 0,bb=Number.isSafeInteger,cb=Number.isFinite,db=Math.trunc;function eb(a){if(a==null||typeof a==="number")return a;if(a==="NaN"||a==="Infinity"||a==="-Infinity")return Number(a)}const fb=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function gb(a){switch(typeof a){case "bigint":return!0;case "number":return cb(a);case "string":return fb.test(a);default:return!1}}
11
+ function hb(a){if(a!=null){if(typeof a==="string"&&a)a=+a;else if(typeof a!=="number")return;cb(a)}}function ib(a){if(a!=null)a:{if(!gb(a))throw ya("int64");switch(typeof a){case "string":var b=db(Number(a));bb(b)?a=String(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a=lb(a));break a;case "bigint":a=p(ab(64,a));break a;default:a=mb(a)}}return a}
12
+ function lb(a){var b=a.length;if(a[0]==="-"?b<20||b===20&&a<="-9223372036854775808":b<19||b===19&&a<="9223372036854775807")return a;if(a.length<16)Wa(Number(a));else if(Fa())a=BigInt(a),q=Number(a&BigInt(4294967295))>>>0,t=Number(a>>BigInt(32)&BigInt(4294967295));else{b=+(a[0]==="-");t=q=0;const c=a.length;for(let d=b,e=(c-b)%6+b;e<=c;d=e,e+=6){const f=Number(a.slice(d,e));t*=1E6;q=q*1E6+f;q>=4294967296&&(t+=Math.trunc(q/4294967296),t>>>=0,q>>>=0)}if(b){const [d,e]=Xa(q,t);q=d;t=e}}return $a()}
13
+ function mb(a){a=db(a);if(!bb(a)){Wa(a);var b=q,c=t;if(a=c&2147483648)b=~b+1>>>0,c=~c>>>0,b==0&&(c=c+1>>>0);const d=c*4294967296+(b>>>0);b=Number.isSafeInteger(d)?d:Ya(b,c);a=typeof b==="number"?a?-b:b:a?"-"+b:b}return a}
14
+ function nb(a){var b=typeof a;if(a==null)return a;if(b==="bigint")return p(ab(64,a));if(gb(a))return b==="string"?(b=db(Number(a)),bb(b)?a=p(b):(b=a.indexOf("."),b!==-1&&(a=a.substring(0,b)),a=Fa()?p(ab(64,BigInt(a))):p(lb(a)))):bb(a)?a=p(mb(a)):(a=db(a),bb(a)?a=String(a):(Wa(a),a=$a()),a=p(a)),a}function u(a){if(a!=null&&typeof a!=="string")throw Error();return a}function ob(a,b,c){if(a!=null&&a[Ca]===Ga)return a;if(Array.isArray(a)){var d=a[l]|0;c=d|c&32|c&2;c!==d&&(a[l]=c);return new b(a)}};function pb(a){return a};function qb(a,b,c,d){var e=d!==void 0;d=!!d;const f=[];var g=a.length;let h,k=4294967295,n=!1;const r=!!(b&64),z=r?b&128?0:-1:void 0;if(!(b&1||(h=g&&a[g-1],h!=null&&typeof h==="object"&&h.constructor===Object?(g--,k=g):h=void 0,!r||b&128||e))){n=!0;var A;k=((A=rb)!=null?A:pb)(k-z,z,a,h,void 0)+z}b=void 0;for(e=0;e<g;e++)if(A=a[e],A!=null&&(A=c(A,d))!=null)if(r&&e>=k){const H=e-z;let I;((I=b)!=null?I:b={})[H]=A}else f[e]=A;if(h)for(let H in h){a=h[H];if(a==null||(a=c(a,d))==null)continue;g=+H;let I;
15
+ if(r&&!Number.isNaN(g)&&(I=g+z)<k)f[I]=a;else{let R;((R=b)!=null?R:b={})[H]=a}}b&&(n?f.push(b):f[k]=b);return f}
16
+ function sb(a){switch(typeof a){case "number":return Number.isFinite(a)?a:""+a;case "bigint":return Ua(a)?Number(a):""+a;case "boolean":return a?1:0;case "object":if(Array.isArray(a)){var b=a[l]|0;return a.length===0&&b&1?void 0:qb(a,b,sb)}if(a!=null&&a[Ca]===Ga)return tb(a);if(a instanceof ua){b=a.g;if(b==null)a="";else if(typeof b==="string")a=b;else{let c="",d=0;const e=b.length-10240;for(;d<e;)c+=String.fromCharCode.apply(null,b.subarray(d,d+=10240));c+=String.fromCharCode.apply(null,d?b.subarray(d):
17
+ b);a=a.g=btoa(c)}return a}return}return a}let rb;function tb(a){a=a.l;return qb(a,a[l]|0,sb)};function ub(a,b,c,d=0){if(a==null){var e=32;c?(a=[c],e|=128):a=[];b&&(e=e&-16760833|(b&1023)<<14)}else{if(!Array.isArray(a))throw Error("narr");e=a[l]|0;if(la&&1&e)throw Error("rfarr");2048&e&&!(2&e)&&vb();if(e&256)throw Error("farr");if(e&64)return(e|d)!==e&&(a[l]=e|d),a;if(c&&(e|=128,c!==a[0]))throw Error("mid");a:{c=a;e|=64;var f=c.length;if(f){var g=f-1;const k=c[g];if(k!=null&&typeof k==="object"&&k.constructor===Object){b=e&128?0:-1;g-=b;if(g>=1024)throw Error("pvtlmt");for(var h in k)if(f=
18
+ +h,f<g)c[f+b]=k[h],delete k[h];else break;e=e&-16760833|(g&1023)<<14;break a}}if(b){h=Math.max(b,f-(e&128?0:-1));if(h>1024)throw Error("spvt");e=e&-16760833|(h&1023)<<14}}}a[l]=e|64|d;return a}function vb(){if(la)throw Error("carr");if(Ba!=null){var a;var b=(a=xa)!=null?a:xa={};a=b[Ba]||0;a>=5||(b[Ba]=a+1,b=Error(),wa(b,"incident"),ka(b))}};function wb(a,b){if(typeof a!=="object")return a;if(Array.isArray(a)){var c=a[l]|0;a.length===0&&c&1?a=void 0:c&2||(!b||4096&c||16&c?a=xb(a,c,!1,b&&!(c&16)):(a[l]|=34,c&4&&Object.freeze(a)));return a}if(a!=null&&a[Ca]===Ga)return b=a.l,c=b[l]|0,m(a,c)?a:yb(a,b,c)?zb(a,b):xb(b,c);if(a instanceof ua)return a}function zb(a,b,c){a=new a.constructor(b);c&&(a.g=Ha);a.A=Ha;return a}function xb(a,b,c,d){d!=null||(d=!!(34&b));a=qb(a,b,wb,d);d=32;c&&(d|=2);b=b&16769217|d;a[l]=b;return a}
19
+ function Ab(a){const b=a.l,c=b[l]|0;return m(a,c)?yb(a,b,c)?zb(a,b,!0):new a.constructor(xb(b,c,!1)):a}function Bb(a){if(a.g!==Ha)return!1;var b=a.l;b=xb(b,b[l]|0);b[l]|=2048;a.l=b;a.g=void 0;a.A=void 0;return!0}function Cb(a){if(!Bb(a)&&m(a,a.l[l]|0))throw Error();}function Db(a,b){b===void 0&&(b=a[l]|0);b&32&&!(b&4096)&&(a[l]=b|4096)}function yb(a,b,c){return c&2?!0:c&32&&!(c&4096)?(b[l]=c|2,a.g=Ha,!0):!1};const Eb=p(0);function v(a,b,c,d){a=Fb(a.l,b,c,d);if(a!==null)return a}function Fb(a,b,c,d){if(b===-1)return null;const e=b+(c?0:-1),f=a.length-1;let g,h;if(!(f<1+(c?0:-1))){if(e>=f)if(g=a[f],g!=null&&typeof g==="object"&&g.constructor===Object)c=g[b],h=!0;else if(e===f)c=g;else return;else c=a[e];if(d&&c!=null){d=d(c);if(d==null)return d;if(!Object.is(d,c))return h?g[b]=d:a[e]=d,d}return c}}function Gb(a,b,c){Cb(a);const d=a.l;w(d,d[l]|0,b,c);return a}
20
+ function w(a,b,c,d){const e=c+-1;var f=a.length-1;if(f>=0&&e>=f){const g=a[f];if(g!=null&&typeof g==="object"&&g.constructor===Object)return g[c]=d,b}if(e<=f)return a[e]=d,b;if(d!==void 0){let g;f=((g=b)!=null?g:b=a[l]|0)>>14&1023||536870912;c>=f?d!=null&&(a[f+-1]={[c]:d}):a[e]=d}return b}function Hb(a,b,c,d){const e=a.l;var f=e[l]|0;a=x(a,d)===c?c:-1;return Ib(e,f,b,a)!==void 0}function Jb(a){return!!(2&a)&&!!(4&a)||!!(256&a)}function Kb(a){return Ia(a,!0)}
21
+ function y(a,b,c,d){Cb(a);const e=a.l;w(e,e[l]|0,b,(d==="0"?Number(c)===0:c===d)?void 0:c);return a}function x(a,b){a=a.l;return Lb(Mb(a),a,void 0,b)}function Mb(a){let b;return(b=a[Aa])!=null?b:a[Aa]=new Map}function Lb(a,b,c,d){let e=a.get(d);if(e!=null)return e;e=0;for(let f=0;f<d.length;f++){const g=d[f];Fb(b,g)!=null&&(e!==0&&(c=w(b,c,e)),e=g)}a.set(d,e);return e}
22
+ function Ib(a,b,c,d){let e=!1;d=Fb(a,d,void 0,f=>{const g=ob(f,c,b);e=g!==f&&g!=null;return g});if(d!=null)return e&&!m(d)&&Db(a,b),d}function Nb(a,b,c){let d=a.l,e=d[l]|0;b=Ib(d,e,b,c);if(b==null)return b;e=d[l]|0;if(!m(a,e)){const f=Ab(b);f!==b&&(Bb(a)&&(d=a.l,e=d[l]|0),b=f,e=w(d,e,c,b),Db(d,e))}return b}function Ob(a){a==null&&(a=void 0);return a}function Pb(a,b,c){c=Ob(c);Gb(a,b,c);c&&!m(c)&&Db(a.l);return a}
23
+ function B(a,b,c,d){d=Ob(d);a:{var e=d;Cb(a);const h=a.l;var f=h[l]|0;if(e==null){var g=Mb(h);if(Lb(g,h,f,c)===b)g.set(c,0);else break a}else{g=h;const k=Mb(g),n=Lb(k,g,f,c);n!==b&&(n&&(f=w(g,f,n)),k.set(c,b))}w(h,f,b,e)}d&&!m(d)&&Db(a.l);return a}
24
+ function Qb(a,b){Cb(a);const c=a.l;let d=c[l]|0;if(b==null)return w(c,d,1),a;let e=b===Da?7:b[l]|0,f=e;const g=Jb(e),h=g||Object.isFrozen(b);let k=!0,n=!0;for(let z=0;z<b.length;z++){var r=b[z];g||(r=m(r),k&&(k=!r),n&&(n=r))}g||(e=k?13:5,e=n?e&-4097:e|4096);h&&e===f||(b=[...b],f=0,e=Rb(e,d));e!==f&&(b[l]=e);d=w(c,d,1,b);2&e||!(4096&e||16&e)||Db(c,d);return a}function Rb(a,b){return a=(2&b?a|2:a&-3)&-273}
25
+ function Sb(a){a=v(a,1);a=a==null||typeof a==="boolean"?a:typeof a==="number"?!!a:void 0;return a!=null?a:!1}function Tb(a){a=ma?v(a,1,void 0,nb):nb(v(a,1));return a!=null?a:Eb}function C(a,b){a=v(a,b);a=a==null||typeof a==="string"?a:void 0;return a!=null?a:""}function D(a,b){a=v(a,b);a=a==null?a:cb(a)?a|0:void 0;return a!=null?a:0}function E(a,b,c,d){c=x(a,d)===c?c:-1;return Nb(a,b,c)}function F(a,b,c){if(c!=null){if(!cb(c))throw ya("enum");c|=0}return y(a,b,c,0)};function Ub(){var a=Vb||(Vb=Wb("[1,2,0]"));a=Ab(a);a=Gb(a,4,u("dev-832460133"));const b=a.l,c=b[l]|0;return m(a,c)?a:yb(a,b,c)?zb(a,b):new a.constructor(xb(b,c,!0))}var G=class{constructor(a){this.l=ub(a,void 0,void 0,2048)}toJSON(){return tb(this)}};G.prototype[Ca]=Ga;G.prototype.toString=function(){return this.l.toString()};function Xb(a){return b=>{if(b==null||b=="")b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error("dnarr");b[l]|=32;b=new a(b)}return b}};var Wb=function(a){return b=>{b=JSON.parse(b);if(!Array.isArray(b)){var c=typeof b;throw Error("Expected jspb data to be an array, got "+(c!="object"?c:b?Array.isArray(b)?"array":c:"null")+": "+b);}b[l]|=34;return new a(b)}}(class extends G{});var Yb=class extends G{};function Zb(a){var b=new $b(500);let c=0,d;return(...e)=>{ac(b)?a(...e):(d=()=>void a(...e),c||(c=setTimeout(()=>{c=0;let f;(f=d)==null||f()},bc(b))))}}function cc(a){var b=new $b(100),c=Promise.resolve();return(...d)=>ac(b)?a(...d):c};function ac(a){return dc(a,a.index)>=a.g?(a.h[a.index]=Date.now(),a.index=(a.index+1)%1,!0):!1}function bc(a){const b=a.g;a=dc(a,a.index);return a>=b?0:b-a}function dc(a,b){let c;return Date.now()-((c=a.h[b])!=null?c:-1*a.g)}var $b=class{constructor(a){this.g=a;this.h=[];this.index=0}};var ec=class extends G{},fc=[2,3];var hc=class extends G{};var J=class extends Error{constructor({errorType:a,message:b,i:c}){super(`Meet add-on SDK error: ${`${b}${c?` - ${c}`:""}`}`);this.errorType=a}},K={errorType:"InternalError",message:"An unexpected error has occurred.",i:"No further information is available."},ic={errorType:"MissingUrlParameter",message:"Missing required Meet SDK URL parameter",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not strip URL parameters (e.g. as part of a redirect)."},
26
+ jc={errorType:"NeedsMainStageContext",message:"This method can only be invoked if the addon is running in the main stage.",i:"Use getFrameType to check whether the addon is running in the main stage before invoking this method."},kc={errorType:"NeedsSidePanelContext",message:"This method can only be invoked if the addon is running in the side panel.",i:"Use getFrameType to check whether the addon is running in the side panel before invoking this method."},lc={errorType:"NotSupportedInStandalone",
27
+ message:"This method is not supported in standalone mode.",i:"Do not call this method in standalone mode."},mc={errorType:"MustBeIframed",message:"The SDK must be run in an iframe as part of a Google Meet add-on.",i:"See https://developers.google.com/meet/add-ons/guides/deploy-add-on to deploy to Meet."},nc={errorType:"InternalError",message:"The frame type URL parameter is set to an unexpected value.",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not modify URL parameters (e.g. as part of a redirect)."},
28
+ oc={errorType:"InvalidCloudProjectNumber",message:"Cloud Project Number provided by meet does not match the one passed in by the SDK. Ensure that the correct Cloud Project Number is passed to the SDK as a string.",i:"This parameter is automatically appended by Meet to the iframe URL. Ensure that your infrastructure does not modify URL parameters (e.g. as part of a redirect) and ensure that the correct Cloud Project Number was passed into the SDK as a string."},pc={errorType:"DestinationNotReady",
29
+ message:"The recipient frame is not connected via the addon SDK and cannot receive the notification.",i:"Make sure the destination frame has connected before sending messages to it."},qc={errorType:"InvalidActivityStartingState",message:"Origin of the ActivityStartingState iframeURLs does not match the origin of the URLs provided in the add-on manifest.",i:"Ensure that the ActivityStartingState iframeURL origins match the origins of the URLs provided in the add-on manifest."},rc={errorType:"ActivityStartingStateMissingAttributes",
30
+ message:"The supplied ActivityStartingState object does not contain any recognized attributes.",i:"Ensure that the ActivityStartingState object contains at least one of the following attributes: mainStageUrl, sidePanelUrl, additionalData."},tc={errorType:"ActivityStartingStateUnrecognizedAttributes",message:"The supplied ActivityStartingState object contains attributes that are not recognized.",i:"Ensure that the ActivityStartingState object has only the following attributes: mainStageUrl, sidePanelUrl, additionalData."},
31
+ uc={errorType:"AddonStartingStateMissingAttributes",message:"The supplied AddonStartingState object does not contain any recognized attributes.",i:"Ensure that the AddonStartingState object contains at least one of the following attributes: sidePanelUrl, additionalData."},vc={errorType:"AddonStartingStateUnrecognizedAttributes",message:"The supplied AddonStartingState object contains attributes that are not recognized.",i:"Ensure that the AddonStartingState object has only the following attributes: sidePanelUrl, additionalData."},
32
+ wc=a=>({errorType:"ArgumentNullError",message:`The argument supplied for '${a}' was 'null' but a value was expected.`,i:"Ensure you are passing a value of the expected type for the argument."}),L=(a,b,c)=>({errorType:"ArgumentTypeError",message:`The type '${b}' of argument supplied for '${a}' did not match the expected type '${c}'.`,i:"Ensure the type of the argument provided matches the expected type."}),xc=a=>({errorType:"InternalError",message:`Could not connect to ${a} channel. Unknown error`,
33
+ i:"No further information is available."}),yc={errorType:"ActivityIsOngoing",message:"Operation cannot be performed while an activity is ongoing.",i:"Ensure that no activity is ongoing."},zc={errorType:"InternalError",message:"Frame message missing required Meet SDK command.",i:"Send one of the available commands in the frame message."},Ac={errorType:"NoActivityFound",message:"No activity found.",i:"Ensure that the activity is started before performing this operation."},Bc={errorType:"RequiresEapEnrollment",
34
+ message:"This feature is only available to early access partners.",i:"Meet add-on early access enrollment is currently closed."},Cc={errorType:"UserNotInitiator",message:"Operation cannot be performed because the user is not the initiator of the current activity.",i:"Ensure that the user is the initiator of the current activity or that the activity has ended."},Dc={errorType:"SizeLimitExceededActivityStartingState",message:"The size of the activityStartingState URLs and/or its data exceed the limits allowed.",
35
+ i:"Ensure that the activityStartingState URL size is less than 512 characters and the additional data size is less than 4096 characters."},Ec={errorType:"SizeLimitExceededFrameToFrameMessage",message:"The size of the frame to frame message exceeds the limits allowed.",i:"Ensure that the frame to frame message size is less than 1,000,000 characters."},Fc={errorType:"AddonSessionAlreadyCreated",message:"The addon session has already been created.",i:"Only instantiate the AddonSession once."},Gc={errorType:"UserCancelled",
36
+ message:"The user cancelled starting an activity.",i:"The user needs to click continue to start the activity."},Hc={errorType:"NotSupportedInMeetCall",message:"This method is not supported during a Meet call.",i:"Do not call this method during a Meet call."},Ic={errorType:"InvalidAddonStartingState",message:"Origin of the AddonStartingState iframeURLs does not match the origin of the URLs provided in the add-on manifest.",i:"Ensure that the AddonStartingState iframeURL origins match the origins of the URLs provided in the add-on manifest."},
37
+ Jc={errorType:"SizeLimitExceededAddonStartingState",message:"The size of the AddonStartingState URLs and/or its data exceed the limits allowed.",i:"Ensure that the AddonStartingState URL size is less than 512 characters and the additional data size is less than 4096 characters."},Kc={errorType:"MeetingPolicyPreventsStartingActivity",message:"A meeting policy (such as using host control settings) prevents the user from starting the activity.",i:"Have a meeting host or administrator modify the necessary settings to allow the current user to start the activity."};
38
+ function Lc(a){switch(a){case 0:return K;case 1:return pc;case 2:return qc;case 3:return yc;case 4:return zc;case 5:return Bc;case 6:return lc;case 7:return Cc;case 8:return Dc;case 9:return Ec;case 10:return Gc;case 11:return Hc;case 12:return Ic;case 13:return Jc;case 14:return Ac;case 15:return Kc;default:return K}}
39
+ function Mc(a){let b;var c=(b=D(a,1))!=null?b:0;a=Nc(x(a,fc));switch(c){case 1:return{errorType:"InternalError",message:`Could not connect to ${a} channel. Meet did not respond with a MessagePort.`,i:"No further information is available."};case 2:return{errorType:"InternalError",message:`Could not connect to ${a}. A conflicting ${a} exists.`,i:"No further information is available."};case 3:return{errorType:"InternalError",message:`Could not connect to ${a} channel. The addon does not have permission to open a ${a}.`,
40
+ i:"This method might require EAP enrollment."};case 4:return{errorType:"InternalError",message:`Could not connect to ${a} channel. The addon is not authorized for this ${a}.`,i:"No further information is available."};case 0:return xc(a);case 5:a:switch(a){case "co":c={errorType:"InternalError",message:`Could not connect to ${a} channel. The coActivity was not found.`,i:`Consider starting the ${a} only after after the startActivity promise returns.`};break a;default:c={errorType:"InternalError",message:`Could not connect to ${a} channel.`,
41
+ i:"No further information is available."}}return c;default:return xc(a)}}function Nc(a){switch(a){case 2:return"co";case 3:return"gd";case 0:return"unknown";default:return"unknown"}}function M({errorType:a,message:b,i:c},d=""){throw new J({errorType:a,message:d?`${b} ${d}`:b,i:c});}function Oc(a,b){M({...ic,message:`${ic.message}: ${a}. In URL ${b}`})};function Pc(a){var b=new Qc;return F(b,1,a)}function Rc(a,b){return y(a,2,u(b),"")}function Sc(a,b){return y(a,3,u(b),"")}var Qc=class extends G{getFrameType(){return D(this,1)}};function Tc(a){var b=a.l,c=b,d=b[l]|0,e=Qc;b=void 0===Ja?2:4;var f=m(a,d);const g=f?1:b;b=g===3;var h=!f;(g===2||h)&&Bb(a)&&(c=a.l,d=c[l]|0);a=Fb(c,1);f=Array.isArray(a)?a:Da;var k=f===Da?7:f[l]|0;a=k;2&d&&(a|=2);var n=a|1;if(a=!(4&n)){var r=f,z=d;const A=!!(2&n);A&&(z|=2);let H=!A,I=!0,R=0,jb=0;for(;R<r.length;R++){const kb=ob(r[R],e,z);if(kb instanceof e){if(!A){const sc=m(kb);H&&(H=!sc);I&&(I=sc)}r[jb++]=kb}}jb<R&&(r.length=jb);n|=4;n=I?n&-4097:n|4096;n=H?n|8:n&-9}n!==k&&(f[l]=n,2&n&&Object.freeze(f));
42
+ if(h&&!(8&n||!f.length&&(g===1||(g!==4?0:2&n||!(16&n)&&32&d)))){Jb(n)&&(f=[...f],n=Rb(n,d),d=w(c,d,1,f));e=f;h=n;for(k=0;k<e.length;k++)r=e[k],n=Ab(r),r!==n&&(e[k]=n);h|=8;n=h=e.length?h|4096:h&-4097;f[l]=n}h=e=n;g===1||(g!==4?0:2&e||!(16&e)&&32&d)?Jb(e)||(e|=!f.length||a&&!(4096&e)||32&d&&!(4096&e||16&e)?2:256,e!==h&&(f[l]=e),Object.freeze(f)):(g===2&&Jb(e)&&(f=[...f],h=0,e=Rb(e,d),d=w(c,d,1,f)),Jb(e)||(b||(e|=16),e!==h&&(f[l]=e)));2&e||!(4096&e||16&e)||Db(c,d);return f}
43
+ function Uc(a){var b=new Vc;return Qb(b,a)}var Vc=class extends G{};var Wc=class extends G{};function Xc(a){return Nb(a,Vc,1)}var Yc=class extends G{};var Zc=class extends G{};var $c=class extends G{};var ad=class extends G{};var bd=class extends G{getMeetPlatformInfo(){return Nb(this,$c,1)}};var cd=class extends G{getMeetingInfo(){return Nb(this,ad,1)}};var dd=class extends G{},N=[1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];var ed=class extends G{};var fd=class extends G{};var gd=new Map([[2,"MAIN_STAGE"],[1,"SIDE_PANEL"]]),hd=new Map([[0,"UNKNOWN"],[1,"OPEN_ADDON"],[2,"START_ACTIVITY"],[3,"JOIN_ACTIVITY"]]);function id(a){a&&typeof a.dispose=="function"&&a.dispose()};function O(){this.o=this.o;this.g=this.g}O.prototype.o=!1;O.prototype.dispose=function(){this.o||(this.o=!0,this.H())};O.prototype[Symbol.dispose]=function(){this.dispose()};function jd(a,b){a.o?b():(a.g||(a.g=[]),a.g.push(b))}O.prototype.H=function(){if(this.g)for(;this.g.length;)this.g.shift()()};function kd({J:a,R:b}){if(a===null)throw new J(wc("activityStartingState"));if(b||a!==void 0){if(typeof a!=="object")throw new J(L("activityStartingState",typeof a,`object${b?"":" | undefined"}`));if(a.mainStageUrl!==void 0&&typeof a.mainStageUrl!=="string")throw new J(L("mainStageUrl",typeof a.mainStageUrl,"string | undefined"));if(a.sidePanelUrl!==void 0&&typeof a.sidePanelUrl!=="string")throw new J(L("sidePanelUrl",typeof a.sidePanelUrl,"string | undefined"));if(a.additionalData!==void 0&&typeof a.additionalData!==
44
+ "string")throw new J(L("additionalData",typeof a.additionalData,"string | undefined"));if(Object.keys(a).length!==+!!a.mainStageUrl+ +!!a.sidePanelUrl+ +!!a.additionalData)throw new J(tc);if(Object.keys(a).length===0)throw new J(rc);}}function ld(a){const b=[];b.push(Sc(Rc(Pc(2),a.mainStageUrl),a.additionalData));b.push(Sc(Rc(Pc(1),a.sidePanelUrl),a.additionalData));return b}
45
+ var ud=class extends O{constructor(a){super();this.context=a;this.h={};md(this.context.g.U,b=>{switch(x(b.content,N)){case 7:const d=this.h.frameToFrameMessage;b=E(b.content,Zc,7,N);if(d&&b){var c=D(b,1);c=gd.get(c);if(c===void 0)throw Error("Unknown frame type.");d({originator:c,payload:C(b,2)})}}},this)}async getMeetingInfo(){var a=await nd(this.context.g);var b=a.getMeetingInfo();b=C(b,1);a=a.getMeetingInfo();a=C(a,2);return{meetingId:b,meetingCode:a}}async getFrameOpenReason(){let a;const b=(a=
46
+ this.context.h.da)!=null?a:0;let c;return(c=hd.get(b))!=null?c:"UNKNOWN"}async getActivityStartingState(){var a=Xc(await od(this.context.g));const b=a==null?void 0:Tc(a).find(c=>c.getFrameType()===2);a=a==null?void 0:Tc(a).find(c=>c.getFrameType()===1);return{mainStageUrl:(b==null?void 0:C(b,2))||void 0,sidePanelUrl:(a==null?void 0:C(a,2))||void 0,additionalData:(a==null?void 0:C(a,3))||void 0}}async setActivityStartingState(a){kd({J:a,R:!0});var b=ld(a);a=pd;var c=this.context.g;var d=new ed;b=Uc(b);
47
+ d=Pb(d,1,b);await a(c,d)}on(a,b){this.h[a]=b}async getMeetPlatformInfo(){var a=(await qd(this.context.g)).getMeetPlatformInfo();return{isMeetHardware:Sb(a)}}async closeAddon(){await rd(this.context.g)}async startActivity(a){kd({J:a,R:!1});const b=new fd;a&&(a=ld(a),a=Uc(a),Pb(b,1,a));await sd(this.context.g,b)}async endActivity(a){var b=td,c=this.context.g,d=new Wc;a=F(d,1,a==="aab61ee0-51b4-475d-aa4d-849f2498640d"?999:0);await b(c,a)}};var vd=Xb(class extends G{getFrameOpenReason(){return D(this,5)}});function wd(){var a=window.location.href;var b=window.location.href;var c=(new URL(b)).searchParams.get("meet_sdk");if(c)b=vd(atob(c));else{var d;((d=window.top)!=null?d:window)===window?M(mc):Oc("meet_sdk",b);b=void 0}(c=C(b,1))||Oc("meet_addon_frame_type",a);c=Number(c);if(c!==2&&c!==1)throw new J(nc);(d=C(b,2))||Oc("meet_control_channel_name",a);const e=C(b,4);e||Oc("addon_cloud_project_number",a);var f;a=(f=b.getFrameOpenReason())!=null?f:0;f=C(b,3)||"https://meet.google.com";return{da:a,frameType:c,
48
+ ca:d,cloudProjectNumber:e,S:f}};var xd=class extends G{};var yd=class extends G{};var zd=class extends G{};function Ad(){var a=new Bd,b=new zd;return B(a,1,Cd,b)}var Bd=class extends G{},Cd=[1,2];function Dd(a){var b=new Ed;return Pb(b,2,a)}function Fd(a,b){return y(a,3,u(b),"")}var Ed=class extends G{};var Gd=class extends G{};var Hd=class extends G{};var Id=class extends G{};var Jd=class extends G{};var Kd=class extends G{};var Ld=class extends G{};var Md=class extends G{setAddonStartingState(a){return Pb(this,1,a)}};var Nd=class extends G{};function Od(a,b){return B(a,2,P,b)}var Q=class extends G{},P=[1,2,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20];function Pd(a){return E(a,dd,2,Qd)}var Rd=class extends G{},Sd=Xb(Rd),Qd=[1,2];class Td{constructor(a,b){this.data=a;this.channel=b}};var Ud=Promise;function Vd(a){const b=new MessageChannel;Wd(b.port1,a);return b}function Xd(a,b){Wd(a,b);return new Yd(a)}class Yd{constructor(a){this.g=a}send(a,b,c=[]){b=Vd(b);this.g.postMessage(a,[b.port2].concat(c))}D(a,b){return new Ud(c=>{this.send(a,c,b)})}}function Wd(a,b){b&&(a.onmessage=c=>{var d=c.data;c=Xd(c.ports[0]);b(new Td(d,c))})};var Zd=typeof AsyncContext!=="undefined"&&typeof AsyncContext.Snapshot==="function"?a=>a&&AsyncContext.Snapshot.wrap(a):a=>a;function $d(a,b){a.m(b);a.h<100&&(a.h++,b.next=a.g,a.g=b)}class ae{constructor(a,b){this.j=a;this.m=b;this.h=0;this.g=null}get(){let a;this.h>0?(this.h--,a=this.g,this.g=a.next,a.next=null):a=this.j();return a}};function be(){var a=ce;let b=null;a.g&&(b=a.g,a.g=a.g.next,a.g||(a.h=null),b.next=null);return b}class de{constructor(){this.h=this.g=null}add(a,b){const c=ee.get();c.set(a,b);this.h?this.h.next=c:this.g=c;this.h=c}}var ee=new ae(()=>new fe,a=>a.reset());class fe{constructor(){this.next=this.g=this.h=null}set(a,b){this.h=a;this.g=b;this.next=null}reset(){this.next=this.g=this.h=null}};let ge,he=!1,ce=new de,je=(a,b)=>{ge||ie();he||(ge(),he=!0);ce.add(a,b)},ie=()=>{const a=Promise.resolve(void 0);ge=()=>{a.then(ke)}};function ke(){let a;for(;a=be();){try{a.h.call(a.g)}catch(b){ka(b)}$d(ee,a)}he=!1};function le(){};function S(a){this.g=0;this.T=void 0;this.m=this.h=this.j=null;this.u=this.A=!1;if(a!=le)try{const b=this;a.call(void 0,function(c){me(b,2,c)},function(c){me(b,3,c)})}catch(b){me(this,3,b)}}function ne(){this.next=this.context=this.h=this.m=this.g=null;this.j=!1}ne.prototype.reset=function(){this.context=this.h=this.m=this.g=null;this.j=!1};var oe=new ae(function(){return new ne},function(a){a.reset()});function pe(a,b,c){const d=oe.get();d.m=a;d.h=b;d.context=c;return d}
49
+ function qe(){let a,b;const c=new S(function(d,e){a=d;b=e});return new re(c,a,b)}S.prototype.then=function(a,b,c){return se(this,Zd(typeof a==="function"?a:null),Zd(typeof b==="function"?b:null),c)};S.prototype.$goog_Thenable=!0;function te(a,b){b=Zd(b);b=pe(b,b);b.j=!0;ue(a,b)}S.prototype.cancel=function(a){if(this.g==0){const b=new T(a);je(function(){ve(this,b)},this)}};
50
+ function ve(a,b){if(a.g==0)if(a.j){var c=a.j;if(c.h){var d=0,e=null,f=null;for(let g=c.h;g&&(g.j||(d++,g.g==a&&(e=g),!(e&&d>1)));g=g.next)e||(f=g);e&&(c.g==0&&d==1?ve(c,b):(f?(d=f,d.next==c.m&&(c.m=d),d.next=d.next.next):we(c),xe(c,e,3,b)))}a.j=null}else me(a,3,b)}function ue(a,b){a.h||a.g!=2&&a.g!=3||ye(a);a.m?a.m.next=b:a.h=b;a.m=b}
51
+ function se(a,b,c,d){const e=pe(null,null,null);e.g=new S(function(f,g){e.m=b?function(h){try{const k=b.call(d,h);f(k)}catch(k){g(k)}}:f;e.h=c?function(h){try{const k=c.call(d,h);k===void 0&&h instanceof T?g(h):f(k)}catch(k){g(k)}}:g});e.g.j=a;ue(a,e);return e.g}S.prototype.na=function(a){this.g=0;me(this,2,a)};S.prototype.Y=function(a){this.g=0;me(this,3,a)};
52
+ function me(a,b,c){if(a.g==0){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.g=1;a:{var d=c,e=a.na,f=a.Y;if(d instanceof S){ue(d,pe(e||le,f||null,a));var g=!0}else{if(d)try{var h=!!d.$goog_Thenable}catch(k){h=!1}else h=!1;if(h)d.then(e,f,a),g=!0;else{h=typeof d;if(h=="object"&&d!=null||h=="function")try{const k=d.then;if(typeof k==="function"){ze(d,k,e,f,a);g=!0;break a}}catch(k){f.call(a,k);g=!0;break a}g=!1}}}g||(a.T=c,a.g=b,a.j=null,ye(a),b!=3||c instanceof T||Ae(a,c))}}
53
+ function ze(a,b,c,d,e){function f(k){h||(h=!0,d.call(e,k))}function g(k){h||(h=!0,c.call(e,k))}let h=!1;try{b.call(a,g,f)}catch(k){f(k)}}function ye(a){a.A||(a.A=!0,je(a.ma,a))}function we(a){let b=null;a.h&&(b=a.h,a.h=b.next,b.next=null);a.h||(a.m=null);return b}S.prototype.ma=function(){let a;for(;a=we(this);)xe(this,a,this.g,this.T);this.A=!1};
54
+ function xe(a,b,c,d){if(c==3&&b.h&&!b.j)for(;a&&a.u;a=a.j)a.u=!1;if(b.g)b.g.j=null,Be(b,c,d);else try{b.j?b.m.call(b.context):Be(b,c,d)}catch(e){Ce.call(null,e)}$d(oe,b)}function Be(a,b,c){b==2?a.m.call(a.context,c):a.h&&a.h.call(a.context,c)}function Ae(a,b){a.u=!0;je(function(){a.u&&Ce.call(null,b)})}var Ce=ka;function T(a){ja.call(this,a)}ia(T,ja);T.prototype.name="cancel";function re(a,b,c){this.promise=a;this.resolve=b;this.reject=c};let De=1,Ee=new WeakMap;function Fe(a,b,c){var d=Ge;a.h.has(b);d(b,c)}var Ie=class extends O{constructor(){super();this.h=new Set}signal(){const a=new He;this.h.add(a);jd(this,ha(id,a));return a}};function Ge(a,b){return new Promise(c=>{Je(()=>{a.L&&(a.fa=b,a.P=!0);for(const {I:d,slot:e}of a.v.values())try{e(b,{signal:a,I:d})}catch(f){ka(f)}for(const d of a.C)d.resolve(b);a.C.clear();c()})})}function md(a,b,c){const d=De++;Je(()=>{Ke(a,d,b,c)})}
55
+ function Ke(a,b,c,d){if(!a.o)if(d){if(!d.o){const e=()=>{Je(()=>{a.v.delete(b);const f=Ee.get(d);f&&na(f,e)})};a.v.set(b,{I:b,slot:c,G:e});Le(d,e)}}else a.v.set(b,{I:b,slot:c,G:()=>a.v.delete(b)})}
56
+ var He=class extends O{constructor(){super();this.L=!1;this.v=new Map;this.C=new Set;this.P=!1}detach(a){Je(()=>{const b=this.v.get(a);b&&b.G()})}value(a){return this.promise(!0,a)}next(a){return this.promise(!1,a)}promise(a,b){const c=qe();Je(()=>{if(this.o)c.reject(new T("Signal initially disposed"));else if(b&&b.o)c.reject(new T("Owner initially disposed"));else if(a&&this.L&&this.P)c.resolve(this.fa);else if(this.C.add(c),te(c.promise,()=>{this.C.delete(c)}),b){const d=()=>{c.reject(new T("Owner asynchronously disposed"))};
57
+ te(c.promise,()=>{const e=Ee.get(b);e&&na(e,d)});Le(b,d)}});return c.promise}H(){super.H();Je(()=>{for(const {G:a}of this.v.values())a();this.v.clear();for(const a of this.C)a.reject(new T("Signal asynchronously disposed"));this.C.clear()})}};const Me=[];let Ne=!1;function Je(a){Me.push(a);Oe()}async function Oe(){if(!Ne)try{Ne=!0;let a=Pe(0);for(;a<Me.length;)await Promise.resolve(),a=Pe(a)}catch(a){ka(a)}finally{Me.length=0,Ne=!1}}
58
+ function Pe(a){const b=a+100;for(;a<b&&a<Me.length;)try{Me[a++]()}catch(c){ka(c)}return a}function Le(a,b){if(a.o)b();else{var c=Ee.get(a);if(c)c.push(b);else{const d=[b];Ee.set(a,d);jd(a,()=>{for(const e of[...d])e();Ee.delete(a)})}}};function U(a){var b=new Rd;a=B(b,1,Qd,a);return{content:JSON.stringify(tb(a))}}const Qe=new Ie;function Re(a,b){const c=Qe.signal();return{channel:Xd(a,d=>{const e=b(d.data);Fe(Qe,c,{content:e,la:d})}),signal:c}};let Vb;var V=class extends G{};var W=class extends G{};var Te=class extends G{j(){return E(this,V,2,Se)}h(){return Hb(this,V,2,Se)}m(){return E(this,W,3,Se)}u(){return Hb(this,W,3,Se)}},Se=[2,3];var Ue=Xb(class extends G{});var Ve=Xb(class extends G{}),We=[1,2];var Xe=({destination:a,origin:b,ra:c,Z:d="ZNWN1d",onMessage:e})=>{if(b==="*")throw Error("Sending to wildcard origin not allowed.");const f=Vd(e);a.postMessage(c?{n:d,t:c}:d,b,[f.port2]);return Xd(f.port1,e)};function Ye(a,b,c){const d=new Ie,e=d.signal();a=Xe({destination:window.parent,origin:b,Z:a,onMessage:f=>{const g=Sd(f.data.content);x(g,Qd)===2&&Fe(d,e,{content:Pd(g),la:f,messagePort:f.data.messagePort})}});return new Ze(e,a,c)}async function nd(a){var b=X;var c=new Q;var d=new Id;c=B(c,19,P,d);a=await b(a,U(c));let e;return(e=Pd(Sd(a.data.content)))==null?void 0:E(e,cd,20,N)}
59
+ async function od(a){var b=X;var c=new Q;var d=new yd;c=B(c,17,P,d);a=await b(a,U(c));let e;return(e=Pd(Sd(a.data.content)))==null?void 0:E(e,Yc,18,N)}async function pd(a,b){var c=X,d=new Q;b=B(d,8,P,b);await c(a,U(b))}async function qd(a){var b=X;var c=new Q;var d=new Hd;c=B(c,18,P,d);a=await b(a,U(c));let e;return(e=Pd(Sd(a.data.content)))==null?void 0:E(e,bd,19,N)}async function rd(a){var b=X;var c=new Q;var d=new xd;c=B(c,11,P,d);await b(a,U(c))}
60
+ async function sd(a,b){var c=X,d=new Q;b=B(d,14,P,b);await c(a,U(b))}async function td(a,b){var c=X,d=new Q;b=B(d,15,P,b);await c(a,U(b))}async function $e(a){await a.h()}
61
+ async function X(a,b){(a=await a.channel.D(b))||M(K,"Falsy response received from the message channel."+` ${JSON.stringify(a)}`);(b=a.data)||M(K,"Data field in the response from the message channel is falsy."+` ${JSON.stringify(b)}`);(b=b.content)||M(K,"Content field in the response from the message channel is falsy."+` ${JSON.stringify(b)}`);let c=void 0;try{c=Sd(b)}catch(d){M(K,"The ControlMessage can't be deserialized."+` ${JSON.stringify(b)}. ${JSON.stringify(d)}`)}(b=Pd(c))||M(K,"MeetToAddonMessage field on ControlMessage is falsy."+
62
+ ` ${JSON.stringify(b)}`);b=b==null?void 0:E(b,hc,10,N);if((b==null?void 0:D(b,1))!==void 0)throw a=D(b,1),new J(Lc(a));return a}async function af(a,b,c){var d=X,e=new Q;b=B(e,1,P,b);d=await d(a,U(b));a=d.data.messagePort;var f;(d=(f=Pd(Sd(d.data.content)))==null?void 0:E(f,ec,1,N))!=null?f=d:(f=new ec,f=F(f,1,0));return{channel:a?Re(a,c):void 0,response:f}}async function bf(a){const b=Ad(),{channel:c,response:d}=await af(a,b,e=>Ve(e));if(!c)throw new J(Mc(d));return c}
63
+ async function cf(a){var b=X;var c=new Q;var d=new Nd;c=B(c,5,P,d);await b(a,U(c))}async function df(a){var b=X;var c=new Q;var d=new Gd;c=B(c,6,P,d);await b(a,U(c))}async function ef(a,b,c){var d=X,e=new Q,f=new Jd;b=F(f,1,b);c=y(b,2,u(c),"");e=B(e,7,P,c);await d(a,U(e))}async function ff(a,b){var c=X,d=new Q;b=B(d,16,P,b);await c(a,U(b))}
64
+ class Ze extends O{constructor(a,b,c){super();this.U=a;this.channel=b;this.h=cc(async()=>{var d=this.channel,e=d.D;var f=new Q;var g=new Kd;f=B(f,13,P,g);await e.call(d,U(f))});a=Ub();C(a,4);hb(v(a,1));hb(v(a,2));hb(v(a,3));c=Od(new Q,Fd(Dd(a),c));this.channel.send(U(c));md(this.U,async d=>{switch(x(d.content,N)){case 16:await $e(this)}},this)}};let gf;var hf=class{constructor(a){var b=gf;this.h=a;this.g=b}delete(){throw Error("Not implemented.");}};var kf=class extends G{j(){return E(this,V,2,jf)}h(){return Hb(this,V,2,jf)}m(){return E(this,W,3,jf)}u(){return Hb(this,W,3,jf)}},jf=[2,3];var lf=class extends G{};var mf=class extends G{};var nf=class extends G{};var pf=class extends G{j(){return E(this,V,2,of)}h(){return Hb(this,V,2,of)}m(){return E(this,W,3,of)}u(){return Hb(this,W,3,of)}},of=[2,3],qf=[5,6];var rf=class extends G{};var sf=class extends G{},tf=[1,2,3];var uf=class extends Error{constructor(){super("Failed to create CoActivity: Connection refused - Meet refused to begin Live Sharing")}};var vf=class{constructor(a){this.config=a}start(){this.g!=null||(this.g=setInterval(()=>{this.config.ia()},this.config.ea));return this}shutdown(){clearInterval(this.g)}};function wf(a){return Ua(a)?Number(a):String(a)};function xf(){const a=new Map,b={set(c,d){a.set(c,d);return b},F:()=>a};return b};function yf(a){if(a.h()){a=a.j();a=v(a,1,void 0,Kb);var b=a==null?sa():a;a=Uint8Array;va(ra);var c=b.g;if(!(c==null||c!=null&&c instanceof Uint8Array))if(typeof c==="string"){c=oa.test(c)?c.replace(oa,qa):c;c=atob(c);const d=new Uint8Array(c.length);for(let e=0;e<c.length;e++)d[e]=c.charCodeAt(e);c=d}else c=null;b=c==null?c:b.g=c;return{bytes:new a(b||0)}}}function zf(a,b){b=Af(b);B(a,2,of,b);return a}function Bf(a,b){b=Af(b);B(a,2,jf,b);return a}
65
+ function Af(a){var b=new V;return y(b,1,Ia(a.bytes,!1),sa())}function Cf(a){if(a.u()){a=a.m();var b,c=C(a,1);var d=(b=Nb(a,Yb,2))==null?void 0:Tb(b);b=d!=null?wf(d):void 0;b=b!=null?b:0;let e;d=(e=v(a,4,void 0,eb))!=null?e:0;return{mediaId:c,mediaPlayoutPosition:b,mediaPlayoutRate:d,playbackState:Df.get(D(a,3))}}}function Ef(a,b){b=Ff(b);B(a,3,of,b);return a}function Gf(a,b){b=Ff(b);B(a,3,jf,b);return a}
66
+ const Df=xf().set(0,"INVALID").set(1,"BUFFERING").set(2,"PLAY").set(3,"PAUSE").set(4,"ENDED").F(),Hf=xf().set("INVALID",0).set("BUFFERING",1).set("PLAY",2).set("PAUSE",3).set("ENDED",4).F();function Ff(a){var b=new W;b=y(b,1,u(a.mediaId),"");var c=a.mediaPlayoutRate;if(c!=null&&typeof c!=="number")throw Error(`Value of float/double field must be a number, found ${typeof c}: ${c}`);b=y(b,4,c,0);c=new Yb;c=y(c,1,ib(a.mediaPlayoutPosition),"0");b=Pb(b,2,c);a=Hf.get(a.playbackState);return F(b,3,a)}
67
+ function If({activityTitle:a}){var b=new nf;return Gb(b,4,u(a))}function Jf(a,b){var c=new mf;b=F(c,1,b.B);B(a,6,qf,b);return a}function Kf(a){var b=new lf;B(a,5,qf,b);return a};const Lf=xf().set("co-doing",1).set("co-watching",2).F();async function Mf(a,b,c){var d=b.D,e=new sf;var f=new rf;f=y(f,1,u(a.activityTitle),"");var g=Lf.get(a.K);f=F(f,2,g);e=B(e,3,tf,f);d=await d.call(b,e,Ue);let h;if((h=Sb(d))!=null&&h)return new Nf(a,b,c,Nb(d,Te,2));throw new uf;}function Of(a,b){const c=a.config.N(b);c&&!a.config.M(a.g,c)&&(a.g=c,a.j=wf(Tb(b)),a.u(a.g))}function Y(a,b){const {state:c,ga:d,context:e}=b(a.g);a.g=c;a.notify(a.g,e,d)}
68
+ class Nf{constructor(a,b,c,d){this.m=a;this.h=b;this.config=c;this.u=Zb(e=>void this.m.O(e));Pf(this.h,e=>{const f=x(e,We);switch(f){case 1:Of(this,E(e,Te,1,We));break;case 2:case 0:console.warn(`IllegalMessage: ${f} - ${"Unhandled message"} - ${"Please raise a bug with the MeetJS team"}`)}});this.A=(new vf({ea:1E3,ia:()=>{var e,f,g=(f=(e=this.m).ka)==null?void 0:f.call(e);if(this.g!==null){this.g={...this.g,...g};e=new sf;f=this.config;g=f.W;var h=new kf;h=y(h,1,ib(this.j),"0");f=g.call(f,h,this.g);
69
+ e=B(e,1,tf,f);this.h.send(e)}}})).start();this.g=null;this.j=0;d&&Of(this,d)}disconnect(){this.h.shutdown();this.A.shutdown()}notify(a,b,c){var d=c?If(c):void 0;c=this.config;var e=c.X;var f=new pf;f=y(f,1,ib(this.j),"0");d=Pb(f,4,d);a=e.call(c,d,a);a=this.config.V(a,b);b=this.h;c=b.send;e=new sf;a=B(e,2,tf,a);c.call(b,a)}};var Qf=class{constructor(a){this.g=a}broadcastStateUpdate(a){Y(this.g,()=>({state:a,context:{}}))}disconnect(){this.g.disconnect()}};function Rf(a,b){return a==null||b==null?!1:a.bytes.length===b.bytes.length&&a.bytes.every((c,d)=>c===b.bytes[d])};var Sf=class{constructor(a){this.g=a}notifySwitchedToMedia(a,b,c){Y(this.g,()=>({state:{mediaId:b,mediaPlayoutRate:1,mediaPlayoutPosition:c,playbackState:"PLAY"},ga:{activityTitle:a},context:{B:1}}))}notifyPauseState(a,b){Y(this.g,c=>{if(c==null)throw Error("Invalid before coWatchingState");return{state:{...c,playbackState:a?"PAUSE":"PLAY",mediaPlayoutPosition:b},context:{B:3}}})}notifySeekToTimestamp(a){Y(this.g,b=>{if(b==null)throw Error("Invalid before coWatchingState");return{state:{...b,mediaPlayoutPosition:a},
69
70
  context:{B:2}}})}notifyPlayoutRate(a){Y(this.g,b=>{if(b==null)throw Error("Invalid before coWatchingState");return{state:{...b,mediaPlayoutRate:a},context:{B:4}}})}notifyBuffering(a){Y(this.g,b=>{if(b==null)throw Error("Invalid before coWatchingState");return{state:{...b,mediaPlayoutPosition:a,playbackState:"BUFFERING"},context:{B:3}}})}notifyReady(a){Y(this.g,b=>{if(b==null)throw Error("Invalid before coWatchingState");return{state:{...b,mediaPlayoutPosition:a},context:{B:3}}})}disconnect(){this.g.disconnect()}};
70
- function Vf(a,b){if(a==null||b==null)return!1;const c=a.playbackState==="PLAY"?3*Math.max(a.mediaPlayoutRate,1):0,d=Math.abs(a.mediaPlayoutPosition-b.mediaPlayoutPosition);return a.mediaId===b.mediaId&&a.mediaPlayoutRate===b.mediaPlayoutRate&&d<=c&&a.playbackState===b.playbackState};function Rf(a,b){od(a.signal,c=>{b(c)},a.g)}var Wf=class{constructor(a,b){this.channel=a;this.signal=b;this.g=new O}send(a){this.channel.send(JSON.stringify(vb(a)))}async D(a,b){a=await this.channel.D(JSON.stringify(vb(a)));return b(a.data)}shutdown(){this.g.dispose()}};function Xf(a,b){var c=Yf;const d=a.signal(),e=a.signal();od(b,f=>{const g=c(f)?d:e;He(a,g,f)},a);return{ja:d,ha:e}}function Zf(a,b,c,d=e=>e){od(c,e=>{He(a,b,d(e))},a)};async function $f(a,b){if(b)return a=await Of({activityTitle:b.activityTitle,K:"co-watching",ka:()=>b.onCoWatchingStateQuery(),O:c=>{b.onCoWatchingStateChanged(c)}},a,{X:Gf,W:If,V:Lf,N:Ef,M:Vf}),new Uf(a)}async function ag(a,b){if(b)return a=await Of({activityTitle:b.activityTitle,K:"co-doing",O:c=>{b.onCoDoingStateChanged(c)}},a,{X:Bf,W:Df,V:Mf,N:Af,M:Tf}),new Sf(a)}
71
- async function bg(a){var b=new Ke,c=b.signal();a=await a;Zf(b,c,a.signal,f=>f.content);const {ja:d,ha:e}=Xf(b,c);b=new Wf(a.channel,d);c=new Wf(a.channel,e);return{aa:b,ba:c}}function Yf(a){a:switch(x(a,Ye)){case 1:a=E(a,Ve,1,Ye);break a;default:throw Error("CA Message arrived with no known content message set");}return a.h()};async function cg(a,b){({aa:a}=await bg(df(a.g)));b=await ag(a,b);if(!b)throw Error("Failed to create co-doing session");return b}async function dg(a,b){({ba:a}=await bg(df(a.g)));b=await $f(a,b);if(!b)throw Error("Failed to create co-watching session");return b};var eg=class extends wd{async notifySidePanel(a){await gf(this.context.g,1,a)}async unloadSidePanel(){await ef(this.context.g)}async loadSidePanel(){await ff(this.context.g)}};var fg=class extends wd{async setAddonStartingState(a){if(a===null)throw new J(yc("addonStartingState"));if(typeof a!=="object")throw new J(L("addonStartingState",typeof a,"object | undefined"));if(a.sidePanelUrl!==void 0&&typeof a.sidePanelUrl!=="string")throw new J(L("sidePanelUrl",typeof a.sidePanelUrl,"string | undefined"));if(a.additionalData!==void 0&&typeof a.additionalData!=="string")throw new J(L("additionalData",typeof a.additionalData,"string | undefined"));if(Object.keys(a).length!==+!!a.sidePanelUrl+
72
- +!!a.additionalData)throw new J(xc);if(Object.keys(a).length===0)throw new J(wc);var b=[];b.push(Uc(Tc(Rc(1),a.sidePanelUrl),a.additionalData));a=this.context.g;var c=new Od,d=c.setAddonStartingState,e=new Nd;b=Sb(e,b);await hf(a,d.call(c,b))}};var gg=class extends wd{async notifyMainStage(a){await gf(this.context.g,2,a)}};var hg=class{constructor(a){a=a.cloudProjectNumber;const b=yd();if(b.cloudProjectNumber!==a)throw new J(qc);const c=b.S,d=b.ca;let e;jf=(e=jf)!=null?e:$e(d,c,a);this.g=new kf(b)}async createMainStageClient(){var a=this.g;if(a.h.frameType!==2)throw new J(lc);return await Promise.resolve(new eg(a))}async createSidePanelClient(){var a=this.g;if(a.h.frameType!==1)throw new J(mc);return await Promise.resolve(new gg(a))}async createCoWatchingClient(a){return await dg(this.g,a)}async createCoDoingClient(a){return await cg(this.g,
73
- a)}async createRoomsStandaloneClient(){var a=this.g;if(a.h.frameType!==2)throw new J(lc);return await Promise.resolve(new fg(a))}};let ig=null;for(var jg={addon:{getFrameType:function(){a:{var a=yd().frameType;switch(a){case 2:a="MAIN_STAGE";break a;case 1:a="SIDE_PANEL";break a;default:throw Error(`Unknown frame type: ${a}`);}}return a},createAddonSession:async function(a){if(a===null)throw new J(yc("config"));if(typeof a!=="object")throw new J(L("config",typeof a,"object"));if(typeof a.cloudProjectNumber!=="string")throw new J(L("cloudProjectNumber",typeof a.cloudProjectNumber,"string"));if(ig&&yd().S!=="integration.test.google.com")throw new J(Hc);
74
- return ig=new hg(a)}}},kg=["meet"],Z=ea,lg;kg.length&&(lg=kg.shift());)kg.length||jg===void 0?Z[lg]&&Z[lg]!==Object.prototype[lg]?Z=Z[lg]:Z=Z[lg]={}:Z[lg]=jg;}).apply(topLevel);export const meet = topLevel.meet;
71
+ function Tf(a,b){if(a==null||b==null)return!1;const c=a.playbackState==="PLAY"?3*Math.max(a.mediaPlayoutRate,1):0,d=Math.abs(a.mediaPlayoutPosition-b.mediaPlayoutPosition);return a.mediaId===b.mediaId&&a.mediaPlayoutRate===b.mediaPlayoutRate&&d<=c&&a.playbackState===b.playbackState};function Pf(a,b){md(a.signal,c=>{b(c)},a.g)}var Uf=class{constructor(a,b){this.channel=a;this.signal=b;this.g=new O}send(a){this.channel.send(JSON.stringify(tb(a)))}async D(a,b){a=await this.channel.D(JSON.stringify(tb(a)));return b(a.data)}shutdown(){this.g.dispose()}};function Vf(a,b){var c=Wf;const d=a.signal(),e=a.signal();md(b,f=>{const g=c(f)?d:e;Fe(a,g,f)},a);return{ja:d,ha:e}}function Xf(a,b,c,d=e=>e){md(c,e=>{Fe(a,b,d(e))},a)};async function Yf(a,b){if(b)return a=await Mf({activityTitle:b.activityTitle,K:"co-watching",ka:()=>b.onCoWatchingStateQuery(),O:c=>{b.onCoWatchingStateChanged(c)}},a,{X:Ef,W:Gf,V:Jf,N:Cf,M:Tf}),new Sf(a)}async function Zf(a,b){if(b)return a=await Mf({activityTitle:b.activityTitle,K:"co-doing",O:c=>{b.onCoDoingStateChanged(c)}},a,{X:zf,W:Bf,V:Kf,N:yf,M:Rf}),new Qf(a)}
72
+ async function $f(a){var b=new Ie,c=b.signal();a=await a;Xf(b,c,a.signal,f=>f.content);const {ja:d,ha:e}=Vf(b,c);b=new Uf(a.channel,d);c=new Uf(a.channel,e);return{aa:b,ba:c}}function Wf(a){a:switch(x(a,We)){case 1:a=E(a,Te,1,We);break a;default:throw Error("CA Message arrived with no known content message set");}return a.h()};async function ag(a,b){({aa:a}=await $f(bf(a.g)));b=await Zf(a,b);if(!b)throw Error("Failed to create co-doing session");return b}async function bg(a,b){({ba:a}=await $f(bf(a.g)));b=await Yf(a,b);if(!b)throw Error("Failed to create co-watching session");return b};var cg=class extends ud{async notifySidePanel(a){await ef(this.context.g,1,a)}async unloadSidePanel(){await cf(this.context.g)}async loadSidePanel(){await df(this.context.g)}};var dg=class extends ud{async setAddonStartingState(a){if(a===null)throw new J(wc("addonStartingState"));if(typeof a!=="object")throw new J(L("addonStartingState",typeof a,"object | undefined"));if(a.sidePanelUrl!==void 0&&typeof a.sidePanelUrl!=="string")throw new J(L("sidePanelUrl",typeof a.sidePanelUrl,"string | undefined"));if(a.additionalData!==void 0&&typeof a.additionalData!=="string")throw new J(L("additionalData",typeof a.additionalData,"string | undefined"));if(Object.keys(a).length!==+!!a.sidePanelUrl+
73
+ +!!a.additionalData)throw new J(vc);if(Object.keys(a).length===0)throw new J(uc);var b=[];b.push(Sc(Rc(Pc(1),a.sidePanelUrl),a.additionalData));a=this.context.g;var c=new Md,d=c.setAddonStartingState,e=new Ld;b=Qb(e,b);await ff(a,d.call(c,b))}};var eg=class extends ud{async notifyMainStage(a){await ef(this.context.g,2,a)}};var fg=class{constructor(a){a=a.cloudProjectNumber;const b=wd();if(b.cloudProjectNumber!==a)throw new J(oc);const c=b.S,d=b.ca;let e;gf=(e=gf)!=null?e:Ye(d,c,a);this.g=new hf(b)}async createMainStageClient(){var a=this.g;if(a.h.frameType!==2)throw new J(jc);return await Promise.resolve(new cg(a))}async createSidePanelClient(){var a=this.g;if(a.h.frameType!==1)throw new J(kc);return await Promise.resolve(new eg(a))}async createCoWatchingClient(a){return await bg(this.g,a)}async createCoDoingClient(a){return await ag(this.g,
74
+ a)}async createRoomsStandaloneClient(){var a=this.g;if(a.h.frameType!==2)throw new J(jc);return await Promise.resolve(new dg(a))}};let gg=null;for(var hg={addon:{getFrameType:function(){a:{var a=wd().frameType;switch(a){case 2:a="MAIN_STAGE";break a;case 1:a="SIDE_PANEL";break a;default:throw Error(`Unknown frame type: ${a}`);}}return a},createAddonSession:async function(a){if(a===null)throw new J(wc("config"));if(typeof a!=="object")throw new J(L("config",typeof a,"object"));if(typeof a.cloudProjectNumber!=="string")throw new J(L("cloudProjectNumber",typeof a.cloudProjectNumber,"string"));if(gg&&wd().S!=="integration.test.google.com")throw new J(Fc);
75
+ return gg=new fg(a)}}},ig=["meet"],Z=ea,jg;ig.length&&(jg=ig.shift());)ig.length||hg===void 0?Z[jg]&&Z[jg]!==Object.prototype[jg]?Z=Z[jg]:Z=Z[jg]={}:Z[jg]=hg;}).apply(topLevel);export const meet = topLevel.meet;
@@ -1,40 +1,5 @@
1
1
 
2
2
 
3
- // Original file: index.types.d.ts
4
-
5
-
6
- /**
7
- * The main entry point for accessing Meet add-on screenshare functionality.
8
- * Available globally under `window.meet.addon.screensharing`, or by importing
9
- * `meet.addon.screensharing`.
10
- */
11
- export interface MeetAddonScreenshare {
12
- /**
13
- * Enables a third-party site to set content and its corresponding add-on when
14
- * transitioning from screen sharing to the Meet add-on.
15
- */
16
- exposeToMeetWhenScreensharing(
17
- clientScreenshareInfo: AddonScreenshareInfo,
18
- ): void;
19
- }
20
-
21
- /** The structure of the top-level add-on screenshare export. */
22
- interface MeetAddonScreenshareExport {
23
- addon: {screensharing: MeetAddonScreenshare};
24
- }
25
-
26
- /**
27
- * The main entry point for accessing Meet add-on screenshare functionality.
28
- */
29
- export const meet: MeetAddonScreenshareExport;
30
-
31
- declare global {
32
- export interface Window {
33
- meet: MeetAddonScreenshareExport;
34
- }
35
- }
36
-
37
-
38
3
  // Original file: screenshare_info.types.d.ts
39
4
 
40
5
  /**
@@ -68,3 +33,38 @@ export interface AddonScreenshareInfo {
68
33
  */
69
34
  mainStageUrl?: string;
70
35
  }
36
+
37
+
38
+ // Original file: index.types.d.ts
39
+
40
+
41
+ /**
42
+ * The main entry point for accessing Meet add-on screenshare functionality.
43
+ * Available globally under `window.meet.addon.screensharing`, or by importing
44
+ * `meet.addon.screensharing`.
45
+ */
46
+ export interface MeetAddonScreenshare {
47
+ /**
48
+ * Enables a third-party site to set content and its corresponding add-on when
49
+ * transitioning from screen sharing to the Meet add-on.
50
+ */
51
+ exposeToMeetWhenScreensharing(
52
+ clientScreenshareInfo: AddonScreenshareInfo,
53
+ ): void;
54
+ }
55
+
56
+ /** The structure of the top-level add-on screenshare export. */
57
+ interface MeetAddonScreenshareExport {
58
+ addon: {screensharing: MeetAddonScreenshare};
59
+ }
60
+
61
+ /**
62
+ * The main entry point for accessing Meet add-on screenshare functionality.
63
+ */
64
+ export const meet: MeetAddonScreenshareExport;
65
+
66
+ declare global {
67
+ export interface Window {
68
+ meet: MeetAddonScreenshareExport;
69
+ }
70
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@googleworkspace/meet-addons",
3
3
  "description": "The Google Meet add-ons SDK lets you embed your app into Google Meet as an add-on where users can discover, share, and collaborate in the app without leaving Meet",
4
- "version": "1.2.0-dev-831545221",
4
+ "version": "1.2.0-dev-832460133",
5
5
  "repository": "googleworkspace/meet",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
7
  "homepage": "https://developers.google.com/meet/add-ons/guides/overview",