@magicworks/client-party-game 0.1.0-rc.3 → 0.1.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +48 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +157 -33
- package/dist/client.js.map +1 -1
- package/dist/protocol.d.ts +36 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +12 -1
- package/dist/protocol.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -28,7 +28,9 @@ export interface PartyGameClientOptions {
|
|
|
28
28
|
/**
|
|
29
29
|
* Each region's own name, e.g. `{ 'eu-west-1': 'https://party-ws.prod-eu-west-1.cat.roxi.tv' }`.
|
|
30
30
|
* A room is reached at its code's region (see PARTY_REGIONS) wherever the
|
|
31
|
-
* global name would send this TV now.
|
|
31
|
+
* global name would send this TV now. The servers say where each region is
|
|
32
|
+
* when a room opens (PartyRouting), which takes over from this: it is only
|
|
33
|
+
* for servers from before they did. Without either, everything goes to `url`.
|
|
32
34
|
*/
|
|
33
35
|
regionUrls?: Record<string, string>;
|
|
34
36
|
/** socket.io-client's `io`: see `PartySocketFactory`. */
|
|
@@ -47,6 +49,14 @@ export interface PartyGameClientOptions {
|
|
|
47
49
|
ackTimeoutMs?: number;
|
|
48
50
|
/** How often the clock offset to the server is measured again. */
|
|
49
51
|
clockSyncIntervalMs?: number;
|
|
52
|
+
/**
|
|
53
|
+
* How long a room's region can be out of reach before the client gives up
|
|
54
|
+
* on the room and opens a new one through the global name - if that can be
|
|
55
|
+
* reached, so a TV that is offline itself keeps its room: see watchRegion.
|
|
56
|
+
*/
|
|
57
|
+
regionFallbackMs?: number;
|
|
58
|
+
/** How long a region given up on is kept away from. */
|
|
59
|
+
regionDownMs?: number;
|
|
50
60
|
}
|
|
51
61
|
type PlayersListener = (players: PartyPlayer[]) => void;
|
|
52
62
|
type AllAnsweredListener = (round: number) => void;
|
|
@@ -70,13 +80,22 @@ type SessionListener = (session: PartyHostSession) => void;
|
|
|
70
80
|
*/
|
|
71
81
|
export declare class PartyGameClient {
|
|
72
82
|
private readonly url;
|
|
73
|
-
|
|
83
|
+
/** Built in at first, then as the servers say: see PartyRouting. */
|
|
84
|
+
private regionUrls;
|
|
85
|
+
/** Regions given up on, until when: their rooms are looked for through the global name. */
|
|
86
|
+
private downRegions;
|
|
74
87
|
private readonly io;
|
|
75
88
|
private readonly hostId;
|
|
76
89
|
private readonly roomMemory;
|
|
77
90
|
private readonly logger;
|
|
78
91
|
private readonly ackTimeoutMs;
|
|
79
92
|
private readonly clockSyncIntervalMs;
|
|
93
|
+
private readonly regionFallbackMs;
|
|
94
|
+
private readonly regionDownMs;
|
|
95
|
+
/** Runs while the current socket, routed to a room's region, is not connected. */
|
|
96
|
+
private regionTimer;
|
|
97
|
+
/** A connection to the global name, seeing whether it is the region that is out of reach. */
|
|
98
|
+
private regionProbe;
|
|
80
99
|
private socket;
|
|
81
100
|
/** The room code the current socket was routed by, if any. */
|
|
82
101
|
private routedCode;
|
|
@@ -125,10 +144,24 @@ export declare class PartyGameClient {
|
|
|
125
144
|
private currentSocket;
|
|
126
145
|
private setAttached;
|
|
127
146
|
private whenAttached;
|
|
128
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* Where `code`'s room is: its region's servers, or for no room - or one in
|
|
149
|
+
* a region given up on - the nearest.
|
|
150
|
+
*/
|
|
129
151
|
private urlFor;
|
|
130
152
|
/** A socket routed by `code`, to `url` (by default, where `code`'s room is). */
|
|
131
153
|
private connectTo;
|
|
154
|
+
/**
|
|
155
|
+
* Gives a room's region `regionFallbackMs` to answer `socket`, routed to it
|
|
156
|
+
* by `code` (null stops watching). A region that does not is checked
|
|
157
|
+
* against the global name: if that answers, the region is down - its rooms
|
|
158
|
+
* with it, as a room lives in one server's memory - so the client goes
|
|
159
|
+
* through the global name instead, where the room's code gets a new room,
|
|
160
|
+
* in a region that is up. If it does not either, it is this TV that is
|
|
161
|
+
* offline, and the room is waited for: it may well still be there.
|
|
162
|
+
*/
|
|
163
|
+
private watchRegion;
|
|
164
|
+
private closeRegionProbe;
|
|
132
165
|
private openSocket;
|
|
133
166
|
/**
|
|
134
167
|
* Back on the room we were already hosting, so a dropped connection
|
|
@@ -199,18 +232,26 @@ export declare class PartyGameClient {
|
|
|
199
232
|
* answers, and the game goes on without it.
|
|
200
233
|
*/
|
|
201
234
|
adBreak(): Promise<boolean>;
|
|
202
|
-
endGame(): Promise<PartyPlayer[]>;
|
|
203
235
|
/**
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
236
|
+
* Ends the game: the final standings, which the phones are shown too.
|
|
237
|
+
* Throws when the server refuses - the room is gone, say - rather than
|
|
238
|
+
* hand back the last roster as if it were the standings, so the TV knows
|
|
239
|
+
* the game did not close cleanly.
|
|
207
240
|
*/
|
|
241
|
+
endGame(): Promise<PartyPlayer[]>;
|
|
208
242
|
/**
|
|
209
243
|
* Puts the players of a room that was lost mid-game into this lobby, for
|
|
210
244
|
* their phones to claim back by name: see HostEvent.Restore. The roster
|
|
211
245
|
* with them in it, pending; the last known one if the server would not.
|
|
212
246
|
*/
|
|
213
247
|
restore(players: HostRestoreRequest['players']): Promise<PartyPlayer[]>;
|
|
248
|
+
/**
|
|
249
|
+
* Same players, scores back to zero, room back to the lobby. A server past
|
|
250
|
+
* its drain deadline plays no more games, and closes the room instead: the
|
|
251
|
+
* lobby then opens fresh on another server, with a code to scan. Throws
|
|
252
|
+
* when the server refuses, so the lobby does not take the old roster for a
|
|
253
|
+
* restarted one.
|
|
254
|
+
*/
|
|
214
255
|
restart(): Promise<PartyPlayer[]>;
|
|
215
256
|
onPlayers(listener: PlayersListener): () => boolean;
|
|
216
257
|
onAllAnswered(listener: AllAnsweredListener): () => boolean;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,kBAAkB,EAGvB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -4,11 +4,23 @@ exports.PartyGameClient = void 0;
|
|
|
4
4
|
const protocol_1 = require("./protocol");
|
|
5
5
|
const defaultAckTimeoutMs = 8000;
|
|
6
6
|
const defaultClockSyncIntervalMs = 60 * 1000;
|
|
7
|
+
const defaultRegionFallbackMs = 12 * 1000;
|
|
8
|
+
const defaultRegionDownMs = 5 * 60 * 1000;
|
|
7
9
|
const clockSyncSamples = 5;
|
|
8
10
|
/** Servers that can be on their way out at once, during a deploy. */
|
|
9
11
|
const maxDrainingRetries = 3;
|
|
10
12
|
/** Hops a room can have made between servers since we last knew its code. */
|
|
11
13
|
const maxRedirects = 3;
|
|
14
|
+
/**
|
|
15
|
+
* A host call refused as moving is tried again once the room has moved: the
|
|
16
|
+
* server holds the room still from before it says where it is going, so the
|
|
17
|
+
* refusal may come while this connection is still the room's. Then the retry
|
|
18
|
+
* waits this long, this many times, for the move to be announced - long
|
|
19
|
+
* enough in all for a move that fails, which the server gives up on after
|
|
20
|
+
* 30s and lets the room go on where it is.
|
|
21
|
+
*/
|
|
22
|
+
const movingRetryMs = 2000;
|
|
23
|
+
const maxMovingRetries = 16;
|
|
12
24
|
/** What this client can do beyond the first protocol: see Feature. */
|
|
13
25
|
const features = [protocol_1.Feature.Move];
|
|
14
26
|
const processHostId = `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
|
|
@@ -31,6 +43,14 @@ function withTimeout(promise, ms, what) {
|
|
|
31
43
|
});
|
|
32
44
|
});
|
|
33
45
|
}
|
|
46
|
+
/** URLs without trailing slashes. No Object.entries or fromEntries: older TV browsers lack them, and the app has no polyfill. */
|
|
47
|
+
function tidyUrls(urls) {
|
|
48
|
+
const tidy = {};
|
|
49
|
+
for (const key of Object.keys(urls)) {
|
|
50
|
+
tidy[key] = urls[key].replace(/\/+$/, '');
|
|
51
|
+
}
|
|
52
|
+
return tidy;
|
|
53
|
+
}
|
|
34
54
|
function routesAlike(a, b) {
|
|
35
55
|
return (a ? (0, protocol_1.codePrefixOf)(a) : null) === (b ? (0, protocol_1.codePrefixOf)(b) : null);
|
|
36
56
|
}
|
|
@@ -52,13 +72,22 @@ function routesAlike(a, b) {
|
|
|
52
72
|
*/
|
|
53
73
|
class PartyGameClient {
|
|
54
74
|
url;
|
|
75
|
+
/** Built in at first, then as the servers say: see PartyRouting. */
|
|
55
76
|
regionUrls;
|
|
77
|
+
/** Regions given up on, until when: their rooms are looked for through the global name. */
|
|
78
|
+
downRegions = {};
|
|
56
79
|
io;
|
|
57
80
|
hostId;
|
|
58
81
|
roomMemory;
|
|
59
82
|
logger;
|
|
60
83
|
ackTimeoutMs;
|
|
61
84
|
clockSyncIntervalMs;
|
|
85
|
+
regionFallbackMs;
|
|
86
|
+
regionDownMs;
|
|
87
|
+
/** Runs while the current socket, routed to a room's region, is not connected. */
|
|
88
|
+
regionTimer = null;
|
|
89
|
+
/** A connection to the global name, seeing whether it is the region that is out of reach. */
|
|
90
|
+
regionProbe = null;
|
|
62
91
|
socket = null;
|
|
63
92
|
/** The room code the current socket was routed by, if any. */
|
|
64
93
|
routedCode = null;
|
|
@@ -90,13 +119,7 @@ class PartyGameClient {
|
|
|
90
119
|
clockSyncTimer = null;
|
|
91
120
|
constructor(options) {
|
|
92
121
|
this.url = options.url.replace(/\/+$/, '');
|
|
93
|
-
|
|
94
|
-
app has no polyfill. */
|
|
95
|
-
const regionUrls = options.regionUrls || {};
|
|
96
|
-
this.regionUrls = {};
|
|
97
|
-
for (const region of Object.keys(regionUrls)) {
|
|
98
|
-
this.regionUrls[region] = regionUrls[region].replace(/\/+$/, '');
|
|
99
|
-
}
|
|
122
|
+
this.regionUrls = tidyUrls(options.regionUrls || {});
|
|
100
123
|
this.io = options.io;
|
|
101
124
|
this.hostId = options.hostId || processHostId;
|
|
102
125
|
this.roomMemory = options.roomMemory || moduleRoomMemory;
|
|
@@ -104,6 +127,8 @@ class PartyGameClient {
|
|
|
104
127
|
this.ackTimeoutMs = options.ackTimeoutMs ?? defaultAckTimeoutMs;
|
|
105
128
|
this.clockSyncIntervalMs =
|
|
106
129
|
options.clockSyncIntervalMs ?? defaultClockSyncIntervalMs;
|
|
130
|
+
this.regionFallbackMs = options.regionFallbackMs ?? defaultRegionFallbackMs;
|
|
131
|
+
this.regionDownMs = options.regionDownMs ?? defaultRegionDownMs;
|
|
107
132
|
}
|
|
108
133
|
getSession() {
|
|
109
134
|
return this.session;
|
|
@@ -162,14 +187,19 @@ class PartyGameClient {
|
|
|
162
187
|
}
|
|
163
188
|
return withTimeout(new Promise(resolve => this.attachedWaiters.push(resolve)), this.ackTimeoutMs, `${what} (reconnecting)`);
|
|
164
189
|
}
|
|
165
|
-
/**
|
|
190
|
+
/**
|
|
191
|
+
* Where `code`'s room is: its region's servers, or for no room - or one in
|
|
192
|
+
* a region given up on - the nearest.
|
|
193
|
+
*/
|
|
166
194
|
urlFor(code) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
: this.url
|
|
195
|
+
const region = code ? (0, protocol_1.regionOfCode)(code) : null;
|
|
196
|
+
if (!code || (region && (this.downRegions[region] || 0) > Date.now())) {
|
|
197
|
+
return this.url;
|
|
198
|
+
}
|
|
199
|
+
return (0, protocol_1.socketUrlForCode)(code, {
|
|
200
|
+
socketUrl: this.url,
|
|
201
|
+
regionSocketUrls: this.regionUrls,
|
|
202
|
+
});
|
|
173
203
|
}
|
|
174
204
|
/** A socket routed by `code`, to `url` (by default, where `code`'s room is). */
|
|
175
205
|
connectTo(code, url = this.urlFor(code)) {
|
|
@@ -184,14 +214,74 @@ class PartyGameClient {
|
|
|
184
214
|
timeout: this.ackTimeoutMs,
|
|
185
215
|
});
|
|
186
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Gives a room's region `regionFallbackMs` to answer `socket`, routed to it
|
|
219
|
+
* by `code` (null stops watching). A region that does not is checked
|
|
220
|
+
* against the global name: if that answers, the region is down - its rooms
|
|
221
|
+
* with it, as a room lives in one server's memory - so the client goes
|
|
222
|
+
* through the global name instead, where the room's code gets a new room,
|
|
223
|
+
* in a region that is up. If it does not either, it is this TV that is
|
|
224
|
+
* offline, and the room is waited for: it may well still be there.
|
|
225
|
+
*/
|
|
226
|
+
watchRegion(socket, code) {
|
|
227
|
+
if (this.regionTimer) {
|
|
228
|
+
clearTimeout(this.regionTimer);
|
|
229
|
+
this.regionTimer = null;
|
|
230
|
+
}
|
|
231
|
+
this.closeRegionProbe();
|
|
232
|
+
if (!code) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
this.regionTimer = setTimeout(() => {
|
|
236
|
+
this.regionTimer = null;
|
|
237
|
+
if (socket !== this.socket || socket.connected) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const probe = this.connectTo(null, this.url);
|
|
241
|
+
this.regionProbe = probe;
|
|
242
|
+
probe.on('connect', () => {
|
|
243
|
+
if (probe !== this.regionProbe) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
this.closeRegionProbe();
|
|
247
|
+
if (socket !== this.socket || socket.connected) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const region = (0, protocol_1.regionOfCode)(code);
|
|
251
|
+
if (region) {
|
|
252
|
+
this.downRegions[region] = Date.now() + this.regionDownMs;
|
|
253
|
+
}
|
|
254
|
+
this.logger.warn('PartyGames', 'region', region, 'out of reach, going through', this.url, 'for', code);
|
|
255
|
+
this.socketFor(code, { fresh: true });
|
|
256
|
+
});
|
|
257
|
+
probe.on('connect_error', () => {
|
|
258
|
+
if (probe === this.regionProbe) {
|
|
259
|
+
/* offline here too: the room is waited for */
|
|
260
|
+
this.watchRegion(socket, code);
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
}, this.regionFallbackMs);
|
|
264
|
+
}
|
|
265
|
+
closeRegionProbe() {
|
|
266
|
+
const probe = this.regionProbe;
|
|
267
|
+
if (probe) {
|
|
268
|
+
this.regionProbe = null;
|
|
269
|
+
probe.close();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
187
272
|
openSocket(code) {
|
|
188
273
|
this.setAttached(false);
|
|
189
|
-
const
|
|
274
|
+
const url = this.urlFor(code);
|
|
275
|
+
const socket = this.connectTo(code, url);
|
|
276
|
+
/* a room in a region of its own: watched in case that region is down */
|
|
277
|
+
const regional = code && url !== this.url ? code : null;
|
|
278
|
+
this.watchRegion(socket, regional);
|
|
190
279
|
socket.on('connect', () => {
|
|
191
280
|
if (socket !== this.socket) {
|
|
192
281
|
return;
|
|
193
282
|
}
|
|
194
|
-
this.logger.debug('PartyGames', 'connected to',
|
|
283
|
+
this.logger.debug('PartyGames', 'connected to', url);
|
|
284
|
+
this.watchRegion(socket, null);
|
|
195
285
|
this.syncClock();
|
|
196
286
|
this.reattach(socket);
|
|
197
287
|
});
|
|
@@ -201,6 +291,7 @@ class PartyGameClient {
|
|
|
201
291
|
}
|
|
202
292
|
this.logger.debug('PartyGames', 'disconnected');
|
|
203
293
|
this.setAttached(false);
|
|
294
|
+
this.watchRegion(socket, regional);
|
|
204
295
|
});
|
|
205
296
|
socket.on('connect_error', (error) => {
|
|
206
297
|
this.logger.warn('PartyGames', 'connect error', error?.message);
|
|
@@ -274,6 +365,13 @@ class PartyGameClient {
|
|
|
274
365
|
...response,
|
|
275
366
|
reused: same ? Boolean(this.session?.reused) : response.reused,
|
|
276
367
|
});
|
|
368
|
+
if (response.status === 'playing' &&
|
|
369
|
+
!this.countdownStarted &&
|
|
370
|
+
this.countdownListeners.size > 0) {
|
|
371
|
+
/* away as the game was readied: the countdown may have started
|
|
372
|
+
without this connection, and the server tells one that asks */
|
|
373
|
+
this.readyForGame();
|
|
374
|
+
}
|
|
277
375
|
}
|
|
278
376
|
else if (response?.reason === protocol_1.HostRefusal.Moved && response.movedTo) {
|
|
279
377
|
/* it left that server while we were away: follow it */
|
|
@@ -298,6 +396,9 @@ class PartyGameClient {
|
|
|
298
396
|
}
|
|
299
397
|
/** Takes on a session the server has handed back, rerouting by its code if need be. */
|
|
300
398
|
adopt(response) {
|
|
399
|
+
if (response.regionSocketUrls) {
|
|
400
|
+
this.regionUrls = tidyUrls(response.regionSocketUrls);
|
|
401
|
+
}
|
|
301
402
|
const previous = this.session;
|
|
302
403
|
this.redirectCode = null;
|
|
303
404
|
this.session = {
|
|
@@ -338,9 +439,15 @@ class PartyGameClient {
|
|
|
338
439
|
await this.whenAttached(event);
|
|
339
440
|
const response = await this.send(this.socket || socket, event, payload);
|
|
340
441
|
const reason = response?.reason;
|
|
341
|
-
if (reason !== protocol_1.HostRefusal.Moving || attempt >=
|
|
442
|
+
if (reason !== protocol_1.HostRefusal.Moving || attempt >= maxMovingRetries) {
|
|
342
443
|
return response;
|
|
343
444
|
}
|
|
445
|
+
if (this.attached) {
|
|
446
|
+
/* refused before the server said where the room is going: the
|
|
447
|
+
room:move follows, and has us reconnecting - or the move failed
|
|
448
|
+
and the server lets the room go on here after a while */
|
|
449
|
+
await new Promise(resolve => setTimeout(resolve, movingRetryMs));
|
|
450
|
+
}
|
|
344
451
|
/* the room:move that came before this answer has us reconnecting */
|
|
345
452
|
await this.whenAttached(event);
|
|
346
453
|
}
|
|
@@ -564,7 +671,10 @@ class PartyGameClient {
|
|
|
564
671
|
* The round starts at the time `waitForRoundGo` resolves with.
|
|
565
672
|
*/
|
|
566
673
|
async startRound(config) {
|
|
567
|
-
await this.emit(protocol_1.HostEvent.RoundStart, config);
|
|
674
|
+
const response = await this.emit(protocol_1.HostEvent.RoundStart, config);
|
|
675
|
+
if (!response?.ok) {
|
|
676
|
+
throw new Error(response?.error || 'failed to open the round');
|
|
677
|
+
}
|
|
568
678
|
}
|
|
569
679
|
/** When the server has said a round starts: at once if it already has. */
|
|
570
680
|
waitForRoundGo(round) {
|
|
@@ -604,19 +714,20 @@ class PartyGameClient {
|
|
|
604
714
|
return false;
|
|
605
715
|
}
|
|
606
716
|
}
|
|
717
|
+
/**
|
|
718
|
+
* Ends the game: the final standings, which the phones are shown too.
|
|
719
|
+
* Throws when the server refuses - the room is gone, say - rather than
|
|
720
|
+
* hand back the last roster as if it were the standings, so the TV knows
|
|
721
|
+
* the game did not close cleanly.
|
|
722
|
+
*/
|
|
607
723
|
async endGame() {
|
|
608
724
|
const response = await this.emit(protocol_1.HostEvent.GameEnd);
|
|
609
725
|
if (!response?.ok) {
|
|
610
|
-
|
|
726
|
+
throw new Error(response?.error || 'failed to end the game');
|
|
611
727
|
}
|
|
612
728
|
this.players = response.standings || [];
|
|
613
729
|
return this.players;
|
|
614
730
|
}
|
|
615
|
-
/**
|
|
616
|
-
* Same players, scores back to zero, room back to the lobby. A server past
|
|
617
|
-
* its drain deadline plays no more games, and closes the room instead: the
|
|
618
|
-
* lobby then opens fresh on another server, with a code to scan.
|
|
619
|
-
*/
|
|
620
731
|
/**
|
|
621
732
|
* Puts the players of a room that was lost mid-game into this lobby, for
|
|
622
733
|
* their phones to claim back by name: see HostEvent.Restore. The roster
|
|
@@ -633,6 +744,13 @@ class PartyGameClient {
|
|
|
633
744
|
}
|
|
634
745
|
return this.players;
|
|
635
746
|
}
|
|
747
|
+
/**
|
|
748
|
+
* Same players, scores back to zero, room back to the lobby. A server past
|
|
749
|
+
* its drain deadline plays no more games, and closes the room instead: the
|
|
750
|
+
* lobby then opens fresh on another server, with a code to scan. Throws
|
|
751
|
+
* when the server refuses, so the lobby does not take the old roster for a
|
|
752
|
+
* restarted one.
|
|
753
|
+
*/
|
|
636
754
|
async restart() {
|
|
637
755
|
const response = await this.emit(protocol_1.HostEvent.Restart);
|
|
638
756
|
if (response?.reason ===
|
|
@@ -643,15 +761,16 @@ class PartyGameClient {
|
|
|
643
761
|
this.socketFor(null, { fresh: true });
|
|
644
762
|
return (await this.host(gameType, genre, genreName, true)).players;
|
|
645
763
|
}
|
|
646
|
-
if (response?.ok) {
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
764
|
+
if (!response?.ok) {
|
|
765
|
+
throw new Error(response?.error || 'failed to restart the game');
|
|
766
|
+
}
|
|
767
|
+
this.players = response.players || [];
|
|
768
|
+
if (this.session) {
|
|
769
|
+
this.session = {
|
|
770
|
+
...this.session,
|
|
771
|
+
status: 'lobby',
|
|
772
|
+
players: this.players,
|
|
773
|
+
};
|
|
655
774
|
}
|
|
656
775
|
return this.players;
|
|
657
776
|
}
|
|
@@ -691,6 +810,11 @@ class PartyGameClient {
|
|
|
691
810
|
clearInterval(this.clockSyncTimer);
|
|
692
811
|
this.clockSyncTimer = null;
|
|
693
812
|
}
|
|
813
|
+
if (this.regionTimer) {
|
|
814
|
+
clearTimeout(this.regionTimer);
|
|
815
|
+
this.regionTimer = null;
|
|
816
|
+
}
|
|
817
|
+
this.closeRegionProbe();
|
|
694
818
|
this.session = null;
|
|
695
819
|
this.redirectCode = null;
|
|
696
820
|
this.players = [];
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,yCAoCoB;AAqEpB,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,6EAA6E;AAC7E,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,sEAAsE;AACtE,MAAM,QAAQ,GAAG,CAAC,kBAAO,CAAC,IAAI,CAAC,CAAC;AAEhC,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAE9F,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,MAAM,gBAAgB,GAAe;IACnC,GAAG,EAAE,GAAG,EAAE,CAAC,cAAc;IACzB,GAAG,EAAE,IAAI,CAAC,EAAE;QACV,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU,EAAE,IAAY;IACnE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,EACzE,EAAE,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,EAAE;YACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,KAAK,CAAC,EAAE;YACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iIAAiI;AACjI,SAAS,QAAQ,CAAC,IAA4B;IAC5C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,CAAgB,EAAE,CAAgB;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH;IACmB,GAAG,CAAS;IAC7B,oEAAoE;IAC5D,UAAU,CAAyB;IAC3C,2FAA2F;IACnF,WAAW,GAA2B,EAAE,CAAC;IAChC,EAAE,CAAqB;IACvB,MAAM,CAAS;IACf,UAAU,CAAa;IACvB,MAAM,CAAc;IACpB,YAAY,CAAS;IACrB,mBAAmB,CAAS;IAC5B,gBAAgB,CAAS;IACzB,YAAY,CAAS;IACtC,kFAAkF;IAC1E,WAAW,GAAyC,IAAI,CAAC;IACjE,6FAA6F;IACrF,WAAW,GAAuB,IAAI,CAAC;IAEvC,MAAM,GAAuB,IAAI,CAAC;IAC1C,8DAA8D;IACtD,UAAU,GAAkB,IAAI,CAAC;IACzC;;;;OAIG;IACK,QAAQ,GAAG,IAAI,CAAC;IAChB,eAAe,GAAsB,EAAE,CAAC;IAExC,OAAO,GAA4B,IAAI,CAAC;IAChD,wEAAwE;IAChE,YAAY,GAAkB,IAAI,CAAC;IAC3C,mEAAmE;IAC3D,QAAQ,GAIL,IAAI,CAAC;IACR,OAAO,GAAkB,EAAE,CAAC;IAC5B,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,oBAAoB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtD,mEAAmE;IAC3D,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC3C,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtD,mEAAmE;IAC3D,gBAAgB,GAAG,KAAK,CAAC;IACzB,cAAc,GAAkB,IAAI,CAAC;IACrC,kBAAkB,GAAG,IAAI,GAAG,EAAc,CAAC;IACnD,iDAAiD;IACzC,WAAW,GAAG,CAAC,CAAC;IAChB,cAAc,GAA0C,IAAI,CAAC;IAErE,YAAY,OAA+B;QACzC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAChE,IAAI,CAAC,mBAAmB;YACtB,OAAO,CAAC,mBAAmB,IAAI,0BAA0B,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAClE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,IAAI,GACR,0BAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC;YACrD,0BAAe,CAAC,0BAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,2EAA2E;IAE3E,sFAAsF;IAC9E,SAAS,CAAC,IAAmB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE;QAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IACnE,CAAC;IAEO,WAAW,CAAC,QAAiB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,WAAW,CAChB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAChE,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,iBAAiB,CACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,IAAmB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QACD,OAAO,IAAA,2BAAgB,EAAC,IAAI,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,gBAAgB,EAAE,IAAI,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IACxE,SAAS,CAAC,IAAmB,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5D,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAClB,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,4BAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAChD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,YAAY;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,WAAW,CAAC,MAAmB,EAAE,IAAmB;QAC1D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC/C,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACvB,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC5D,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,6BAA6B,EAC7B,IAAI,CAAC,GAAG,EACR,KAAK,EACL,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC7B,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/B,8CAA8C;oBAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,wEAAwE;QACxE,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC3B,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,sBAAW,CAAC,OAAO,EAAE,CAAC,OAAuB,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxE;;wDAEwC;gBACxC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,sBAAW,CAAC,WAAW,EAAE,CAAC,OAA2B,EAAE,EAAE;YACjE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACjD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,sBAAW,CAAC,SAAS,EAAE,CAAC,OAA0B,EAAE,EAAE;YAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,cAAc;gBACjB,OAAO,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpD,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,sBAAW,CAAC,IAAI,EAAE,CAAC,OAAwB,EAAE,EAAE;YACvD,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,sBAAW,CAAC,OAAO,EAAE,CAAC,EAAgB,EAAE,EAAE;YAClD,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC7C,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,uDAAuD;YACvD,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EACtB,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,MAAmB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAgB,MAAM,EAAE,oBAAS,CAAC,MAAM,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;SACT,CAAC;aACC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjB,+DAA+D;gBAC/D,iCAAiC;gBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC;oBACT,GAAG,QAAQ;oBACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;iBAC/D,CAAC,CAAC;gBACH,IACE,QAAQ,CAAC,MAAM,KAAK,SAAS;oBAC7B,CAAC,IAAI,CAAC,gBAAgB;oBACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAChC,CAAC;oBACD;qFACiE;oBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,sBAAW,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtE,uDAAuD;gBACvD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,sBAAW,CAAC,QAAQ,EAAE,CAAC;gBACrD;gFACgE;gBAChE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE,CACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAC7D;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uFAAuF;IAC/E,KAAK,CAAC,QAAyC;QACrD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;SAChC,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,EACZ,MAAM,EACN,QAAQ,CAAC,IAAI,EACb,cAAc,EACd,QAAQ,CAAC,IAAI,CACd,CAAC;YACF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,IAAI,CAAI,MAAmB,EAAE,KAAa,EAAE,OAAO,GAAY,EAAE;QACvE,OAAO,WAAW,CAChB,IAAI,OAAO,CAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAC/D,IAAI,CAAC,YAAY,EACjB,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,IAAI,CAAI,KAAa,EAAE,OAAO,GAAY,EAAE;QACxD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,EAAE,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,IAAI,CAAC,MAAM,IAAI,MAAM,EACrB,KAAK,EACL,OAAO,CACR,CAAC;YACF,MAAM,MAAM,GAAI,QAAuC,EAAE,MAAM,CAAC;YAChE,IAAI,MAAM,KAAK,sBAAW,CAAC,MAAM,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACjE,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB;;2EAE2D;gBAC3D,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,oEAAoE;YACpE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,QAAQ,CAAC,SAAsB,EAAE,KAAa;QAC1D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;QAC1D,IAAI,OAAO,GAA4B,IAAI,CAAC;QAC5C,KACE,IAAI,OAAO,GAAG,CAAC,EACf,OAAO,IAAI,kBAAkB,IAAI,CAAC,OAAO,EACzC,EAAE,OAAO,EACT,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,WAAW,CACf,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EACnE,IAAI,CAAC,YAAY,EACjB,6BAA6B,CAC9B,CAAC;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,MAAM,EACN,oBAAS,CAAC,KAAK,EACf;oBACE,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ;iBACT,CACF,CAAC;gBACF,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC;oBACjB,OAAO,GAAG,QAAQ,CAAC;gBACrB,CAAC;qBAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,sBAAW,CAAC,QAAQ,EAAE,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CACvE,KAAK,CAAC,EAAE,CACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,EACZ,mCAAmC,EACnC,KAAK,CACN,CACJ,CAAC;QACF,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,2EAA2E;IAE3E;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,GAA2C,IAAI,CAAC;QACxD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,IAAI,CAAC,aAAa,EAAE,EACpB,oBAAS,CAAC,IAAI,CACf,CAAC;gBACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC;gBAChC,IAAI,OAAO,QAAQ,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnE,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC;gBAC9D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,YAAY,EACZ,cAAc,EACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,SAAiB;QAC5B,OAAO,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,WAAW,CAAC,UAAkB;QAC5B,OAAO,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACR,QAAuB,EACvB,KAAa,EACb,SAAwB,EACxB,KAAK,GAAG,KAAK;QAEb,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QACpD,MAAM,OAAO,GAAsB;YACjC,IAAI;YACJ,QAAQ;YACR,qEAAqE;YACrE,MAAM,EAAE,CAAC,KAAK;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;YACR,KAAK;YACL,wCAAwC;YACxC,SAAS;YACT,WAAW,EAAE,uBAAY;SAC1B,CAAC;QACF;kFAC0E;QAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,EAAE,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC1B,iCAAiC;gBACjC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YACzE,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,oBAAS,CAAC,MAAM,EAChB,OAAO,CACR,CAAC;YACF,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,OAA2B,CAAC;YAC1C,CAAC;YACD,IACE,QAAQ,EAAE,MAAM,KAAK,sBAAW,CAAC,KAAK;gBACtC,QAAQ,CAAC,OAAO;gBAChB,OAAO,GAAG,YAAY,EACtB,CAAC;gBACD,0DAA0D;gBAC1D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,IACE,QAAQ,EAAE,MAAM,KAAK,sBAAW,CAAC,QAAQ;gBACzC,OAAO,GAAG,kBAAkB,EAC5B,CAAC;gBACD,6DAA6D;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAC;gBACnE,IAAI,KAAK,EAAE,CAAC;oBACV,+DAA+D;oBAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,iEAAiE;gBACjE,2DAA2D;gBAC3D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,kCAAkC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,WAAW,GAAW,uBAAY;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAe,oBAAS,CAAC,KAAK,EAAE;YAC9D,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,IAAI,CAAC,OAAO;gBACf,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,WAAW;aACjD,CAAC;QACJ,CAAC;QACD,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,8EAA8E;IAC9E,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,uBAAY,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,oBAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,EACZ,qCAAqC,EACrC,KAAK,CACN,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,gBAAgB;QACd,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAM,oBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,0BAA0B,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,cAAc,CAAC,KAAa;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;gBACtC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACvB,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAkB,oBAAS,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,OAAO,QAA6B,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAM,oBAAS,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB,oBAAS,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,wBAAwB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACX,OAAsC;QAEtC,MAAM,OAAO,GAAuB,EAAE,OAAO,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,oBAAS,CAAC,OAAO,EACjB,OAAO,CACR,CAAC;QACF,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB,oBAAS,CAAC,OAAO,CAAC,CAAC;QACpE,IACG,QAAuC,EAAE,MAAM;YAC9C,sBAAW,CAAC,QAAQ;YACtB,IAAI,CAAC,QAAQ,EACb,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,4BAA4B,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,IAAI,CAAC,OAAO;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,2EAA2E;IAE3E,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,QAA6B;QACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,sEAAsE;IACtE,KAAK;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACF"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -24,7 +24,18 @@ export declare const MAX_PLAYERS = 20;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare const REOPEN_WINDOW_MS: number;
|
|
26
26
|
export declare const TOTAL_ROUNDS = 15;
|
|
27
|
+
/**
|
|
28
|
+
* How many rounds the server lets a game have; a TV asking for anything else
|
|
29
|
+
* gets TOTAL_ROUNDS (or the room's count). The lobby offers 5 to 30.
|
|
30
|
+
*/
|
|
31
|
+
export declare const MIN_ROUNDS = 1;
|
|
32
|
+
export declare const MAX_ROUNDS = 30;
|
|
27
33
|
export declare const MAX_NAME_LENGTH = 16;
|
|
34
|
+
/** The most options a round may put to the phones, and the longest an option's label or detail may be. */
|
|
35
|
+
export declare const MAX_OPTIONS = 8;
|
|
36
|
+
export declare const MAX_OPTION_LENGTH = 200;
|
|
37
|
+
/** The longest a round may run, in milliseconds. */
|
|
38
|
+
export declare const MAX_ROUND_DURATION_MS: number;
|
|
28
39
|
/**
|
|
29
40
|
* A round starts on the TV and the phones at once: when the host has the
|
|
30
41
|
* round's video preloaded the server picks a start time ROUND_LEAD_MS ahead -
|
|
@@ -286,9 +297,19 @@ export interface PartyHostSession {
|
|
|
286
297
|
status: PartyStatus;
|
|
287
298
|
players: PartyPlayer[];
|
|
288
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Where each region's party servers are, as the servers know it: their answer
|
|
302
|
+
* to a TV opening or re-attaching to a room carries it, so a client reaches a
|
|
303
|
+
* room in its code's region (see PARTY_REGIONS) without a list of its own -
|
|
304
|
+
* and a region added or moved needs no new client.
|
|
305
|
+
*/
|
|
306
|
+
export interface PartyRouting {
|
|
307
|
+
/** Each region's own socket URL, e.g. `{ 'eu-west-1': 'https://party-ws.prod-eu-west-1.cat.roxi.tv' }`. */
|
|
308
|
+
regionSocketUrls?: Record<string, string>;
|
|
309
|
+
}
|
|
289
310
|
export type HostCreateAck = (Ack & {
|
|
290
311
|
ok: true;
|
|
291
|
-
} & PartyHostSession) | (Ack & {
|
|
312
|
+
} & PartyHostSession & PartyRouting) | (Ack & {
|
|
292
313
|
ok: false;
|
|
293
314
|
reason?: (typeof HostRefusal)[keyof typeof HostRefusal];
|
|
294
315
|
movedTo?: string;
|
|
@@ -443,6 +464,13 @@ export interface PlayerJoinRequest {
|
|
|
443
464
|
name?: string;
|
|
444
465
|
/** Kept by the phone, so a rejoin keeps its score. */
|
|
445
466
|
playerId?: string | null;
|
|
467
|
+
/**
|
|
468
|
+
* Made up by the phone for a join from scratch, and sent again with a
|
|
469
|
+
* retry of it: a join the server took but whose answer never reached the
|
|
470
|
+
* phone left a seat under the name, which this retry gets back rather than
|
|
471
|
+
* be refused as a name taken. Nothing else matches it.
|
|
472
|
+
*/
|
|
473
|
+
joinId?: string;
|
|
446
474
|
features?: PartyFeature[];
|
|
447
475
|
}
|
|
448
476
|
export interface PlayerJoinAck extends Ack {
|
|
@@ -455,6 +483,13 @@ export interface PlayerJoinAck extends Ack {
|
|
|
455
483
|
}
|
|
456
484
|
export interface PlayerAnswerRequest {
|
|
457
485
|
index: number;
|
|
486
|
+
/**
|
|
487
|
+
* The round the answer is for. One that reaches the server once another
|
|
488
|
+
* round is on - held up on a stalled connection, say - is refused as
|
|
489
|
+
* `no-round` rather than counted for a round the player never saw. Pages
|
|
490
|
+
* before this field leave it out, and are scored against the round on.
|
|
491
|
+
*/
|
|
492
|
+
round?: number;
|
|
458
493
|
}
|
|
459
494
|
export interface PlayerAnswerAck extends Ack {
|
|
460
495
|
reason?: string;
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* authority on who scored what.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.Feature = exports.PlayerRefusal = exports.HostRefusal = exports.GameStatus = exports.PlayerMessage = exports.HostMessage = exports.PlayerEvent = exports.HostEvent = exports.TimeEvent = exports.GameMessage = exports.GameEvent = exports.PARTY_REGIONS = exports.SPEEDTEST_SIZES = exports.ROUTING_QUERY_KEY = exports.CODE_PREFIX_LENGTH = exports.CODE_LENGTH = exports.CODE_ALPHABET = exports.GAME_READY_TIMEOUT_MS = exports.ROUND_LEAD_MS = exports.MAX_NAME_LENGTH = exports.TOTAL_ROUNDS = exports.REOPEN_WINDOW_MS = exports.MAX_PLAYERS = void 0;
|
|
19
|
+
exports.Feature = exports.PlayerRefusal = exports.HostRefusal = exports.GameStatus = exports.PlayerMessage = exports.HostMessage = exports.PlayerEvent = exports.HostEvent = exports.TimeEvent = exports.GameMessage = exports.GameEvent = exports.PARTY_REGIONS = exports.SPEEDTEST_SIZES = exports.ROUTING_QUERY_KEY = exports.CODE_PREFIX_LENGTH = exports.CODE_LENGTH = exports.CODE_ALPHABET = exports.GAME_READY_TIMEOUT_MS = exports.ROUND_LEAD_MS = exports.MAX_ROUND_DURATION_MS = exports.MAX_OPTION_LENGTH = exports.MAX_OPTIONS = exports.MAX_NAME_LENGTH = exports.MAX_ROUNDS = exports.MIN_ROUNDS = exports.TOTAL_ROUNDS = exports.REOPEN_WINDOW_MS = exports.MAX_PLAYERS = void 0;
|
|
20
20
|
exports.speedtestPath = speedtestPath;
|
|
21
21
|
exports.phonePageConfigScript = phonePageConfigScript;
|
|
22
22
|
exports.socketUrlForCode = socketUrlForCode;
|
|
@@ -34,7 +34,18 @@ exports.MAX_PLAYERS = 20;
|
|
|
34
34
|
*/
|
|
35
35
|
exports.REOPEN_WINDOW_MS = 20 * 60 * 1000;
|
|
36
36
|
exports.TOTAL_ROUNDS = 15;
|
|
37
|
+
/**
|
|
38
|
+
* How many rounds the server lets a game have; a TV asking for anything else
|
|
39
|
+
* gets TOTAL_ROUNDS (or the room's count). The lobby offers 5 to 30.
|
|
40
|
+
*/
|
|
41
|
+
exports.MIN_ROUNDS = 1;
|
|
42
|
+
exports.MAX_ROUNDS = 30;
|
|
37
43
|
exports.MAX_NAME_LENGTH = 16;
|
|
44
|
+
/** The most options a round may put to the phones, and the longest an option's label or detail may be. */
|
|
45
|
+
exports.MAX_OPTIONS = 8;
|
|
46
|
+
exports.MAX_OPTION_LENGTH = 200;
|
|
47
|
+
/** The longest a round may run, in milliseconds. */
|
|
48
|
+
exports.MAX_ROUND_DURATION_MS = 5 * 60 * 1000;
|
|
38
49
|
/**
|
|
39
50
|
* A round starts on the TV and the phones at once: when the host has the
|
|
40
51
|
* round's video preloaded the server picks a start time ROUND_LEAD_MS ahead -
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEU,QAAA,WAAW,GAAG,EAAE,CAAC;AAC9B;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClC,QAAA,YAAY,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED