@number10/jsx-pixi 5.0.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.
Files changed (63) hide show
  1. package/LICENSE +667 -0
  2. package/README.md +46 -0
  3. package/dist/appliers/pixi-background.d.ts +13 -0
  4. package/dist/appliers/pixi-background.d.ts.map +1 -0
  5. package/dist/appliers/pixi-base.d.ts +10 -0
  6. package/dist/appliers/pixi-base.d.ts.map +1 -0
  7. package/dist/appliers/pixi-gesture.d.ts +17 -0
  8. package/dist/appliers/pixi-gesture.d.ts.map +1 -0
  9. package/dist/appliers/pixi-node.d.ts +59 -0
  10. package/dist/appliers/pixi-node.d.ts.map +1 -0
  11. package/dist/appliers/pixi-particles.d.ts +86 -0
  12. package/dist/appliers/pixi-particles.d.ts.map +1 -0
  13. package/dist/appliers/pixi-text.d.ts +16 -0
  14. package/dist/appliers/pixi-text.d.ts.map +1 -0
  15. package/dist/appliers/pixi-tooltip.d.ts +6 -0
  16. package/dist/appliers/pixi-tooltip.d.ts.map +1 -0
  17. package/dist/appliers/pixi-vector-draw.d.ts +11 -0
  18. package/dist/appliers/pixi-vector-draw.d.ts.map +1 -0
  19. package/dist/custom/Particles.d.ts +5 -0
  20. package/dist/custom/Particles.d.ts.map +1 -0
  21. package/dist/index.cjs +8317 -0
  22. package/dist/index.cjs.map +1 -0
  23. package/dist/index.d.ts +30 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +8208 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/jsx-dev-runtime.cjs +9 -0
  28. package/dist/jsx-dev-runtime.d.ts +7 -0
  29. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  30. package/dist/jsx-dev-runtime.js +2 -0
  31. package/dist/jsx-runtime.cjs +21 -0
  32. package/dist/jsx-runtime.d.ts +7 -0
  33. package/dist/jsx-runtime.d.ts.map +1 -0
  34. package/dist/jsx-runtime.js +2 -0
  35. package/dist/jsx-types.d.ts +10 -0
  36. package/dist/jsx-types.d.ts.map +1 -0
  37. package/dist/mount-pixi.d.ts +23 -0
  38. package/dist/mount-pixi.d.ts.map +1 -0
  39. package/dist/pixi-debug-snapshot.d.ts +37 -0
  40. package/dist/pixi-debug-snapshot.d.ts.map +1 -0
  41. package/dist/pixi-effects-bridge.d.ts +2 -0
  42. package/dist/pixi-effects-bridge.d.ts.map +1 -0
  43. package/dist/pixi-gesture-manager.d.ts +42 -0
  44. package/dist/pixi-gesture-manager.d.ts.map +1 -0
  45. package/dist/pixi-host-adapter.d.ts +21 -0
  46. package/dist/pixi-host-adapter.d.ts.map +1 -0
  47. package/dist/pixi-layout-bridge.d.ts +8 -0
  48. package/dist/pixi-layout-bridge.d.ts.map +1 -0
  49. package/dist/pixi-scene-backgrounds.d.ts +68 -0
  50. package/dist/pixi-scene-backgrounds.d.ts.map +1 -0
  51. package/dist/pixi-scheduler.d.ts +23 -0
  52. package/dist/pixi-scheduler.d.ts.map +1 -0
  53. package/dist/pixi-surface-adapter.d.ts +77 -0
  54. package/dist/pixi-surface-adapter.d.ts.map +1 -0
  55. package/dist/pixi-vdom-runtime.d.ts +2 -0
  56. package/dist/pixi-vdom-runtime.d.ts.map +1 -0
  57. package/dist/utils/normalize-size.d.ts +17 -0
  58. package/dist/utils/normalize-size.d.ts.map +1 -0
  59. package/dist/vector/PixiVectorDrawContext.d.ts +35 -0
  60. package/dist/vector/PixiVectorDrawContext.d.ts.map +1 -0
  61. package/dist/vector/index.d.ts +2 -0
  62. package/dist/vector/index.d.ts.map +1 -0
  63. package/package.json +95 -0
package/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # @number10/jsx-pixi
2
+
3
+ PixiJS 8 renderer adapter for the PhaserJSX framework — provides Pixi-specific runtime, mounting, backgrounds, gestures, and effects.
4
+
5
+ ## Status
6
+
7
+ ✅ Full implementation — HostAdapter, SurfaceAdapter, VDOM runtime, overlays, gestures, effects, backgrounds, vector draw, particles.
8
+
9
+ ## Usage
10
+
11
+ ```tsx
12
+ /** @jsxImportSource @number10/jsx-pixi */
13
+ import { View, Text, Button } from '@number10/jsx-components'
14
+ import { useState } from '@number10/jsx-core'
15
+ import { mountPixiJSX } from '@number10/jsx-pixi'
16
+
17
+ await mountPixiJSX({
18
+ component: App,
19
+ target: document.getElementById('app')!,
20
+ width: 800,
21
+ height: 600,
22
+ backgroundColor: '#f0f0f0',
23
+ })
24
+ ```
25
+
26
+ ## What's included
27
+
28
+ - **Pixi mount helper** (`mountPixiJSX`, VDOM reconciliation)
29
+ - **Pixi adapters** (`PixiHostAdapter`, `PixiSurfaceAdapter`)
30
+ - **Debug snapshot hook** (`usePixiDebugSnapshot`)
31
+ - **Scene backgrounds** (`addPixiSceneBackground`)
32
+ - **Vector drawing** (`PixiVectorDrawContext`)
33
+ - **Re-exports** from `@number10/jsx-components` and `@number10/jsx-core`
34
+
35
+ ## Import from the right package
36
+
37
+ | Need | Import from |
38
+ | ---------------------- | -------------------------- |
39
+ | Portable UI components | `@number10/jsx-components` |
40
+ | Pixi mount + adapters | `@number10/jsx-pixi` |
41
+ | Phaser runtime | `@number10/jsx-phaser` |
42
+ | Legacy all-in-one | `@number10/phaserjsx` |
43
+
44
+ ## License
45
+
46
+ GPL-3.0-only
@@ -0,0 +1,13 @@
1
+ import { PixiNode } from './pixi-node';
2
+ /**
3
+ * Apply background color, border, and corner radius to a view node.
4
+ * Cleans up previous background graphics before creating a new one.
5
+ *
6
+ * When `props.border` (BorderPropsV2) is set, it takes precedence over
7
+ * the legacy `borderWidth`/`borderColor`/`borderAlpha` props.
8
+ *
9
+ * @param node - Target Pixi view node
10
+ * @param props - Props object (backgroundColor, borderColor, cornerRadius, etc.)
11
+ */
12
+ export declare function applyViewBackground(node: PixiNode, props: Record<string, unknown>): void;
13
+ //# sourceMappingURL=pixi-background.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-background.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-background.ts"],"names":[],"mappings":"AAcA,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AA2IhE;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA+HxF"}
@@ -0,0 +1,10 @@
1
+ import { PixiNode } from './pixi-node';
2
+ /**
3
+ * Apply base transform/visibility props to a Pixi node.
4
+ * Layout stays on the outer node. The inner effect container receives
5
+ * transform props so temporary effect animation can run independently.
6
+ * @param node - Target outer Pixi node
7
+ * @param props - Props object (x, y, alpha, visible, angle, scale)
8
+ */
9
+ export declare function applyBaseProps(node: PixiNode, props: Record<string, unknown>): void;
10
+ //# sourceMappingURL=pixi-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-base.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-base.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAwC3C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA6CnF"}
@@ -0,0 +1,17 @@
1
+ import { GestureProps } from '@number10/jsx-core';
2
+ import * as PIXI from 'pixi.js';
3
+ /**
4
+ * Apply gesture props to a Pixi container.
5
+ * Registers, updates, or unregisters the container with the PixiGestureManager.
6
+ * @param container - Target PIXI container
7
+ * @param app - PIXI Application (needed to get the gesture manager singleton)
8
+ * @param props - Gesture props from the component
9
+ */
10
+ export declare function applyGestureProps(container: PIXI.Container, app: PIXI.Application, props: Partial<GestureProps<PIXI.FederatedPointerEvent>>): void;
11
+ /**
12
+ * Update gesture hit area after layout recalculation.
13
+ * @param container - Target PIXI container
14
+ * @param app - PIXI Application
15
+ */
16
+ export declare function updateGestureHitArea(container: PIXI.Container, app: PIXI.Application): void;
17
+ //# sourceMappingURL=pixi-gesture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-gesture.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-gesture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAsB/B;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GACvD,IAAI,CA4BN;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAO3F"}
@@ -0,0 +1,59 @@
1
+ import { BackgroundProps, EffectTransformOrigin, HostNode, HostParent, LayoutProps, SurfaceContext, TransformProps } from '@number10/jsx-core';
2
+ import * as PIXI from 'pixi.js';
3
+ export type PixiNode = PIXI.Container & {
4
+ __pixiHostNode?: true;
5
+ __pixiNode?: {
6
+ destroyed: boolean;
7
+ };
8
+ __effectContainer?: PIXI.Container;
9
+ __effectOrigin?: EffectTransformOrigin;
10
+ __layoutBox?: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ __cachedLayoutSize?: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ __getLayoutSize?: () => {
19
+ width: number;
20
+ height: number;
21
+ };
22
+ __layoutProps?: Partial<LayoutProps & BackgroundProps & TransformProps>;
23
+ __layoutParent?: unknown;
24
+ __backgroundGraphics?: PIXI.Graphics | undefined;
25
+ __surfaceContext?: SurfaceContext;
26
+ __layoutAccessorsInstalled?: true;
27
+ __signalEffects?: Map<string, () => void>;
28
+ __lastPropValues?: Record<string, unknown>;
29
+ __sprite?: PIXI.Sprite | undefined;
30
+ __nineSliceSprite?: PIXI.NineSliceSprite | undefined;
31
+ list?: unknown[];
32
+ setPosition?: (x: number, y: number) => PixiNode;
33
+ setSize?: (width: number, height: number) => PixiNode;
34
+ };
35
+ export type PixiTextNode = PixiNode & {
36
+ __textBackgroundGraphics?: PIXI.Graphics | undefined;
37
+ __textDisplay: PIXI.Text;
38
+ __textStyleSource?: Record<string, unknown>;
39
+ };
40
+ /** Cast a HostNode to PIXI.Container. */
41
+ export declare function asContainer(node: HostNode): PIXI.Container;
42
+ /** Check whether a node has been destroyed. */
43
+ export declare function isDestroyed(node: HostNode | HostParent): boolean;
44
+ /** Check whether a PixiNode is a text node (has __textDisplay). */
45
+ export declare function isTextNode(node: PixiNode): node is PixiTextNode;
46
+ /** Check whether a display object is a host node wrapper. */
47
+ export declare function isHostNodeContainer(value: unknown): value is PixiNode;
48
+ /** Get the animatable/content container for a host node. */
49
+ export declare function getContentContainer(node: HostNode | HostParent | PixiNode): PIXI.Container;
50
+ /** Set the layout box dimensions. Only stores numeric pixel values. */
51
+ export declare function setLayoutSize(node: PixiNode, width: number, height: number): void;
52
+ /** Set the active transform origin for the effect container. */
53
+ export declare function setEffectTransformOrigin(node: PixiNode, origin: EffectTransformOrigin): void;
54
+ /** Get measured size — prefers text local bounds, falls back to __layoutBox. */
55
+ export declare function getMeasuredSize(node: PixiNode): {
56
+ width: number;
57
+ height: number;
58
+ };
59
+ //# sourceMappingURL=pixi-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-node.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { PropsDefaultExtension, TransformProps } from '@number10/jsx-core';
2
+ import { PixiNode } from './pixi-node';
3
+ import * as PIXI from 'pixi.js';
4
+ export type ParticleValue = number | {
5
+ min?: number;
6
+ max?: number;
7
+ };
8
+ export interface ParticlesHandle extends PIXI.Container {
9
+ burst: (count?: number) => void;
10
+ clear: () => void;
11
+ start: () => void;
12
+ stop: () => void;
13
+ }
14
+ export interface ParticlesProps extends TransformProps, PropsDefaultExtension<ParticlesHandle> {
15
+ texture?: string;
16
+ frame?: string | number;
17
+ depth?: number;
18
+ visible?: boolean;
19
+ emitting?: boolean;
20
+ maxParticles?: number;
21
+ frequency?: number;
22
+ lifespan?: ParticleValue;
23
+ speed?: ParticleValue;
24
+ emissionAngle?: number;
25
+ /** @deprecated Use emissionAngle. */
26
+ direction?: number;
27
+ spread?: number;
28
+ startScale?: ParticleValue;
29
+ endScale?: number;
30
+ startAlpha?: number;
31
+ endAlpha?: number;
32
+ rotationSpeed?: ParticleValue;
33
+ tint?: number | string;
34
+ blendMode?: 'normal' | 'add' | 'screen' | 'multiply';
35
+ anchor?: number | {
36
+ x?: number;
37
+ y?: number;
38
+ };
39
+ }
40
+ type RuntimeParticle = {
41
+ alphaEnd: number;
42
+ alphaStart: number;
43
+ angularVelocity: number;
44
+ lifeMs: number;
45
+ particle: PIXI.Particle;
46
+ scaleEnd: number;
47
+ scaleStart: number;
48
+ velocityX: number;
49
+ velocityY: number;
50
+ livedMs: number;
51
+ };
52
+ type ResolvedParticlesConfig = {
53
+ anchorX: number;
54
+ anchorY: number;
55
+ blendMode: NonNullable<ParticlesProps['blendMode']>;
56
+ direction: number;
57
+ emitting: boolean;
58
+ endAlpha: number;
59
+ endScale: number;
60
+ frame: string | number | undefined;
61
+ frequency: number;
62
+ lifespan: ParticleValue;
63
+ maxParticles: number;
64
+ rotationSpeed: ParticleValue;
65
+ speed: ParticleValue;
66
+ spread: number;
67
+ startAlpha: number;
68
+ startScale: ParticleValue;
69
+ texture: string | undefined;
70
+ tint: number | string | undefined;
71
+ };
72
+ export type PixiParticlesNode = PixiNode & ParticlesHandle & {
73
+ __particles?: RuntimeParticle[];
74
+ __particlesConfig?: ResolvedParticlesConfig;
75
+ __particlesContainer?: PIXI.ParticleContainer;
76
+ __particlesFrame?: string | number | undefined;
77
+ __particlesTexture?: string | undefined;
78
+ __particlesTickerCancel?: (() => void) | undefined;
79
+ __spawnAccumulatorMs?: number;
80
+ };
81
+ export declare function initializePixiParticlesNode(node: PixiParticlesNode): void;
82
+ export declare function applyParticlesProps(node: PixiParticlesNode, props: Record<string, unknown>): void;
83
+ export declare function destroyPixiParticlesNode(node: PixiNode): void;
84
+ export declare function isPixiParticlesNode(node: PixiNode): node is PixiParticlesNode;
85
+ export {};
86
+ //# sourceMappingURL=pixi-particles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-particles.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-particles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { PixiNode, PixiTextNode } from './pixi-node';
2
+ /**
3
+ * Apply text content, style, and background to a text node.
4
+ * Updates the internal PIXI.Text display object and draws optional background.
5
+ * @param text - Pixi text container node
6
+ * @param props - Props object (text, style, width, maxWidth)
7
+ */
8
+ export declare function applyTextProps(text: PixiTextNode, props: Record<string, unknown>): void;
9
+ /**
10
+ * Apply text content and background to a Pixi text node (used by setSize callback).
11
+ * Unlike applyTextProps, this reuses the stored style source.
12
+ * @param node - Pixi text container node
13
+ * @param props - Props object (style.source from __textStyleSource, width)
14
+ */
15
+ export declare function applyTextAndBackground(node: PixiNode, props: Record<string, unknown>): void;
16
+ //# sourceMappingURL=pixi-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-text.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-text.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkCzD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAoBvF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAO3F"}
@@ -0,0 +1,6 @@
1
+ import { TooltipCallback } from '@number10/jsx-core';
2
+ import * as PIXI from 'pixi.js';
3
+ export declare function updateTooltipHitArea(container: PIXI.Container): void;
4
+ export declare function cleanupTooltipProps(container: PIXI.Container): void;
5
+ export declare function applyTooltipProps(container: PIXI.Container, app: PIXI.Application, callback: TooltipCallback | undefined): void;
6
+ //# sourceMappingURL=pixi-tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-tooltip.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-tooltip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAoB,eAAe,EAAiB,MAAM,oBAAoB,CAAA;AAE1F,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAkI/B,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAMpE;AAuUD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CA4BnE;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,QAAQ,EAAE,eAAe,GAAG,SAAS,GACpC,IAAI,CAmDN"}
@@ -0,0 +1,11 @@
1
+ import { PixiVectorDrawContext } from '../vector';
2
+ import { PixiNode } from './pixi-node';
3
+ import * as PIXI from 'pixi.js';
4
+ export type PixiVectorDrawNode = PixiNode & {
5
+ __vectorGraphics?: PIXI.Graphics | undefined;
6
+ __vectorDrawContext?: PixiVectorDrawContext | undefined;
7
+ __drawDependencies?: unknown[] | undefined;
8
+ __hasDrawnVectorContent?: boolean | undefined;
9
+ };
10
+ export declare function applyVectorDrawProps(node: PixiVectorDrawNode, prev: Record<string, unknown>, next: Record<string, unknown>): void;
11
+ //# sourceMappingURL=pixi-vector-draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-vector-draw.d.ts","sourceRoot":"","sources":["../../src/appliers/pixi-vector-draw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAsC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG;IAC1C,gBAAgB,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC5C,mBAAmB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACvD,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IAC1C,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9C,CAAA;AAmED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAUN"}
@@ -0,0 +1,5 @@
1
+ import { VNodeLike } from '@number10/jsx-core';
2
+ import { ParticlesProps } from '../appliers/pixi-particles';
3
+ export type { ParticlesHandle, ParticlesProps, ParticleValue } from '../appliers/pixi-particles';
4
+ export declare function Particles(props: ParticlesProps): VNodeLike;
5
+ //# sourceMappingURL=Particles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Particles.d.ts","sourceRoot":"","sources":["../../src/custom/Particles.tsx"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEhG,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAE1D"}