@dxos/react-ui-gameboard 0.8.4-main.fd6878d → 0.8.4-main.fffef41
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/lib/browser/index.mjs +133 -98
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +133 -98
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Chessboard/Chessboard.d.ts +9 -4
- package/dist/types/src/components/Chessboard/Chessboard.d.ts.map +1 -1
- package/dist/types/src/components/Chessboard/Chessboard.stories.d.ts +20 -18
- package/dist/types/src/components/Chessboard/Chessboard.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chessboard/chess.d.ts +12 -6
- package/dist/types/src/components/Chessboard/chess.d.ts.map +1 -1
- package/dist/types/src/components/Chessboard/chess.test.d.ts +2 -0
- package/dist/types/src/components/Chessboard/chess.test.d.ts.map +1 -0
- package/dist/types/src/components/Gameboard/Gameboard.d.ts +3 -2
- package/dist/types/src/components/Gameboard/Gameboard.d.ts.map +1 -1
- package/dist/types/src/components/Gameboard/Piece.d.ts +1 -1
- package/dist/types/src/components/Gameboard/Piece.d.ts.map +1 -1
- package/dist/types/src/components/Gameboard/types.d.ts +1 -0
- package/dist/types/src/components/Gameboard/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -19
- package/src/components/Chessboard/Chessboard.stories.tsx +13 -15
- package/src/components/Chessboard/Chessboard.tsx +28 -21
- package/src/components/Chessboard/chess.test.ts +19 -0
- package/src/components/Chessboard/chess.ts +103 -54
- package/src/components/Gameboard/Gameboard.tsx +2 -1
- package/src/components/Gameboard/Piece.tsx +8 -5
- package/src/components/Gameboard/types.ts +1 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type ReadonlySignal } from '@preact/signals-core';
|
|
2
2
|
import { Chess as ChessJS } from 'chess.js';
|
|
3
3
|
import { type FC, type SVGProps } from 'react';
|
|
4
|
-
import { type GameboardModel, type Location, type Move, type PieceMap, type
|
|
4
|
+
import { type GameboardModel, type Location, type Move, type PieceMap, type Player } from '../Gameboard';
|
|
5
5
|
export type ChessPiece = 'BK' | 'BQ' | 'BR' | 'BB' | 'BN' | 'BP' | 'WK' | 'WQ' | 'WR' | 'WB' | 'WN' | 'WP';
|
|
6
6
|
export declare const ChessPieces: Record<ChessPiece, FC<SVGProps<SVGSVGElement>>>;
|
|
7
7
|
export declare const posToLocation: (pos: string) => Location;
|
|
8
8
|
export declare const locationToPos: ([row, col]: Location) => string;
|
|
9
|
+
export declare const getRawPgn: (pgn: string) => string;
|
|
9
10
|
export declare const boardStyles: {
|
|
10
11
|
black: string;
|
|
11
12
|
white: string;
|
|
@@ -19,10 +20,14 @@ export declare const createChess: (pgn?: string) => ChessJS;
|
|
|
19
20
|
export declare class ChessModel implements GameboardModel<ChessPiece> {
|
|
20
21
|
private readonly _chess;
|
|
21
22
|
private readonly _pieces;
|
|
23
|
+
private readonly _moveIndex;
|
|
22
24
|
constructor(pgn?: string);
|
|
25
|
+
get readonly(): boolean;
|
|
23
26
|
get turn(): Player;
|
|
24
|
-
get pieces(): ReadonlySignal<PieceMap<ChessPiece>>;
|
|
25
27
|
get game(): ChessJS;
|
|
28
|
+
get pieces(): ReadonlySignal<PieceMap<ChessPiece>>;
|
|
29
|
+
get moveIndex(): ReadonlySignal<number>;
|
|
30
|
+
get fen(): string;
|
|
26
31
|
/**
|
|
27
32
|
* PGN with headers.
|
|
28
33
|
*
|
|
@@ -35,7 +40,7 @@ export declare class ChessModel implements GameboardModel<ChessPiece> {
|
|
|
35
40
|
* [Result "*"]
|
|
36
41
|
*/
|
|
37
42
|
get pgn(): string;
|
|
38
|
-
|
|
43
|
+
setMoveIndex(index: number): void;
|
|
39
44
|
update(pgn?: string): void;
|
|
40
45
|
isValidMove(move: Move): boolean;
|
|
41
46
|
canPromote(move: Move): boolean;
|
|
@@ -44,10 +49,11 @@ export declare class ChessModel implements GameboardModel<ChessPiece> {
|
|
|
44
49
|
/**
|
|
45
50
|
* Update pieces preserving identity.
|
|
46
51
|
*/
|
|
47
|
-
private
|
|
52
|
+
private _updateBoard;
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
|
-
*
|
|
55
|
+
* Starting from a new game, assign piece IDs based on their starting position.
|
|
56
|
+
* Then iterate through the history of the provided game and update the piece map.
|
|
51
57
|
*/
|
|
52
|
-
export declare const
|
|
58
|
+
export declare const createPieceMap: (chess: ChessJS) => PieceMap<ChessPiece>;
|
|
53
59
|
//# sourceMappingURL=chess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chess.d.ts","sourceRoot":"","sources":["../../../../../src/components/Chessboard/chess.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chess.d.ts","sourceRoot":"","sources":["../../../../../src/components/Chessboard/chess.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM/C,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,IAAI,EACT,KAAK,QAAQ,EAEb,KAAK,MAAM,EAEZ,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3G,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAS,CAAC;AAElF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,QAI3C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,QAAQ,KAAG,MAEpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,WAEpC,CAAC;AAyBF,eAAO,MAAM,WAAW;;;;CAAkB,CAAC;AAE3C,eAAO,MAAM,cAAc,GAAI,YAAY,QAAQ,WAElD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAW1C,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,YAAW,cAAc,CAAC,UAAU,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,GAAG,CAAC,EAAE,MAAM;IAIxB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAEjD;IAED,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,CAEtC;IAED,IAAI,GAAG,WAEN;IAED;;;;;;;;;;OAUG;IAEH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,YAAY,CAAC,KAAK,EAAE,MAAM;IAS1B,MAAM,CAAC,GAAG,SAAK,GAAG,IAAI;IAuBtB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAIhC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAM/B,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAU7B,cAAc,IAAI,OAAO;IAazB;;OAEG;IACH,OAAO,CAAC,YAAY;CAIrB;AA+BD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,QAAQ,CAAC,UAAU,CAgBlE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chess.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/Chessboard/chess.test.ts"],"names":[],"mappings":""}
|
|
@@ -12,6 +12,7 @@ export type GameboardContextValue<M extends GameboardModel> = {
|
|
|
12
12
|
declare const useGameboardContext: <M extends GameboardModel>(consumerName: string) => GameboardContextValue<M>;
|
|
13
13
|
type GameboardRootProps<M extends GameboardModel> = PropsWithChildren<{
|
|
14
14
|
model?: M;
|
|
15
|
+
moveNumber?: number;
|
|
15
16
|
onDrop?: (move: Move) => boolean;
|
|
16
17
|
}>;
|
|
17
18
|
type GameboardContentProps = ThemedClassName<PropsWithChildren<{
|
|
@@ -20,7 +21,7 @@ type GameboardContentProps = ThemedClassName<PropsWithChildren<{
|
|
|
20
21
|
}>>;
|
|
21
22
|
export declare const Gameboard: {
|
|
22
23
|
Root: {
|
|
23
|
-
<M extends GameboardModel>({ children, model, onDrop }: GameboardRootProps<M>): React.JSX.Element;
|
|
24
|
+
<M extends GameboardModel>({ children, model, moveNumber, onDrop }: GameboardRootProps<M>): React.JSX.Element;
|
|
24
25
|
displayName: string;
|
|
25
26
|
};
|
|
26
27
|
Content: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<{
|
|
@@ -29,7 +30,7 @@ export declare const Gameboard: {
|
|
|
29
30
|
}>, "className"> & {
|
|
30
31
|
classNames?: import("@dxos/react-ui-types").ClassNameValue;
|
|
31
32
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
-
Piece: React.MemoExoticComponent<({ classNames, Component, piece,
|
|
33
|
+
Piece: React.MemoExoticComponent<({ classNames, Component, piece, bounds, label, onClick }: PieceProps) => React.JSX.Element>;
|
|
33
34
|
Square: React.MemoExoticComponent<({ location, bounds, label, classNames }: SquareProps) => React.JSX.Element>;
|
|
34
35
|
};
|
|
35
36
|
export { useGameboardContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gameboard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/Gameboard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAgD,MAAM,OAAO,CAAC;AAGpG,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AAEhG,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IAAI;IAC5D,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC,CAAC;AAIF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,EAAE,cAAc,MAAM,KAAG,qBAAqB,CAAC,CAAC,CAEpG,CAAC;AAMF,KAAK,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,iBAAiB,CAAC;IACpE,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CAClC,CAAC,CAAC;AAkEH,KAAK,qBAAqB,GAAG,eAAe,CAAC,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAAC;AAsBvG,eAAO,MAAM,SAAS;;SAnFC,CAAC,SAAS,cAAc
|
|
1
|
+
{"version":3,"file":"Gameboard.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/Gameboard.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAgD,MAAM,OAAO,CAAC;AAGpG,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,KAAK,WAAW,EAAuB,MAAM,SAAS,CAAC;AAEhG,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IAAI;IAC5D,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC,CAAC;AAIF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,EAAE,cAAc,MAAM,KAAG,qBAAqB,CAAC,CAAC,CAEpG,CAAC;AAMF,KAAK,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,iBAAiB,CAAC;IACpE,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CAClC,CAAC,CAAC;AAkEH,KAAK,qBAAqB,GAAG,eAAe,CAAC,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAAC;AAsBvG,eAAO,MAAM,SAAS;;SAnFC,CAAC,SAAS,cAAc,2CAA2C,kBAAkB,CAAC,CAAC,CAAC;;;;eA6DvC,OAAO;kBAAY,OAAO;;;;;;CA2BjG,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,IAAI,mBAAmB,EACjC,WAAW,IAAI,oBAAoB,GACpC,CAAC"}
|
|
@@ -10,5 +10,5 @@ export type PieceProps = ThemedClassName<{
|
|
|
10
10
|
orientation?: Player;
|
|
11
11
|
onClick?: () => void;
|
|
12
12
|
}>;
|
|
13
|
-
export declare const Piece: React.MemoExoticComponent<({ classNames, Component, piece,
|
|
13
|
+
export declare const Piece: React.MemoExoticComponent<({ classNames, Component, piece, bounds, label, onClick }: PieceProps) => React.JSX.Element>;
|
|
14
14
|
//# sourceMappingURL=Piece.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Piece.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/Piece.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAqC,MAAM,OAAO,CAAC;AAKzF,OAAO,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"Piece.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/Piece.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAqC,MAAM,OAAO,CAAC;AAKzF,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAIrE,OAAO,EAAiB,KAAK,WAAW,EAAE,KAAK,MAAM,EAA+B,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;IACvC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC,CAAC;AAEH,eAAO,MAAM,KAAK,uFAAmE,UAAU,uBA0G7F,CAAC"}
|
|
@@ -27,6 +27,7 @@ export declare const isEqualLocation: (l1: Location, l2: Location) => boolean;
|
|
|
27
27
|
* Generic board model.
|
|
28
28
|
*/
|
|
29
29
|
export interface GameboardModel<T extends PieceType = PieceType> {
|
|
30
|
+
readonly: boolean;
|
|
30
31
|
turn: Player;
|
|
31
32
|
/** @reactive */
|
|
32
33
|
pieces: ReadonlySignal<PieceMap<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,MAA4B,CAAC;AACnF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,QAAkD,CAAC;AAGlG,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAMtB,CAAC;AAG7B,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QACwC,CAAC;AAE9F,eAAO,MAAM,eAAe,GAAI,IAAI,QAAQ,EAAE,IAAI,QAAQ,KAAG,OAA6C,CAAC;AAE3G;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CACtC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Gameboard/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,MAA4B,CAAC;AACnF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,QAAkD,CAAC;AAGlG,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAMtB,CAAC;AAG7B,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QACwC,CAAC;AAE9F,eAAO,MAAM,eAAe,GAAI,IAAI,QAAQ,EAAE,IAAI,QAAQ,KAAG,OAA6C,CAAC;AAE3G;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CACtC"}
|