@toptal/picasso-rich-text-editor 8.0.1 → 8.0.2
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/LexicalEditor/utils/register-lexical-events.js +15 -1
- package/LexicalEditor/utils/register-lexical-events.js.map +1 -1
- package/LexicalEditor/utils/register-lexical-events.test.js +12 -7
- package/LexicalEditor/utils/register-lexical-events.test.js.map +1 -1
- package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js +1 -1
- package/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.js.map +1 -1
- package/package.json +1 -1
- package/plugins/EmojiPlugin/EmojiPlugin.test.js +9 -0
- package/plugins/EmojiPlugin/EmojiPlugin.test.js.map +1 -1
- package/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.js +1 -1
- package/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.js.map +1 -1
- package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.js +8 -1
- package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.js.map +1 -1
- package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.js +1 -0
- package/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.js.map +1 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { COMMAND_PRIORITY_CRITICAL, SELECTION_CHANGE_COMMAND } from 'lexical';
|
|
1
|
+
import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_NORMAL, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
|
|
2
|
+
import { $isHeadingNode } from '@lexical/rich-text';
|
|
3
|
+
import { getSelectedNode } from './get-selected-node';
|
|
2
4
|
// Subscribes to Lexical editor events and updates the toolbar state accordingly
|
|
3
5
|
export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
|
|
4
6
|
const editorListenerCleanup = editor.registerUpdateListener(({ editorState }) => {
|
|
@@ -6,6 +8,17 @@ export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
|
|
|
6
8
|
updateToolbar();
|
|
7
9
|
});
|
|
8
10
|
});
|
|
11
|
+
const formatCommandCleanup = editor.registerCommand(FORMAT_TEXT_COMMAND, () => {
|
|
12
|
+
const selection = $getSelection();
|
|
13
|
+
if ($isRangeSelection(selection)) {
|
|
14
|
+
const node = getSelectedNode(selection);
|
|
15
|
+
const parent = node.getParent();
|
|
16
|
+
if ($isHeadingNode(parent) || $isHeadingNode(node)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}, COMMAND_PRIORITY_NORMAL);
|
|
9
22
|
const editorCommandsCleanup = editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
|
|
10
23
|
updateToolbar();
|
|
11
24
|
return false;
|
|
@@ -14,6 +27,7 @@ export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
|
|
|
14
27
|
return () => {
|
|
15
28
|
editorListenerCleanup();
|
|
16
29
|
editorCommandsCleanup();
|
|
30
|
+
formatCommandCleanup();
|
|
17
31
|
};
|
|
18
32
|
};
|
|
19
33
|
//# sourceMappingURL=register-lexical-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-lexical-events.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"register-lexical-events.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAOrD,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,EACN,aAAa,GACS,EAAE,EAAE;IAC1B,MAAM,qBAAqB,GAAG,MAAM,CAAC,sBAAsB,CACzD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QAClB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,aAAa,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,CACjD,mBAAmB,EACnB,GAAG,EAAE;QACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;QAEjC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAE/B,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;gBAClD,OAAO,IAAI,CAAA;aACZ;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC,EACD,uBAAuB,CACxB,CAAA;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAClD,wBAAwB,EACxB,GAAG,EAAE;QACH,aAAa,EAAE,CAAA;QAEf,OAAO,KAAK,CAAA;IACd,CAAC,EACD,yBAAyB,CAC1B,CAAA;IAED,mEAAmE;IACnE,OAAO,GAAG,EAAE;QACV,qBAAqB,EAAE,CAAA;QACvB,qBAAqB,EAAE,CAAA;QACvB,oBAAoB,EAAE,CAAA;IACxB,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { COMMAND_PRIORITY_CRITICAL, SELECTION_CHANGE_COMMAND } from 'lexical';
|
|
1
|
+
import { COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_NORMAL, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
|
|
2
2
|
import { registerLexicalEvents } from './register-lexical-events';
|
|
3
3
|
jest.mock('@lexical/react/LexicalComposerContext', () => ({
|
|
4
4
|
useLexicalComposerContext: jest.fn().mockReturnValue([]),
|
|
@@ -12,9 +12,7 @@ describe('registerLexicalEvents', () => {
|
|
|
12
12
|
it('registers listeners and commands correctly and return a cleanup function', () => {
|
|
13
13
|
const mockEditor = {
|
|
14
14
|
registerUpdateListener: jest.fn().mockReturnValueOnce(() => { }),
|
|
15
|
-
registerCommand: jest
|
|
16
|
-
.fn()
|
|
17
|
-
.mockReturnValueOnce(mockedEditorCommandsCleanup),
|
|
15
|
+
registerCommand: jest.fn().mockReturnValue(mockedEditorCommandsCleanup),
|
|
18
16
|
};
|
|
19
17
|
const params = {
|
|
20
18
|
editor: mockEditor,
|
|
@@ -22,12 +20,19 @@ describe('registerLexicalEvents', () => {
|
|
|
22
20
|
};
|
|
23
21
|
const cleanup = registerLexicalEvents(params);
|
|
24
22
|
expect(mockEditor.registerUpdateListener).toHaveBeenCalledTimes(1);
|
|
25
|
-
expect(mockEditor.registerCommand).toHaveBeenCalledTimes(
|
|
26
|
-
expect(mockEditor.registerCommand).
|
|
23
|
+
expect(mockEditor.registerCommand).toHaveBeenCalledTimes(2);
|
|
24
|
+
expect(mockEditor.registerCommand.mock.calls).toMatchObject([
|
|
25
|
+
[FORMAT_TEXT_COMMAND, expect.any(Function), COMMAND_PRIORITY_NORMAL],
|
|
26
|
+
[
|
|
27
|
+
SELECTION_CHANGE_COMMAND,
|
|
28
|
+
expect.any(Function),
|
|
29
|
+
COMMAND_PRIORITY_CRITICAL,
|
|
30
|
+
],
|
|
31
|
+
]);
|
|
27
32
|
// Simulate invoking the cleanup function
|
|
28
33
|
cleanup();
|
|
29
34
|
// Assert cleanup
|
|
30
|
-
expect(mockedEditorCommandsCleanup).toHaveBeenCalledTimes(
|
|
35
|
+
expect(mockedEditorCommandsCleanup).toHaveBeenCalledTimes(2);
|
|
31
36
|
});
|
|
32
37
|
});
|
|
33
38
|
//# sourceMappingURL=register-lexical-events.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-lexical-events.test.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"register-lexical-events.test.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGjE,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;CACzD,CAAC,CAAC,CAAA;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAEnC,MAAM,2BAA2B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAE7C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,UAAU,GAAG;YACjB,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YAC/D,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,CAAC;SACxE,CAAA;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,iBAAiB;SACjC,CAAA;QAED,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAA0C,CAC3C,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAClE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1D,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;YACpE;gBACE,wBAAwB;gBACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpB,yBAAyB;aAC1B;SACF,CAAC,CAAA;QAEF,yCAAyC;QACzC,OAAO,EAAE,CAAA;QAET,iBAAiB;QACjB,MAAM,CAAC,2BAA2B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND, } from '@lexical/list';
|
|
2
2
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
|
|
3
|
-
import { $createHeadingNode, $isHeadingNode } from '@lexical/rich-text';
|
|
4
3
|
import { $setBlocksType } from '@lexical/selection';
|
|
5
4
|
import { $createParagraphNode, $getSelection, $isRangeSelection, FORMAT_TEXT_COMMAND, } from 'lexical';
|
|
6
5
|
import React, { useEffect, useReducer } from 'react';
|
|
6
|
+
import { $createHeadingNode, $isHeadingNode } from '@lexical/rich-text';
|
|
7
7
|
import { registerLexicalEvents, synchronizeToolbarState, toolbarStateReducer, getSelectedNode, } from '../LexicalEditor/utils';
|
|
8
8
|
import RichTextEditorToolbar, { ALLOWED_HEADER_TYPE, } from '../RichTextEditorToolbar';
|
|
9
9
|
import { useRTEPluginContext, useRTEUpdate } from '../plugins/api';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,16 +3,25 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
|
|
|
3
3
|
import { $createTextNode, $insertNodes, COMMAND_PRIORITY_EDITOR } from 'lexical';
|
|
4
4
|
import EmojiPlugin, { INSERT_CUSTOM_EMOJI_COMMAND, INSERT_EMOJI_COMMAND, } from './index';
|
|
5
5
|
import { $createCustomEmojiNode } from './nodes/CustomEmojiNode';
|
|
6
|
+
jest.mock('../../LexicalEditor/utils', () => ({
|
|
7
|
+
getSelectedNode: jest.fn(),
|
|
8
|
+
}));
|
|
6
9
|
jest.mock('@lexical/react/LexicalComposerContext', () => ({
|
|
7
10
|
useLexicalComposerContext: jest.fn(() => [{}]),
|
|
8
11
|
}));
|
|
9
12
|
jest.mock('@lexical/utils', () => ({
|
|
10
13
|
mergeRegister: jest.fn(),
|
|
11
14
|
}));
|
|
15
|
+
jest.mock('@lexical/rich-text', () => ({
|
|
16
|
+
$isHeadingNode: jest.fn(),
|
|
17
|
+
}));
|
|
12
18
|
jest.mock('lexical', () => ({
|
|
13
19
|
$createTextNode: jest.fn(),
|
|
14
20
|
$insertNodes: jest.fn(),
|
|
21
|
+
$getSelection: jest.fn(),
|
|
22
|
+
$isRangeSelection: jest.fn(),
|
|
15
23
|
COMMAND_PRIORITY_EDITOR: jest.fn(),
|
|
24
|
+
FORMAT_TEXT_COMMAND: jest.fn(),
|
|
16
25
|
createCommand: jest.fn(),
|
|
17
26
|
}));
|
|
18
27
|
jest.mock('./nodes/CustomEmojiNode', () => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
|
|
2
|
-
import { HeadingNode } from '@lexical/rich-text';
|
|
3
2
|
import { useEffect } from 'react';
|
|
3
|
+
import { HeadingNode } from '@lexical/rich-text';
|
|
4
4
|
import { replaceHeadingNodes } from './utils';
|
|
5
5
|
const HeadingsReplacementPlugin = () => {
|
|
6
6
|
const [editor] = useLexicalComposerContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadingsReplacementPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"HeadingsReplacementPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { $createParagraphNode, $createTextNode } from 'lexical';
|
|
1
|
+
import { $createParagraphNode, $createTextNode, $isTextNode } from 'lexical';
|
|
2
2
|
export const replaceHeadingNodes = (node) => {
|
|
3
|
+
if (node.getTag() === 'h3') {
|
|
4
|
+
node.getChildren().forEach((node) => {
|
|
5
|
+
if ($isTextNode(node)) {
|
|
6
|
+
node.setFormat(0);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
}
|
|
3
10
|
if (node.getTag() !== 'h3') {
|
|
4
11
|
const textNode = $createTextNode(node.getTextContent());
|
|
5
12
|
textNode.setFormat('bold');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-heading-nodes.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replace-heading-nodes.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,EAAE;YAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,CAAC,CAAA;KACH;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAEvD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE1B,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAE5C,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,aAAa,CAAC,MAAM,EAAE,CAAA;KACvB;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-heading-nodes.test.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replace-heading-nodes.test.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;IAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;CAChC,CAAC,CAAC,CAAA;AAEH,MAAM,yBAAyB,GAAG,oBAEjC,CAAA;AAED,MAAM,oBAAoB,GAAG,eAE5B,CAAA;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAE3B,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,WAAW,GAAG,MAAM,CAAA;YAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,CAAA;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAExB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE/B,oBAAoB,CAAC,kBAAkB,CACrC,GAAG,EAAE,CACH,CAAC;gBACC,SAAS,EAAE,aAAa;aACD,CAAA,CAC5B,CAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE5B,yBAAyB,CAAC,kBAAkB,CAC1C,GAAG,EAAE,CACH,CAAC;gBACC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACU,CAAA,CACjC,CAAA;YAED,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;YAC9D,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;YACrE,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;YAErC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBACxC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|