@projectcor/maia-components 2.11.36-6 → 2.11.36

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 (104) hide show
  1. package/lib/App.js +11 -24
  2. package/lib/components/atoms/MAIAInput/MAIAInput.js +191 -61
  3. package/lib/components/atoms/icons/index.js +1 -3
  4. package/lib/components/index.js +1 -2
  5. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
  6. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
  7. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
  8. package/lib/components/molecules/AbmSection/index.js +1 -2
  9. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -15
  10. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
  11. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -21
  12. package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +88 -90
  14. package/lib/components/molecules/ChatAIModal/constants.js +2 -10
  15. package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -5
  16. package/lib/components/molecules/Sidebar/Sidebar.js +31 -68
  17. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
  18. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +50 -235
  19. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
  20. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +3 -13
  21. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
  22. package/lib/dev/Providers.js +6 -11
  23. package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
  24. package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
  25. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  26. package/lib/hooks/useChatManager/useChatManager.js +11 -21
  27. package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
  28. package/lib/hooks/useChatMessages/useChatMessages.js +14 -30
  29. package/lib/hooks/useEvent.js +1 -5
  30. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
  31. package/lib/lang/br/index.js +1 -267
  32. package/lib/lang/en/index.js +1 -267
  33. package/lib/lang/es/index.js +1 -267
  34. package/lib/lang/fr/index.js +2 -269
  35. package/lib/services/maia/Agents/createAgent.js +1 -1
  36. package/lib/services/maia/Agents/getAgentById.js +2 -3
  37. package/lib/services/maia/Agents/updateAgent.js +1 -1
  38. package/lib/services/maia/Chats/getChatMessages.js +4 -29
  39. package/lib/services/maia/Orchestrator/orchestrator.js +9 -11
  40. package/lib/services/maia/RecentProjects/getRecentProjects.js +4 -12
  41. package/lib/services/utils/mapChatMessages.js +5 -12
  42. package/lib/types/Chat.js +1 -1
  43. package/lib/types/agent.js +1 -1
  44. package/lib/types/agentModal.js +1 -1
  45. package/package.json +1 -1
  46. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -28
  47. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -84
  48. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -123
  49. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  50. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -85
  51. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -6
  52. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  53. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -188
  54. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -98
  55. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  56. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -131
  57. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -63
  58. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  59. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  60. package/lib/components/atoms/icons/RocketIcon.js +0 -31
  61. package/lib/components/atoms/icons/WrenchIcon.js +0 -42
  62. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -483
  63. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -238
  64. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
  65. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
  66. package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
  67. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
  68. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
  69. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
  70. package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
  71. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -55
  72. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  73. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  74. package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -625
  75. package/lib/components/molecules/SchedulesPage/index.js +0 -2
  76. package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
  77. package/lib/components/molecules/SkillsPage/index.js +0 -2
  78. package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
  79. package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
  80. package/lib/constants/taskLinkIcon.js +0 -6
  81. package/lib/dev/DevAbmAgentModal.js +0 -114
  82. package/lib/dev/DevContextMentionInput.js +0 -65
  83. package/lib/dev/mocks/abmModalMocks.js +0 -193
  84. package/lib/hooks/useCaretPosition.js +0 -35
  85. package/lib/hooks/useContextMentions.js +0 -204
  86. package/lib/hooks/useEntitySearch.js +0 -405
  87. package/lib/hooks/useMentionAllowedTypes.js +0 -86
  88. package/lib/hooks/useMentionPopover.js +0 -284
  89. package/lib/services/maia/Agents/connectors.js +0 -89
  90. package/lib/services/maia/Agents/skills.js +0 -164
  91. package/lib/services/maia/Schedules/createSchedule.js +0 -39
  92. package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
  93. package/lib/services/maia/Schedules/getMySchedules.js +0 -55
  94. package/lib/services/maia/Schedules/getSchedules.js +0 -58
  95. package/lib/services/maia/Schedules/index.js +0 -5
  96. package/lib/services/query/entitySearchQuery.js +0 -16
  97. package/lib/services/query/usersDirectoryQuery.js +0 -19
  98. package/lib/types/agentSkill.js +0 -2
  99. package/lib/types/attachment.js +0 -2
  100. package/lib/types/contextMention.js +0 -37
  101. package/lib/utils/contextMentionIcons.js +0 -115
  102. package/lib/utils/contextMentionLabel.js +0 -4
  103. package/lib/utils/contextMentionTypeLabel.js +0 -17
  104. package/lib/utils/renderContextMentions.js +0 -216
@@ -1,35 +0,0 @@
1
- import { useCallback } from 'react';
2
- /**
3
- * Devuelve el rect del caret actual dentro de un contenedor contenteditable.
4
- * Si no hay selección válida, retorna null.
5
- */
6
- export var useCaretPosition = function useCaretPosition() {
7
- return useCallback(function () {
8
- var selection = window.getSelection();
9
- if (!selection || selection.rangeCount === 0) return null;
10
- var range = selection.getRangeAt(0).cloneRange();
11
- range.collapse(true);
12
- var rects = range.getClientRects();
13
- var rect = null;
14
- if (rects.length > 0) {
15
- rect = rects.item(0);
16
- } else {
17
- var _span$parentNode;
18
- // Fallback: insertar un span vacío para medir
19
- var span = document.createElement('span');
20
- span.textContent = "\u200B";
21
- range.insertNode(span);
22
- rect = span.getBoundingClientRect();
23
- (_span$parentNode = span.parentNode) === null || _span$parentNode === void 0 || _span$parentNode.removeChild(span);
24
- }
25
- if (!rect) return null;
26
- return {
27
- top: rect.top,
28
- left: rect.left,
29
- bottom: rect.bottom,
30
- right: rect.right,
31
- height: rect.height
32
- };
33
- }, []);
34
- };
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUNhcmV0UG9zaXRpb24iLCJzZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJyYW5nZUNvdW50IiwicmFuZ2UiLCJnZXRSYW5nZUF0IiwiY2xvbmVSYW5nZSIsImNvbGxhcHNlIiwicmVjdHMiLCJnZXRDbGllbnRSZWN0cyIsInJlY3QiLCJsZW5ndGgiLCJpdGVtIiwiX3NwYW4kcGFyZW50Tm9kZSIsInNwYW4iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsImluc2VydE5vZGUiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwicmlnaHQiLCJoZWlnaHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ2FyZXRQb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgdHlwZSBDYXJldFJlY3QgPSB7XG4gIHRvcDogbnVtYmVyXG4gIGxlZnQ6IG51bWJlclxuICBib3R0b206IG51bWJlclxuICByaWdodDogbnVtYmVyXG4gIGhlaWdodDogbnVtYmVyXG59XG5cbi8qKlxuICogRGV2dWVsdmUgZWwgcmVjdCBkZWwgY2FyZXQgYWN0dWFsIGRlbnRybyBkZSB1biBjb250ZW5lZG9yIGNvbnRlbnRlZGl0YWJsZS5cbiAqIFNpIG5vIGhheSBzZWxlY2Npw7NuIHbDoWxpZGEsIHJldG9ybmEgbnVsbC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUNhcmV0UG9zaXRpb24gPSAoKSA9PiB7XG4gIHJldHVybiB1c2VDYWxsYmFjaygoKTogQ2FyZXRSZWN0IHwgbnVsbCA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgaWYgKCFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHJldHVybiBudWxsXG4gICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5jbG9uZVJhbmdlKClcbiAgICByYW5nZS5jb2xsYXBzZSh0cnVlKVxuXG4gICAgY29uc3QgcmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpXG4gICAgbGV0IHJlY3Q6IERPTVJlY3QgfCBudWxsID0gbnVsbFxuICAgIGlmIChyZWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICByZWN0ID0gcmVjdHMuaXRlbSgwKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjazogaW5zZXJ0YXIgdW4gc3BhbiB2YWPDrW8gcGFyYSBtZWRpclxuICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgICAgc3Bhbi50ZXh0Q29udGVudCA9ICdcXHUyMDBiJ1xuICAgICAgcmFuZ2UuaW5zZXJ0Tm9kZShzcGFuKVxuICAgICAgcmVjdCA9IHNwYW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgIHNwYW4ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoc3BhbilcbiAgICB9XG5cbiAgICBpZiAoIXJlY3QpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9wOiByZWN0LnRvcCxcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCxcbiAgICAgIGJvdHRvbTogcmVjdC5ib3R0b20sXG4gICAgICByaWdodDogcmVjdC5yaWdodCxcbiAgICAgIGhlaWdodDogcmVjdC5oZWlnaHQsXG4gICAgfVxuICB9LCBbXSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsV0FBVyxRQUFRLE9BQU87QUFVbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUEsRUFBUztFQUNwQyxPQUFPRCxXQUFXLENBQUMsWUFBd0I7SUFDekMsSUFBTUUsU0FBUyxHQUFHQyxNQUFNLENBQUNDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQ0YsU0FBUyxJQUFJQSxTQUFTLENBQUNHLFVBQVUsS0FBSyxDQUFDLEVBQUUsT0FBTyxJQUFJO0lBQ3pELElBQU1DLEtBQUssR0FBR0osU0FBUyxDQUFDSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUNDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xERixLQUFLLENBQUNHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFFcEIsSUFBTUMsS0FBSyxHQUFHSixLQUFLLENBQUNLLGNBQWMsQ0FBQyxDQUFDO0lBQ3BDLElBQUlDLElBQW9CLEdBQUcsSUFBSTtJQUMvQixJQUFJRixLQUFLLENBQUNHLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDcEJELElBQUksR0FBR0YsS0FBSyxDQUFDSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUMsTUFBTTtNQUFBLElBQUFDLGdCQUFBO01BQ0w7TUFDQSxJQUFNQyxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLE1BQU0sQ0FBQztNQUMzQ0YsSUFBSSxDQUFDRyxXQUFXLEdBQUcsUUFBUTtNQUMzQmIsS0FBSyxDQUFDYyxVQUFVLENBQUNKLElBQUksQ0FBQztNQUN0QkosSUFBSSxHQUFHSSxJQUFJLENBQUNLLHFCQUFxQixDQUFDLENBQUM7TUFDbkMsQ0FBQU4sZ0JBQUEsR0FBQUMsSUFBSSxDQUFDTSxVQUFVLGNBQUFQLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCUSxXQUFXLENBQUNQLElBQUksQ0FBQztJQUNwQztJQUVBLElBQUksQ0FBQ0osSUFBSSxFQUFFLE9BQU8sSUFBSTtJQUV0QixPQUFPO01BQ0xZLEdBQUcsRUFBRVosSUFBSSxDQUFDWSxHQUFHO01BQ2JDLElBQUksRUFBRWIsSUFBSSxDQUFDYSxJQUFJO01BQ2ZDLE1BQU0sRUFBRWQsSUFBSSxDQUFDYyxNQUFNO01BQ25CQyxLQUFLLEVBQUVmLElBQUksQ0FBQ2UsS0FBSztNQUNqQkMsTUFBTSxFQUFFaEIsSUFBSSxDQUFDZ0I7SUFDZixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNSLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,204 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import { useCallback, useRef, useState } from 'react';
3
- import { serializeMention } from '../utils/renderContextMentions';
4
- /**
5
- * Lógica pura de un editor contenteditable con soporte de @-mentions:
6
- * - detecta cuándo el usuario escribió `@` y captura el query hasta que
7
- * escriba espacio/enter o borre el `@`
8
- * - expone insertMention() para reemplazar `@query` por un chip atómico
9
- * - expone getPlainText() y getMentions() para serializar
10
- *
11
- * Este hook NO renderiza nada — lo usa ContextMentionEditor.
12
- */
13
- export var useContextMentions = function useContextMentions() {
14
- var editorRef = useRef(null);
15
- var _useState = useState({
16
- active: false,
17
- query: '',
18
- anchor: null
19
- }),
20
- _useState2 = _slicedToArray(_useState, 2),
21
- trigger = _useState2[0],
22
- setTrigger = _useState2[1];
23
-
24
- /**
25
- * Inspecciona la selección actual. Si el caret está dentro de un nodo de texto
26
- * y hay un `@` antes del caret sin espacios ni newlines hasta él, devuelve el trigger.
27
- */
28
- var detectTrigger = useCallback(function () {
29
- var selection = window.getSelection();
30
- if (!selection || selection.rangeCount === 0 || !editorRef.current) {
31
- return {
32
- active: false,
33
- query: '',
34
- anchor: null
35
- };
36
- }
37
- var range = selection.getRangeAt(0);
38
- if (!editorRef.current.contains(range.startContainer)) {
39
- return {
40
- active: false,
41
- query: '',
42
- anchor: null
43
- };
44
- }
45
- var node = range.startContainer;
46
- if (node.nodeType !== Node.TEXT_NODE) {
47
- return {
48
- active: false,
49
- query: '',
50
- anchor: null
51
- };
52
- }
53
- var text = node.data;
54
- var caret = range.startOffset;
55
- var before = text.slice(0, caret);
56
- // buscar `@` más reciente que no esté precedido por caracter alfanumérico
57
- var atIdx = before.lastIndexOf('@');
58
- if (atIdx < 0) return {
59
- active: false,
60
- query: '',
61
- anchor: null
62
- };
63
- var prev = atIdx > 0 ? before.charAt(atIdx - 1) : '';
64
- var isBoundary = !prev || /[\s([{]/.test(prev);
65
- if (!isBoundary) return {
66
- active: false,
67
- query: '',
68
- anchor: null
69
- };
70
- var query = before.slice(atIdx + 1);
71
- if (/\s/.test(query)) return {
72
- active: false,
73
- query: '',
74
- anchor: null
75
- };
76
- return {
77
- active: true,
78
- query: query,
79
- anchor: {
80
- node: node,
81
- offset: atIdx
82
- }
83
- };
84
- }, []);
85
- var updateTrigger = useCallback(function () {
86
- var next = detectTrigger();
87
- setTrigger(next);
88
- return next;
89
- }, [detectTrigger]);
90
- var closeTrigger = useCallback(function () {
91
- setTrigger({
92
- active: false,
93
- query: '',
94
- anchor: null
95
- });
96
- }, []);
97
-
98
- /**
99
- * Reemplaza el `@query` pendiente por un chip atómico con la mention.
100
- * Requiere que el caller provea el DOM del chip (se inserta tal cual).
101
- */
102
- var replaceTriggerWithChip = useCallback(function (chipNode, mention) {
103
- var current = detectTrigger();
104
- if (!current.active || !current.anchor) return;
105
- var _current$anchor = current.anchor,
106
- node = _current$anchor.node,
107
- offset = _current$anchor.offset;
108
- var textNode = node;
109
- var full = textNode.data;
110
- var queryLen = 1 + current.query.length; // '@' + query
111
- var after = full.slice(offset + queryLen);
112
-
113
- // Truncar el texto hasta antes del `@`
114
- // eslint-disable-next-line no-param-reassign
115
- textNode.data = full.slice(0, offset);
116
-
117
- // Insertar el chip justo después del nodo de texto
118
- chipNode.setAttribute('data-mention', 'true');
119
- chipNode.setAttribute('data-mention-id', String(mention.id));
120
- chipNode.setAttribute('data-mention-type', mention.type);
121
- chipNode.setAttribute('data-mention-label', mention.label);
122
- chipNode.setAttribute('contenteditable', 'false');
123
- var parent = textNode.parentNode;
124
- if (!parent) return;
125
- var spaceNode = document.createTextNode("\xA0".concat(after));
126
- parent.insertBefore(chipNode, textNode.nextSibling);
127
- parent.insertBefore(spaceNode, chipNode.nextSibling);
128
-
129
- // Reposicionar caret después del chip (antes del espacio non-breaking)
130
- var selection = window.getSelection();
131
- if (selection) {
132
- var range = document.createRange();
133
- range.setStart(spaceNode, 1);
134
- range.collapse(true);
135
- selection.removeAllRanges();
136
- selection.addRange(range);
137
- }
138
- closeTrigger();
139
- }, [detectTrigger, closeTrigger]);
140
-
141
- /**
142
- * Serializa el contenido: texto plano + lista de mentions en orden de aparición.
143
- */
144
- var serialize = useCallback(function () {
145
- var el = editorRef.current;
146
- if (!el) return {
147
- text: '',
148
- mentions: []
149
- };
150
- var mentions = [];
151
- var text = '';
152
- var _walk = function walk(node) {
153
- if (node.nodeType === Node.TEXT_NODE) {
154
- text += node.data;
155
- return;
156
- }
157
- if (node.nodeType === Node.ELEMENT_NODE) {
158
- var _elNode$dataset;
159
- var elNode = node;
160
- if (((_elNode$dataset = elNode.dataset) === null || _elNode$dataset === void 0 ? void 0 : _elNode$dataset.mention) === 'true') {
161
- var _elNode$dataset$menti, _ref, _ref2, _elNode$dataset$menti2;
162
- var mention = {
163
- id: (_elNode$dataset$menti = elNode.dataset.mentionId) !== null && _elNode$dataset$menti !== void 0 ? _elNode$dataset$menti : '',
164
- type: (_ref = elNode.dataset.mentionType) !== null && _ref !== void 0 ? _ref : 'user',
165
- label: (_ref2 = (_elNode$dataset$menti2 = elNode.dataset.mentionLabel) !== null && _elNode$dataset$menti2 !== void 0 ? _elNode$dataset$menti2 : elNode.textContent) !== null && _ref2 !== void 0 ? _ref2 : ''
166
- };
167
- mentions.push(mention);
168
- text += serializeMention(mention);
169
- return;
170
- }
171
- if (elNode.tagName === 'BR') {
172
- text += '\n';
173
- return;
174
- }
175
- elNode.childNodes.forEach(_walk);
176
- if (elNode.tagName === 'DIV' || elNode.tagName === 'P') text += '\n';
177
- }
178
- };
179
- el.childNodes.forEach(_walk);
180
- return {
181
- text: text.replace(/\n+$/, ''),
182
- mentions: mentions
183
- };
184
- }, []);
185
- var clear = useCallback(function () {
186
- if (editorRef.current) editorRef.current.innerHTML = '';
187
- closeTrigger();
188
- }, [closeTrigger]);
189
- var focus = useCallback(function () {
190
- var _editorRef$current;
191
- (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || _editorRef$current.focus();
192
- }, []);
193
- return {
194
- editorRef: editorRef,
195
- trigger: trigger,
196
- updateTrigger: updateTrigger,
197
- closeTrigger: closeTrigger,
198
- replaceTriggerWithChip: replaceTriggerWithChip,
199
- serialize: serialize,
200
- clear: clear,
201
- focus: focus
202
- };
203
- };
204
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVN0YXRlIiwic2VyaWFsaXplTWVudGlvbiIsInVzZUNvbnRleHRNZW50aW9ucyIsImVkaXRvclJlZiIsIl91c2VTdGF0ZSIsImFjdGl2ZSIsInF1ZXJ5IiwiYW5jaG9yIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwidHJpZ2dlciIsInNldFRyaWdnZXIiLCJkZXRlY3RUcmlnZ2VyIiwic2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicmFuZ2VDb3VudCIsImN1cnJlbnQiLCJyYW5nZSIsImdldFJhbmdlQXQiLCJjb250YWlucyIsInN0YXJ0Q29udGFpbmVyIiwibm9kZSIsIm5vZGVUeXBlIiwiTm9kZSIsIlRFWFRfTk9ERSIsInRleHQiLCJkYXRhIiwiY2FyZXQiLCJzdGFydE9mZnNldCIsImJlZm9yZSIsInNsaWNlIiwiYXRJZHgiLCJsYXN0SW5kZXhPZiIsInByZXYiLCJjaGFyQXQiLCJpc0JvdW5kYXJ5IiwidGVzdCIsIm9mZnNldCIsInVwZGF0ZVRyaWdnZXIiLCJuZXh0IiwiY2xvc2VUcmlnZ2VyIiwicmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCIsImNoaXBOb2RlIiwibWVudGlvbiIsIl9jdXJyZW50JGFuY2hvciIsInRleHROb2RlIiwiZnVsbCIsInF1ZXJ5TGVuIiwibGVuZ3RoIiwiYWZ0ZXIiLCJzZXRBdHRyaWJ1dGUiLCJTdHJpbmciLCJpZCIsInR5cGUiLCJsYWJlbCIsInBhcmVudCIsInBhcmVudE5vZGUiLCJzcGFjZU5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZVRleHROb2RlIiwiY29uY2F0IiwiaW5zZXJ0QmVmb3JlIiwibmV4dFNpYmxpbmciLCJjcmVhdGVSYW5nZSIsInNldFN0YXJ0IiwiY29sbGFwc2UiLCJyZW1vdmVBbGxSYW5nZXMiLCJhZGRSYW5nZSIsInNlcmlhbGl6ZSIsImVsIiwibWVudGlvbnMiLCJ3YWxrIiwiRUxFTUVOVF9OT0RFIiwiX2VsTm9kZSRkYXRhc2V0IiwiZWxOb2RlIiwiZGF0YXNldCIsIl9lbE5vZGUkZGF0YXNldCRtZW50aSIsIl9yZWYiLCJfcmVmMiIsIl9lbE5vZGUkZGF0YXNldCRtZW50aTIiLCJtZW50aW9uSWQiLCJtZW50aW9uVHlwZSIsIm1lbnRpb25MYWJlbCIsInRleHRDb250ZW50IiwicHVzaCIsInRhZ05hbWUiLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsInJlcGxhY2UiLCJjbGVhciIsImlubmVySFRNTCIsImZvY3VzIiwiX2VkaXRvclJlZiRjdXJyZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUNvbnRleHRNZW50aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IHNlcmlhbGl6ZU1lbnRpb24gfSBmcm9tICcuLi91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMnXG5cbmV4cG9ydCB0eXBlIE1lbnRpb25UcmlnZ2VyU3RhdGUgPSB7XG4gIGFjdGl2ZTogYm9vbGVhblxuICBxdWVyeTogc3RyaW5nXG4gIC8qKiBQb3NpY2nDs24gZGVsIGBAYCBkZW50cm8gZGVsIG5vZG8gZGUgdGV4dG8gKHVzYWRhIHBhcmEgcmVlbXBsYXpvKSAqL1xuICBhbmNob3I6IHsgbm9kZTogTm9kZTsgb2Zmc2V0OiBudW1iZXIgfSB8IG51bGxcbn1cblxuLyoqXG4gKiBMw7NnaWNhIHB1cmEgZGUgdW4gZWRpdG9yIGNvbnRlbnRlZGl0YWJsZSBjb24gc29wb3J0ZSBkZSBALW1lbnRpb25zOlxuICogICAtIGRldGVjdGEgY3XDoW5kbyBlbCB1c3VhcmlvIGVzY3JpYmnDsyBgQGAgeSBjYXB0dXJhIGVsIHF1ZXJ5IGhhc3RhIHF1ZVxuICogICAgIGVzY3JpYmEgZXNwYWNpby9lbnRlciBvIGJvcnJlIGVsIGBAYFxuICogICAtIGV4cG9uZSBpbnNlcnRNZW50aW9uKCkgcGFyYSByZWVtcGxhemFyIGBAcXVlcnlgIHBvciB1biBjaGlwIGF0w7NtaWNvXG4gKiAgIC0gZXhwb25lIGdldFBsYWluVGV4dCgpIHkgZ2V0TWVudGlvbnMoKSBwYXJhIHNlcmlhbGl6YXJcbiAqXG4gKiBFc3RlIGhvb2sgTk8gcmVuZGVyaXphIG5hZGEg4oCUIGxvIHVzYSBDb250ZXh0TWVudGlvbkVkaXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUNvbnRleHRNZW50aW9ucyA9ICgpID0+IHtcbiAgY29uc3QgZWRpdG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RyaWdnZXIsIHNldFRyaWdnZXJdID0gdXNlU3RhdGU8TWVudGlvblRyaWdnZXJTdGF0ZT4oeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGFuY2hvcjogbnVsbCB9KVxuXG4gIC8qKlxuICAgKiBJbnNwZWNjaW9uYSBsYSBzZWxlY2Npw7NuIGFjdHVhbC4gU2kgZWwgY2FyZXQgZXN0w6EgZGVudHJvIGRlIHVuIG5vZG8gZGUgdGV4dG9cbiAgICogeSBoYXkgdW4gYEBgIGFudGVzIGRlbCBjYXJldCBzaW4gZXNwYWNpb3MgbmkgbmV3bGluZXMgaGFzdGEgw6lsLCBkZXZ1ZWx2ZSBlbCB0cmlnZ2VyLlxuICAgKi9cbiAgY29uc3QgZGV0ZWN0VHJpZ2dlciA9IHVzZUNhbGxiYWNrKCgpOiBNZW50aW9uVHJpZ2dlclN0YXRlID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcbiAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCB8fCAhZWRpdG9yUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYW5jaG9yOiBudWxsIH1cbiAgICB9XG4gICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKVxuICAgIGlmICghZWRpdG9yUmVmLmN1cnJlbnQuY29udGFpbnMocmFuZ2Uuc3RhcnRDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4geyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGFuY2hvcjogbnVsbCB9XG4gICAgfVxuICAgIGNvbnN0IG5vZGUgPSByYW5nZS5zdGFydENvbnRhaW5lclxuICAgIGlmIChub2RlLm5vZGVUeXBlICE9PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgcmV0dXJuIHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhbmNob3I6IG51bGwgfVxuICAgIH1cbiAgICBjb25zdCB0ZXh0ID0gKG5vZGUgYXMgVGV4dCkuZGF0YVxuICAgIGNvbnN0IGNhcmV0ID0gcmFuZ2Uuc3RhcnRPZmZzZXRcbiAgICBjb25zdCBiZWZvcmUgPSB0ZXh0LnNsaWNlKDAsIGNhcmV0KVxuICAgIC8vIGJ1c2NhciBgQGAgbcOhcyByZWNpZW50ZSBxdWUgbm8gZXN0w6kgcHJlY2VkaWRvIHBvciBjYXJhY3RlciBhbGZhbnVtw6lyaWNvXG4gICAgY29uc3QgYXRJZHggPSBiZWZvcmUubGFzdEluZGV4T2YoJ0AnKVxuICAgIGlmIChhdElkeCA8IDApIHJldHVybiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYW5jaG9yOiBudWxsIH1cbiAgICBjb25zdCBwcmV2ID0gYXRJZHggPiAwID8gYmVmb3JlLmNoYXJBdChhdElkeCAtIDEpIDogJydcbiAgICBjb25zdCBpc0JvdW5kYXJ5ID0gIXByZXYgfHwgL1tcXHMoW3tdLy50ZXN0KHByZXYpXG4gICAgaWYgKCFpc0JvdW5kYXJ5KSByZXR1cm4geyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGFuY2hvcjogbnVsbCB9XG4gICAgY29uc3QgcXVlcnkgPSBiZWZvcmUuc2xpY2UoYXRJZHggKyAxKVxuICAgIGlmICgvXFxzLy50ZXN0KHF1ZXJ5KSkgcmV0dXJuIHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhbmNob3I6IG51bGwgfVxuICAgIHJldHVybiB7IGFjdGl2ZTogdHJ1ZSwgcXVlcnksIGFuY2hvcjogeyBub2RlLCBvZmZzZXQ6IGF0SWR4IH0gfVxuICB9LCBbXSlcblxuICBjb25zdCB1cGRhdGVUcmlnZ2VyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IG5leHQgPSBkZXRlY3RUcmlnZ2VyKClcbiAgICBzZXRUcmlnZ2VyKG5leHQpXG4gICAgcmV0dXJuIG5leHRcbiAgfSwgW2RldGVjdFRyaWdnZXJdKVxuXG4gIGNvbnN0IGNsb3NlVHJpZ2dlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRUcmlnZ2VyKHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhbmNob3I6IG51bGwgfSlcbiAgfSwgW10pXG5cbiAgLyoqXG4gICAqIFJlZW1wbGF6YSBlbCBgQHF1ZXJ5YCBwZW5kaWVudGUgcG9yIHVuIGNoaXAgYXTDs21pY28gY29uIGxhIG1lbnRpb24uXG4gICAqIFJlcXVpZXJlIHF1ZSBlbCBjYWxsZXIgcHJvdmVhIGVsIERPTSBkZWwgY2hpcCAoc2UgaW5zZXJ0YSB0YWwgY3VhbCkuXG4gICAqL1xuICBjb25zdCByZXBsYWNlVHJpZ2dlcldpdGhDaGlwID0gdXNlQ2FsbGJhY2soXG4gICAgKGNoaXBOb2RlOiBIVE1MRWxlbWVudCwgbWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBkZXRlY3RUcmlnZ2VyKClcbiAgICAgIGlmICghY3VycmVudC5hY3RpdmUgfHwgIWN1cnJlbnQuYW5jaG9yKSByZXR1cm5cblxuICAgICAgY29uc3QgeyBub2RlLCBvZmZzZXQgfSA9IGN1cnJlbnQuYW5jaG9yXG4gICAgICBjb25zdCB0ZXh0Tm9kZSA9IG5vZGUgYXMgVGV4dFxuICAgICAgY29uc3QgZnVsbCA9IHRleHROb2RlLmRhdGFcbiAgICAgIGNvbnN0IHF1ZXJ5TGVuID0gMSArIGN1cnJlbnQucXVlcnkubGVuZ3RoIC8vICdAJyArIHF1ZXJ5XG4gICAgICBjb25zdCBhZnRlciA9IGZ1bGwuc2xpY2Uob2Zmc2V0ICsgcXVlcnlMZW4pXG5cbiAgICAgIC8vIFRydW5jYXIgZWwgdGV4dG8gaGFzdGEgYW50ZXMgZGVsIGBAYFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICB0ZXh0Tm9kZS5kYXRhID0gZnVsbC5zbGljZSgwLCBvZmZzZXQpXG5cbiAgICAgIC8vIEluc2VydGFyIGVsIGNoaXAganVzdG8gZGVzcHXDqXMgZGVsIG5vZG8gZGUgdGV4dG9cbiAgICAgIGNoaXBOb2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uJywgJ3RydWUnKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24taWQnLCBTdHJpbmcobWVudGlvbi5pZCkpXG4gICAgICBjaGlwTm9kZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi10eXBlJywgbWVudGlvbi50eXBlKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tbGFiZWwnLCBtZW50aW9uLmxhYmVsKVxuICAgICAgY2hpcE5vZGUuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnZmFsc2UnKVxuXG4gICAgICBjb25zdCBwYXJlbnQgPSB0ZXh0Tm9kZS5wYXJlbnROb2RlXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuXG5cbiAgICAgIGNvbnN0IHNwYWNlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGBcXHUwMGEwJHthZnRlcn1gKVxuICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShjaGlwTm9kZSwgdGV4dE5vZGUubmV4dFNpYmxpbmcpXG4gICAgICBwYXJlbnQuaW5zZXJ0QmVmb3JlKHNwYWNlTm9kZSwgY2hpcE5vZGUubmV4dFNpYmxpbmcpXG5cbiAgICAgIC8vIFJlcG9zaWNpb25hciBjYXJldCBkZXNwdcOpcyBkZWwgY2hpcCAoYW50ZXMgZGVsIGVzcGFjaW8gbm9uLWJyZWFraW5nKVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKVxuICAgICAgICByYW5nZS5zZXRTdGFydChzcGFjZU5vZGUsIDEpXG4gICAgICAgIHJhbmdlLmNvbGxhcHNlKHRydWUpXG4gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKVxuICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpXG4gICAgICB9XG5cbiAgICAgIGNsb3NlVHJpZ2dlcigpXG4gICAgfSxcbiAgICBbZGV0ZWN0VHJpZ2dlciwgY2xvc2VUcmlnZ2VyXVxuICApXG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6YSBlbCBjb250ZW5pZG86IHRleHRvIHBsYW5vICsgbGlzdGEgZGUgbWVudGlvbnMgZW4gb3JkZW4gZGUgYXBhcmljacOzbi5cbiAgICovXG4gIGNvbnN0IHNlcmlhbGl6ZSA9IHVzZUNhbGxiYWNrKCgpOiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfSA9PiB7XG4gICAgY29uc3QgZWwgPSBlZGl0b3JSZWYuY3VycmVudFxuICAgIGlmICghZWwpIHJldHVybiB7IHRleHQ6ICcnLCBtZW50aW9uczogW10gfVxuICAgIGNvbnN0IG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdID0gW11cbiAgICBsZXQgdGV4dCA9ICcnXG5cbiAgICBjb25zdCB3YWxrID0gKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICB0ZXh0ICs9IChub2RlIGFzIFRleHQpLmRhdGFcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHtcbiAgICAgICAgY29uc3QgZWxOb2RlID0gbm9kZSBhcyBIVE1MRWxlbWVudFxuICAgICAgICBpZiAoZWxOb2RlLmRhdGFzZXQ/Lm1lbnRpb24gPT09ICd0cnVlJykge1xuICAgICAgICAgIGNvbnN0IG1lbnRpb246IENvbnRleHRNZW50aW9uID0ge1xuICAgICAgICAgICAgaWQ6IGVsTm9kZS5kYXRhc2V0Lm1lbnRpb25JZCA/PyAnJyxcbiAgICAgICAgICAgIHR5cGU6IChlbE5vZGUuZGF0YXNldC5tZW50aW9uVHlwZSBhcyBDb250ZXh0TWVudGlvblsndHlwZSddKSA/PyAndXNlcicsXG4gICAgICAgICAgICBsYWJlbDogZWxOb2RlLmRhdGFzZXQubWVudGlvbkxhYmVsID8/IGVsTm9kZS50ZXh0Q29udGVudCA/PyAnJyxcbiAgICAgICAgICB9XG4gICAgICAgICAgbWVudGlvbnMucHVzaChtZW50aW9uKVxuICAgICAgICAgIHRleHQgKz0gc2VyaWFsaXplTWVudGlvbihtZW50aW9uKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmIChlbE5vZGUudGFnTmFtZSA9PT0gJ0JSJykge1xuICAgICAgICAgIHRleHQgKz0gJ1xcbidcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBlbE5vZGUuY2hpbGROb2Rlcy5mb3JFYWNoKHdhbGspXG4gICAgICAgIGlmIChlbE5vZGUudGFnTmFtZSA9PT0gJ0RJVicgfHwgZWxOb2RlLnRhZ05hbWUgPT09ICdQJykgdGV4dCArPSAnXFxuJ1xuICAgICAgfVxuICAgIH1cblxuICAgIGVsLmNoaWxkTm9kZXMuZm9yRWFjaCh3YWxrKVxuICAgIHJldHVybiB7IHRleHQ6IHRleHQucmVwbGFjZSgvXFxuKyQvLCAnJyksIG1lbnRpb25zIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgY2xlYXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGVkaXRvclJlZi5jdXJyZW50KSBlZGl0b3JSZWYuY3VycmVudC5pbm5lckhUTUwgPSAnJ1xuICAgIGNsb3NlVHJpZ2dlcigpXG4gIH0sIFtjbG9zZVRyaWdnZXJdKVxuXG4gIGNvbnN0IGZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGVkaXRvclJlZi5jdXJyZW50Py5mb2N1cygpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgZWRpdG9yUmVmLFxuICAgIHRyaWdnZXIsXG4gICAgdXBkYXRlVHJpZ2dlcixcbiAgICBjbG9zZVRyaWdnZXIsXG4gICAgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCxcbiAgICBzZXJpYWxpemUsXG4gICAgY2xlYXIsXG4gICAgZm9jdXMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUVyRCxTQUFTQyxnQkFBZ0IsUUFBUSxnQ0FBZ0M7QUFTakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBQVM7RUFDdEMsSUFBTUMsU0FBUyxHQUFHSixNQUFNLENBQXdCLElBQUksQ0FBQztFQUNyRCxJQUFBSyxTQUFBLEdBQThCSixRQUFRLENBQXNCO01BQUVLLE1BQU0sRUFBRSxLQUFLO01BQUVDLEtBQUssRUFBRSxFQUFFO01BQUVDLE1BQU0sRUFBRTtJQUFLLENBQUMsQ0FBQztJQUFBQyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUwsU0FBQTtJQUFoR00sT0FBTyxHQUFBRixVQUFBO0lBQUVHLFVBQVUsR0FBQUgsVUFBQTs7RUFFMUI7QUFDRjtBQUNBO0FBQ0E7RUFDRSxJQUFNSSxhQUFhLEdBQUdkLFdBQVcsQ0FBQyxZQUEyQjtJQUMzRCxJQUFNZSxTQUFTLEdBQUdDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDRixTQUFTLElBQUlBLFNBQVMsQ0FBQ0csVUFBVSxLQUFLLENBQUMsSUFBSSxDQUFDYixTQUFTLENBQUNjLE9BQU8sRUFBRTtNQUNsRSxPQUFPO1FBQUVaLE1BQU0sRUFBRSxL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