@debuffjp/dev 0.4.0 → 0.6.0

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/replay.js CHANGED
@@ -58,6 +58,10 @@ export class InputRecording {
58
58
  });
59
59
  this.restore.push(game.params.onChange((c) => this.add({ set: { [`${c.group}.${c.key}`]: c.value } })));
60
60
  }
61
+ /** Events recorded so far. */
62
+ get count() {
63
+ return this.events.length;
64
+ }
61
65
  /** Note something that makes an exact replay impossible (shown with the replay). */
62
66
  warn(message) {
63
67
  this.warnings.add(message);
@@ -98,4 +102,81 @@ export class InputRecording {
98
102
  }
99
103
  }
100
104
  const round = (n) => Math.round(n * 100) / 100;
105
+ const REWIND_KEY = "debuff:rewind";
106
+ export function storeRewind(request) {
107
+ sessionStorage.setItem(REWIND_KEY, JSON.stringify(request));
108
+ }
109
+ /** Read and clear a pending rewind for this page, if any. */
110
+ export function takeRewind() {
111
+ let raw = null;
112
+ try {
113
+ raw = sessionStorage.getItem(REWIND_KEY);
114
+ sessionStorage.removeItem(REWIND_KEY);
115
+ }
116
+ catch {
117
+ return undefined;
118
+ }
119
+ if (!raw)
120
+ return undefined;
121
+ try {
122
+ const request = JSON.parse(raw);
123
+ return request.v === 1 && request.page === pagePath() ? request : undefined;
124
+ }
125
+ catch {
126
+ return undefined;
127
+ }
128
+ }
129
+ export const pagePath = () => location.pathname;
130
+ /**
131
+ * Play `steps` into the game up to `toTick`, without drawing, exactly as `debuff scenario` would.
132
+ * Input goes through the (recorded) input, so the recording picks the session up again.
133
+ */
134
+ export function fastForward({ game, input, command }, steps, toTick) {
135
+ const held = new Set();
136
+ let pointerHeld = false;
137
+ for (const step of steps) {
138
+ if (game.clock.tick >= toTick)
139
+ break;
140
+ if ("wait" in step)
141
+ game.step(Math.min(step.wait, toTick - game.clock.tick), false);
142
+ else if ("press" in step) {
143
+ held.add(step.press);
144
+ input.keys.press(step.press);
145
+ }
146
+ else if ("release" in step) {
147
+ held.delete(step.release);
148
+ input.keys.release(step.release);
149
+ }
150
+ else if ("pointerDown" in step) {
151
+ pointerHeld = true;
152
+ input.pointer.press(...step.pointerDown);
153
+ }
154
+ else if ("pointerMove" in step)
155
+ input.pointer.move(...step.pointerMove);
156
+ else if ("pointerUp" in step) {
157
+ pointerHeld = false;
158
+ input.pointer.release();
159
+ }
160
+ else if ("set" in step)
161
+ for (const [path, value] of Object.entries(step.set)) {
162
+ const [group = "", key = ""] = path.split(".");
163
+ game.params.group(group)?.set(key, value);
164
+ }
165
+ else if ("command" in step)
166
+ command(step.command, ...(step.args ?? []));
167
+ }
168
+ if (game.clock.tick < toTick)
169
+ game.step(toTick - game.clock.tick, false);
170
+ // Nobody is physically holding these any more: let go, or they'd stay stuck down.
171
+ for (const code of held)
172
+ input.keys.release(code);
173
+ if (pointerHeld)
174
+ input.pointer.release();
175
+ // The replay took real time: restart the loop's clock so the next frame doesn't try to catch up on it.
176
+ if (game.isRunning) {
177
+ game.stop();
178
+ game.start();
179
+ }
180
+ game.redraw();
181
+ }
101
182
  //# sourceMappingURL=replay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -2,7 +2,13 @@ import type { Game, ParamValue } from "@debuffjp/core";
2
2
  import { type Profiler } from "myaku";
3
3
  import { type ExplainedError } from "./explain.js";
4
4
  import type { DrivableInput } from "./index.js";
5
- import { InputRecording } from "./replay.js";
5
+ import { InputRecording, type Replay, type ReplayTarget, type RewindRequest } from "./replay.js";
6
+ /** A `game.emit` call, as the dev tools saw it. */
7
+ export interface GameEventRecord {
8
+ name: string;
9
+ tick: number;
10
+ detail: unknown;
11
+ }
6
12
  /** One recorded frame. Times are milliseconds. */
7
13
  export interface FrameSample {
8
14
  tick: number;
@@ -87,6 +93,8 @@ export declare class DevSession {
87
93
  readonly notes: Note[];
88
94
  /** Input recorded since page load, for replays (present once `attachInput` is called). */
89
95
  recording: InputRecording | undefined;
96
+ /** The session as it was before the last rewind, so you can scrub forward again until play branches off. */
97
+ private timeline;
90
98
  /** Uncaught errors, unhandled rejections and loop errors, explained and de-duplicated (max 50). */
91
99
  readonly errors: ExplainedError[];
92
100
  /** The error object the loop just reported, so its rethrow isn't counted twice. */
@@ -95,6 +103,11 @@ export declare class DevSession {
95
103
  private readonly onError;
96
104
  private readonly onRejection;
97
105
  private readonly unsubscribeLoopError;
106
+ private readonly unsubscribeEvents;
107
+ /** How many times the game emitted each event (`game.emit`) since load. */
108
+ readonly eventCounts: Record<string, number>;
109
+ /** The latest game events with their tick and detail (max 200). */
110
+ readonly events: GameEventRecord[];
98
111
  /** Who paused the game, or undefined while running. */
99
112
  pausedBy: string | undefined;
100
113
  /** Pause automatically when a frame exceeds this many milliseconds (0 = off). */
@@ -125,6 +138,23 @@ export declare class DevSession {
125
138
  step(n?: number, who?: string): void;
126
139
  /** Start recording this input for replays. Idempotent. */
127
140
  attachInput(input: DrivableInput): void;
141
+ /**
142
+ * Everything known about this session: the pre-rewind timeline while you're still parked where a rewind
143
+ * left you, otherwise what was actually played (any new tick or input branches off the old timeline).
144
+ */
145
+ known(): Replay | undefined;
146
+ /**
147
+ * Go back (or forward, within the known session) to `tick`: the page reloads and replays its inputs to
148
+ * that tick, so the game's state is exactly what it was, then stays paused there.
149
+ */
150
+ rewind(tick: number): void;
151
+ /**
152
+ * Called just before the dev server reloads the page for a code change: save the session so the new
153
+ * code can replay it to this same tick (state-preserving reload). Running games keep running.
154
+ */
155
+ keepForReload(): void;
156
+ /** Finish a rewind or a code reload after the page loads again (see `rewind` and `keepForReload`). */
157
+ restore(request: RewindRequest, target: ReplayTarget): void;
128
158
  setSpeed(scale: number, who?: string): void;
129
159
  /** Set a param and log it with an undo that restores the previous value. */
130
160
  setParam(group: string, key: string, value: ParamValue, who?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { myaku } from "myaku";
2
2
  import { errorKey, explainError, mapLocation } from "./explain.js";
3
- import { InputRecording } from "./replay.js";
3
+ import { fastForward, InputRecording, pagePath, storeRewind } from "./replay.js";
4
4
  /**
5
5
  * Records a per-frame breakdown through lifecycle hooks (dev only). Fixed-size ring buffers, no
6
6
  * allocation per frame. Also emits User Timing measures so phases show up in browser profilers.
@@ -161,6 +161,8 @@ export class DevSession {
161
161
  notes = [];
162
162
  /** Input recorded since page load, for replays (present once `attachInput` is called). */
163
163
  recording;
164
+ /** The session as it was before the last rewind, so you can scrub forward again until play branches off. */
165
+ timeline;
164
166
  /** Uncaught errors, unhandled rejections and loop errors, explained and de-duplicated (max 50). */
165
167
  errors = [];
166
168
  /** The error object the loop just reported, so its rethrow isn't counted twice. */
@@ -173,6 +175,11 @@ export class DevSession {
173
175
  };
174
176
  onRejection = (e) => this.addError(explainError(e.reason));
175
177
  unsubscribeLoopError;
178
+ unsubscribeEvents;
179
+ /** How many times the game emitted each event (`game.emit`) since load. */
180
+ eventCounts = {};
181
+ /** The latest game events with their tick and detail (max 200). */
182
+ events = [];
176
183
  /** Who paused the game, or undefined while running. */
177
184
  pausedBy;
178
185
  /** Pause automatically when a frame exceeds this many milliseconds (0 = off). */
@@ -208,6 +215,12 @@ export class DevSession {
208
215
  }
209
216
  };
210
217
  this.unsubscribeLoopError = game.hooks.error((error, context) => this.onLoopError(error, context));
218
+ this.unsubscribeEvents = game.hooks.gameEvent((name, detail) => {
219
+ this.eventCounts[name] = (this.eventCounts[name] ?? 0) + 1;
220
+ this.events.push({ name, tick: game.clock.tick, detail });
221
+ if (this.events.length > 200)
222
+ this.events.shift();
223
+ });
211
224
  addEventListener("error", this.onError);
212
225
  addEventListener("unhandledrejection", this.onRejection);
213
226
  }
@@ -231,6 +244,7 @@ export class DevSession {
231
244
  this.recording?.dispose();
232
245
  removeEventListener("error", this.onError);
233
246
  this.unsubscribeLoopError();
247
+ this.unsubscribeEvents();
234
248
  removeEventListener("unhandledrejection", this.onRejection);
235
249
  sessions.delete(this.game);
236
250
  }
@@ -289,6 +303,63 @@ export class DevSession {
289
303
  attachInput(input) {
290
304
  this.recording ??= new InputRecording(this.game, input);
291
305
  }
306
+ /**
307
+ * Everything known about this session: the pre-rewind timeline while you're still parked where a rewind
308
+ * left you, otherwise what was actually played (any new tick or input branches off the old timeline).
309
+ */
310
+ known() {
311
+ const recording = this.recording;
312
+ if (!recording)
313
+ return undefined;
314
+ const t = this.timeline;
315
+ if (t && this.game.clock.tick === t.tick && recording.count === t.events)
316
+ return t.replay;
317
+ this.timeline = undefined;
318
+ return recording.toReplay();
319
+ }
320
+ /**
321
+ * Go back (or forward, within the known session) to `tick`: the page reloads and replays its inputs to
322
+ * that tick, so the game's state is exactly what it was, then stays paused there.
323
+ */
324
+ rewind(tick) {
325
+ const timeline = this.known();
326
+ if (!timeline)
327
+ throw new Error("Rewind needs input: use devTools({ input })");
328
+ storeRewind({ v: 1, page: pagePath(), timeline, tick: Math.max(0, Math.min(Math.round(tick), timeline.ticks)) });
329
+ // Reload a moment later, so an agent's call can still report back before the page goes away.
330
+ setTimeout(() => location.reload(), 100);
331
+ }
332
+ /**
333
+ * Called just before the dev server reloads the page for a code change: save the session so the new
334
+ * code can replay it to this same tick (state-preserving reload). Running games keep running.
335
+ */
336
+ keepForReload() {
337
+ const recording = this.recording;
338
+ if (!recording)
339
+ return;
340
+ const timeline = recording.toReplay();
341
+ storeRewind({ v: 1, page: pagePath(), timeline, tick: timeline.ticks, reason: "reload", resume: !this.paused });
342
+ }
343
+ /** Finish a rewind or a code reload after the page loads again (see `rewind` and `keepForReload`). */
344
+ restore(request, target) {
345
+ const recording = this.recording;
346
+ if (!recording)
347
+ return;
348
+ for (const w of request.timeline.warnings)
349
+ recording.warn(w);
350
+ const t0 = performance.now();
351
+ fastForward(target, request.timeline.steps, request.tick);
352
+ if (request.reason === "reload") {
353
+ const ms = Math.round(performance.now() - t0);
354
+ this.log("you", "kept your place", `replayed ${request.tick} ticks with the new code in ${ms} ms`);
355
+ if (!request.resume)
356
+ this.pause("you", `reloaded at tick ${request.tick}`);
357
+ return;
358
+ }
359
+ this.timeline = { replay: request.timeline, tick: this.game.clock.tick, events: recording.count };
360
+ this.pause("you", `rewound to tick ${request.tick}`);
361
+ this.log("you", "rewound", `to tick ${request.tick} of ${request.timeline.ticks}`);
362
+ }
292
363
  setSpeed(scale, who = "you") {
293
364
  // Slow motion changes the simulation itself, so a replay (which always runs at 1×) can't match it.
294
365
  if (scale !== 1)
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAiB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAuB,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsB7C;;;GAGG;AACH,MAAM,OAAO,aAAa;IA2BL,IAAI;IA1Bd,IAAI,CAAS;IACL,MAAM,GAAG;QACxB,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAC7B,MAAM,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAC3B,KAAK,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;QACzB,KAAK,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;QACzB,SAAS,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;QAC7B,QAAQ,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;QAC7B,EAAE,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC;KACxB,CAAC;IACe,MAAM,CAAyB;IACxC,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC;IACV,UAAU,GAAG,CAAC,CAAC;IACf,cAAc,GAAG,CAAC,CAAC;IACnB,WAAW,GAAG,CAAC,CAAC;IAChB,QAAQ,GAAG,CAAC,CAAC;IACb,KAAK,GAAG,CAAC,CAAC;IACV,WAAW,GAAG,CAAC,CAAC;IACP,QAAQ,GAAmB,EAAE,CAAC;IAC/C,mEAAmE;IACnE,OAAO,CAAwC;IAE/C,YACmB,IAAU,EAC3B,OAAO,GAA4C,EAAE;oBADpC,IAAI;QAGrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAiC,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAkE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC,CAAC,EACF,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;YACrB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,MAAM;gBAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC,CAAC,EACF,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC,CAAC,EACF,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,CACH,CAAC;QACF,IAAI,OAAO,mBAAmB,KAAK,WAAW,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChH,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;oBAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,0CAA0C;IAC1C,GAAG,CAAC,CAAS;QACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACjB,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;QACnB,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,CAAC,EAAE,CAAC;IACrC,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,QAAgB,EAAE,KAAa,EAAE,SAAiB;QAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,KAAa,EAAE,QAAgB;QACvD,2FAA2F;QAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;gBACpE,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IACvD,IAAI,CAAC;QACH,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;AACH,CAAC;AAuBD,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAoB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,UAAU;IA+BQ,IAAI;IA9BxB,QAAQ,CAAgB;IACxB,QAAQ,GAAe,EAAE,CAAC;IAC1B,KAAK,GAAW,EAAE,CAAC;IAC5B,0FAA0F;IAC1F,SAAS,CAA6B;IACtC,mGAAmG;IAC1F,MAAM,GAAqB,EAAE,CAAC;IACvC,mFAAmF;IAC3E,aAAa,CAAU;IACd,SAAS,GAAG,IAAI,OAAO,EAA0B,CAAC;IAClD,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO;QACpE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IACe,WAAW,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,oBAAoB,CAAa;IAClD,uDAAuD;IACvD,QAAQ,CAAqB;IAC7B,iFAAiF;IACjF,cAAc,GAAG,CAAC,CAAC;IACnB,mFAAmF;IACnF,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1B,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAC3C,IAAI,GAAG,CAAC,CAAC;IACT,QAAQ,GAAG,CAAC,CAAC;IAErB,wFAAwF;IAC/E,QAAQ,CAAW;IACX,gBAAgB,CAAiB;IAElD,YAA6B,IAAU;oBAAV,IAAI;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG;YACtB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;gBAC3B,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;gBAC3B,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;SAC/F,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACnG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC,IAAU;QACvB,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,CAAC,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB;YAAE,GAAG,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QAC1B,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrC,CAAC;IAED,0DAA0D;IAC1D,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IACtF,CAAC;IAED,+EAA+E;IAC/E,cAAc,GAAG,CAAC,CAAC;IAEnB,iFAAiF;IACjF,iBAAiB,CAAC,CAAS;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;aAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACpC,CAAC;;YAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,GAAG,KAAK,EAAE,MAAe;QAChC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,GAAG,GAAG,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,0DAA0D;IAC1D,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,SAAS,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,GAAG,GAAG,KAAK;QACjC,mGAAmG;QACnG,IAAI,KAAK,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,KAAK,0CAA0C,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,KAAiB,EAAE,GAAG,GAAG,KAAK;QACjE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO;QAC/B,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,IAAY;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAgD,CAAC;QACzE,MAAM,CAAC,GAAS;YACd,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;YACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;YACd,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YAC1B,IAAI;YACJ,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;SACjC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,wGAAwG;IAChG,WAAW,CAAC,KAAc,EAAE,OAAyB;QAC3D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,6EAA6E;QAC7E,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAEO,QAAQ,CAAC,CAAiB;QAChC,6GAA6G;QAC7G,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACpE,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,8EAA8E;QAC9E,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,kDAAkD;IAClD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,MAAe,EAAE,IAAiB;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5H,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,uFAAuF;IACvF,SAAS,CAAC,EAAc;QACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS;YAAE,EAAE,EAAE,CAAC;IACxC,CAAC;CACF;AAED,MAAM,MAAM,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7G;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,CAAc,EAAE,QAAQ,GAAG,IAAI,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrC,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,IAAI;QAAE,OAAO,WAAW,CAAC;IACxD,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,KAAK,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI;QAC7D,OAAO,kEAAkE,CAAC;IAC5E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC;IACtF,IAAI,IAAI,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;YACtB,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAC3C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,SAAS,cAAc,CAC5F,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mEAAmE,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;AAkBzB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAA+B,EAAE,QAAQ,GAAG,IAAI,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,GAAG,KAAK;YAAE,SAAS;QAC/C,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI;YAAE,WAAW,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7E,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;QACzC,OAAO;QACP,WAAW;QACX,cAAc,EAAE,OAAO,GAAG,WAAW;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@debuffjp/dev",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Dev-only inspection hooks for debuff games, for tools and AI agents",
5
5
  "keywords": [
6
6
  "game",
@@ -46,6 +46,6 @@
46
46
  "access": "public"
47
47
  },
48
48
  "dependencies": {
49
- "myaku": "0.1.0"
49
+ "myaku": "0.2.0"
50
50
  }
51
51
  }