nimbus-docs 0.1.7 → 0.1.9
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/README.md +1 -1
- package/dist/cli/index.js +49 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/client.d.ts +12 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -6
- package/dist/client.js.map +1 -1
- package/dist/content.d.ts +62 -6
- package/dist/content.d.ts.map +1 -1
- package/dist/content.js +11 -5
- package/dist/content.js.map +1 -1
- package/dist/{diagnostic-C6OaBe_o.d.ts → diagnostic-ewiZxpSO.d.ts} +4 -1
- package/dist/diagnostic-ewiZxpSO.d.ts.map +1 -0
- package/dist/index.d.ts +138 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1709 -174
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +164 -19
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +290 -50
- package/dist/react.js.map +1 -1
- package/dist/{rules-DnAP-j89.js → rules-DDDvKkyJ.js} +250 -2
- package/dist/rules-DDDvKkyJ.js.map +1 -0
- package/dist/schemas.d.ts +87 -4
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +32 -6
- package/dist/schemas.js.map +1 -1
- package/dist/strict-keys-fbKKxxKL.js +141 -0
- package/dist/strict-keys-fbKKxxKL.js.map +1 -0
- package/dist/types.d.ts +49 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -4
- package/CHANGELOG.md +0 -19
- package/dist/diagnostic-C6OaBe_o.d.ts.map +0 -1
- package/dist/rules-DnAP-j89.js.map +0 -1
- package/dist/strict-keys-BiXiT3pq.js +0 -35
- package/dist/strict-keys-BiXiT3pq.js.map +0 -1
package/dist/react.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as react from "react";
|
|
1
2
|
import { ReactNode, RefObject } from "react";
|
|
2
3
|
import { ClassValue } from "clsx";
|
|
3
4
|
|
|
@@ -51,7 +52,7 @@ interface DiagramProps {
|
|
|
51
52
|
label?: string;
|
|
52
53
|
className?: string;
|
|
53
54
|
}
|
|
54
|
-
declare function DiagramRoot(props: DiagramProps):
|
|
55
|
+
declare function DiagramRoot(props: DiagramProps): react.JSX.Element;
|
|
55
56
|
declare const Diagram: typeof DiagramRoot;
|
|
56
57
|
//#endregion
|
|
57
58
|
//#region src/react/registry.d.ts
|
|
@@ -67,7 +68,10 @@ declare const Diagram: typeof DiagramRoot;
|
|
|
67
68
|
*/
|
|
68
69
|
interface RegistryEntry {
|
|
69
70
|
id: string;
|
|
70
|
-
|
|
71
|
+
/** Set the user-paused flag directly (idempotent). */
|
|
72
|
+
setPaused: (paused: boolean) => void;
|
|
73
|
+
/** Read the current user-paused flag at call time. */
|
|
74
|
+
userPaused: () => boolean;
|
|
71
75
|
}
|
|
72
76
|
declare class DiagramRegistry {
|
|
73
77
|
private entries;
|
|
@@ -75,6 +79,11 @@ declare class DiagramRegistry {
|
|
|
75
79
|
/** Bumped on every membership change — useSyncExternalStore snapshot key. */
|
|
76
80
|
private version;
|
|
77
81
|
register(entry: RegistryEntry): () => void;
|
|
82
|
+
/**
|
|
83
|
+
* Pause everything when at least one diagram is unpaused; resume
|
|
84
|
+
* everything otherwise. A naive per-entry toggle would *invert* mixed
|
|
85
|
+
* states — resuming the diagrams a reader had deliberately paused.
|
|
86
|
+
*/
|
|
78
87
|
toggleAll(): void;
|
|
79
88
|
count: () => number;
|
|
80
89
|
getVersion: () => number;
|
|
@@ -90,7 +99,7 @@ interface UsePhaseStepBase {
|
|
|
90
99
|
/** Milliseconds to hold this step before advancing. */
|
|
91
100
|
hold: number;
|
|
92
101
|
}
|
|
93
|
-
interface UsePhaseStep<C extends Record<string, unknown> = Record<string, never
|
|
102
|
+
interface UsePhaseStep<C extends Record<string, unknown> = Record<string, never>, D = unknown> extends UsePhaseStepBase {
|
|
94
103
|
/**
|
|
95
104
|
* Predicate gate. When false, this step is skipped for the current cycle.
|
|
96
105
|
* Receives `{ cycle, current, ...context }` where `current` is the id of
|
|
@@ -101,26 +110,45 @@ interface UsePhaseStep<C extends Record<string, unknown> = Record<string, never>
|
|
|
101
110
|
cycle: number;
|
|
102
111
|
current: string;
|
|
103
112
|
} & C) => boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Arbitrary payload surfaced as `data` while this step holds — e.g.
|
|
115
|
+
* which node/edge lights up. Replaces per-card `ACTIVE_MAP` lookup
|
|
116
|
+
* tables; `data` is `null` when idle or when an autoplaying walker is
|
|
117
|
+
* frozen by reduced motion.
|
|
118
|
+
*/
|
|
119
|
+
data?: D;
|
|
104
120
|
}
|
|
105
|
-
interface UsePhaseOptions<C extends Record<string, unknown> = Record<string, never
|
|
106
|
-
steps: UsePhaseStep<C>[];
|
|
121
|
+
interface UsePhaseOptions<C extends Record<string, unknown> = Record<string, never>, D = unknown> {
|
|
122
|
+
steps: UsePhaseStep<C, D>[];
|
|
107
123
|
/** Values made available to each step's `when` predicate. */
|
|
108
124
|
context?: C;
|
|
109
125
|
/** When true (default), the sequence restarts after the last step. */
|
|
110
126
|
loop?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* When true (default) the walker runs as soon as the diagram plays.
|
|
129
|
+
* When false it starts idle (`current === ""`) and runs once per
|
|
130
|
+
* `start()` call — the shape for click-triggered one-shot sequences.
|
|
131
|
+
*/
|
|
132
|
+
autoplay?: boolean;
|
|
111
133
|
}
|
|
112
|
-
interface UsePhaseReturn {
|
|
113
|
-
/** Id of the currently-active step. Empty string
|
|
134
|
+
interface UsePhaseReturn<D = unknown> {
|
|
135
|
+
/** Id of the currently-active step. Empty string when idle or `steps` is empty. */
|
|
114
136
|
current: string;
|
|
115
137
|
/** Index into the *filtered* sequence for the current cycle. */
|
|
116
138
|
index: number;
|
|
117
|
-
/**
|
|
139
|
+
/** Completed passes through the sequence. Starts at 0. */
|
|
118
140
|
cycle: number;
|
|
141
|
+
/** The active step's `data` payload. `null` when idle or motion-frozen. */
|
|
142
|
+
data: D | null;
|
|
143
|
+
/** True while the walker is active. Always true when `autoplay`. */
|
|
144
|
+
running: boolean;
|
|
145
|
+
/** Begin a run from the first step. No-op while already running. */
|
|
146
|
+
start: () => void;
|
|
119
147
|
/** Advance one step (or wrap to next cycle if at the end). */
|
|
120
148
|
advance: () => void;
|
|
121
|
-
/** Jump to a named step in the current cycle's sequence. */
|
|
149
|
+
/** Jump to a named step in the current cycle's sequence. Wakes an idle walker. */
|
|
122
150
|
goto: (id: string) => void;
|
|
123
|
-
/** Reset cycle and index to 0. */
|
|
151
|
+
/** Reset cycle and index to 0 (and return to idle when `autoplay: false`). */
|
|
124
152
|
reset: () => void;
|
|
125
153
|
}
|
|
126
154
|
/**
|
|
@@ -129,15 +157,28 @@ interface UsePhaseReturn {
|
|
|
129
157
|
* automatically when any gate fails.
|
|
130
158
|
*
|
|
131
159
|
* Steps may carry a `when(ctx)` predicate that filters them out for a
|
|
132
|
-
* given cycle
|
|
133
|
-
*
|
|
134
|
-
* `context`.
|
|
160
|
+
* given cycle, and a `data` payload surfaced while the step holds. Mode
|
|
161
|
+
* toggles, branches, alternating loops — anything cycle-dependent —
|
|
162
|
+
* composes via the predicate plus user-supplied `context`.
|
|
163
|
+
*
|
|
164
|
+
* Two run modes:
|
|
165
|
+
* - `autoplay: true` (default) — ambient looping animation. Freezes under
|
|
166
|
+
* reduced motion (`data` reads `null`).
|
|
167
|
+
* - `autoplay: false` — idle until `start()`. Started runs are
|
|
168
|
+
* user-initiated *function*, not decoration: they keep advancing under
|
|
169
|
+
* reduced motion (gate your CSS transition durations card-side), and a
|
|
170
|
+
* `start()` while the page is paused arms as soon as play resumes.
|
|
171
|
+
*
|
|
172
|
+
* The scheduler depends on the current step's *values* (id, hold), not
|
|
173
|
+
* on `steps` / `context` identity — inline literals are safe and won't
|
|
174
|
+
* re-arm the hold timer under frequent re-renders.
|
|
135
175
|
*/
|
|
136
|
-
declare function usePhase<C extends Record<string, unknown> = Record<string, never
|
|
176
|
+
declare function usePhase<C extends Record<string, unknown> = Record<string, never>, D = unknown>({
|
|
137
177
|
steps,
|
|
138
178
|
context,
|
|
139
|
-
loop
|
|
140
|
-
|
|
179
|
+
loop,
|
|
180
|
+
autoplay
|
|
181
|
+
}: UsePhaseOptions<C, D>): UsePhaseReturn<D>;
|
|
141
182
|
//#endregion
|
|
142
183
|
//#region src/react/hooks/use-measure.d.ts
|
|
143
184
|
interface UseMeasureOptions {
|
|
@@ -153,8 +194,7 @@ interface UseMeasureOptions {
|
|
|
153
194
|
/**
|
|
154
195
|
* DOM rect + optional selector callback. The selector receives the
|
|
155
196
|
* observed element and its rect, and returns whatever derived geometry
|
|
156
|
-
* the author needs (NodeRect, EdgeData, etc.).
|
|
157
|
-
* `useWeldedMeasure` pattern.
|
|
197
|
+
* the author needs (NodeRect, EdgeData, etc.).
|
|
158
198
|
*
|
|
159
199
|
* For multi-element measurements (e.g. measuring a container plus 5
|
|
160
200
|
* child nodes), pass the container ref and read the other refs from
|
|
@@ -193,6 +233,111 @@ interface UseTabIndicatorReturn {
|
|
|
193
233
|
*/
|
|
194
234
|
declare function useTabIndicator(containerRef: RefObject<HTMLElement | null>, getTab: (id: string) => HTMLElement | null, activeId: string | null): UseTabIndicatorReturn;
|
|
195
235
|
//#endregion
|
|
236
|
+
//#region src/react/hooks/use-ref-setters.d.ts
|
|
237
|
+
/**
|
|
238
|
+
* Stable per-id ref callbacks for a refs map — the ergonomic half of the
|
|
239
|
+
* "refs map + setter factory" pattern. Instead of N individual `useRef`s
|
|
240
|
+
* and N inline `ref={(el) => …}` arrows (which churn refs every render),
|
|
241
|
+
* keep one map and hand each element a cached callback:
|
|
242
|
+
*
|
|
243
|
+
* ```tsx
|
|
244
|
+
* const nodeRefs = useRef<Partial<Record<NodeId, HTMLDivElement | null>>>({});
|
|
245
|
+
* const setNode = useRefSetters(nodeRefs);
|
|
246
|
+
*
|
|
247
|
+
* <div ref={setNode("prompt")}>Prompt</div>
|
|
248
|
+
* <div ref={setNode("model")}>Model</div>
|
|
249
|
+
* ```
|
|
250
|
+
*
|
|
251
|
+
* Measurement stays caller-side (read `refs.current` inside a `useMeasure`
|
|
252
|
+
* selector) — this hook owns only the ref plumbing.
|
|
253
|
+
*/
|
|
254
|
+
declare function useRefSetters<K extends string, E extends Element = HTMLDivElement>(refs: RefObject<Partial<Record<K, E | null>>>): (id: K) => (el: E | null) => void;
|
|
255
|
+
//#endregion
|
|
256
|
+
//#region src/react/hooks/use-media-query.d.ts
|
|
257
|
+
/**
|
|
258
|
+
* Reactive `window.matchMedia` subscription, SSR-safe.
|
|
259
|
+
*
|
|
260
|
+
* The server snapshot returns `defaultValue` (default `false`), so static
|
|
261
|
+
* builds render the no-match branch and hydrate without mismatch warnings;
|
|
262
|
+
* the first client render corrects it if the query matches.
|
|
263
|
+
*
|
|
264
|
+
* ```ts
|
|
265
|
+
* const isMobile = useMediaQuery("(max-width: 640px)");
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
declare function useMediaQuery(query: string, defaultValue?: boolean): boolean;
|
|
269
|
+
//#endregion
|
|
270
|
+
//#region src/react/geometry.d.ts
|
|
271
|
+
/**
|
|
272
|
+
* Pure edge-routing math for diagram cards. No React, no DOM — every
|
|
273
|
+
* function maps numbers to numbers (or an SVG path string). Colors,
|
|
274
|
+
* stroke widths, markers, and node outlines stay user-side.
|
|
275
|
+
*/
|
|
276
|
+
interface Point {
|
|
277
|
+
x: number;
|
|
278
|
+
y: number;
|
|
279
|
+
}
|
|
280
|
+
type RectSide = "top" | "right" | "bottom" | "left";
|
|
281
|
+
/**
|
|
282
|
+
* Minimal rect shape consumed by `edgePoint`: left/top origin plus size,
|
|
283
|
+
* relative to whatever container the SVG layer is positioned against.
|
|
284
|
+
* Richer rect types (with `r`/`b`/`cx`/`cy`) are structurally compatible.
|
|
285
|
+
*/
|
|
286
|
+
interface EdgeRect {
|
|
287
|
+
l: number;
|
|
288
|
+
t: number;
|
|
289
|
+
w: number;
|
|
290
|
+
h: number;
|
|
291
|
+
}
|
|
292
|
+
/** Anchor point on a rect edge. `frac` runs 0→1 from top/left. */
|
|
293
|
+
declare function edgePoint(rect: EdgeRect, side: RectSide, frac?: number): Point;
|
|
294
|
+
/**
|
|
295
|
+
* - `straight` — direct line; axis-aligned lines are shortened by
|
|
296
|
+
* `arrowOffset` at the destination so an arrowhead marker doesn't
|
|
297
|
+
* overlap the target.
|
|
298
|
+
* - `elbow` — one right-angle corner with a quadratic rounding,
|
|
299
|
+
* radius clamped to half of each segment; end shortened by
|
|
300
|
+
* `arrowOffset`.
|
|
301
|
+
* - `vSplit` — vertical S-path through the midpoint Y (drop, run,
|
|
302
|
+
* drop), corners rounded; no arrow offset (designed for marker-less
|
|
303
|
+
* connectors).
|
|
304
|
+
* - `auto` — `straight` when endpoints are axis-aligned within 2px,
|
|
305
|
+
* else `elbow`.
|
|
306
|
+
*/
|
|
307
|
+
type EdgeRoute = "straight" | "elbow" | "vSplit" | "auto";
|
|
308
|
+
interface RouteOptions {
|
|
309
|
+
/** End-shortening so arrowheads sit flush. Default 6. */
|
|
310
|
+
arrowOffset?: number;
|
|
311
|
+
/** Corner radius. Defaults: elbow 10, vSplit 6. */
|
|
312
|
+
radius?: number;
|
|
313
|
+
}
|
|
314
|
+
/** Build an SVG path string between two points using the given route. */
|
|
315
|
+
declare function routeEdge(from: Point, to: Point, route?: EdgeRoute, options?: RouteOptions): string;
|
|
316
|
+
/** Anchor: `[nodeId, side]` with an optional frac (default 0.5). */
|
|
317
|
+
type EdgeAnchor<NodeId extends string = string> = readonly [NodeId, RectSide] | readonly [NodeId, RectSide, number];
|
|
318
|
+
interface EdgeSpec<NodeId extends string = string, EdgeId extends string = string> {
|
|
319
|
+
id: EdgeId;
|
|
320
|
+
from: EdgeAnchor<NodeId>;
|
|
321
|
+
to: EdgeAnchor<NodeId>;
|
|
322
|
+
route?: EdgeRoute;
|
|
323
|
+
/** Carried through to the resolved edge for styling decisions. */
|
|
324
|
+
ghost?: boolean;
|
|
325
|
+
}
|
|
326
|
+
interface ResolvedEdge<EdgeId extends string = string> {
|
|
327
|
+
id: EdgeId;
|
|
328
|
+
from: Point;
|
|
329
|
+
to: Point;
|
|
330
|
+
/** Ready-to-render SVG path string. */
|
|
331
|
+
d: string;
|
|
332
|
+
ghost?: boolean;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Resolve declarative edge specs against a map of measured rects.
|
|
336
|
+
* Specs whose endpoints aren't in `rects` yet (unmounted nodes,
|
|
337
|
+
* first-paint gaps) are skipped rather than rendered degenerate.
|
|
338
|
+
*/
|
|
339
|
+
declare function resolveEdges<NodeId extends string = string, EdgeId extends string = string>(specs: readonly EdgeSpec<NodeId, EdgeId>[], rects: Partial<Record<NodeId, EdgeRect>>, options?: RouteOptions): ResolvedEdge<EdgeId>[];
|
|
340
|
+
//#endregion
|
|
196
341
|
//#region src/react/cn.d.ts
|
|
197
342
|
/**
|
|
198
343
|
* Compose class names with Tailwind conflict resolution. Vendored into
|
|
@@ -201,5 +346,5 @@ declare function useTabIndicator(containerRef: RefObject<HTMLElement | null>, ge
|
|
|
201
346
|
*/
|
|
202
347
|
declare function cn(...inputs: ClassValue[]): string;
|
|
203
348
|
//#endregion
|
|
204
|
-
export { type Depth, Diagram, type DiagramContextValue, type DiagramPhase, type DiagramProps, type ReducedMotionMode, type UseMeasureOptions, type UsePhaseOptions, type UsePhaseReturn, type UsePhaseStep, type UseTabIndicatorReturn, cn, diagramRegistry, useDiagram, useDiagramOrDefault, useMeasure, usePhase, useTabIndicator };
|
|
349
|
+
export { type Depth, Diagram, type DiagramContextValue, type DiagramPhase, type DiagramProps, type EdgeAnchor, type EdgeRect, type EdgeRoute, type EdgeSpec, type Point, type RectSide, type ReducedMotionMode, type ResolvedEdge, type RouteOptions, type UseMeasureOptions, type UsePhaseOptions, type UsePhaseReturn, type UsePhaseStep, type UseTabIndicatorReturn, cn, diagramRegistry, edgePoint, resolveEdges, routeEdge, useDiagram, useDiagramOrDefault, useMeasure, useMediaQuery, usePhase, useRefSetters, useTabIndicator };
|
|
205
350
|
//# sourceMappingURL=react.d.ts.map
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","names":[],"sources":["../src/react/diagram.tsx","../src/react/registry.ts","../src/react/hooks/use-phase.ts","../src/react/hooks/use-measure.ts","../src/react/hooks/use-tab-indicator.ts","../src/react/cn.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"react.d.ts","names":[],"sources":["../src/react/diagram.tsx","../src/react/registry.ts","../src/react/hooks/use-phase.ts","../src/react/hooks/use-measure.ts","../src/react/hooks/use-tab-indicator.ts","../src/react/hooks/use-ref-setters.ts","../src/react/hooks/use-media-query.ts","../src/react/geometry.ts","../src/react/cn.ts"],"mappings":";;;;;KAuBY,KAAA;AAAA,KACA,iBAAA;AAAA,KACA,YAAA;AAAA,UAEK,mBAAA;EAJL;EAMV,EAAA;;EAEA,KAAA,EAAO,YAAA;EARQ;EAUf,OAAA;EAT2B;EAW3B,OAAA;EAX2B;EAa3B,UAAA;EAZU;EAcV,aAAA;;EAEA,KAAA,EAAO,KAAA;EAhBe;EAkBtB,KAAA;IAAS,EAAA;EAAA;EAFG;EAIZ,KAAA;EAdA;EAgBA,MAAA;AAAA;AAAA,iBAkEc,UAAA,CAAA,GAAc,mBAAA;;;;;;iBAwBd,mBAAA,CAAoB,QAAA,WAAmB,mBAAA;AAAA,UAkCtC,YAAA;EACf,QAAA,EAAU,SAAA;EACV,QAAA;EACA,kBAAA;EACA,aAAA,GAAgB,iBAAA;EA9DQ;EAgExB,SAAA;EAhE4B;EAkE5B,aAAA;EA1Cc;EA4Cd,QAAA;;EAEA,KAAA;EACA,SAAA;AAAA;AAAA,iBA0FO,WAAA,CAAY,KAAA,EAAO,YAAA,GAAY,KAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cA2N3B,OAAA,SAAO,WAAA;;;;;;;;AAtdpB;;;;;UCZU,aAAA;EACR,EAAA;;EAEA,SAAA,GAAY,MAAA;EDUe;ECR3B,UAAA;AAAA;AAAA,cAGI,eAAA;EAAA,QACI,OAAA;EAAA,QACA,SAAA;EDMO;EAAA,QCJP,OAAA;EAER,QAAA,CAAS,KAAA,EAAO,aAAA;EDgBJ;;;;;ECAZ,SAAA,CAAA;EAQA,KAAA;EAEA,UAAA;EAEA,SAAA,GAAa,QAAA;EAAA,QAOL,MAAA;AAAA;AAAA,cAKG,eAAA,EAAe,eAAA;;;UC5DX,gBAAA;;EAEf,EAAA;;EAEA,IAAA;AAAA;AAAA,UAGe,YAAA,WACL,MAAA,oBAA0B,MAAA,sCAE5B,gBAAA;;;;AFSV;;;EEFE,IAAA,IAAQ,GAAA;IAAO,KAAA;IAAe,OAAA;EAAA,IAAoB,CAAA;;;;AFKpD;;;EEEE,IAAA,GAAO,CAAA;AAAA;AAAA,UAGQ,eAAA,WACL,MAAA,oBAA0B,MAAA;EAGpC,KAAA,EAAO,YAAA,CAAa,CAAA,EAAG,CAAA;EFHvB;EEKA,OAAA,GAAU,CAAA;EFDV;EEGA,IAAA;EFCA;;;;;EEKA,QAAA;AAAA;AAAA,UAGe,cAAA;EFgED;EE9Dd,OAAA;;EAEA,KAAA;EF4D+C;EE1D/C,KAAA;EFkFiC;EEhFjC,IAAA,EAAM,CAAA;EFgF4B;EE9ElC,OAAA;EFgHe;EE9Gf,KAAA;;EAEA,OAAA;EF6GA;EE3GA,IAAA,GAAO,EAAA;EF4GP;EE1GA,KAAA;AAAA;;;;;;;;;AFsHD;;;;;;;;;;AAoTD;;;;iBEjZgB,QAAA,WACJ,MAAA,oBAA0B,MAAA,6BAAA,CAAA;EAGpC,KAAA;EACA,OAAA;EACA,IAAA;EACA;AAAA,GACC,eAAA,CAAgB,CAAA,EAAG,CAAA,IAAK,cAAA,CAAe,CAAA;;;UC1FzB,iBAAA;;;;AHajB;;;;EGLE,IAAA;AAAA;;;;;AHOF;;;;;AAEA;;;;iBGOgB,UAAA,WAAqB,WAAA,GAAc,UAAA,MAAgB,eAAA,CAAA,CACjE,GAAA,EAAK,SAAA,CAAU,CAAA,UACf,QAAA,IAAY,EAAA,EAAI,CAAA,EAAG,IAAA,EAAM,eAAA,KAAoB,CAAA,EAC7C,OAAA,GAAS,iBAAA;EACN,IAAA,EAAM,eAAA;EAAwB,QAAA,EAAU,CAAA;AAAA;;;UC5B5B,qBAAA;;EAEf,KAAA;IAAS,GAAA;IAAa,IAAA;IAAc,KAAA;IAAe,MAAA;EAAA;AAAA;AJYrD;;;;;AACA;;;;;AAEA;;AAHA,iBIGgB,eAAA,CACd,YAAA,EAAc,SAAA,CAAU,WAAA,UACxB,MAAA,GAAS,EAAA,aAAe,WAAA,SACxB,QAAA,kBACC,qBAAA;;;;;;;AJRH;;;;;AACA;;;;;AACA;;;iBKJgB,aAAA,6BAA0C,OAAA,GAAU,cAAA,CAAA,CAClE,IAAA,EAAM,SAAA,CAAU,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,CAAA,cAG1B,EAAA,EAAI,CAAA,MAAC,EAAA,EADwB,CAAA;;;;;;;;ALDvC;;;;;AACA;iBMTgB,aAAA,CAAc,KAAA,UAAe,YAAA;;;;;;;;UCT5B,KAAA;EACf,CAAA;EACA,CAAA;AAAA;AAAA,KAGU,QAAA;APaZ;;;;;AAAA,UONiB,QAAA;EACf,CAAA;EACA,CAAA;EACA,CAAA;EACA,CAAA;AAAA;;iBAIc,SAAA,CAAU,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,QAAA,EAAU,IAAA,YAAa,KAAA;;;;;;;;;;;;;;KAoB3D,SAAA;AAAA,UAEK,YAAA;EPDT;EOGN,WAAA;EP+DwB;EO7DxB,MAAA;AAAA;;iBAiEc,SAAA,CACd,IAAA,EAAM,KAAA,EACN,EAAA,EAAI,KAAA,EACJ,KAAA,GAAO,SAAA,EACP,OAAA,GAAS,YAAA;;KAcC,UAAA,6CACE,MAAA,EAAQ,QAAA,cACR,MAAA,EAAQ,QAAA;AAAA,UAEL,QAAA;EAIf,EAAA,EAAI,MAAA;EACJ,IAAA,EAAM,UAAA,CAAW,MAAA;EACjB,EAAA,EAAI,UAAA,CAAW,MAAA;EACf,KAAA,GAAQ,SAAA;EP6ByB;EO3BjC,KAAA;AAAA;AAAA,UAGe,YAAA;EACf,EAAA,EAAI,MAAA;EACJ,IAAA,EAAM,KAAA;EACN,EAAA,EAAI,KAAA;EPuBJ;EOrBA,CAAA;EACA,KAAA;AAAA;;;;AP4BD;;iBOpBe,YAAA,gEAAA,CAId,KAAA,WAAgB,QAAA,CAAS,MAAA,EAAQ,MAAA,KACjC,KAAA,EAAO,OAAA,CAAQ,MAAA,CAAO,MAAA,EAAQ,QAAA,IAC9B,OAAA,GAAS,YAAA,GACR,YAAA,CAAa,MAAA;;;;;;;APrJhB;iBQfgB,EAAA,CAAA,GAAM,MAAA,EAAQ,UAAA"}
|