@xmachines/play-xstate 1.0.0-beta.2 → 1.0.0-beta.21

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.
Files changed (80) hide show
  1. package/README.md +263 -107
  2. package/dist/define-player.d.ts +6 -56
  3. package/dist/define-player.d.ts.map +1 -1
  4. package/dist/define-player.js +8 -60
  5. package/dist/define-player.js.map +1 -1
  6. package/dist/define-player.typecheck.d.ts +2 -0
  7. package/dist/define-player.typecheck.d.ts.map +1 -0
  8. package/dist/define-player.typecheck.js +48 -0
  9. package/dist/define-player.typecheck.js.map +1 -0
  10. package/dist/errors.d.ts +66 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +76 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/guards/compose.d.ts +14 -3
  15. package/dist/guards/compose.d.ts.map +1 -1
  16. package/dist/guards/compose.js +26 -0
  17. package/dist/guards/compose.js.map +1 -1
  18. package/dist/guards/helpers.d.ts +13 -17
  19. package/dist/guards/helpers.d.ts.map +1 -1
  20. package/dist/guards/helpers.js +20 -25
  21. package/dist/guards/helpers.js.map +1 -1
  22. package/dist/guards/index.d.ts +2 -1
  23. package/dist/guards/index.d.ts.map +1 -1
  24. package/dist/guards/index.js +1 -1
  25. package/dist/guards/index.js.map +1 -1
  26. package/dist/guards/types.d.ts +3 -2
  27. package/dist/guards/types.d.ts.map +1 -1
  28. package/dist/index.d.ts +7 -8
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -5
  31. package/dist/index.js.map +1 -1
  32. package/dist/player-actor.d.ts +70 -22
  33. package/dist/player-actor.d.ts.map +1 -1
  34. package/dist/player-actor.js +290 -88
  35. package/dist/player-actor.js.map +1 -1
  36. package/dist/player-actor.typecheck.d.ts +2 -0
  37. package/dist/player-actor.typecheck.d.ts.map +1 -0
  38. package/dist/player-actor.typecheck.js +27 -0
  39. package/dist/player-actor.typecheck.js.map +1 -0
  40. package/dist/routing/build-url.d.ts +22 -16
  41. package/dist/routing/build-url.d.ts.map +1 -1
  42. package/dist/routing/build-url.js +27 -20
  43. package/dist/routing/build-url.js.map +1 -1
  44. package/dist/routing/derive-route.d.ts +2 -2
  45. package/dist/routing/derive-route.d.ts.map +1 -1
  46. package/dist/routing/derive-route.js +3 -3
  47. package/dist/routing/derive-route.js.map +1 -1
  48. package/dist/routing/format-play-route-transitions.d.ts +41 -4
  49. package/dist/routing/format-play-route-transitions.d.ts.map +1 -1
  50. package/dist/routing/format-play-route-transitions.js +22 -19
  51. package/dist/routing/format-play-route-transitions.js.map +1 -1
  52. package/dist/routing/index.d.ts +2 -1
  53. package/dist/routing/index.d.ts.map +1 -1
  54. package/dist/routing/types.d.ts +8 -13
  55. package/dist/routing/types.d.ts.map +1 -1
  56. package/dist/signals/index.d.ts +0 -1
  57. package/dist/signals/index.d.ts.map +1 -1
  58. package/dist/signals/index.js +0 -1
  59. package/dist/signals/index.js.map +1 -1
  60. package/dist/signals/state-signal.d.ts +1 -1
  61. package/dist/signals/state-signal.d.ts.map +1 -1
  62. package/dist/types.d.ts +20 -14
  63. package/dist/types.d.ts.map +1 -1
  64. package/package.json +26 -19
  65. package/dist/catalog/index.d.ts +0 -12
  66. package/dist/catalog/index.d.ts.map +0 -1
  67. package/dist/catalog/index.js +0 -11
  68. package/dist/catalog/index.js.map +0 -1
  69. package/dist/catalog/types.d.ts +0 -36
  70. package/dist/catalog/types.d.ts.map +0 -1
  71. package/dist/catalog/types.js +0 -2
  72. package/dist/catalog/types.js.map +0 -1
  73. package/dist/catalog/validate-binding.d.ts +0 -21
  74. package/dist/catalog/validate-binding.d.ts.map +0 -1
  75. package/dist/catalog/validate-binding.js +0 -30
  76. package/dist/catalog/validate-binding.js.map +0 -1
  77. package/dist/catalog/validate-props.d.ts +0 -41
  78. package/dist/catalog/validate-props.d.ts.map +0 -1
  79. package/dist/catalog/validate-props.js +0 -95
  80. package/dist/catalog/validate-props.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  * @xmachines/play-xstate - XState v5 adapter for Play Architecture
3
3
  *
4
4
  * Provides definePlayer() API for binding XState state machines to the
5
- * actor base with catalog binding, signal lifecycle, and DevTools integration.
5
+ * actor base with signal lifecycle and DevTools integration.
6
6
  *
7
- * Per RFC Play v1, this package implements the Logic Layer adapter that
7
+ * Per the Play RFC, this package implements the Logic Layer adapter that
8
8
  * transforms declarative machine definitions into live actors with signal-driven
9
9
  * reactivity.
10
10
  *
@@ -12,11 +12,10 @@
12
12
  */
13
13
  export { definePlayer } from "./define-player.js";
14
14
  export { PlayerActor } from "./player-actor.js";
15
- export type { PlayerConfig, PlayerOptions, PlayerFactory } from "./types.js";
16
- export { composeGuards, composeGuardsOr, negateGuard, hasContext, eventMatches, stateMatches, } from "./guards/index.js";
17
- export type { Guard, GuardArray } from "./guards/types.js";
15
+ export type { PlayerConfig, PlayerOptions, PlayerFactory, PlayerFactoryResumeOptions, } from "./types.js";
16
+ export { composeGuards, composeGuardsOr, negateGuard, hasContext, eventMatches, contextFieldMatches, } from "./guards/index.js";
17
+ export type { Guard, GuardArray, ComposedGuard } from "./guards/index.js";
18
18
  export { deriveRoute, isAbsoluteRoute, buildRouteUrl, formatPlayRouteTransitions, } from "./routing/index.js";
19
- export type { RouteMetadata, RouteObject, RouteContext } from "./routing/types.js";
20
- export { validateComponentBinding, validateViewProps, mergeViewProps } from "./catalog/index.js";
21
- export type { Catalog, CatalogEntry, ViewMetadata } from "./catalog/types.js";
19
+ export type { RouteMachineConfig, RouteStateNode } from "./routing/index.js";
20
+ export type { RouteContext } from "./routing/types.js";
22
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGnF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjG,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,0BAA0B,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -2,9 +2,9 @@
2
2
  * @xmachines/play-xstate - XState v5 adapter for Play Architecture
3
3
  *
4
4
  * Provides definePlayer() API for binding XState state machines to the
5
- * actor base with catalog binding, signal lifecycle, and DevTools integration.
5
+ * actor base with signal lifecycle and DevTools integration.
6
6
  *
7
- * Per RFC Play v1, this package implements the Logic Layer adapter that
7
+ * Per the Play RFC, this package implements the Logic Layer adapter that
8
8
  * transforms declarative machine definitions into live actors with signal-driven
9
9
  * reactivity.
10
10
  *
@@ -13,9 +13,7 @@
13
13
  export { definePlayer } from "./define-player.js";
14
14
  export { PlayerActor } from "./player-actor.js";
15
15
  // Guard utilities
16
- export { composeGuards, composeGuardsOr, negateGuard, hasContext, eventMatches, stateMatches, } from "./guards/index.js";
16
+ export { composeGuards, composeGuardsOr, negateGuard, hasContext, eventMatches, contextFieldMatches, } from "./guards/index.js";
17
17
  // Routing utilities
18
18
  export { deriveRoute, isAbsoluteRoute, buildRouteUrl, formatPlayRouteTransitions, } from "./routing/index.js";
19
- // Catalog utilities
20
- export { validateComponentBinding, validateViewProps, mergeViewProps } from "./catalog/index.js";
21
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,kBAAkB;AAClB,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAG3B,oBAAoB;AACpB,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,oBAAoB;AACpB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,kBAAkB;AAClB,OAAO,EACN,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,oBAAoB;AACpB,OAAO,EACN,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,GAC1B,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,6 @@
1
- import { type AnyStateMachine, type AnyActorLogic } from "xstate";
2
- import { AbstractActor, type Routable, type Viewable } from "@xmachines/play-actor";
1
+ import { type AnyStateMachine, type Actor, type AnyActorLogic, type AnyMachineSnapshot, type InputFrom, type SnapshotFrom, type EventFromLogic } from "xstate";
2
+ import { AbstractActor, type Routable, type Viewable, type ViewMetadata } from "@xmachines/play-actor";
3
3
  import { Signal } from "@xmachines/play-signals";
4
- import type { PlayEvent } from "@xmachines/play";
5
4
  import type { PlayerOptions } from "./types.js";
6
5
  /**
7
6
  * Concrete XState actor implementing Play Architecture signal protocol
@@ -63,7 +62,7 @@ import type { PlayerOptions } from "./types.js";
63
62
  * // Watcher notification scheduled via microtask
64
63
  * ```
65
64
  *
66
- * @see {@link https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md | RFC Play v1}
65
+ * @see [Play RFC](../../docs/rfc/play.md)
67
66
  * @see {@link definePlayer} for factory creation
68
67
  * @see {@link @xmachines/play-actor!AbstractActor} for signal protocol
69
68
  * @see {@link @xmachines/play-actor!Routable} for routing capability
@@ -78,20 +77,66 @@ import type { PlayerOptions } from "./types.js";
78
77
  * `Signal.Computed`) to ensure proper watcher propagation in PlayRenderer. Views are
79
78
  * cached and updated at state entry, not computed on every read.
80
79
  */
81
- export declare class PlayerActor<TMachine extends AnyStateMachine> extends AbstractActor<AnyActorLogic> implements Routable, Viewable, Record<string, any> {
80
+ export declare class PlayerActor<TMachine extends AnyStateMachine> extends AbstractActor<AnyActorLogic, EventFromLogic<TMachine>> implements Routable, Viewable {
82
81
  private _xstateActor;
83
82
  private _stateManager;
84
83
  private _options;
85
- private _catalog;
86
84
  private _viewSignal;
87
- state: Signal.State<any>;
85
+ state: Signal.State<AnyMachineSnapshot>;
86
+ /**
87
+ * A TC39 `Signal.Computed` that derives the current URL path from the active
88
+ * machine state's `meta.route` template and the actor's context.
89
+ *
90
+ * Returns `null` when the current state has no `meta.route`, or when the route
91
+ * template cannot be fully resolved (e.g. a required parameter is absent from
92
+ * context).
93
+ *
94
+ * @throws {MissingRouteParamError} When a required `:param` placeholder in the
95
+ * route template has no matching value in the actor's context. Import the class
96
+ * from `@xmachines/play-xstate/errors`.
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * // Returns "/profile/alice" when context.userId === "alice"
101
+ * const route = actor.currentRoute.get();
102
+ * ```
103
+ */
88
104
  currentRoute: Signal.Computed<string | null>;
89
- currentView: Signal.State<{
90
- component: string;
91
- props: any;
92
- } | null>;
93
- catalog: any;
94
- constructor(machine: TMachine, catalog: any, options: PlayerOptions, input?: any);
105
+ /**
106
+ * The route derived from the machine's initial state — fixed at construction,
107
+ * never changes even when the actor is restored from a snapshot.
108
+ *
109
+ * Router bridges compare this against the browser URL to distinguish a deep-link
110
+ * (non-initial URL router wins) from a restore (initial URL + actor at a
111
+ * different restored route → actor wins).
112
+ */
113
+ readonly initialRoute: string | null;
114
+ /**
115
+ * Reactive signal containing the current view spec derived from the active state's
116
+ * `meta.view` metadata.
117
+ *
118
+ * Always emits a **fresh object reference** on every state transition (including
119
+ * self-transitions with `reenter: true`) so TC39 Signal equality checks reliably
120
+ * detect changes.
121
+ *
122
+ * The emitted `ViewMetadata` has its spec element `props` enriched with
123
+ * `context.routeParams` before emission — URL path parameters (e.g. `:section?`)
124
+ * flow into component props automatically. See `mergeRouteParamsIntoProps` for the
125
+ * merge priority rules.
126
+ *
127
+ * Returns `null` when the current state has no `meta.view` metadata.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const view = actor.currentView.get();
132
+ * if (view) {
133
+ * console.log(view.component); // e.g. "Dashboard"
134
+ * console.log(view.spec); // @json-render/core Spec object
135
+ * }
136
+ * ```
137
+ */
138
+ currentView: Signal.State<ViewMetadata | null>;
139
+ constructor(machine: TMachine, options: PlayerOptions<TMachine>, input?: InputFrom<TMachine>, snapshot?: SnapshotFrom<TMachine>);
95
140
  /**
96
141
  * Start the actor
97
142
  *
@@ -103,27 +148,30 @@ export declare class PlayerActor<TMachine extends AnyStateMachine> extends Abstr
103
148
  */
104
149
  stop(): this;
105
150
  /**
106
- * Send event to actor
151
+ * Send an event to the underlying XState actor.
152
+ *
153
+ * The actor's state machine guards decide whether the event causes a transition.
154
+ * Pass any event from the machine's event union — domain events, routing events, etc.
107
155
  *
108
- * Forwards events to the underlying XState actor. The actor's state machine
109
- * guards determine whether each event is valid from the current state.
156
+ * @param event - An event from the machine's `EventFromLogic<TMachine>` union.
110
157
  *
111
- * @param event - Any event object with a type property
158
+ * @throws {InvalidEventError} When `event` is not a plain object (`null`, `undefined`,
159
+ * a string, number, etc.). Import the class from `@xmachines/play-xstate/errors`.
112
160
  *
113
161
  * @example
114
162
  * ```typescript
115
- * // Domain event
116
- * actor.send({ type: 'auth.login', userId: '123' });
163
+ * // Domain event (typed to machine's event union)
164
+ * actor.send({ type: "auth.login", userId: "123" });
117
165
  *
118
166
  * // Routing event
119
- * actor.send({ type: 'play.route', to: '#home' });
167
+ * actor.send({ type: "play.route", to: "#home" });
120
168
  * ```
121
169
  */
122
- send(event: PlayEvent): void;
170
+ send(event: EventFromLogic<TMachine>): void;
123
171
  /**
124
172
  * Get current snapshot
125
173
  */
126
- getSnapshot(): any;
174
+ getSnapshot(): ReturnType<Actor<TMachine>["getSnapshot"]>;
127
175
  /**
128
176
  * Validate view at state entry and cache result
129
177
  *
@@ -1 +1 @@
1
- {"version":3,"file":"player-actor.d.ts","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,eAAe,EAAc,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,WAAW,CAAC,QAAQ,SAAS,eAAe,CACxD,SAAQ,aAAa,CAAC,aAAa,CACnC,YAAW,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAElD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,WAAW,CAAyD;IAGrE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACpE,OAAO,EAAE,GAAG,CAAC;gBAER,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,GAAG;IA+EhF;;;;OAIG;IACM,KAAK,IAAI,IAAI;IAWtB;;OAEG;IACM,IAAI,IAAI,IAAI;IAYrB;;;;;;;;;;;;;;;;OAgBG;IACM,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAsBrC;;OAEG;IACM,WAAW,IAAI,GAAG;IAI3B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAwE7B;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"player-actor.d.ts","sourceRoot":"","sources":["../src/player-actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAEd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACN,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAIjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2OhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,qBAAa,WAAW,CAAC,QAAQ,SAAS,eAAe,CACxD,SAAQ,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,QAAQ,CAAC,CAC7D,YAAW,QAAQ,EAAE,QAAQ;IAE7B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,WAAW,CAAoC;IAGhD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;;;OAiBG;IACI,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpD;;;;;;;OAOG;IACH,SAAgB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;gBAGrD,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChC,KAAK,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;IAqElC;;;;OAIG;IACM,KAAK,IAAI,IAAI;IAWtB;;OAEG;IACM,IAAI,IAAI,IAAI;IAYrB;;;;;;;;;;;;;;;;;;;OAmBG;IACM,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI;IAoBpD;;OAEG;IACM,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;IAIlE;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAGf"}