ftown 0.20.3 → 0.20.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.
@@ -3,7 +3,39 @@ import { readFile, readdir, realpath, stat } from 'node:fs/promises';
3
3
  import { createInterface } from 'node:readline';
4
4
  import { homedir } from 'node:os';
5
5
  import { join, resolve, sep } from 'node:path';
6
+ import { defaultJsonlFoldCache } from './jsonl-fold-cache.js';
6
7
  const DEFAULT_TIMEOUT_MS = 15_000;
8
+ function newModelSums() {
9
+ return { byModel: new Map(), counted: 0 };
10
+ }
11
+ function modelAcc(state, model) {
12
+ let acc = state.byModel.get(model);
13
+ if (!acc) {
14
+ acc = { model, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
15
+ state.byModel.set(model, acc);
16
+ }
17
+ return acc;
18
+ }
19
+ /** Builds the SessionUsage for per-model sums; copies, so the result never aliases fold state. */
20
+ function usageFromModels(byModel, harness) {
21
+ const perModel = [...byModel.values()].map((m) => ({ ...m }));
22
+ const sum = (pick) => perModel.reduce((acc, m) => acc + pick(m), 0);
23
+ const inputTokens = sum((m) => m.inputTokens);
24
+ const outputTokens = sum((m) => m.outputTokens);
25
+ const cacheReadTokens = sum((m) => m.cacheReadTokens);
26
+ const cacheWriteTokens = sum((m) => m.cacheWriteTokens);
27
+ return {
28
+ inputTokens,
29
+ outputTokens,
30
+ cacheReadTokens,
31
+ cacheWriteTokens,
32
+ totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
33
+ models: perModel.map((m) => m.model),
34
+ perModel,
35
+ harness,
36
+ collectedAt: new Date().toISOString(),
37
+ };
38
+ }
7
39
  /**
8
40
  * Claude Code project-directory slug: every non-alphanumeric character of the
9
41
  * working directory becomes '-'. Verified against real transcript dirs on this
@@ -93,48 +125,29 @@ async function collectPiUsage(workingDir, sessionCreatedAt, options, nativeSessi
93
125
  const filePath = await containedPiSessionFile(baseDir, candidatePath);
94
126
  if (!filePath)
95
127
  return null;
96
- let counted = 0;
97
- const byModel = new Map();
98
- for await (const raw of jsonlLines(filePath, deadline)) {
128
+ const usage = await (options.foldCache ?? defaultJsonlFoldCache).fold(filePath, piUsageFold, options.timeoutMs ?? DEFAULT_TIMEOUT_MS, (state) => (state.counted === 0 ? null : usageFromModels(state.byModel, 'pi')));
129
+ return usage ?? null;
130
+ }
131
+ const piUsageFold = {
132
+ kind: 'pi-usage-v1',
133
+ init: newModelSums,
134
+ step(state, raw) {
99
135
  const entry = raw;
100
136
  const message = entry?.type === 'message' ? entry.message : undefined;
101
137
  const usage = message?.role === 'assistant' ? message.usage : undefined;
102
138
  if (!message || !usage || typeof message.model !== 'string' || !message.model)
103
- continue;
139
+ return;
104
140
  const model = typeof message.provider === 'string' && message.provider
105
141
  ? `${message.provider}/${message.model}`
106
142
  : message.model;
107
- let acc = byModel.get(model);
108
- if (!acc) {
109
- acc = { model, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
110
- byModel.set(model, acc);
111
- }
143
+ const acc = modelAcc(state, model);
112
144
  acc.inputTokens += safeTokenCount(usage.input);
113
145
  acc.outputTokens += safeTokenCount(usage.output);
114
146
  acc.cacheReadTokens += safeTokenCount(usage.cacheRead);
115
147
  acc.cacheWriteTokens += safeTokenCount(usage.cacheWrite);
116
- counted += 1;
117
- }
118
- if (counted === 0)
119
- return null;
120
- const perModel = [...byModel.values()];
121
- const sum = (pick) => perModel.reduce((total, model) => total + pick(model), 0);
122
- const inputTokens = sum((model) => model.inputTokens);
123
- const outputTokens = sum((model) => model.outputTokens);
124
- const cacheReadTokens = sum((model) => model.cacheReadTokens);
125
- const cacheWriteTokens = sum((model) => model.cacheWriteTokens);
126
- return {
127
- inputTokens,
128
- outputTokens,
129
- cacheReadTokens,
130
- cacheWriteTokens,
131
- totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
132
- models: perModel.map((model) => model.model),
133
- perModel,
134
- harness: 'pi',
135
- collectedAt: new Date().toISOString(),
136
- };
137
- }
148
+ state.counted += 1;
149
+ },
150
+ };
138
151
  function safeTokenCount(value) {
139
152
  return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : 0;
140
153
  }
@@ -183,64 +196,39 @@ async function collectClaudeUsage(claudeSessionId, workingDir, options) {
183
196
  return null;
184
197
  const baseDir = options.claudeProjectsDir ?? join(homedir(), '.claude', 'projects');
185
198
  const filePath = join(baseDir, claudeProjectSlug(workingDir), `${claudeSessionId}.jsonl`);
186
- const deadline = Date.now() + (options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
187
- let counted = 0;
188
- // Keyed by model id; Map preserves first-appearance order.
189
- const byModel = new Map();
190
- // An assistant message spans MULTIPLE jsonl lines (one per content block),
191
- // each repeating the same message.id and identical usage — count each
192
- // message id exactly once or sums double/triple.
193
- const seenMessageIds = new Set();
194
- for await (const raw of jsonlLines(filePath, deadline)) {
199
+ const usage = await (options.foldCache ?? defaultJsonlFoldCache).fold(filePath, claudeUsageFold, options.timeoutMs ?? DEFAULT_TIMEOUT_MS, (state) => (state.counted === 0 ? null : usageFromModels(state.byModel, 'claude')));
200
+ return usage ?? null;
201
+ }
202
+ const claudeUsageFold = {
203
+ kind: 'claude-usage-v1',
204
+ init: () => ({ ...newModelSums(), seenMessageIds: new Set() }),
205
+ step(state, raw) {
195
206
  const entry = raw;
196
207
  if (entry?.type !== 'assistant')
197
- continue;
208
+ return;
198
209
  const message = entry.message;
199
210
  const usage = message?.usage;
200
211
  if (!message || !usage)
201
- continue;
212
+ return;
202
213
  const model = message.model ?? '';
203
214
  // '<synthetic>' rows are harness-injected placeholders with zero usage.
204
215
  if (!model || model === '<synthetic>')
205
- continue;
216
+ return;
206
217
  const id = message.id;
207
218
  if (id) {
208
- if (seenMessageIds.has(id))
209
- continue;
210
- seenMessageIds.add(id);
219
+ if (state.seenMessageIds.has(id))
220
+ return;
221
+ state.seenMessageIds.add(id);
211
222
  }
212
223
  // Models can vary mid-session — attribute tokens per message's model.
213
- let acc = byModel.get(model);
214
- if (!acc) {
215
- acc = { model, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
216
- byModel.set(model, acc);
217
- }
224
+ const acc = modelAcc(state, model);
218
225
  acc.inputTokens += usage.input_tokens ?? 0;
219
226
  acc.outputTokens += usage.output_tokens ?? 0;
220
227
  acc.cacheReadTokens += usage.cache_read_input_tokens ?? 0;
221
228
  acc.cacheWriteTokens += usage.cache_creation_input_tokens ?? 0;
222
- counted += 1;
223
- }
224
- if (counted === 0)
225
- return null;
226
- const perModel = [...byModel.values()];
227
- const sum = (pick) => perModel.reduce((acc, m) => acc + pick(m), 0);
228
- const inputTokens = sum((m) => m.inputTokens);
229
- const outputTokens = sum((m) => m.outputTokens);
230
- const cacheReadTokens = sum((m) => m.cacheReadTokens);
231
- const cacheWriteTokens = sum((m) => m.cacheWriteTokens);
232
- return {
233
- inputTokens,
234
- outputTokens,
235
- cacheReadTokens,
236
- cacheWriteTokens,
237
- totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
238
- models: perModel.map((m) => m.model),
239
- perModel,
240
- harness: 'claude',
241
- collectedAt: new Date().toISOString(),
242
- };
243
- }
229
+ state.counted += 1;
230
+ },
231
+ };
244
232
  /** Resolve ~/.codex/sessions/<yyyy>/<mm>/<dd>/rollout-*-<id>.jsonl (date-partitioned). */
245
233
  async function findCodexRollout(baseDir, codexSessionId) {
246
234
  const suffix = `-${codexSessionId}.jsonl`;
@@ -282,41 +270,16 @@ async function collectCodexUsage(codexSessionId, options) {
282
270
  const filePath = await findCodexRollout(baseDir, codexSessionId);
283
271
  if (!filePath)
284
272
  return null;
285
- const deadline = Date.now() + (options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
286
- const models = [];
287
- let lastTotals = null;
288
- for await (const raw of jsonlLines(filePath, deadline)) {
289
- const entry = raw;
290
- const payload = entry?.payload;
291
- if (!payload)
292
- continue;
293
- if (entry.type === 'turn_context' && payload.model) {
294
- if (!models.includes(payload.model))
295
- models.push(payload.model);
296
- continue;
297
- }
298
- // token_count events carry cumulative totals — the LAST one wins. Some
299
- // token_count events have info: null (rate-limit-only updates); skip them.
300
- if (payload.type === 'token_count') {
301
- const totals = payload.info?.total_token_usage;
302
- if (totals) {
303
- lastTotals = {
304
- input: totals.input_tokens ?? 0,
305
- cached: totals.cached_input_tokens ?? 0,
306
- output: totals.output_tokens ?? 0,
307
- };
308
- }
309
- }
310
- }
311
- if (!lastTotals)
273
+ const totals = await (options.foldCache ?? defaultJsonlFoldCache).fold(filePath, codexUsageFold, options.timeoutMs ?? DEFAULT_TIMEOUT_MS, (state) => (state.lastTotals ? { models: [...state.models], ...state.lastTotals } : null));
274
+ if (!totals)
312
275
  return null;
313
276
  // Codex counts cached tokens INSIDE input_tokens (input 11276 / cached 9088 /
314
277
  // total 11305 = 11276 + 29 in real rollouts) — split them so totalTokens
315
278
  // (sum of the four) matches codex's own total_tokens. output_tokens already
316
279
  // includes reasoning tokens. Codex reports no cache writes.
317
- const cacheReadTokens = Math.min(lastTotals.cached, lastTotals.input);
318
- const inputTokens = lastTotals.input - cacheReadTokens;
319
- const outputTokens = lastTotals.output;
280
+ const cacheReadTokens = Math.min(totals.cached, totals.input);
281
+ const inputTokens = totals.input - cacheReadTokens;
282
+ const outputTokens = totals.output;
320
283
  const cacheWriteTokens = 0;
321
284
  // Codex rollouts carry only cumulative totals — there is no per-model
322
285
  // attribution, so perModel is deliberately absent (models lists what ran).
@@ -326,11 +289,38 @@ async function collectCodexUsage(codexSessionId, options) {
326
289
  cacheReadTokens,
327
290
  cacheWriteTokens,
328
291
  totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
329
- models,
292
+ models: totals.models,
330
293
  harness: 'codex',
331
294
  collectedAt: new Date().toISOString(),
332
295
  };
333
296
  }
297
+ const codexUsageFold = {
298
+ kind: 'codex-usage-v1',
299
+ init: () => ({ models: [], lastTotals: null }),
300
+ step(state, raw) {
301
+ const entry = raw;
302
+ const payload = entry?.payload;
303
+ if (!payload)
304
+ return;
305
+ if (entry.type === 'turn_context' && payload.model) {
306
+ if (!state.models.includes(payload.model))
307
+ state.models.push(payload.model);
308
+ return;
309
+ }
310
+ // token_count events carry cumulative totals — the LAST one wins. Some
311
+ // token_count events have info: null (rate-limit-only updates); skip them.
312
+ if (payload.type === 'token_count') {
313
+ const totals = payload.info?.total_token_usage;
314
+ if (totals) {
315
+ state.lastTotals = {
316
+ input: totals.input_tokens ?? 0,
317
+ cached: totals.cached_input_tokens ?? 0,
318
+ output: totals.output_tokens ?? 0,
319
+ };
320
+ }
321
+ }
322
+ },
323
+ };
334
324
  /**
335
325
  * Resolve the kimi-code session dir that this ftown session spawned.
336
326
  *
@@ -393,54 +383,57 @@ async function collectKimiCodeUsage(workingDir, sessionCreatedAt, options) {
393
383
  catch {
394
384
  return null;
395
385
  }
386
+ const cache = options.foldCache ?? defaultJsonlFoldCache;
396
387
  let counted = 0;
397
388
  // Keyed by model id; Map preserves first-appearance order across agents.
398
389
  const byModel = new Map();
399
390
  for (const agent of agentNames) {
400
391
  const wirePath = join(agentsDir, agent, 'wire.jsonl');
401
- for await (const raw of jsonlLines(wirePath, deadline)) {
402
- const entry = raw;
403
- if (entry?.type !== 'usage.record')
404
- continue;
405
- const usage = entry.usage;
406
- if (!usage)
407
- continue;
408
- const model = entry.model ?? '';
409
- if (!model)
410
- continue;
411
- let acc = byModel.get(model);
392
+ const sums = await cache.fold(wirePath, kimiUsageFold, options.timeoutMs ?? DEFAULT_TIMEOUT_MS, (state) => ({
393
+ byModel: new Map([...state.byModel].map(([k, m]) => [k, { ...m }])),
394
+ counted: state.counted,
395
+ }));
396
+ if (!sums)
397
+ continue;
398
+ counted += sums.counted;
399
+ for (const m of sums.byModel.values()) {
400
+ const acc = byModel.get(m.model);
412
401
  if (!acc) {
413
- acc = { model, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
414
- byModel.set(model, acc);
402
+ byModel.set(m.model, m);
403
+ continue;
415
404
  }
416
- // Per-turn incremental records — SUM across all of them.
417
- acc.inputTokens += usage.inputOther ?? 0;
418
- acc.outputTokens += usage.output ?? 0;
419
- acc.cacheReadTokens += usage.inputCacheRead ?? 0;
420
- acc.cacheWriteTokens += usage.inputCacheCreation ?? 0;
421
- counted += 1;
405
+ acc.inputTokens += m.inputTokens;
406
+ acc.outputTokens += m.outputTokens;
407
+ acc.cacheReadTokens += m.cacheReadTokens;
408
+ acc.cacheWriteTokens += m.cacheWriteTokens;
422
409
  }
423
410
  }
424
411
  if (counted === 0)
425
412
  return null;
426
- const perModel = [...byModel.values()];
427
- const sum = (pick) => perModel.reduce((acc, m) => acc + pick(m), 0);
428
- const inputTokens = sum((m) => m.inputTokens);
429
- const outputTokens = sum((m) => m.outputTokens);
430
- const cacheReadTokens = sum((m) => m.cacheReadTokens);
431
- const cacheWriteTokens = sum((m) => m.cacheWriteTokens);
432
- return {
433
- inputTokens,
434
- outputTokens,
435
- cacheReadTokens,
436
- cacheWriteTokens,
437
- totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
438
- models: perModel.map((m) => m.model),
439
- perModel,
440
- harness: 'kimi-code',
441
- collectedAt: new Date().toISOString(),
442
- };
413
+ return usageFromModels(byModel, 'kimi-code');
443
414
  }
415
+ const kimiUsageFold = {
416
+ kind: 'kimi-usage-v1',
417
+ init: newModelSums,
418
+ step(state, raw) {
419
+ const entry = raw;
420
+ if (entry?.type !== 'usage.record')
421
+ return;
422
+ const usage = entry.usage;
423
+ if (!usage)
424
+ return;
425
+ const model = entry.model ?? '';
426
+ if (!model)
427
+ return;
428
+ const acc = modelAcc(state, model);
429
+ // Per-turn incremental records — SUM across all of them.
430
+ acc.inputTokens += usage.inputOther ?? 0;
431
+ acc.outputTokens += usage.output ?? 0;
432
+ acc.cacheReadTokens += usage.inputCacheRead ?? 0;
433
+ acc.cacheWriteTokens += usage.inputCacheCreation ?? 0;
434
+ state.counted += 1;
435
+ },
436
+ };
444
437
  /**
445
438
  * Resolve the muse session.jsonl that this ftown session spawned.
446
439
  *
@@ -578,8 +571,7 @@ async function collectMuseUsageById(museSessionId, options) {
578
571
  const filePath = await findMuseSessionFileById(baseDir, museSessionId);
579
572
  if (!filePath)
580
573
  return null;
581
- const deadline = Date.now() + (options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
582
- return sumMuseSessionFile(filePath, deadline);
574
+ return sumMuseSessionFile(filePath, options);
583
575
  }
584
576
  async function collectMuseUsage(workingDir, sessionCreatedAt, options) {
585
577
  const baseDir = options.museSessionsDir
@@ -588,28 +580,27 @@ async function collectMuseUsage(workingDir, sessionCreatedAt, options) {
588
580
  const filePath = await resolveMuseSessionFile(baseDir, workingDir, sessionCreatedAt, deadline);
589
581
  if (!filePath)
590
582
  return null;
591
- return sumMuseSessionFile(filePath, deadline);
583
+ return sumMuseSessionFile(filePath, options);
592
584
  }
593
- async function sumMuseSessionFile(filePath, deadline) {
594
- let counted = 0;
595
- // Keyed by model id; Map preserves first-appearance order.
596
- const byModel = new Map();
597
- for await (const raw of jsonlLines(filePath, deadline)) {
585
+ async function sumMuseSessionFile(filePath, options) {
586
+ const usage = await (options.foldCache ?? defaultJsonlFoldCache).fold(filePath, museUsageFold, options.timeoutMs ?? DEFAULT_TIMEOUT_MS, (state) => (state.counted === 0 ? null : usageFromModels(state.byModel, 'muse')));
587
+ return usage ?? null;
588
+ }
589
+ const museUsageFold = {
590
+ kind: 'muse-usage-v1',
591
+ init: newModelSums,
592
+ step(state, raw) {
598
593
  const entry = raw;
599
594
  if (entry?.payload_type !== 'runtime.session')
600
- continue;
595
+ return;
601
596
  const event = entry.payload?.kind === 'run' ? entry.payload.event : undefined;
602
597
  if (event?.kind !== 'model_completed')
603
- continue;
598
+ return;
604
599
  const usage = event.usage;
605
600
  const model = event.model ?? '';
606
601
  if (!usage || !model)
607
- continue;
608
- let acc = byModel.get(model);
609
- if (!acc) {
610
- acc = { model, inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
611
- byModel.set(model, acc);
612
- }
602
+ return;
603
+ const acc = modelAcc(state, model);
613
604
  // Per-call records — SUM across all of them. Verified against real logs:
614
605
  // input_tokens INCLUDES cached tokens (cached(n) ≈ input(n-1)), so split
615
606
  // them codex-style; cached_tokens duplicates cache_read_tokens (ignored);
@@ -620,26 +611,7 @@ async function sumMuseSessionFile(filePath, deadline) {
620
611
  acc.outputTokens += safeTokenCount(usage.output_tokens);
621
612
  acc.cacheReadTokens += cacheRead;
622
613
  acc.cacheWriteTokens += safeTokenCount(usage.cache_write_tokens);
623
- counted += 1;
624
- }
625
- if (counted === 0)
626
- return null;
627
- const perModel = [...byModel.values()];
628
- const sum = (pick) => perModel.reduce((acc, m) => acc + pick(m), 0);
629
- const inputTokens = sum((m) => m.inputTokens);
630
- const outputTokens = sum((m) => m.outputTokens);
631
- const cacheReadTokens = sum((m) => m.cacheReadTokens);
632
- const cacheWriteTokens = sum((m) => m.cacheWriteTokens);
633
- return {
634
- inputTokens,
635
- outputTokens,
636
- cacheReadTokens,
637
- cacheWriteTokens,
638
- totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheWriteTokens,
639
- models: perModel.map((m) => m.model),
640
- perModel,
641
- harness: 'muse',
642
- collectedAt: new Date().toISOString(),
643
- };
644
- }
614
+ state.counted += 1;
615
+ },
616
+ };
645
617
  //# sourceMappingURL=usage-collector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-collector.js","sourceRoot":"","sources":["../src/usage-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAqD/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAwB,EACxB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAClD,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACrD,OAAO,MAAM,cAAc,CACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,EACjB,OAAO,EACP,OAAO,CAAC,aAAa,CACtB,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5D,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACjC,mEAAmE;YACnE,kEAAkE;YAClE,uCAAuC;YACvC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACxE,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;AACzE,CAAC;AAuBD,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,UAAkB,EAClB,gBAAoC,EACpC,QAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAiD,EAAE,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,GAAsB,CAAC;YACtC,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;QACvF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAC7C,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC7C,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,UAAkB,EAClB,gBAAoC,EACpC,OAA8B,EAC9B,iBAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,iBAAiB;WAClC,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAkB,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,SAAS;QACxF,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;YACpE,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE;YACxC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAElB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG,CAAC,WAAW,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,GAAG,CAAC,eAAe,IAAI,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAAmC,EAAU,EAAE,CAC1D,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEhE,OAAO;QACL,WAAW;QACX,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB;QAC5E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5C,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IACrE,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,QAAQ,CAAC,OAAO,CAAC;YACjB,QAAQ,CAAC,QAAQ,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC;SACf,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,KAAK,SAAS,CAAC,CAAC,UAAU,CAAC,QAAgB,EAAE,QAAgB;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,MAAM;YACjC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAgBD,KAAK,UAAU,kBAAkB,CAC/B,eAAuB,EACvB,UAAkB,EAClB,OAA8B;IAE9B,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,GAAG,eAAe,QAAQ,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IAExE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,2EAA2E;IAC3E,sEAAsE;IACtE,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAsB,CAAC;QACrC,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW;YAAE,SAAS;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,wEAAwE;QACxE,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,aAAa;YAAE,SAAS;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YACrC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,sEAAsE;QACtE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;QAC7C,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;QAC1D,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAA+B,EAAU,EAAE,CACtD,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAExD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB;QAC5E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpC,QAAQ;QACR,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAiBD,0FAA0F;AAC1F,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,cAAsB;IACrE,MAAM,MAAM,GAAG,IAAI,cAAc,QAAQ,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,yDAAyD;YACzD,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9E,IAAI,GAAG;oBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,cAAsB,EACtB,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IAExE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,GAA6D,IAAI,CAAC;IAEhF,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAuB,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,GAAG;oBACX,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC;oBAC/B,MAAM,EAAE,MAAM,CAAC,mBAAmB,IAAI,CAAC;oBACvC,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;iBAClC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;IACvD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IACvC,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAE3B,sEAAsE;IACtE,2EAA2E;IAC3E,OAAO;QACL,WAAW;QACX,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB;QAC5E,MAAM;QACN,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAmBD;;;;;;;;;;GAUG;AACH,KAAK,UAAU,qBAAqB,CAClC,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,gBAAoC,EACpC,QAAgB;IAEhB,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,GAAoB,CAAC;QAClC,IAAI,IAAI,EAAE,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjC,+DAA+D;IAC/D,MAAM,UAAU,GAAgD,EAAE,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAExE,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3E,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxE,MAAM,MAAM,GAAG,CAAC,IAAiD,EAAE,EAAE,CACnE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;QACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,UAAkB,EAClB,gBAAoC,EACpC,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAC5C,OAAO,EACP,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,QAAQ,CACT,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,+EAA+E;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,UAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,yEAAyE;QACzE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,GAAsB,CAAC;YACrC,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,yDAAyD;YACzD,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACzC,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACtC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;YACjD,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAA+B,EAAU,EAAE,CACtD,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAExD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB;QAC5E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpC,QAAQ;QACR,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AA2BD;;;;;;;;;GASG;AACH,KAAK,UAAU,sBAAsB,CACnC,OAAe,EACf,UAAkB,EAClB,gBAAoC,EACpC,QAAgB;IAEhB,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,yDAAyD;YACzD,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAiD,EAAE,CAAC;IAEpE,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;QAC1D,yEAAyE;QACzE,4DAA4D;QAC5D,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,GAAmB,CAAC;YAClC,IAAI,OAAO,KAAK,EAAE,WAAW,KAAK,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;gBACnD,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;YACtC,IAAI,KAAK,EAAE,YAAY,KAAK,0BAA0B,EAAE,CAAC;gBACvD,MAAM,IAAI,GAAG,MAAM,EAAE,cAAc,CAAC;gBACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI;oBAAE,SAAS,GAAG,IAAI,CAAC;YACzD,CAAC;iBAAM,IAAI,KAAK,EAAE,YAAY,KAAK,6BAA6B,EAAE,CAAC;gBACjE,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC;gBACxB,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG;oBAAE,SAAS,GAAG,GAAG,CAAC;YACpE,CAAC;YACD,IAAI,SAAS,IAAI,YAAY;gBAAE,MAAM;QACvC,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;oBAAE,MAAM;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC/C,KAAK,MAAM,SAAS,IAAI,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;wBAAE,MAAM;oBACjC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,MAAM;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;YAAE,MAAM;IACnC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxE,MAAM,MAAM,GAAG,CAAC,IAAkD,EAAE,EAAE,CACpE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;QACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,uBAAuB,CACpC,OAAe,EACf,aAAqB;IAErB,iFAAiF;IACjF,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,yDAAyD;YACzD,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;gBACjF,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE;wBAAE,OAAO,QAAQ,CAAC;gBACvD,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,aAAqB,EACrB,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;WAClC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IACxE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,UAAkB,EAClB,gBAAoC,EACpC,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe;WAClC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAC/F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,QAAgB;IAEhB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE9C,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAmB,CAAC;QAClC,IAAI,KAAK,EAAE,YAAY,KAAK,iBAAiB;YAAE,SAAS;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB;YAAE,SAAS;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;YAAE,SAAS;QAE/B,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,GAAG,CAAC,WAAW,IAAI,KAAK,GAAG,SAAS,CAAC;QACrC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;QACjC,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAA+B,EAAU,EAAE,CACtD,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAExD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,gBAAgB;QAC5E,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpC,QAAQ;QACR,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"usage-collector.js","sourceRoot":"","sources":["../src/usage-collector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ftown",
3
- "version": "0.20.3",
3
+ "version": "0.20.5",
4
4
  "description": "CLI bridge for ftown — generic PTY-over-Centrifugo relay",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -80,5 +80,5 @@
80
80
  "overrides": {
81
81
  "qs": "6.16.1"
82
82
  },
83
- "gitHead": "f94a0622096ded5215849ee04ed1fe1650e16ff6"
83
+ "gitHead": "a7eed66bbaeb1c16cfb45b92c8846847435c93ba"
84
84
  }