@projectcor/maia-components 2.11.40-9 → 2.11.40

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/lib/App.js +11 -22
  2. package/lib/components/atoms/MAIAInput/MAIAInput.js +321 -238
  3. package/lib/components/atoms/MAIAInput/styles.js +46 -75
  4. package/lib/components/atoms/icons/index.js +1 -2
  5. package/lib/components/index.js +1 -2
  6. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
  7. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -31
  8. package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -5
  9. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +6 -8
  10. package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -5
  11. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +3 -2
  12. package/lib/components/molecules/Sidebar/Sidebar.js +5 -9
  13. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
  14. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +2 -5
  15. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
  16. package/lib/constants/config.js +1 -3
  17. package/lib/context/cor-user.js +1 -1
  18. package/lib/dev/Providers.js +6 -11
  19. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  20. package/lib/hooks/useChatManager/useChatManager.js +11 -21
  21. package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
  22. package/lib/hooks/useChatMessages/useChatMessages.js +14 -30
  23. package/lib/hooks/useClientSearch.js +2 -3
  24. package/lib/hooks/useEvent.js +1 -6
  25. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
  26. package/lib/hooks/useProjectSearch.js +2 -3
  27. package/lib/hooks/useRecentClientsSearch.js +2 -3
  28. package/lib/hooks/useTaskPanel.js +10 -3
  29. package/lib/lang/br/index.js +1 -24
  30. package/lib/lang/en/index.js +1 -24
  31. package/lib/lang/es/index.js +1 -24
  32. package/lib/lang/fr/index.js +1 -23
  33. package/lib/services/maia/Chats/getChatMessages.js +4 -29
  34. package/lib/services/maia/Orchestrator/orchestrator.js +5 -8
  35. package/lib/services/maia/RecentProjects/getRecentProjects.js +4 -12
  36. package/lib/services/utils/mapChatMessages.js +5 -12
  37. package/lib/types/Chat.js +1 -1
  38. package/lib/types/agent.js +1 -1
  39. package/package.json +1 -2
  40. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
  41. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -184
  42. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
  43. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -384
  44. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  45. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -195
  46. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -6
  47. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  48. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -280
  49. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -130
  50. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  51. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -168
  52. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -79
  53. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  54. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -269
  55. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  56. package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
  57. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -68
  58. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  59. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  60. package/lib/constants/taskLinkIcon.js +0 -6
  61. package/lib/dev/DevContextMentionInput.js +0 -65
  62. package/lib/hooks/useCaretPosition.js +0 -35
  63. package/lib/hooks/useContextMentions.js +0 -270
  64. package/lib/hooks/useEntitySearch.js +0 -1006
  65. package/lib/hooks/useMentionAllowedTypes.js +0 -103
  66. package/lib/hooks/useMentionPopover.js +0 -333
  67. package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
  68. package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
  69. package/lib/services/maia/RecentTasks/index.js +0 -6
  70. package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
  71. package/lib/services/maia/RecentUsers/index.js +0 -6
  72. package/lib/services/query/entitySearchQuery.js +0 -18
  73. package/lib/services/query/usersDirectoryQuery.js +0 -19
  74. package/lib/types/contextMention.js +0 -37
  75. package/lib/utils/contextMentionIcons.js +0 -115
  76. package/lib/utils/contextMentionLabel.js +0 -4
  77. package/lib/utils/contextMentionTypeLabel.js +0 -17
  78. package/lib/utils/maiaStreamdownRehypePlugins.js +0 -27
  79. package/lib/utils/openTaskInCorPanel.js +0 -18
  80. package/lib/utils/renderContextMentions.js +0 -299
@@ -1,384 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import { createElement } from 'react';
5
- import { flushSync } from 'react-dom';
6
- import { createRoot } from 'react-dom/client';
7
- import i18n from '../../../lang';
8
- import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
9
- import { getContextMentionIcon } from '../../../utils/contextMentionIcons';
10
- import { normalizeContextMentionLabel } from '../../../utils/contextMentionLabel';
11
- import { openTaskInCorPanel } from '../../../utils/openTaskInCorPanel';
12
- import { applyMentionChipStyles, MENTION_CHIP_COLORS } from './ContextMentionChip.styles';
13
- var EDITABLE_NON_TASK_LABEL_STYLE = {
14
- display: 'inline',
15
- lineHeight: '20px',
16
- alignSelf: 'baseline',
17
- minWidth: 0,
18
- maxWidth: '100%',
19
- whiteSpace: 'normal',
20
- overflowWrap: 'break-word',
21
- wordBreak: 'break-word'
22
- };
23
-
24
- /** Texto de tarea: sin borde inferior; el aspecto de enlace lo da el CSS global (::before + color). */
25
- var EDITABLE_TASK_LABEL_STYLE = {
26
- display: 'inline',
27
- fontSize: '14px',
28
- lineHeight: '20px',
29
- fontWeight: '600',
30
- color: 'inherit',
31
- minWidth: 0,
32
- maxWidth: '100%',
33
- whiteSpace: 'normal',
34
- overflowWrap: 'break-word',
35
- wordBreak: 'break-word'
36
- };
37
- var createEditableMentionLabelEl = function createEditableMentionLabelEl(isTask, mentionLabel) {
38
- if (!isTask) {
39
- return /*#__PURE__*/createElement('span', {
40
- style: EDITABLE_NON_TASK_LABEL_STYLE
41
- }, mentionLabel);
42
- }
43
- return /*#__PURE__*/createElement('span', {
44
- style: EDITABLE_TASK_LABEL_STYLE
45
- }, mentionLabel);
46
- };
47
- var EditableMentionChip = function EditableMentionChip(_ref) {
48
- var mention = _ref.mention;
49
- var mentionLabel = normalizeContextMentionLabel(mention.label);
50
- var iconColor = MENTION_CHIP_COLORS[mention.type].fg;
51
- var isTask = mention.type === 'task';
52
- var isProject = mention.type === 'project';
53
- var iconSize = isTask ? 16 : 14;
54
- var labelEl = createEditableMentionLabelEl(isTask, mentionLabel);
55
- var outerStyle = {
56
- position: 'relative',
57
- display: 'inline',
58
- lineHeight: '20px',
59
- boxSizing: 'border-box',
60
- verticalAlign: 'baseline',
61
- maxWidth: '100%'
62
- };
63
- if (isTask || isProject) {
64
- return /*#__PURE__*/createElement('span', {
65
- style: outerStyle
66
- }, labelEl);
67
- }
68
- return /*#__PURE__*/createElement('span', {
69
- style: outerStyle
70
- }, /*#__PURE__*/createElement('span', {
71
- style: {
72
- display: 'inline-block',
73
- verticalAlign: 'middle',
74
- marginRight: '2px',
75
- lineHeight: '1',
76
- width: '14px'
77
- }
78
- }, getContextMentionIcon(mention.type, iconColor, mention.id, iconSize)), labelEl);
79
- };
80
- var initialsFromName = function initialsFromName(name) {
81
- var _parts$2;
82
- var trimmed = name.trim();
83
- if (!trimmed) return '?';
84
- var parts = trimmed.split(/\s+/).filter(Boolean);
85
- if (parts.length >= 2) {
86
- var _parts$0$charAt, _parts$, _parts$charAt, _parts;
87
- var first = (_parts$0$charAt = (_parts$ = parts[0]) === null || _parts$ === void 0 ? void 0 : _parts$.charAt(0)) !== null && _parts$0$charAt !== void 0 ? _parts$0$charAt : '';
88
- var last = (_parts$charAt = (_parts = parts[parts.length - 1]) === null || _parts === void 0 ? void 0 : _parts.charAt(0)) !== null && _parts$charAt !== void 0 ? _parts$charAt : '';
89
- return "".concat(first).concat(last).toUpperCase();
90
- }
91
- var single = (_parts$2 = parts[0]) !== null && _parts$2 !== void 0 ? _parts$2 : '';
92
- return single.length >= 2 ? single.slice(0, 2).toUpperCase() : (single.charAt(0) || '?').toUpperCase();
93
- };
94
- var TOOLTIP_FONT = "var(--cor-typography-font-family, 'Work Sans')";
95
- var TOOLTIP_SECONDARY_COLOR = 'var(--Text-Secondary-Dark, #666)';
96
- var TOOLTIP_SECONDARY_STYLE = {
97
- fontFamily: TOOLTIP_FONT,
98
- fontSize: '14px',
99
- fontWeight: '400',
100
- lineHeight: '20px',
101
- color: TOOLTIP_SECONDARY_COLOR
102
- };
103
-
104
- /** Ancho mínimo del tooltip (incl. padding horizontal 8+8). */
105
- var USER_TOOLTIP_MIN_WIDTH_PX = 292;
106
- /** Padding horizontal total del tooltip. */
107
- var USER_TOOLTIP_PAD_X_PX = 16;
108
- /** Avatar 24px + gap 8px respecto a la columna de texto. */
109
- var USER_TOOLTIP_AVATAR_GAP_PX = 32;
110
- /**
111
- * Ancho máximo de la fila nombre | posición: mismo hueco que con tooltip fijo 292px,
112
- * para que solo el email ensanche el contenedor.
113
- */
114
- var USER_TOOLTIP_NAME_ROW_MAX_PX = USER_TOOLTIP_MIN_WIDTH_PX - USER_TOOLTIP_PAD_X_PX - USER_TOOLTIP_AVATAR_GAP_PX;
115
- var createUserTooltipEl = function createUserTooltipEl(mention) {
116
- var _metadata$picture, _metadata$positionNam, _metadata$positionNam2, _metadata$email$trim, _metadata$email, _metadata$name;
117
- var label = mention.label,
118
- metadata = mention.metadata;
119
- var picture = (_metadata$picture = metadata === null || metadata === void 0 ? void 0 : metadata.picture) !== null && _metadata$picture !== void 0 ? _metadata$picture : null;
120
- var positionName = (_metadata$positionNam = metadata === null || metadata === void 0 || (_metadata$positionNam2 = metadata.positionName) === null || _metadata$positionNam2 === void 0 ? void 0 : _metadata$positionNam2.trim()) !== null && _metadata$positionNam !== void 0 ? _metadata$positionNam : '';
121
- var positionLine = positionName || i18n.t('contextMention.userNoPosition', {
122
- defaultValue: 'Sin posición'
123
- });
124
- var email = (_metadata$email$trim = metadata === null || metadata === void 0 || (_metadata$email = metadata.email) === null || _metadata$email === void 0 ? void 0 : _metadata$email.trim()) !== null && _metadata$email$trim !== void 0 ? _metadata$email$trim : '';
125
- /** Misma fuente que `ContextMentionItem` (avatar): nombre de query, no el label del chip (ej. "Yo"). */
126
- var nameForInitials = (metadata !== null && metadata !== void 0 && (_metadata$name = metadata.name) !== null && _metadata$name !== void 0 && _metadata$name.trim() ? metadata.name : label).trim();
127
- var tooltip = document.createElement('div');
128
- Object.assign(tooltip.style, {
129
- position: 'fixed',
130
- zIndex: '9999',
131
- minWidth: "".concat(USER_TOOLTIP_MIN_WIDTH_PX, "px"),
132
- width: 'max-content',
133
- maxWidth: 'min(560px, calc(100vw - 24px))',
134
- padding: '12px 8px',
135
- display: 'flex',
136
- flexDirection: 'column',
137
- alignItems: 'flex-start',
138
- borderRadius: '4px',
139
- border: '1px solid var(--Color-Light-Gray, #E0E0E0)',
140
- background: '#FFF',
141
- boxShadow: '0 1px 4px 0 rgba(0,0,0,0.08), 0 1px 4px 0 rgba(0,0,0,0.04)',
142
- boxSizing: 'border-box',
143
- pointerEvents: 'none',
144
- overflow: 'hidden'
145
- });
146
- var row = document.createElement('div');
147
- Object.assign(row.style, {
148
- display: 'flex',
149
- alignItems: 'center',
150
- gap: '8px',
151
- width: 'max-content',
152
- maxWidth: '100%',
153
- minWidth: '0'
154
- });
155
-
156
- // Avatar circular (foto o iniciales)
157
- var avatarWrap = document.createElement('div');
158
- Object.assign(avatarWrap.style, {
159
- width: '24px',
160
- height: '24px',
161
- minWidth: '24px',
162
- borderRadius: '24px',
163
- overflow: 'hidden',
164
- display: 'flex',
165
- alignItems: 'center',
166
- justifyContent: 'center',
167
- /** Mismo fondo que `SCMUserAvatarFallback` en la fila de usuario del modal. */
168
- background: 'var(--cor-color-grey-200, #e0e0e0)',
169
- flexShrink: '0'
170
- });
171
- var initials = initialsFromName(nameForInitials);
172
- var createInitialsFallback = function createInitialsFallback() {
173
- var fb = document.createElement('span');
174
- fb.textContent = initials;
175
- Object.assign(fb.style, {
176
- fontSize: '10px',
177
- fontWeight: '600',
178
- /** Mismo color que `SCMUserAvatarFallback` en la fila de usuario del modal. */
179
- color: 'var(--cor-color-text-secondary, #666)',
180
- lineHeight: '1',
181
- fontFamily: TOOLTIP_FONT
182
- });
183
- return fb;
184
- };
185
- if (picture) {
186
- var img = document.createElement('img');
187
- img.src = picture;
188
- img.alt = '';
189
- img.draggable = false;
190
- Object.assign(img.style, {
191
- width: '24px',
192
- height: '24px',
193
- objectFit: 'cover',
194
- display: 'block',
195
- borderRadius: '24px'
196
- });
197
- img.onerror = function () {
198
- img.remove();
199
- avatarWrap.appendChild(createInitialsFallback());
200
- };
201
- avatarWrap.appendChild(img);
202
- } else {
203
- avatarWrap.appendChild(createInitialsFallback());
204
- }
205
-
206
- // Columna de info: crece con el email (una línea); la fila nombre mantiene ancho base.
207
- var infoCol = document.createElement('div');
208
- Object.assign(infoCol.style, {
209
- display: 'flex',
210
- flexDirection: 'column',
211
- justifyContent: 'center',
212
- alignItems: 'flex-start',
213
- gap: '2px',
214
- minWidth: "".concat(USER_TOOLTIP_NAME_ROW_MAX_PX, "px"),
215
- width: 'max-content',
216
- maxWidth: '100%'
217
- });
218
-
219
- // Fila: nombre + separador + posición (ancho fijo como antes; no ensancha el tooltip)
220
- var nameRow = document.createElement('div');
221
- Object.assign(nameRow.style, {
222
- display: 'flex',
223
- alignItems: 'flex-start',
224
- gap: '4px',
225
- minWidth: '0',
226
- width: "".concat(USER_TOOLTIP_NAME_ROW_MAX_PX, "px"),
227
- maxWidth: "".concat(USER_TOOLTIP_NAME_ROW_MAX_PX, "px")
228
- });
229
- var nameSpan = document.createElement('span');
230
- nameSpan.textContent = label;
231
- Object.assign(nameSpan.style, {
232
- flex: '1 1 0',
233
- minWidth: '0',
234
- overflow: 'hidden',
235
- textOverflow: 'ellipsis',
236
- whiteSpace: 'nowrap',
237
- color: 'var(--Text-Primary-Dark, #20201F)',
238
- fontFamily: TOOLTIP_FONT,
239
- fontSize: '14px',
240
- fontWeight: '500',
241
- lineHeight: '130%'
242
- });
243
- nameRow.appendChild(nameSpan);
244
- var sep = document.createElement('span');
245
- sep.textContent = '|';
246
- Object.assign(sep.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
247
- flexShrink: '0'
248
- }));
249
- nameRow.appendChild(sep);
250
- var posSpan = document.createElement('span');
251
- posSpan.textContent = positionLine;
252
- Object.assign(posSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
253
- flex: '1 1 0',
254
- minWidth: '0',
255
- overflow: 'hidden',
256
- textOverflow: 'ellipsis',
257
- whiteSpace: 'nowrap'
258
- }));
259
- nameRow.appendChild(posSpan);
260
- infoCol.appendChild(nameRow);
261
- if (email) {
262
- var emailSpan = document.createElement('span');
263
- emailSpan.textContent = email;
264
- Object.assign(emailSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
265
- whiteSpace: 'nowrap',
266
- maxWidth: '100%',
267
- overflow: 'hidden',
268
- textOverflow: 'ellipsis'
269
- }));
270
- infoCol.appendChild(emailSpan);
271
- }
272
- row.appendChild(avatarWrap);
273
- row.appendChild(infoCol);
274
- tooltip.appendChild(row);
275
- return tooltip;
276
- };
277
-
278
- /**
279
- * Crea un `<span>` atómico listo para insertarse dentro del contenteditable
280
- * del `ContextMentionEditor`. Se marca con los `data-mention*` necesarios para
281
- * que `useContextMentions.serialize()` pueda volver a extraer la mention.
282
- *
283
- * Comparte los estilos con el componente `ContextMentionChip` via
284
- * `applyMentionChipStyles`, asegurando una única fuente de verdad visual.
285
- */
286
- export var buildChipElement = function buildChipElement(mention) {
287
- var chip = document.createElement('span');
288
- chip.setAttribute('contenteditable', 'false');
289
- chip.setAttribute('data-mention-chip', 'true');
290
- chip.className = CONTEXT_MENTION_CHIP_CLASS;
291
- chip.setAttribute('data-mention-type', mention.type);
292
- chip.setAttribute('data-mention-surface', 'editor');
293
- applyMentionChipStyles(chip, mention.type);
294
- var isTask = mention.type === 'task';
295
- var common = {
296
- boxSizing: 'border-box',
297
- verticalAlign: 'baseline',
298
- overflow: 'visible',
299
- maxWidth: '100%'
300
- };
301
- if (isTask) {
302
- Object.assign(chip.style, common, {
303
- lineHeight: '20px',
304
- height: 'auto',
305
- minHeight: 'auto',
306
- maxHeight: 'none'
307
- });
308
- } else {
309
- Object.assign(chip.style, common, {
310
- lineHeight: '20px',
311
- height: 'auto',
312
- minHeight: 'auto',
313
- maxHeight: 'none'
314
- });
315
- }
316
- var mountNode = document.createElement('span');
317
- mountNode.style.display = 'inline';
318
- mountNode.style.maxWidth = '100%';
319
- mountNode.style.verticalAlign = 'baseline';
320
- mountNode.style.boxSizing = 'border-box';
321
- chip.appendChild(mountNode);
322
- var root = createRoot(mountNode);
323
- flushSync(function () {
324
- root.render(/*#__PURE__*/createElement(EditableMentionChip, {
325
- mention: mention
326
- }));
327
- });
328
- if (mention.type === 'task') {
329
- chip.style.cursor = 'pointer';
330
- chip.onclick = function (e) {
331
- e.preventDefault();
332
- e.stopPropagation();
333
- openTaskInCorPanel(mention.id, 'detail');
334
- };
335
- } else if (mention.type === 'project') {
336
- chip.style.cursor = 'pointer';
337
- chip.onclick = function (e) {
338
- e.preventDefault();
339
- e.stopPropagation();
340
- window.open("/project/".concat(mention.id, "/dashboard"), '_blank');
341
- };
342
- } else if (mention.type === 'user') {
343
- var tooltipEl = null;
344
- var chipRemovedObserver = null;
345
- var removeUserTooltip = function removeUserTooltip() {
346
- var _chipRemovedObserver;
347
- (_chipRemovedObserver = chipRemovedObserver) === null || _chipRemovedObserver === void 0 || _chipRemovedObserver.disconnect();
348
- chipRemovedObserver = null;
349
- if (tooltipEl) {
350
- tooltipEl.remove();
351
- tooltipEl = null;
352
- }
353
- };
354
-
355
- /** Si el chip se borra del editor (Backspace, etc.) no siempre hay `mouseleave`; cerrar el tooltip. */
356
- var watchChipRemovedFromDom = function watchChipRemovedFromDom() {
357
- var _chipRemovedObserver2;
358
- var parent = chip.parentNode;
359
- if (!parent) return;
360
- (_chipRemovedObserver2 = chipRemovedObserver) === null || _chipRemovedObserver2 === void 0 || _chipRemovedObserver2.disconnect();
361
- chipRemovedObserver = new MutationObserver(function () {
362
- if (!chip.isConnected) removeUserTooltip();
363
- });
364
- chipRemovedObserver.observe(parent, {
365
- childList: true,
366
- subtree: true
367
- });
368
- };
369
- chip.addEventListener('mouseenter', function () {
370
- if (tooltipEl) return;
371
- tooltipEl = createUserTooltipEl(mention);
372
- var rect = chip.getBoundingClientRect();
373
- var left = Math.max(8, Math.min(window.innerWidth - 300, rect.left));
374
- tooltipEl.style.top = "".concat(rect.top, "px");
375
- tooltipEl.style.left = "".concat(left, "px");
376
- tooltipEl.style.transform = 'translateY(calc(-100% - 4px))';
377
- document.body.appendChild(tooltipEl);
378
- watchChipRemovedFromDom();
379
- });
380
- chip.addEventListener('mouseleave', removeUserTooltip);
381
- }
382
- return chip;
383
- };
384
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50IiwiZmx1c2hTeW5jIiwiY3JlYXRlUm9vdCIsImkxOG4iLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiTUVOVElPTl9DSElQX0NPTE9SUyIsIkVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFIiwiZGlzcGxheSIsImxpbmVIZWlnaHQiLCJhbGlnblNlbGYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwid2hpdGVTcGFjZSIsIm92ZXJmbG93V3JhcCIsIndvcmRCcmVhayIsIkVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEUiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImNyZWF0ZUVkaXRhYmxlTWVudGlvbkxhYmVsRWwiLCJpc1Rhc2siLCJtZW50aW9uTGFiZWwiLCJzdHlsZSIsIkVkaXRhYmxlTWVudGlvbkNoaXAiLCJfcmVmIiwibWVudGlvbiIsImxhYmVsIiwiaWNvbkNvbG9yIiwidHlwZSIsImZnIiwiaXNQcm9qZWN0IiwiaWNvblNpemUiLCJsYWJlbEVsIiwib3V0ZXJTdHlsZSIsInBvc2l0aW9uIiwiYm94U2l6aW5nIiwidmVydGljYWxBbGlnbiIsIm1hcmdpblJpZ2h0Iiwid2lkdGgiLCJpZCIsImluaXRpYWxzRnJvbU5hbWUiLCJuYW1lIiwiX3BhcnRzJDIiLCJ0cmltbWVkIiwidHJpbSIsInBhcnRzIiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiX3BhcnRzJDAkY2hhckF0IiwiX3BhcnRzJCIsIl9wYXJ0cyRjaGFyQXQiLCJfcGFydHMiLCJmaXJzdCIsImNoYXJBdCIsImxhc3QiLCJjb25jYXQiLCJ0b1VwcGVyQ2FzZSIsInNpbmdsZSIsInNsaWNlIiwiVE9PTFRJUF9GT05UIiwiVE9PTFRJUF9TRUNPTkRBUllfQ09MT1IiLCJUT09MVElQX1NFQ09OREFSWV9TVFlMRSIsImZvbnRGYW1pbHkiLCJVU0VSX1RPT0xUSVBfTUlOX1dJRFRIX1BYIiwiVVNFUl9UT09MVElQX1BBRF9YX1BYIiwiVVNFUl9UT09MVElQX0FWQVRBUl9HQVBfUFgiLCJVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYIiwiY3JlYXRlVXNlclRvb2x0aXBFbCIsIl9tZXRhZGF0YSRwaWN0dXJlIiwiX21ldGFkYXRhJHBvc2l0aW9uTmFtIiwiX21ldGFkYXRhJHBvc2l0aW9uTmFtMiIsIl9tZXRhZGF0YSRlbWFpbCR0cmltIiwiX21ldGFkYXRhJGVtYWlsIiwiX21ldGFkYXRhJG5hbWUiLCJtZXRhZGF0YSIsInBpY3R1cmUiLCJwb3NpdGlvbk5hbWUiLCJwb3NpdGlvbkxpbmUiLCJ0IiwiZGVmYXVsdFZhbHVlIiwiZW1haWwiLCJuYW1lRm9ySW5pdGlhbHMiLCJ0b29sdGlwIiwiZG9jdW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJ6SW5kZXgiLCJwYWRkaW5nIiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93IiwicG9pbnRlckV2ZW50cyIsIm92ZXJmbG93Iiwicm93IiwiZ2FwIiwiYXZhdGFyV3JhcCIsImhlaWdodCIsImp1c3RpZnlDb250ZW50IiwiZmxleFNocmluayIsImluaXRpYWxzIiwiY3JlYXRlSW5pdGlhbHNGYWxsYmFjayIsImZiIiwidGV4dENvbnRlbnQiLCJpbWciLCJzcmMiLCJhbHQiLCJkcmFnZ2FibGUiLCJvYmplY3RGaXQiLCJvbmVycm9yIiwicmVtb3ZlIiwiYXBwZW5kQ2hpbGQiLCJpbmZvQ29sIiwibmFtZVJvdyIsIm5hbWVTcGFuIiwiZmxleCIsInRleHRPdmVyZmxvdyIsInNlcCIsIl9vYmplY3RTcHJlYWQiLCJwb3NTcGFuIiwiZW1haWxTcGFuIiwiYnVpbGRDaGlwRWxlbWVudCIsImNoaXAiLCJzZXRBdHRyaWJ1dGUiLCJjbGFzc05hbWUiLCJjb21tb24iLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJtb3VudE5vZGUiLCJyb290IiwicmVuZGVyIiwiY3Vyc29yIiwib25jbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIndpbmRvdyIsIm9wZW4iLCJ0b29sdGlwRWwiLCJjaGlwUmVtb3ZlZE9ic2VydmVyIiwicmVtb3ZlVXNlclRvb2x0aXAiLCJfY2hpcFJlbW92ZWRPYnNlcnZlciIsImRpc2Nvbm5lY3QiLCJ3YXRjaENoaXBSZW1vdmVkRnJvbURvbSIsIl9jaGlwUmVtb3ZlZE9ic2VydmVyMiIsInBhcmVudCIsInBhcmVudE5vZGUiLCJNdXRhdGlvbk9ic2VydmVyIiwiaXNDb25uZWN0ZWQiLCJvYnNlcnZlIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGVmdCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJpbm5lcldpZHRoIiwidG9wIiwidHJhbnNmb3JtIiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9idWlsZENoaXBFbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUVsZW1lbnQsIHR5cGUgQ1NTUHJvcGVydGllcyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmx1c2hTeW5jIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnXG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi9sYW5nJ1xuaW1wb3J0IHsgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkljb25zJ1xuaW1wb3J0IHsgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9vcGVuVGFza0luQ29yUGFuZWwnXG5pbXBvcnQgeyBhcHBseU1lbnRpb25DaGlwU3R5bGVzLCBNRU5USU9OX0NISVBfQ09MT1JTIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuXG5jb25zdCBFRElUQUJMRV9OT05fVEFTS19MQUJFTF9TVFlMRTogQ1NTUHJvcGVydGllcyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgYWxpZ25TZWxmOiAnYmFzZWxpbmUnLFxuICBtaW5XaWR0aDogMCxcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbn1cblxuLyoqIFRleHRvIGRlIHRhcmVhOiBzaW4gYm9yZGUgaW5mZXJpb3I7IGVsIGFzcGVjdG8gZGUgZW5sYWNlIGxvIGRhIGVsIENTUyBnbG9iYWwgKDo6YmVmb3JlICsgY29sb3IpLiAqL1xuY29uc3QgRURJVEFCTEVfVEFTS19MQUJFTF9TVFlMRTogQ1NTUHJvcGVydGllcyA9IHtcbiAgZGlzcGxheTogJ2lubGluZScsXG4gIGZvbnRTaXplOiAnMTRweCcsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgZm9udFdlaWdodDogJzYwMCcsXG4gIGNvbG9yOiAnaW5oZXJpdCcsXG4gIG1pbldpZHRoOiAwLFxuICBtYXhXaWR0aDogJzEwMCUnLFxuICB3aGl0ZVNwYWNlOiAnbm9ybWFsJyxcbiAgb3ZlcmZsb3dXcmFwOiAnYnJlYWstd29yZCcsXG4gIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxufVxuXG5jb25zdCBjcmVhdGVFZGl0YWJsZU1lbnRpb25MYWJlbEVsID0gKGlzVGFzazogYm9vbGVhbiwgbWVudGlvbkxhYmVsOiBzdHJpbmcpID0+IHtcbiAgaWYgKCFpc1Rhc2spIHtcbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgc3R5bGU6IEVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFIH0sIG1lbnRpb25MYWJlbClcbiAgfVxuICByZXR1cm4gY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgc3R5bGU6IEVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEUgfSwgbWVudGlvbkxhYmVsKVxufVxuXG50eXBlIEVkaXRhYmxlTWVudGlvbkNoaXBQcm9wcyA9IHtcbiAgbWVudGlvbjogQ29udGV4dE1lbnRpb25cbn1cblxuY29uc3QgRWRpdGFibGVNZW50aW9uQ2hpcCA9ICh7IG1lbnRpb24gfTogRWRpdGFibGVNZW50aW9uQ2hpcFByb3BzKSA9PiB7XG4gIGNvbnN0IG1lbnRpb25MYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobWVudGlvbi5sYWJlbClcbiAgY29uc3QgaWNvbkNvbG9yID0gTUVOVElPTl9DSElQX0NPTE9SU1ttZW50aW9uLnR5cGVdLmZnXG4gIGNvbnN0IGlzVGFzayA9IG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IG1lbnRpb24udHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCBsYWJlbEVsID0gY3JlYXRlRWRpdGFibGVNZW50aW9uTGFiZWxFbChpc1Rhc2ssIG1lbnRpb25MYWJlbClcblxuICBjb25zdCBvdXRlclN0eWxlOiBDU1NQcm9wZXJ0aWVzID0ge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gIH1cblxuICBpZiAoaXNUYXNrIHx8IGlzUHJvamVjdCkge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdzcGFuJywgeyBzdHlsZTogb3V0ZXJTdHlsZSB9LCBsYWJlbEVsKVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgJ3NwYW4nLFxuICAgIHsgc3R5bGU6IG91dGVyU3R5bGUgfSxcbiAgICBjcmVhdGVFbGVtZW50KFxuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiAnMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMScsXG4gICAgICAgICAgd2lkdGg6ICcxNHB4JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBnZXRDb250ZXh0TWVudGlvbkljb24obWVudGlvbi50eXBlLCBpY29uQ29sb3IsIG1lbnRpb24uaWQsIGljb25TaXplKVxuICAgICksXG4gICAgbGFiZWxFbFxuICApXG59XG5cbmNvbnN0IGluaXRpYWxzRnJvbU5hbWUgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdHJpbW1lZCA9IG5hbWUudHJpbSgpXG4gIGlmICghdHJpbW1lZCkgcmV0dXJuICc/J1xuICBjb25zdCBwYXJ0cyA9IHRyaW1tZWQuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbilcbiAgaWYgKHBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgY29uc3QgZmlyc3QgPSBwYXJ0c1swXT8uY2hhckF0KDApID8/ICcnXG4gICAgY29uc3QgbGFzdCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdPy5jaGFyQXQoMCkgPz8gJydcbiAgICByZXR1cm4gYCR7Zmlyc3R9JHtsYXN0fWAudG9VcHBlckNhc2UoKVxuICB9XG4gIGNvbnN0IHNpbmdsZSA9IHBhcnRzWzBdID8/ICcnXG4gIHJldHVybiBzaW5nbGUubGVuZ3RoID49IDIgPyBzaW5nbGUuc2xpY2UoMCwgMikudG9VcHBlckNhc2UoKSA6IChzaW5nbGUuY2hhckF0KDApIHx8ICc/JykudG9VcHBlckNhc2UoKVxufVxuXG5jb25zdCBUT09MVElQX0ZPTlQgPSBgdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKWBcbmNvbnN0IFRPT0xUSVBfU0VDT05EQVJZX0NPTE9SID0gJ3ZhcigtLVRleHQtU2Vjb25kYXJ5LURhcmssICM2NjYpJ1xuY29uc3QgVE9PTFRJUF9TRUNPTkRBUllfU1RZTEUgPSB7XG4gIGZvbnRGYW1pbHk6IFRPT0xUSVBfRk9OVCxcbiAgZm9udFNpemU6ICcxNHB4JyxcbiAgZm9udFdlaWdodDogJzQwMCcsXG4gIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgY29sb3I6IFRPT0xUSVBfU0VDT05EQVJZX0NPTE9SLFxufVxuXG4vKiogQW5jaG8gbcOtbmltbyBkZWwgdG9vbHRpcCAoaW5jbC4gcGFkZGluZyBob3Jpem9udGFsIDgrOCkuICovXG5jb25zdCBVU0VSX1RPT0xUSVBfTUlOX1dJRFRIX1BYID0gMjkyXG4vKiogUGFkZGluZyBob3Jpem9udGFsIHRvdGFsIGRlbCB0b29sdGlwLiAqL1xuY29uc3QgVVNFUl9UT09MVElQX1BBRF9YX1BYID0gMTZcbi8qKiBBdmF0YXIgMjRweCArIGdhcCA4cHggcmVzcGVjdG8gYSBsYSBjb2x1bW5hIGRlIHRleHRvLiAqL1xuY29uc3QgVVNFUl9UT09MVElQX0FWQVRBUl9HQVBfUFggPSAzMlxuLyoqXG4gKiBBbmNobyBtw6F4aW1vIGRlIGxhIGZpbGEgbm9tYnJlIHwgcG9zaWNpw7NuOiBtaXNtbyBodWVjbyBxdWUgY29uIHRvb2x0aXAgZmlqbyAyOTJweCxcbiAqIHBhcmEgcXVlIHNvbG8gZWwgZW1haWwgZW5zYW5jaGUgZWwgY29udGVuZWRvci5cbiAqL1xuY29uc3QgVVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWCA9IFVTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFggLSBVU0VSX1RPT0xUSVBfUEFEX1hfUFggLSBVU0VSX1RPT0xUSVBfQVZBVEFSX0dBUF9QWFxuXG5jb25zdCBjcmVhdGVVc2VyVG9vbHRpcEVsID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogSFRNTEVsZW1lbnQgPT4ge1xuICBjb25zdCB7IGxhYmVsLCBtZXRhZGF0YSB9ID0gbWVudGlvblxuICBjb25zdCBwaWN0dXJlID0gbWV0YWRhdGE/LnBpY3R1cmUgPz8gbnVsbFxuICBjb25zdCBwb3NpdGlvbk5hbWUgPSBtZXRhZGF0YT8ucG9zaXRpb25OYW1lPy50cmltKCkgPz8gJydcbiAgY29uc3QgcG9zaXRpb25MaW5lID1cbiAgICBwb3NpdGlvbk5hbWUgfHxcbiAgICBpMThuLnQoJ2NvbnRleHRNZW50aW9uLnVzZXJOb1Bvc2l0aW9uJywge1xuICAgICAgZGVmYXVsdFZhbHVlOiAnU2luIHBvc2ljacOzbicsXG4gICAgfSlcbiAgY29uc3QgZW1haWwgPSBtZXRhZGF0YT8uZW1haWw/LnRyaW0oKSA/PyAnJ1xuICAvKiogTWlzbWEgZnVlbnRlIHF1ZSBgQ29udGV4dE1lbnRpb25JdGVtYCAoYXZhdGFyKTogbm9tYnJlIGRlIHF1ZXJ5LCBubyBlbCBsYWJlbCBkZWwgY2hpcCAoZWouIFwiWW9cIikuICovXG4gIGNvbnN0IG5hbWVGb3JJbml0aWFscyA9IChtZXRhZGF0YT8ubmFtZT8udHJpbSgpID8gbWV0YWRhdGEubmFtZSA6IGxhYmVsKS50cmltKClcblxuICBjb25zdCB0b29sdGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgT2JqZWN0LmFzc2lnbih0b29sdGlwLnN0eWxlLCB7XG4gICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgekluZGV4OiAnOTk5OScsXG4gICAgbWluV2lkdGg6IGAke1VTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFh9cHhgLFxuICAgIHdpZHRoOiAnbWF4LWNvbnRlbnQnLFxuICAgIG1heFdpZHRoOiAnbWluKDU2MHB4LCBjYWxjKDEwMHZ3IC0gMjRweCkpJyxcbiAgICBwYWRkaW5nOiAnMTJweCA4cHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tQ29sb3ItTGlnaHQtR3JheSwgI0UwRTBFMCknLFxuICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICBib3hTaGFkb3c6ICcwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDgpLCAwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDQpJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB9KVxuXG4gIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24ocm93LnN0eWxlLCB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGdhcDogJzhweCcsXG4gICAgd2lkdGg6ICdtYXgtY29udGVudCcsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICB9KVxuXG4gIC8vIEF2YXRhciBjaXJjdWxhciAoZm90byBvIGluaWNpYWxlcylcbiAgY29uc3QgYXZhdGFyV3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24oYXZhdGFyV3JhcC5zdHlsZSwge1xuICAgIHdpZHRoOiAnMjRweCcsXG4gICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgbWluV2lkdGg6ICcyNHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICcyNHB4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAvKiogTWlzbW8gZm9uZG8gcXVlIGBTQ01Vc2VyQXZhdGFyRmFsbGJhY2tgIGVuIGxhIGZpbGEgZGUgdXN1YXJpbyBkZWwgbW9kYWwuICovXG4gICAgYmFja2dyb3VuZDogJ3ZhcigtLWNvci1jb2xvci1ncmV5LTIwMCwgI2UwZTBlMCknLFxuICAgIGZsZXhTaHJpbms6ICcwJyxcbiAgfSlcblxuICBjb25zdCBpbml0aWFscyA9IGluaXRpYWxzRnJvbU5hbWUobmFtZUZvckluaXRpYWxzKVxuXG4gIGNvbnN0IGNyZWF0ZUluaXRpYWxzRmFsbGJhY2sgPSAoKTogSFRNTEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IGZiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgZmIudGV4dENvbnRlbnQgPSBpbml0aWFsc1xuICAgIE9iamVjdC5hc3NpZ24oZmIuc3R5bGUsIHtcbiAgICAgIGZvbnRTaXplOiAnMTBweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgICAgIC8qKiBNaXNtbyBjb2xvciBxdWUgYFNDTVVzZXJBdmF0YXJGYWxsYmFja2AgZW4gbGEgZmlsYSBkZSB1c3VhcmlvIGRlbCBtb2RhbC4gKi9cbiAgICAgIGNvbG9yOiAndmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNjY2KScsXG4gICAgICBsaW5lSGVpZ2h0OiAnMScsXG4gICAgICBmb250RmFtaWx5OiBUT09MVElQX0ZPTlQsXG4gICAgfSlcbiAgICByZXR1cm4gZmJcbiAgfVxuXG4gIGlmIChwaWN0dXJlKSB7XG4gICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJylcbiAgICBpbWcuc3JjID0gcGljdHVyZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIE9iamVjdC5hc3NpZ24oaW1nLnN0eWxlLCB7XG4gICAgICB3aWR0aDogJzI0cHgnLFxuICAgICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgICBvYmplY3RGaXQ6ICdjb3ZlcicsXG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMjRweCcsXG4gICAgfSlcbiAgICBpbWcub25lcnJvciA9ICgpID0+IHtcbiAgICAgIGltZy5yZW1vdmUoKVxuICAgICAgYXZhdGFyV3JhcC5hcHBlbmRDaGlsZChjcmVhdGVJbml0aWFsc0ZhbGxiYWNrKCkpXG4gICAgfVxuICAgIGF2YXRhcldyYXAuYXBwZW5kQ2hpbGQoaW1nKVxuICB9IGVsc2Uge1xuICAgIGF2YXRhcldyYXAuYXBwZW5kQ2hpbGQoY3JlYXRlSW5pdGlhbHNGYWxsYmFjaygpKVxuICB9XG5cbiAgLy8gQ29sdW1uYSBkZSBpbmZvOiBjcmVjZSBjb24gZWwgZW1haWwgKHVuYSBsw61uZWEpOyBsYSBmaWxhIG5vbWJyZSBtYW50aWVuZSBhbmNobyBiYXNlLlxuICBjb25zdCBpbmZvQ29sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgT2JqZWN0LmFzc2lnbihpbmZvQ29sLnN0eWxlLCB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAnMnB4JyxcbiAgICBtaW5XaWR0aDogYCR7VVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWH1weGAsXG4gICAgd2lkdGg6ICdtYXgtY29udGVudCcsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgfSlcblxuICAvLyBGaWxhOiBub21icmUgKyBzZXBhcmFkb3IgKyBwb3NpY2nDs24gKGFuY2hvIGZpam8gY29tbyBhbnRlczsgbm8gZW5zYW5jaGEgZWwgdG9vbHRpcClcbiAgY29uc3QgbmFtZVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24obmFtZVJvdy5zdHlsZSwge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAnNHB4JyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIHdpZHRoOiBgJHtVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYfXB4YCxcbiAgICBtYXhXaWR0aDogYCR7VVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWH1weGAsXG4gIH0pXG5cbiAgY29uc3QgbmFtZVNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgbmFtZVNwYW4udGV4dENvbnRlbnQgPSBsYWJlbFxuICBPYmplY3QuYXNzaWduKG5hbWVTcGFuLnN0eWxlLCB7XG4gICAgZmxleDogJzEgMSAwJyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgY29sb3I6ICd2YXIoLS1UZXh0LVByaW1hcnktRGFyaywgIzIwMjAxRiknLFxuICAgIGZvbnRGYW1pbHk6IFRPT0xUSVBfRk9OVCxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGZvbnRXZWlnaHQ6ICc1MDAnLFxuICAgIGxpbmVIZWlnaHQ6ICcxMzAlJyxcbiAgfSlcbiAgbmFtZVJvdy5hcHBlbmRDaGlsZChuYW1lU3BhbilcblxuICBjb25zdCBzZXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgc2VwLnRleHRDb250ZW50ID0gJ3wnXG4gIE9iamVjdC5hc3NpZ24oc2VwLnN0eWxlLCB7IC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLCBmbGV4U2hyaW5rOiAnMCcgfSlcbiAgbmFtZVJvdy5hcHBlbmRDaGlsZChzZXApXG5cbiAgY29uc3QgcG9zU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBwb3NTcGFuLnRleHRDb250ZW50ID0gcG9zaXRpb25MaW5lXG4gIE9iamVjdC5hc3NpZ24ocG9zU3Bhbi5zdHlsZSwge1xuICAgIC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLFxuICAgIGZsZXg6ICcxIDEgMCcsXG4gICAgbWluV2lkdGg6ICcwJyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9KVxuICBuYW1lUm93LmFwcGVuZENoaWxkKHBvc1NwYW4pXG5cbiAgaW5mb0NvbC5hcHBlbmRDaGlsZChuYW1lUm93KVxuXG4gIGlmIChlbWFpbCkge1xuICAgIGNvbnN0IGVtYWlsU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGVtYWlsU3Bhbi50ZXh0Q29udGVudCA9IGVtYWlsXG4gICAgT2JqZWN0LmFzc2lnbihlbWFpbFNwYW4uc3R5bGUsIHtcbiAgICAgIC4uLlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIH0pXG4gICAgaW5mb0NvbC5hcHBlbmRDaGlsZChlbWFpbFNwYW4pXG4gIH1cblxuICByb3cuYXBwZW5kQ2hpbGQoYXZhdGFyV3JhcClcbiAgcm93LmFwcGVuZENoaWxkKGluZm9Db2wpXG4gIHRvb2x0aXAuYXBwZW5kQ2hpbGQocm93KVxuXG4gIHJldHVybiB0b29sdGlwXG59XG5cbi8qKlxuICogQ3JlYSB1biBgPHNwYW4+YCBhdMOzbWljbyBsaXN0byBwYXJhIGluc2VydGFyc2UgZGVudHJvIGRlbCBjb250ZW50ZWRpdGFibGVcbiAqIGRlbCBgQ29udGV4dE1lbnRpb25FZGl0b3JgLiBTZSBtYXJjYSBjb24gbG9zIGBkYXRhLW1lbnRpb24qYCBuZWNlc2FyaW9zIHBhcmFcbiAqIHF1ZSBgdXNlQ29udGV4dE1lbnRpb25zLnNlcmlhbGl6ZSgpYCBwdWVkYSB2b2x2ZXIgYSBleHRyYWVyIGxhIG1lbnRpb24uXG4gKlxuICogQ29tcGFydGUgbG9zIGVzdGlsb3MgY29uIGVsIGNvbXBvbmVudGUgYENvbnRleHRNZW50aW9uQ2hpcGAgdmlhXG4gKiBgYXBwbHlNZW50aW9uQ2hpcFN0eWxlc2AsIGFzZWd1cmFuZG8gdW5hIMO6bmljYSBmdWVudGUgZGUgdmVyZGFkIHZpc3VhbC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQ2hpcEVsZW1lbnQgPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBIVE1MU3BhbkVsZW1lbnQgPT4ge1xuICBjb25zdCBjaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAnZmFsc2UnKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uLWNoaXAnLCAndHJ1ZScpXG4gIGNoaXAuY2xhc3NOYW1lID0gQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1NcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVudGlvbi10eXBlJywgbWVudGlvbi50eXBlKVxuICBjaGlwLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uLXN1cmZhY2UnLCAnZWRpdG9yJylcbiAgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcyhjaGlwLCBtZW50aW9uLnR5cGUpXG4gIGNvbnN0IGlzVGFzayA9IG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGNvbW1vbiA9IHtcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgfSBhcyBjb25zdFxuICBpZiAoaXNUYXNrKSB7XG4gICAgT2JqZWN0LmFzc2lnbihjaGlwLnN0eWxlLCBjb21tb24sIHtcbiAgICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgbWluSGVpZ2h0OiAnYXV0bycsXG4gICAgICBtYXhIZWlnaHQ6ICdub25lJyxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIE9iamVjdC5hc3NpZ24oY2hpcC5zdHlsZSwgY29tbW9uLCB7XG4gICAgICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgbWF4SGVpZ2h0OiAnbm9uZScsXG4gICAgfSlcbiAgfVxuICBjb25zdCBtb3VudE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgbW91bnROb2RlLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lJ1xuICBtb3VudE5vZGUuc3R5bGUubWF4V2lkdGggPSAnMTAwJSdcbiAgbW91bnROb2RlLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnYmFzZWxpbmUnXG4gIG1vdW50Tm9kZS5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCdcbiAgY2hpcC5hcHBlbmRDaGlsZChtb3VudE5vZGUpXG4gIGNvbnN0IHJvb3QgPSBjcmVhdGVSb290KG1vdW50Tm9kZSlcblxuICBmbHVzaFN5bmMoKCkgPT4ge1xuICAgIHJvb3QucmVuZGVyKGNyZWF0ZUVsZW1lbnQoRWRpdGFibGVNZW50aW9uQ2hpcCwgeyBtZW50aW9uIH0pKVxuICB9KVxuXG4gIGlmIChtZW50aW9uLnR5cGUgPT09ICd0YXNrJykge1xuICAgIGNoaXAuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInXG4gICAgY2hpcC5vbmNsaWNrID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIG9wZW5UYXNrSW5Db3JQYW5lbChtZW50aW9uLmlkLCAnZGV0YWlsJylcbiAgICB9XG4gIH0gZWxzZSBpZiAobWVudGlvbi50eXBlID09PSAncHJvamVjdCcpIHtcbiAgICBjaGlwLnN0eWxlLmN1cnNvciA9ICdwb2ludGVyJ1xuICAgIGNoaXAub25jbGljayA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICB3aW5kb3cub3BlbihgL3Byb2plY3QvJHttZW50aW9uLmlkfS9kYXNoYm9hcmRgLCAnX2JsYW5rJylcbiAgICB9XG4gIH0gZWxzZSBpZiAobWVudGlvbi50eXBlID09PSAndXNlcicpIHtcbiAgICBsZXQgdG9vbHRpcEVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsXG4gICAgbGV0IGNoaXBSZW1vdmVkT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgcmVtb3ZlVXNlclRvb2x0aXAgPSAoKSA9PiB7XG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBudWxsXG4gICAgICBpZiAodG9vbHRpcEVsKSB7XG4gICAgICAgIHRvb2x0aXBFbC5yZW1vdmUoKVxuICAgICAgICB0b29sdGlwRWwgPSBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNpIGVsIGNoaXAgc2UgYm9ycmEgZGVsIGVkaXRvciAoQmFja3NwYWNlLCBldGMuKSBubyBzaWVtcHJlIGhheSBgbW91c2VsZWF2ZWA7IGNlcnJhciBlbCB0b29sdGlwLiAqL1xuICAgIGNvbnN0IHdhdGNoQ2hpcFJlbW92ZWRGcm9tRG9tID0gKCkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gY2hpcC5wYXJlbnROb2RlXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuXG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIGlmICghY2hpcC5pc0Nvbm5lY3RlZCkgcmVtb3ZlVXNlclRvb2x0aXAoKVxuICAgICAgfSlcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIub2JzZXJ2ZShwYXJlbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pXG4gICAgfVxuXG4gICAgY2hpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4ge1xuICAgICAgaWYgKHRvb2x0aXBFbCkgcmV0dXJuXG4gICAgICB0b29sdGlwRWwgPSBjcmVhdGVVc2VyVG9vbHRpcEVsKG1lbnRpb24pXG4gICAgICBjb25zdCByZWN0ID0gY2hpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KDgsIE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoIC0gMzAwLCByZWN0LmxlZnQpKVxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRvcCA9IGAke3JlY3QudG9wfXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLmxlZnQgPSBgJHtsZWZ0fXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSA0cHgpKSdcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKVxuICAgICAgd2F0Y2hDaGlwUmVtb3ZlZEZyb21Eb20oKVxuICAgIH0pXG5cbiAgICBjaGlwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCByZW1vdmVVc2VyVG9vbHRpcClcbiAgfVxuXG4gIHJldHVybiBjaGlwXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLGFBQWEsUUFBNEIsT0FBTztBQUN6RCxTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUNyQyxT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
@@ -1,4 +0,0 @@
1
- export { ContextMentionChip } from './ContextMentionChip';
2
- export { buildChipElement } from './buildChipElement';
3
- export { MENTION_CHIP_COLORS, applyMentionChipStyles, ContextMentionChipGlobalStyles, MENTION_CHIP_NON_TASK_HOVER_BG, MENTION_CHIP_TASK_HOVER_BG } from './ContextMentionChip.styles';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0TWVudGlvbkNoaXAiLCJidWlsZENoaXBFbGVtZW50IiwiTUVOVElPTl9DSElQX0NPTE9SUyIsImFwcGx5TWVudGlvbkNoaXBTdHlsZXMiLCJDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJNRU5USU9OX0NISVBfVEFTS19IT1ZFUl9CRyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDb250ZXh0TWVudGlvbkNoaXAgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uQ2hpcCdcbmV4cG9ydCB7IGJ1aWxkQ2hpcEVsZW1lbnQgfSBmcm9tICcuL2J1aWxkQ2hpcEVsZW1lbnQnXG5leHBvcnQge1xuICBNRU5USU9OX0NISVBfQ09MT1JTLFxuICBhcHBseU1lbnRpb25DaGlwU3R5bGVzLFxuICBDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMsXG4gIE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyxcbiAgTUVOVElPTl9DSElQX1RBU0tfSE9WRVJfQkcsXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0Esa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUNFQyxtQkFBbUIsRUFDbkJDLHNCQUFzQixFQUN0QkMsOEJBQThCLEVBQzlCQyw4QkFBOEIsRUFDOUJDLDBCQUEwQixRQUNyQiw2QkFBNkIiLCJpZ25vcmVMaXN0IjpbXX0=