@craftec/flowcraft-sdk 0.1.12 → 0.1.13

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.js CHANGED
@@ -36,7 +36,7 @@ class FlowcraftClient {
36
36
  return (0, utils_1.getPoolPda)(owner, name, this.programId);
37
37
  }
38
38
  /**
39
- * Get the stream PDA for a pool and subscriber
39
+ * Get the pass PDA for a pool and holder
40
40
  */
41
41
  getPassPda(pool, holder) {
42
42
  return (0, utils_1.getPassPda)(pool, holder, this.programId);
@@ -83,11 +83,11 @@ class FlowcraftClient {
83
83
  return this.fetchPool(poolPda);
84
84
  }
85
85
  /**
86
- * Fetch a stream by address
86
+ * Fetch a pass by address
87
87
  */
88
- async fetchStream(stream) {
88
+ async fetchPass(pass) {
89
89
  try {
90
- const account = await this.program.account.stream.fetch(stream);
90
+ const account = await this.program.account.pass.fetch(pass);
91
91
  return account;
92
92
  }
93
93
  catch {
@@ -95,11 +95,11 @@ class FlowcraftClient {
95
95
  }
96
96
  }
97
97
  /**
98
- * Fetch a stream by pool and subscriber
98
+ * Fetch a pass by pool and holder
99
99
  */
100
- async fetchPassByHolder(pool, subscriber) {
101
- const [streamPda] = this.getPassPda(pool, subscriber);
102
- return this.fetchStream(streamPda);
100
+ async fetchPassByHolder(pool, holder) {
101
+ const [passPda] = this.getPassPda(pool, holder);
102
+ return this.fetchPass(passPda);
103
103
  }
104
104
  /**
105
105
  * Fetch pool with computed info
@@ -113,7 +113,7 @@ class FlowcraftClient {
113
113
  owner: poolData.owner,
114
114
  mint: poolData.mint,
115
115
  name: poolData.name,
116
- totalHolders: poolData.totalHolders.toNumber(),
116
+ totalPasses: poolData.totalPasses.toNumber(),
117
117
  totalDeposited: poolData.totalDeposited,
118
118
  totalWithdrawn: poolData.totalWithdrawn,
119
119
  totalRefunded: poolData.totalRefunded,
@@ -121,17 +121,17 @@ class FlowcraftClient {
121
121
  };
122
122
  }
123
123
  /**
124
- * Fetch stream with computed info
124
+ * Fetch pass with computed info
125
125
  */
126
- async getStreamInfo(stream) {
127
- const streamData = await this.fetchStream(stream);
128
- if (!streamData)
126
+ async getPassInfo(pass) {
127
+ const passData = await this.fetchPass(pass);
128
+ if (!passData)
129
129
  return null;
130
- let totalDeposited = streamData.archivedAmount;
131
- let totalVested = streamData.archivedVested;
130
+ let totalDeposited = passData.archivedAmount;
131
+ let totalVested = passData.archivedVested;
132
132
  let activeSegments = 0;
133
133
  let cancelledSegments = 0;
134
- const segments = streamData.segments.map((seg, index) => {
134
+ const segments = passData.segments.map((seg, index) => {
135
135
  totalDeposited = totalDeposited.add(seg.amount);
136
136
  totalVested = totalVested.add(seg.vested);
137
137
  if (seg.cancelled) {
@@ -152,16 +152,16 @@ class FlowcraftClient {
152
152
  isComplete: seg.vested.eq(seg.amount) || seg.cancelled,
153
153
  };
154
154
  });
155
- const claimable = totalVested.sub(streamData.totalWithdrawn);
156
- const isExpired = streamData.segments.every((s) => s.vested.eq(s.amount) || s.cancelled);
155
+ const claimable = totalVested.sub(passData.totalWithdrawn);
156
+ const isExpired = passData.segments.every((s) => s.vested.eq(s.amount) || s.cancelled);
157
157
  return {
158
- address: stream,
159
- pool: streamData.pool,
160
- subscriber: streamData.subscriber,
161
- startTime: new Date(streamData.startTime.toNumber() * 1000),
158
+ address: pass,
159
+ pool: passData.pool,
160
+ holder: passData.holder,
161
+ startTime: new Date(passData.startTime.toNumber() * 1000),
162
162
  totalDeposited,
163
163
  totalVested,
164
- totalWithdrawn: streamData.totalWithdrawn,
164
+ totalWithdrawn: passData.totalWithdrawn,
165
165
  claimable,
166
166
  activeSegments,
167
167
  cancelledSegments,
@@ -205,7 +205,7 @@ class FlowcraftClient {
205
205
  // Pool Instructions
206
206
  // ============================================================================
207
207
  /**
208
- * Create a new subscription pool
208
+ * Create a new pool
209
209
  * @param payer - Keypair that pays for rent (signs the transaction)
210
210
  * @param owner - PublicKey of pool owner (can be any account, including PDA)
211
211
  * @param params - Pool creation parameters
@@ -229,45 +229,66 @@ class FlowcraftClient {
229
229
  return { signature, pool: poolPda, vault: vaultPda };
230
230
  }
231
231
  // ============================================================================
232
- // Subscription Instructions
232
+ // Pass Instructions
233
233
  // ============================================================================
234
234
  /**
235
- * Subscribe to a pool (creates stream with first segment)
235
+ * Create a pass (creates pass with first segment)
236
+ * For new passes, segmentIndex is 0. For reactivated expired passes, segments are cleared so index is also 0.
236
237
  */
237
- async subscribe(subscriber, params) {
238
+ async createPass(holder, params) {
238
239
  const [configPda] = this.getConfigPda();
239
- const [streamPda] = this.getPassPda(params.pool, subscriber.publicKey);
240
+ const [passPda] = this.getPassPda(params.pool, holder.publicKey);
240
241
  const [vaultPda] = this.getVaultPda(params.pool);
242
+ // Check if pass exists and get current segment count
243
+ let segmentIndex = 0;
244
+ try {
245
+ const existingPass = await this.fetchPass(passPda);
246
+ if (existingPass) {
247
+ // Check if pass is expired (all segments fully vested or cancelled)
248
+ const isExpired = existingPass.segments.every((s) => s.vested.eq(s.amount) || s.cancelled);
249
+ // If expired, segments will be cleared; otherwise add to existing
250
+ segmentIndex = isExpired ? 0 : existingPass.segments.length;
251
+ }
252
+ }
253
+ catch {
254
+ // New pass - segment index is 0
255
+ }
241
256
  const signature = await this.program.methods
242
- .subscribe(params.tier, (0, utils_1.toBN)(params.amount), (0, utils_1.toBN)(params.durationSeconds))
257
+ .createPass(params.tier, (0, utils_1.toBN)(params.amount), (0, utils_1.toBN)(params.durationSeconds))
243
258
  .accounts({
244
- subscriber: subscriber.publicKey,
259
+ holder: holder.publicKey,
245
260
  pool: params.pool,
246
261
  config: configPda,
247
- stream: streamPda,
262
+ pass: passPda,
248
263
  vault: vaultPda,
249
- subscriberTokenAccount: params.subscriberTokenAccount,
264
+ holderTokenAccount: params.holderTokenAccount,
250
265
  treasuryTokenAccount: params.treasuryTokenAccount,
251
266
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
252
267
  systemProgram: web3_js_1.SystemProgram.programId,
253
268
  })
254
- .signers([subscriber])
269
+ .signers([holder])
255
270
  .rpc();
256
- return { signature, stream: streamPda };
271
+ return { signature, pass: passPda, segmentIndex };
257
272
  }
258
273
  /**
259
- * Add a new segment to an existing subscription
274
+ * Add a new segment to an existing pass
260
275
  */
261
276
  async addSegment(payer, params) {
262
277
  const [configPda] = this.getConfigPda();
263
278
  const [vaultPda] = this.getVaultPda(params.pool);
264
- return await this.program.methods
279
+ // Fetch pass to get current segment count
280
+ const pass = await this.fetchPass(params.pass);
281
+ if (!pass) {
282
+ throw new Error("Pass not found");
283
+ }
284
+ const segmentIndex = pass.segments.length;
285
+ const signature = await this.program.methods
265
286
  .addSegment(params.tier, (0, utils_1.toBN)(params.amount), (0, utils_1.toBN)(params.durationSeconds))
266
287
  .accounts({
267
288
  payer: payer.publicKey,
268
289
  pool: params.pool,
269
290
  config: configPda,
270
- stream: params.stream,
291
+ pass: params.pass,
271
292
  vault: vaultPda,
272
293
  payerTokenAccount: params.payerTokenAccount,
273
294
  treasuryTokenAccount: params.treasuryTokenAccount,
@@ -275,6 +296,7 @@ class FlowcraftClient {
275
296
  })
276
297
  .signers([payer])
277
298
  .rpc();
299
+ return { signature, segmentIndex };
278
300
  }
279
301
  /**
280
302
  * Claim vested tokens (pool owner only)
@@ -286,7 +308,7 @@ class FlowcraftClient {
286
308
  .accounts({
287
309
  owner: owner.publicKey,
288
310
  pool: params.pool,
289
- stream: params.stream,
311
+ pass: params.pass,
290
312
  vault: vaultPda,
291
313
  ownerTokenAccount: params.ownerTokenAccount,
292
314
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
@@ -295,7 +317,7 @@ class FlowcraftClient {
295
317
  .rpc();
296
318
  }
297
319
  /**
298
- * Claim vested tokens from multiple streams in a single transaction
320
+ * Claim vested tokens from multiple passes in a single transaction
299
321
  */
300
322
  async claimBatch(owner, params) {
301
323
  const [vaultPda] = this.getVaultPda(params.pool);
@@ -308,8 +330,8 @@ class FlowcraftClient {
308
330
  ownerTokenAccount: params.ownerTokenAccount,
309
331
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
310
332
  })
311
- .remainingAccounts(params.streams.map((stream) => ({
312
- pubkey: stream,
333
+ .remainingAccounts(params.passes.map((pass) => ({
334
+ pubkey: pass,
313
335
  isSigner: false,
314
336
  isWritable: true,
315
337
  })))
@@ -317,18 +339,18 @@ class FlowcraftClient {
317
339
  .rpc();
318
340
  }
319
341
  /**
320
- * Build batch claim transactions for all streams in a pool
342
+ * Build batch claim transactions for all passes in a pool
321
343
  * Returns transactions ready to be signed with signAllTransactions
322
344
  */
323
345
  async buildClaimAllTransactions(owner, pool, ownerTokenAccount, batchSize = 20) {
324
- // Fetch all streams for this pool
325
- const streams = await this.fetchStreamsByPool(pool);
326
- const streamAddresses = streams.map((s) => s.address);
346
+ // Fetch all passes for this pool
347
+ const passes = await this.fetchPassesByPool(pool);
348
+ const passAddresses = passes.map((p) => p.address);
327
349
  const [vaultPda] = this.getVaultPda(pool);
328
350
  const transactions = [];
329
351
  // Split into batches
330
- for (let i = 0; i < streamAddresses.length; i += batchSize) {
331
- const batch = streamAddresses.slice(i, i + batchSize);
352
+ for (let i = 0; i < passAddresses.length; i += batchSize) {
353
+ const batch = passAddresses.slice(i, i + batchSize);
332
354
  const tx = await this.program.methods
333
355
  .claimBatch()
334
356
  .accounts({
@@ -346,41 +368,44 @@ class FlowcraftClient {
346
368
  .transaction();
347
369
  transactions.push(tx);
348
370
  }
349
- return { transactions, totalStreams: streamAddresses.length };
371
+ return { transactions, totalPasses: passAddresses.length };
350
372
  }
351
373
  /**
352
- * Cancel a segment (subscriber only)
374
+ * Cancel a segment (holder only)
353
375
  */
354
- async cancelSegment(subscriber, params) {
376
+ async cancelSegment(holder, params) {
355
377
  const [vaultPda] = this.getVaultPda(params.pool);
356
378
  return await this.program.methods
357
379
  .cancelSegment(params.segmentIndex)
358
380
  .accounts({
359
- subscriber: subscriber.publicKey,
381
+ holder: holder.publicKey,
360
382
  pool: params.pool,
361
- stream: params.stream,
383
+ pass: params.pass,
362
384
  vault: vaultPda,
363
385
  refundTokenAccount: params.refundTokenAccount,
364
386
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
365
387
  })
366
- .signers([subscriber])
388
+ .signers([holder])
367
389
  .rpc();
368
390
  }
369
391
  /**
370
- * Upgrade or downgrade a segment
392
+ * Change segment tier (upgrade or downgrade)
371
393
  */
372
- async upgradeSegment(caller, params) {
394
+ async changeSegment(caller, params) {
395
+ const [configPda] = this.getConfigPda();
373
396
  const [vaultPda] = this.getVaultPda(params.pool);
374
397
  return await this.program.methods
375
- .upgradeSegment(params.segmentIndex, (0, utils_1.toBN)(params.newAmount), (0, utils_1.toBN)(params.newDuration))
398
+ .changeSegment(params.segmentIndex, params.newTier, (0, utils_1.toBN)(params.newAmount), (0, utils_1.toBN)(params.newDuration))
376
399
  .accounts({
377
400
  caller: caller.publicKey,
378
- subscriber: params.subscriber,
401
+ holder: params.holder,
402
+ config: configPda,
379
403
  pool: params.pool,
380
- stream: params.stream,
404
+ pass: params.pass,
381
405
  vault: vaultPda,
382
406
  callerTokenAccount: params.callerTokenAccount,
383
407
  payerTokenAccount: params.payerTokenAccount,
408
+ treasuryTokenAccount: params.treasuryTokenAccount,
384
409
  tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
385
410
  })
386
411
  .signers([caller])
@@ -397,44 +422,44 @@ class FlowcraftClient {
397
422
  return pool !== null;
398
423
  }
399
424
  /**
400
- * Check if a subscription stream exists
425
+ * Check if a pass exists
401
426
  */
402
- async subscriptionExists(pool, holder) {
427
+ async passExists(pool, holder) {
403
428
  const pass = await this.fetchPassByHolder(pool, holder);
404
429
  return pass !== null;
405
430
  }
406
431
  /**
407
- * Get claimable amount for a stream
432
+ * Get claimable amount for a pass
408
433
  */
409
- async getClaimable(stream) {
410
- const info = await this.getStreamInfo(stream);
434
+ async getClaimable(pass) {
435
+ const info = await this.getPassInfo(pass);
411
436
  return info?.claimable ?? new anchor_1.BN(0);
412
437
  }
413
438
  /**
414
- * Check if subscription is expired
439
+ * Check if pass is expired
415
440
  */
416
- async isSubscriptionExpired(stream) {
417
- const info = await this.getStreamInfo(stream);
441
+ async isPassExpired(pass) {
442
+ const info = await this.getPassInfo(pass);
418
443
  return info?.isExpired ?? true;
419
444
  }
420
445
  // ============================================================================
421
446
  // Pool Analytics (Off-chain Calculation)
422
447
  // ============================================================================
423
448
  /**
424
- * Fetch all streams for a pool using getProgramAccounts
425
- * Stream account layout: [8 discriminator][32 pool][32 subscriber]...
449
+ * Fetch all passes for a pool using getProgramAccounts
450
+ * Pass account layout: [8 discriminator][32 pool][32 holder]...
426
451
  * Filter by pool pubkey at offset 8
427
452
  */
428
- async fetchStreamsByPool(pool) {
453
+ async fetchPassesByPool(pool) {
429
454
  const connection = this.provider.connection;
430
- // Stream discriminator from Anchor (SHA256("account:Stream")[0..8])
431
- const streamDiscriminator = Buffer.from([40, 247, 140, 113, 56, 14, 57, 44]);
455
+ // Pass discriminator from Anchor (SHA256("account:Pass")[0..8])
456
+ const passDiscriminator = Buffer.from([40, 247, 140, 113, 56, 14, 57, 44]);
432
457
  const accounts = await connection.getProgramAccounts(this.programId, {
433
458
  filters: [
434
459
  {
435
460
  memcmp: {
436
461
  offset: 0,
437
- bytes: streamDiscriminator.toString("base64"),
462
+ bytes: passDiscriminator.toString("base64"),
438
463
  encoding: "base64",
439
464
  },
440
465
  },
@@ -446,49 +471,49 @@ class FlowcraftClient {
446
471
  },
447
472
  ],
448
473
  });
449
- const streams = [];
474
+ const passes = [];
450
475
  for (const { pubkey, account } of accounts) {
451
476
  try {
452
- const stream = this.program.coder.accounts.decode("stream", account.data);
453
- streams.push({ address: pubkey, stream });
477
+ const pass = this.program.coder.accounts.decode("pass", account.data);
478
+ passes.push({ address: pubkey, pass });
454
479
  }
455
480
  catch {
456
481
  // Skip malformed accounts
457
482
  }
458
483
  }
459
- return streams;
484
+ return passes;
460
485
  }
461
486
  /**
462
487
  * Calculate real-time aggregate statistics for a pool
463
- * Fetches all streams and calculates vesting off-chain
488
+ * Fetches all passes and calculates vesting off-chain
464
489
  */
465
490
  async getPoolAggregateStats(pool) {
466
- const streams = await this.fetchStreamsByPool(pool);
491
+ const passes = await this.fetchPassesByPool(pool);
467
492
  const currentTime = Math.floor(Date.now() / 1000);
468
493
  let totalDeposited = new anchor_1.BN(0);
469
494
  let totalVested = new anchor_1.BN(0);
470
495
  let totalWithdrawn = new anchor_1.BN(0);
471
- let activeStreams = 0;
472
- let expiredStreams = 0;
473
- for (const { stream } of streams) {
474
- const vesting = (0, utils_1.calculateStreamVesting)(stream, currentTime);
496
+ let activePasses = 0;
497
+ let expiredPasses = 0;
498
+ for (const { pass } of passes) {
499
+ const vesting = (0, utils_1.calculatePassVesting)(pass, currentTime);
475
500
  totalDeposited = totalDeposited.add(vesting.totalDeposited);
476
501
  totalVested = totalVested.add(vesting.totalVested);
477
- totalWithdrawn = totalWithdrawn.add(stream.totalWithdrawn);
502
+ totalWithdrawn = totalWithdrawn.add(pass.totalWithdrawn);
478
503
  if (vesting.isExpired) {
479
- expiredStreams++;
504
+ expiredPasses++;
480
505
  }
481
506
  else {
482
- activeStreams++;
507
+ activePasses++;
483
508
  }
484
509
  }
485
510
  const totalClaimable = totalVested.sub(totalWithdrawn);
486
511
  const totalUnvested = totalDeposited.sub(totalVested);
487
512
  return {
488
513
  pool,
489
- totalStreams: streams.length,
490
- activeStreams,
491
- expiredStreams,
514
+ totalPasses: passes.length,
515
+ activePasses,
516
+ expiredPasses,
492
517
  totalDeposited,
493
518
  totalVested,
494
519
  totalWithdrawn,
@@ -498,26 +523,25 @@ class FlowcraftClient {
498
523
  };
499
524
  }
500
525
  /**
501
- * Get real-time claimable amount for a stream (calculated off-chain)
526
+ * Get real-time claimable amount for a pass (calculated off-chain)
502
527
  */
503
- async getRealTimeClaimable(streamAddress) {
504
- const stream = await this.fetchStream(streamAddress);
505
- if (!stream)
528
+ async getRealTimeClaimable(passAddress) {
529
+ const pass = await this.fetchPass(passAddress);
530
+ if (!pass)
506
531
  return new anchor_1.BN(0);
507
- const vesting = (0, utils_1.calculateStreamVesting)(stream);
532
+ const vesting = (0, utils_1.calculatePassVesting)(pass);
508
533
  return vesting.claimable;
509
534
  }
510
535
  /**
511
- * Get detailed stream info with real-time vesting calculation
536
+ * Get detailed pass info with real-time vesting calculation
512
537
  */
513
- async getStreamInfoRealTime(streamAddress) {
514
- const stream = await this.fetchStream(streamAddress);
515
- if (!stream)
538
+ async getPassInfoRealTime(passAddress) {
539
+ const pass = await this.fetchPass(passAddress);
540
+ if (!pass)
516
541
  return null;
517
542
  const currentTime = Math.floor(Date.now() / 1000);
518
- const vesting = (0, utils_1.calculateStreamVesting)(stream, currentTime);
519
- const segments = stream.segments.map((seg, index) => {
520
- const segVested = vesting.totalVested; // Simplified - could calculate per-segment
543
+ const vesting = (0, utils_1.calculatePassVesting)(pass, currentTime);
544
+ const segments = pass.segments.map((seg, index) => {
521
545
  return {
522
546
  index,
523
547
  tier: seg.tier,
@@ -531,13 +555,13 @@ class FlowcraftClient {
531
555
  };
532
556
  });
533
557
  return {
534
- address: streamAddress,
535
- pool: stream.pool,
536
- subscriber: stream.subscriber,
537
- startTime: new Date(stream.startTime.toNumber() * 1000),
558
+ address: passAddress,
559
+ pool: pass.pool,
560
+ holder: pass.holder,
561
+ startTime: new Date(pass.startTime.toNumber() * 1000),
538
562
  totalDeposited: vesting.totalDeposited,
539
563
  totalVested: vesting.totalVested,
540
- totalWithdrawn: stream.totalWithdrawn,
564
+ totalWithdrawn: pass.totalWithdrawn,
541
565
  claimable: vesting.claimable,
542
566
  activeSegments: segments.filter((s) => !s.isComplete).length,
543
567
  cancelledSegments: segments.filter((s) => s.cancelled).length,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,6CAKyB;AACzB,8CAM2B;AAC3B,iDAAqD;AACrD,2CAAyC;AAiBzC,mCAOiB;AAEjB,iCAAiC;AACjC,0DAAkC;AACrB,QAAA,GAAG,GAAQ,kBAAe,CAAC;AAExC,MAAa,eAAe;IAK1B,YACE,UAAsB,EACtB,MAAc,EACd,YAAuB,sBAAU,EACjC,MAAW,WAAG;QAEd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACrD,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,+EAA+E;IAC/E,cAAc;IACd,+EAA+E;IAE/E;;OAEG;IACH,YAAY;QACV,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAgB,EAAE,IAAY;QACvC,OAAO,IAAA,kBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAe,EAAE,MAAiB;QAC3C,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAe;QACzB,OAAO,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5E,OAAO,OAAiB,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAe;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,OAAe,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAgB,EAAE,IAAY;QACnD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAiB;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzE,OAAO,OAAiB,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAe,EACf,UAAqB;QAErB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC9C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAiB;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,IAAI,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,IAAI,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC;QAC5C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAkB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACrE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,cAAc,EAAE,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAC5C,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC3D,cAAc;YACd,WAAW;YACX,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAc,EACd,QAAmB,EACnB,MAAc;QAEd,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,gBAAgB,CAAC,QAAQ,EAAE,IAAI,WAAE,CAAC,MAAM,CAAC,CAAC;aAC1C,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,KAAc,EACd,WAAuB,EACvB,SAAkB,EAClB,QAAoB;QAEpB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,YAAY,CACX,WAAW,IAAI,IAAI,EACnB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAClD,QAAQ,IAAI,IAAI,CACjB;aACA,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,KAAgB,EAChB,MAAwB;QAExB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aACzC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;aACvB,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,4BAAgB;YAC9B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,+EAA+E;IAC/E,4BAA4B;IAC5B,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,UAAmB,EACnB,MAAuB;QAEvB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aACzC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aACzE,QAAQ,CAAC;YACR,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;YACf,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,4BAAgB;YAC9B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;aACrB,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,MAAwB;QAExB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC1E,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,KAAc,EACd,MAAmB;QAEnB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,KAAK,EAAE;aACP,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,MAIC;QAED,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,UAAU,EAAE;aACZ,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,iBAAiB,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,CACJ;aACA,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,KAAgB,EAChB,IAAe,EACf,iBAA4B,EAC5B,YAAoB,EAAE;QAEtB,kCAAkC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEzE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAU,EAAE,CAAC;QAE/B,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAEtD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;iBAClC,UAAU,EAAE;iBACZ,QAAQ,CAAC;gBACR,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,QAAQ;gBACf,iBAAiB;gBACjB,YAAY,EAAE,4BAAgB;aAC/B,CAAC;iBACD,iBAAiB,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,MAAiB,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM;gBACN,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC,CACJ;iBACA,WAAW,EAAE,CAAC;YAEjB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,UAAmB,EACnB,MAA2B;QAE3B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;aAClC,QAAQ,CAAC;YACR,UAAU,EAAE,UAAU,CAAC,SAAS;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ;YACf,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;aACrB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAe,EACf,MAA2B;QAE3B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,cAAc,CACb,MAAM,CAAC,YAAY,EACnB,IAAA,YAAI,EAAC,MAAM,CAAC,SAAS,CAAC,EACtB,IAAA,YAAI,EAAC,MAAM,CAAC,WAAW,CAAC,CACzB;aACA,QAAQ,CAAC;YACR,MAAM,EAAE,MAAM,CAAC,SAAS;YACxB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ;YACf,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;aACjB,GAAG,EAAE,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,IAAY;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAe,EAAE,MAAiB;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAiB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAiB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,+EAA+E;IAC/E,yCAAyC;IACzC,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAe;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAE5C,oEAAoE;QACpE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACnE,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC;wBACT,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC7C,QAAQ,EAAE,QAAQ;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,EAAE,sBAAsB;wBACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACvB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAgB,CAAC,MAAM,CACxD,QAAQ,EACR,OAAO,CAAC,IAAI,CACH,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,IAAe;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAElD,IAAI,cAAc,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,cAAc,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE5D,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnD,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,cAAc,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtD,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,aAAa;YACb,cAAc;YACd,cAAc;YACd,WAAW;YACX,cAAc;YACd,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC;YAClE,aAAa;YACb,YAAY,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,aAAwB;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,aAAwB;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAkB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,2CAA2C;YAClF,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACvD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;YAC5D,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AA1pBD,0CA0pBC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,6CAKyB;AACzB,8CAM2B;AAC3B,iDAAqD;AACrD,2CAAyC;AAiBzC,mCAOiB;AAEjB,iCAAiC;AACjC,0DAAkC;AACrB,QAAA,GAAG,GAAQ,kBAAe,CAAC;AAExC,MAAa,eAAe;IAK1B,YACE,UAAsB,EACtB,MAAc,EACd,YAAuB,sBAAU,EACjC,MAAW,WAAG;QAEd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACrD,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,+EAA+E;IAC/E,cAAc;IACd,+EAA+E;IAE/E;;OAEG;IACH,YAAY;QACV,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAgB,EAAE,IAAY;QACvC,OAAO,IAAA,kBAAU,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAe,EAAE,MAAiB;QAC3C,OAAO,IAAA,kBAAU,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAe;QACzB,OAAO,IAAA,mBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5E,OAAO,OAAiB,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAe;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,OAAe,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAgB,EAAE,IAAY;QACnD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAe;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,OAAO,CAAC,OAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,OAAe,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAe,EACf,MAAiB;QAEjB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;YAC5C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAe;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC7C,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC1C,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAkB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACnE,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,cAAc,EAAE,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAC5C,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACzD,cAAc;YACd,WAAW;YACX,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,SAAS;YACT,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAc,EACd,QAAmB,EACnB,MAAc;QAEd,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,gBAAgB,CAAC,QAAQ,EAAE,IAAI,WAAE,CAAC,MAAM,CAAC,CAAC;aAC1C,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,KAAc,EACd,WAAuB,EACvB,SAAkB,EAClB,QAAoB;QAEpB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,YAAY,CACX,WAAW,IAAI,IAAI,EACnB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAClD,QAAQ,IAAI,IAAI,CACjB;aACA,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,MAAM,EAAE,SAAS;SAClB,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,KAAgB,EAChB,MAAwB;QAExB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aACzC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;aACvB,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,YAAY,EAAE,4BAAgB;YAC9B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,MAAe,EACf,MAAwB;QAExB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,qDAAqD;QACrD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,oEAAoE;gBACpE,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAC5C,CAAC;gBACF,kEAAkE;gBAClE,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aACzC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC1E,QAAQ,CAAC;YACR,MAAM,EAAE,MAAM,CAAC,SAAS;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,4BAAgB;YAC9B,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;aACjB,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,MAAwB;QAExB,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,0CAA0C;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aACzC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAA,YAAI,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;aAC1E,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;QAET,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,KAAc,EACd,MAAmB;QAEnB,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,KAAK,EAAE;aACP,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,KAAc,EACd,MAIC;QAED,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,UAAU,EAAE;aACZ,QAAQ,CAAC;YACR,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,iBAAiB,CAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,CACJ;aACA,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;aAChB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,KAAgB,EAChB,IAAe,EACf,iBAA4B,EAC5B,YAAoB,EAAE;QAEtB,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEpE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAU,EAAE,CAAC;QAE/B,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAEpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;iBAClC,UAAU,EAAE;iBACZ,QAAQ,CAAC;gBACR,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,QAAQ;gBACf,iBAAiB;gBACjB,YAAY,EAAE,4BAAgB;aAC/B,CAAC;iBACD,iBAAiB,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,MAAiB,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM;gBACN,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC,CACJ;iBACA,WAAW,EAAE,CAAC;YAEjB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,MAAe,EACf,MAA2B;QAE3B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;aAClC,QAAQ,CAAC;YACR,MAAM,EAAE,MAAM,CAAC,SAAS;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;aACjB,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,MAAe,EACf,MAA2B;QAE3B,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;aAC9B,aAAa,CACZ,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,OAAO,EACd,IAAA,YAAI,EAAC,MAAM,CAAC,SAAS,CAAC,EACtB,IAAA,YAAI,EAAC,MAAM,CAAC,WAAW,CAAC,CACzB;aACA,QAAQ,CAAC;YACR,MAAM,EAAE,MAAM,CAAC,SAAS;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,QAAQ;YACf,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,YAAY,EAAE,4BAAgB;SAC/B,CAAC;aACD,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;aACjB,GAAG,EAAE,CAAC;IACX,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,IAAY;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAe,EAAE,MAAiB;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAe;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAe;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,+EAA+E;IAC/E,yCAAyC;IACzC,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAe;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAE5C,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACnE,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC;wBACT,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC3C,QAAQ,EAAE,QAAQ;qBACnB;iBACF;gBACD;oBACE,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,EAAE,sBAAsB;wBACjC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACvB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAgB,CAAC,MAAM,CACtD,MAAM,EACN,OAAO,CAAC,IAAI,CACL,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,IAAe;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAElD,IAAI,cAAc,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,cAAc,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAExD,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnD,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,aAAa,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtD,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,YAAY;YACZ,aAAa;YACb,cAAc;YACd,WAAW;YACX,cAAc;YACd,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC;YAClE,aAAa;YACb,YAAY,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,WAAsB;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAsB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAkB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC/D,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS;aACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACrD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;YAC5D,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAvrBD,0CAurBC"}