@projectcor/maia-components 2.11.63-3 → 2.11.63

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 (115) hide show
  1. package/lib/App.js +2 -6
  2. package/lib/components/atoms/Chip/Chip.js +15 -49
  3. package/lib/components/atoms/Chip/styles.js +3 -7
  4. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
  5. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -4
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  8. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +11 -76
  9. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +14 -22
  10. package/lib/components/atoms/MAIAInput/MAIAInput.js +5 -8
  11. package/lib/components/atoms/icons/index.js +1 -4
  12. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
  13. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
  14. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
  15. package/lib/components/molecules/AbmSection/index.js +1 -2
  16. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +2 -21
  17. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +4 -6
  18. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +5 -10
  19. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +24 -74
  20. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +13 -14
  21. package/lib/components/molecules/ChatAIModal/constants.js +2 -10
  22. package/lib/components/molecules/ChatFooter/ChatFooter.js +21 -105
  23. package/lib/components/molecules/ChatFooter/styles.js +2 -11
  24. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  25. package/lib/components/molecules/Sidebar/Sidebar.js +32 -69
  26. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +11 -15
  27. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +56 -269
  28. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
  29. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +2 -17
  30. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  31. package/lib/constants/config.js +1 -4
  32. package/lib/constants/maiaTaskPanelAccess.js +2 -2
  33. package/lib/context/global-context.js +1 -8
  34. package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
  35. package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
  36. package/lib/hooks/useChatManager/useChatManager.js +19 -142
  37. package/lib/hooks/useChatMessages/useChatMessages.js +1 -1
  38. package/lib/hooks/useContextMentions.js +13 -61
  39. package/lib/hooks/useEntitySearch.js +142 -273
  40. package/lib/hooks/useMentionAllowedTypes.js +11 -55
  41. package/lib/hooks/useMentionPopover.js +30 -64
  42. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  43. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +7 -16
  44. package/lib/hooks/useProjectSearch.js +28 -4
  45. package/lib/hooks/useProjectSummaryConfig.js +3 -47
  46. package/lib/hooks/useRecentClientsSearch.js +34 -4
  47. package/lib/lang/br/index.js +3 -578
  48. package/lib/lang/en/index.js +3 -578
  49. package/lib/lang/es/index.js +3 -578
  50. package/lib/lang/fr/index.js +4 -310
  51. package/lib/services/maia/Agents/createAgent.js +1 -1
  52. package/lib/services/maia/Agents/getAgentById.js +2 -3
  53. package/lib/services/maia/Agents/getAgents.js +91 -68
  54. package/lib/services/maia/Agents/updateAgent.js +1 -1
  55. package/lib/services/maia/Chats/getChatsByUserId.js +9 -13
  56. package/lib/services/maia/Orchestrator/orchestrator.js +6 -15
  57. package/lib/services/utils/validateIsMaia.js +2 -2
  58. package/lib/types/Chat.js +1 -1
  59. package/lib/types/agent.js +1 -1
  60. package/lib/types/agentModal.js +1 -1
  61. package/lib/types/contextMention.js +1 -1
  62. package/lib/types/global.d.js +1 -1
  63. package/lib/utils/contextMentionIcons.js +1 -29
  64. package/lib/utils/hitlAnalytics.js +3 -3
  65. package/lib/utils/renderContextMentions.js +4 -9
  66. package/package.json +1 -1
  67. package/lib/components/atoms/icons/RocketIcon.js +0 -31
  68. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  69. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
  70. package/lib/components/atoms/icons/WrenchIcon.js +0 -42
  71. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -522
  72. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -234
  73. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
  74. package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
  75. package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
  76. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
  77. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
  78. package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
  79. package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
  80. package/lib/components/molecules/ChatAIMyRoutines/ChatAIMyRoutines.js +0 -486
  81. package/lib/components/molecules/ChatAIMyRoutines/ChatAIMyRoutines.styles.js +0 -184
  82. package/lib/components/molecules/ChatAIMyRoutines/index.js +0 -2
  83. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
  84. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
  85. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  86. package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -610
  87. package/lib/components/molecules/SchedulesPage/index.js +0 -2
  88. package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
  89. package/lib/components/molecules/SkillsPage/index.js +0 -2
  90. package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
  91. package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
  92. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
  93. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  94. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  95. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
  96. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
  97. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  98. package/lib/dev/DevAbmAgentModal.js +0 -114
  99. package/lib/dev/mocks/abmModalMocks.js +0 -193
  100. package/lib/hooks/useContextPinPopover.js +0 -228
  101. package/lib/services/maia/Agents/connectors.js +0 -110
  102. package/lib/services/maia/Agents/skills.js +0 -164
  103. package/lib/services/maia/Schedules/createSchedule.js +0 -39
  104. package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
  105. package/lib/services/maia/Schedules/getMySchedules.js +0 -55
  106. package/lib/services/maia/Schedules/getSchedules.js +0 -58
  107. package/lib/services/maia/Schedules/index.js +0 -5
  108. package/lib/services/maia/Skills/createSkill.js +0 -39
  109. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  110. package/lib/services/maia/Skills/generateSkill.js +0 -41
  111. package/lib/services/maia/Skills/getSkills.js +0 -90
  112. package/lib/services/maia/Skills/updateSkill.js +0 -39
  113. package/lib/types/agentSkill.js +0 -2
  114. package/lib/types/attachment.js +0 -2
  115. package/lib/types/skill.js +0 -2
@@ -2,37 +2,24 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { InformationCircle } from '@projectcor/icons/lib/components/InformationCircle';
4
4
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
5
- import { SKILLS_SEARCH_MIN_QUERY_LENGTH } from '../../../constants/config';
6
5
  import { useT } from '../../../hooks/useT';
7
6
  import { ContextMentionItem } from '../ContextMentionItem';
8
7
  import { Loader } from '../Loader';
9
- import { SCMPContainer, SCMPDivider, SCMPDividerWrapper, SCMPRecentsLabel, SCMPRecentsRow, SCMPRecentsTitle, SCMPList, SCMPStateWrapper, SCMPKeyboardHint, SCMPTab, SCMPTabsGroup, SCMPTabsRow, SCMPLoadMoreRow, SCMPSearchRow, SCMPSearchInput } from './ContextMentionPopover.styles';
8
+ import { SCMPContainer, SCMPDivider, SCMPDividerWrapper, SCMPRecentsLabel, SCMPRecentsRow, SCMPRecentsTitle, SCMPList, SCMPStateWrapper, SCMPKeyboardHint, SCMPTab, SCMPTabsGroup, SCMPTabsRow, SCMPLoadMoreRow } from './ContextMentionPopover.styles';
10
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  var TAB_I18N_KEYS = {
12
11
  client: 'contextMention.tabs.client',
13
12
  project: 'contextMention.tabs.project',
14
13
  task: 'contextMention.tabs.task',
15
14
  user: 'contextMention.tabs.user',
16
- mcp: 'contextMention.tabs.mcp',
17
- skill: 'contextMention.tabs.skill'
18
- };
19
- var TAB_AT_PREFIX = {
20
- client: '@/',
21
- mcp: '@@/'
15
+ mcp: 'contextMention.tabs.mcp'
22
16
  };
23
17
  var TAB_FALLBACKS = {
24
18
  client: 'Cliente',
25
19
  project: 'Proyecto',
26
20
  task: 'Tarea',
27
21
  user: 'Usuario',
28
- mcp: 'Conectores',
29
- skill: 'Habilidades'
30
- };
31
- var getTabPrefix = function getTabPrefix(type, tabIndex) {
32
- if (type === 'skill') return '@/';
33
- if (TAB_AT_PREFIX[type]) return TAB_AT_PREFIX[type];
34
- // Para todos los demás tipos, el prefijo es posicional pero excluyendo skill del conteo.
35
- return '@'.repeat(tabIndex + 1);
22
+ mcp: 'Conectores'
36
23
  };
37
24
  export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
38
25
  var allowedTypes = _ref.allowedTypes,
@@ -42,8 +29,6 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
42
29
  loading = _ref.loading,
43
30
  error = _ref.error,
44
31
  hideRecentsLabel = _ref.hideRecentsLabel,
45
- _ref$skillsCatalogEmp = _ref.skillsCatalogEmpty,
46
- skillsCatalogEmpty = _ref$skillsCatalogEmp === void 0 ? false : _ref$skillsCatalogEmp,
47
32
  hasMore = _ref.hasMore,
48
33
  isLoadingMore = _ref.isLoadingMore,
49
34
  onReachListEnd = _ref.onReachListEnd,
@@ -54,12 +39,7 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
54
39
  isKeyboardNavActive = _ref.isKeyboardNavActive,
55
40
  onMouseMoveInList = _ref.onMouseMoveInList,
56
41
  style = _ref.style,
57
- keyboardHint = _ref.keyboardHint,
58
- showSearchInput = _ref.showSearchInput,
59
- searchPlaceholder = _ref.searchPlaceholder,
60
- onSearchChange = _ref.onSearchChange,
61
- onRequestClose = _ref.onRequestClose,
62
- hideTabPrefix = _ref.hideTabPrefix;
42
+ keyboardHint = _ref.keyboardHint;
63
43
  var _useT = useT(),
64
44
  t = _useT.t;
65
45
  var _useState = useState(0),
@@ -92,31 +72,7 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
92
72
  block: 'nearest'
93
73
  });
94
74
  }, [activeIndex, items.length]);
95
- var handleSearchKeyDown = useCallback(function (e) {
96
- if (e.key === 'ArrowDown') {
97
- e.preventDefault();
98
- updateActiveIndex(items.length > 0 ? Math.min(activeIndex + 1, items.length - 1) : 0);
99
- } else if (e.key === 'ArrowUp') {
100
- e.preventDefault();
101
- updateActiveIndex(Math.max(activeIndex - 1, 0));
102
- } else if (e.key === 'Enter') {
103
- e.preventDefault();
104
- var item = items[activeIndex];
105
- if (item) onItemSelected(item);
106
- } else if (e.key === 'Escape') {
107
- e.preventDefault();
108
- onRequestClose === null || onRequestClose === void 0 || onRequestClose();
109
- }
110
- }, [items, activeIndex, updateActiveIndex, onItemSelected, onRequestClose]);
111
75
  var emptyMessage = useMemo(function () {
112
- if (activeType === 'skill') {
113
- if (searchValue.trim()) {
114
- return t('contextMention.empty.skillWithQuery', {
115
- query: searchValue
116
- });
117
- }
118
- return t('contextMention.empty.skillNoItems');
119
- }
120
76
  if (searchValue.trim()) {
121
77
  return t('contextMention.empty.withQuery', {
122
78
  query: searchValue,
@@ -126,8 +82,7 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
126
82
  return t('contextMention.empty.recents', {
127
83
  defaultValue: 'Empezá a escribir para buscar'
128
84
  });
129
- }, [activeType, searchValue, t]);
130
- var skillQueryTooShort = activeType === 'skill' && !skillsCatalogEmpty && searchValue.trim().length > 0 && searchValue.trim().length < SKILLS_SEARCH_MIN_QUERY_LENGTH;
85
+ }, [searchValue, t]);
131
86
  var renderBody = function renderBody() {
132
87
  if (loading) {
133
88
  return /*#__PURE__*/_jsx(SCMPStateWrapper, {
@@ -143,11 +98,6 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
143
98
  })
144
99
  });
145
100
  }
146
- if (skillQueryTooShort) {
147
- return /*#__PURE__*/_jsx(SCMPStateWrapper, {
148
- children: t('contextMention.skillQueryTooShort')
149
- });
150
- }
151
101
  if (items.length === 0) {
152
102
  return /*#__PURE__*/_jsx(SCMPStateWrapper, {
153
103
  children: emptyMessage
@@ -166,7 +116,7 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
166
116
  onReachListEnd();
167
117
  }
168
118
  },
169
- children: [!searchValue.trim() && activeType !== 'user' && activeType !== 'mcp' && !hideRecentsLabel ? /*#__PURE__*/_jsx(SCMPRecentsRow, {
119
+ children: [!searchValue.trim() && activeType !== 'user' && !hideRecentsLabel ? /*#__PURE__*/_jsx(SCMPRecentsRow, {
170
120
  children: /*#__PURE__*/_jsx(SCMPRecentsTitle, {
171
121
  children: /*#__PURE__*/_jsx(SCMPRecentsLabel, {
172
122
  children: t('contextMention.recentsTitle', {
@@ -204,31 +154,16 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
204
154
  onMouseDown: function onMouseDown(e) {
205
155
  return e.stopPropagation();
206
156
  },
207
- children: [showSearchInput ? /*#__PURE__*/_jsx(SCMPSearchRow, {
208
- children: /*#__PURE__*/_jsx(SCMPSearchInput, {
209
- autoFocus: true,
210
- type: "text",
211
- value: searchValue,
212
- placeholder: searchPlaceholder,
213
- onChange: function onChange(e) {
214
- return onSearchChange === null || onSearchChange === void 0 ? void 0 : onSearchChange(e.target.value);
215
- },
216
- onKeyDown: handleSearchKeyDown
217
- })
218
- }) : null, /*#__PURE__*/_jsxs(SCMPTabsRow, {
157
+ children: [/*#__PURE__*/_jsxs(SCMPTabsRow, {
219
158
  children: [/*#__PURE__*/_jsx(SCMPTabsGroup, {
220
- children: allowedTypes.map(function (type, rawIndex) {
159
+ children: allowedTypes.map(function (type, tabIndex) {
221
160
  var label = t(TAB_I18N_KEYS[type], {
222
161
  defaultValue: TAB_FALLBACKS[type]
223
162
  });
224
- // Para el prefijo posicional, skill no cuenta en el orden de @, @@, @@@.
225
- var nonSkillIndex = allowedTypes.slice(0, rawIndex).filter(function (entityType) {
226
- return entityType !== 'skill';
227
- }).length;
228
- var atPrefix = hideTabPrefix ? '' : getTabPrefix(type, nonSkillIndex);
163
+ var atPrefix = '@'.repeat(tabIndex + 1);
229
164
  return /*#__PURE__*/_jsxs(SCMPTab, {
230
165
  type: "button",
231
- "aria-label": atPrefix ? "".concat(atPrefix, " ").concat(label) : label,
166
+ "aria-label": "".concat(atPrefix, " ").concat(label),
232
167
  $active: type === activeType,
233
168
  onMouseDown: function onMouseDown(e) {
234
169
  e.preventDefault();
@@ -254,4 +189,4 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
254
189
  });
255
190
  });
256
191
  ContextMentionPopover.displayName = 'ContextMentionPopover';
257
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJTS0lMTFNfU0VBUkNIX01JTl9RVUVSWV9MRU5HVEgiLCJ1c2VUIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiTG9hZGVyIiwiU0NNUENvbnRhaW5lciIsIlNDTVBEaXZpZGVyIiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUFJlY2VudHNMYWJlbCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBMaXN0IiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBLZXlib2FyZEhpbnQiLCJTQ01QVGFiIiwiU0NNUFRhYnNHcm91cCIsIlNDTVBUYWJzUm93IiwiU0NNUExvYWRNb3JlUm93IiwiU0NNUFNlYXJjaFJvdyIsIlNDTVBTZWFyY2hJbnB1dCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJUQUJfSTE4Tl9LRVlTIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJ1c2VyIiwibWNwIiwic2tpbGwiLCJUQUJfQVRfUFJFRklYIiwiVEFCX0ZBTExCQUNLUyIsImdldFRhYlByZWZpeCIsInR5cGUiLCJ0YWJJbmRleCIsInJlcGVhdCIsIkNvbnRleHRNZW50aW9uUG9wb3ZlciIsIl9yZWYiLCJyZWYiLCJhbGxvd2VkVHlwZXMiLCJhY3RpdmVUeXBlIiwib25UeXBlQ2hhbmdlIiwiaXRlbXMiLCJsb2FkaW5nIiwiZXJyb3IiLCJoaWRlUmVjZW50c0xhYmVsIiwiX3JlZiRza2lsbHNDYXRhbG9nRW1wIiwic2tpbGxzQ2F0YWxvZ0VtcHR5IiwiaGFzTW9yZSIsImlzTG9hZGluZ01vcmUiLCJvblJlYWNoTGlzdEVuZCIsInNlYXJjaFZhbHVlIiwib25JdGVtU2VsZWN0ZWQiLCJjb250cm9sbGVkSW5kZXgiLCJhY3RpdmVJbmRleCIsIm9uQWN0aXZlSW5kZXhDaGFuZ2UiLCJpc0tleWJvYXJkTmF2QWN0aXZlIiwib25Nb3VzZU1vdmVJbkxpc3QiLCJzdHlsZSIsImtleWJvYXJkSGludCIsInNob3dTZWFyY2hJbnB1dCIsInNlYXJjaFBsYWNlaG9sZGVyIiwib25TZWFyY2hDaGFuZ2UiLCJvblJlcXVlc3RDbG9zZSIsImhpZGVUYWJQcmVmaXgiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnRlcm5hbEluZGV4Iiwic2V0SW50ZXJuYWxJbmRleCIsImxpc3RSZWYiLCJ1cGRhdGVBY3RpdmVJbmRleCIsImlkeCIsInByZXZJc0xvYWRpbmdNb3JlUmVmIiwiY3VycmVudCIsImxlbmd0aCIsIl9pdGVtRWxzJGFjdGl2ZUluZGV4IiwibGlzdEVsIiwiaXRlbUVscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiaGFuZGxlU2VhcmNoS2V5RG93biIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJpdGVtIiwiZW1wdHlNZXNzYWdlIiwidHJpbSIsInF1ZXJ5IiwiZGVmYXVsdFZhbHVlIiwiY29uY2F0Iiwic2tpbGxRdWVyeVRvb1Nob3J0IiwicmVuZGVyQm9keSIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwib25Nb3VzZU1vdmUiLCJvblNjcm9sbCIsImVsIiwiY3VycmVudFRhcmdldCIsInRocmVzaG9sZCIsIm5lYXJCb3R0b20iLCJzY3JvbGxUb3AiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJtYXAiLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsImlkIiwic2l6ZSIsInJvbGUiLCJvbk1vdXNlRG93biIsInN0b3BQcm9wYWdhdGlvbiIsImF1dG9Gb2N1cyIsInZhbHVlIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsInRhcmdldCIsIm9uS2V5RG93biIsInJhd0luZGV4IiwibGFiZWwiLCJub25Ta2lsbEluZGV4Iiwic2xpY2UiLCJmaWx0ZXIiLCJlbnRpdHlUeXBlIiwiYXRQcmVmaXgiLCIkYWN0aXZlIiwidGl0bGUiLCJoZWlnaHQiLCJjb2xvciIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25Qb3BvdmVyL0NvbnRleHRNZW50aW9uUG9wb3Zlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1NTUHJvcGVydGllcywgZm9yd2FyZFJlZiwgS2V5Ym9hcmRFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IFNLSUxMU19TRUFSQ0hfTUlOX1FVRVJZX0xFTkdUSCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbkl0ZW0gYXMgQ29udGV4dE1lbnRpb25JdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25JdGVtIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25JdGVtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vTG9hZGVyJ1xuaW1wb3J0IHtcbiAgU0NNUENvbnRhaW5lcixcbiAgU0NNUERpdmlkZXIsXG4gIFNDTVBEaXZpZGVyV3JhcHBlcixcbiAgU0NNUFJlY2VudHNMYWJlbCxcbiAgU0NNUFJlY2VudHNSb3csXG4gIFNDTVBSZWNlbnRzVGl0bGUsXG4gIFNDTVBMaXN0LFxuICBTQ01QU3RhdGVXcmFwcGVyLFxuICBTQ01QS2V5Ym9hcmRIaW50LFxuICBTQ01QVGFiLFxuICBTQ01QVGFic0dyb3VwLFxuICBTQ01QVGFic1JvdyxcbiAgU0NNUExvYWRNb3JlUm93LFxuICBTQ01QU2VhcmNoUm93LFxuICBTQ01QU2VhcmNoSW5wdXQsXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25Qb3BvdmVyLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHMgPSB7XG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXVxuICBhY3RpdmVUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBvblR5cGVDaGFuZ2U6ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4gdm9pZFxuICBpdGVtczogQ29udGV4dE1lbnRpb25JdGVtVHlwZVtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IGJvb2xlYW5cbiAgaGlkZVJlY2VudHNMYWJlbD86IGJvb2xlYW5cbiAgc2tpbGxzQ2F0YWxvZ0VtcHR5PzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xuICAvKipcbiAgICogTW9kbyBcInBpblwiIChzZWd1bmRvIHB1bnRvIGRlIGVudHJhZGEsIFJGQyDCpzYpOiByZW5kZXJpemEgdW4gaW5wdXQgZGUgYsO6c3F1ZWRhIHByb3Bpb1xuICAgKiAoZW4gbWVuY2lvbmVzIGVsIHRleHRvIGxvIHByb3ZlZSBlbCBlZGl0b3IpLiBIYWJpbGl0YSBuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBpbnRlcm5hLlxuICAgKi9cbiAgc2hvd1NlYXJjaElucHV0PzogYm9vbGVhblxuICAvKiogUGxhY2Vob2xkZXIgZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbi4gKi9cbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIENhbWJpb3MgZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbiAoY29udHJvbGFkbyBwb3IgYHNlYXJjaFZhbHVlYCkuICovXG4gIG9uU2VhcmNoQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgLyoqIEVzY2FwZSBkZW50cm8gZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbi4gKi9cbiAgb25SZXF1ZXN0Q2xvc2U/OiAoKSA9PiB2b2lkXG4gIC8qKiBPY3VsdGEgZWwgcHJlZmlqbyBgQGAvYEBAYCBkZSBsYXMgdGFicyAobm8gYXBsaWNhIGVuIG1vZG8gcGluKS4gKi9cbiAgaGlkZVRhYlByZWZpeD86IGJvb2xlYW5cbn1cblxuY29uc3QgVEFCX0kxOE5fS0VZUzogUmVjb3JkPENvbnRleHRFbnRpdHlUeXBlLCBzdHJpbmc+ID0ge1xuICBjbGllbnQ6ICdjb250ZXh0TWVudGlvbi50YWJzLmNsaWVudCcsXG4gIHByb2plY3Q6ICdjb250ZXh0TWVudGlvbi50YWJzLnByb2plY3QnLFxuICB0YXNrOiAnY29udGV4dE1lbnRpb24udGFicy50YXNrJyxcbiAgdXNlcjogJ2NvbnRleHRNZW50aW9uLnRhYnMudXNlcicsXG4gIG1jcDogJ2NvbnRleHRNZW50aW9uLnRhYnMubWNwJyxcbiAgc2tpbGw6ICdjb250ZXh0TWVudGlvbi50YWJzLnNraWxsJyxcbn1cblxuY29uc3QgVEFCX0FUX1BSRUZJWDogUGFydGlhbDxSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4+ID0ge1xuICBjbGllbnQ6ICdALycsXG4gIG1jcDogJ0BALycsXG59XG5cbmNvbnN0IFRBQl9GQUxMQkFDS1M6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OiAnQ2xpZW50ZScsXG4gIHByb2plY3Q6ICdQcm95ZWN0bycsXG4gIHRhc2s6ICdUYXJlYScsXG4gIHVzZXI6ICdVc3VhcmlvJyxcbiAgbWNwOiAnQ29uZWN0b3JlcycsXG4gIHNraWxsOiAnSGFiaWxpZGFkZXMnLFxufVxuXG5jb25zdCBnZXRUYWJQcmVmaXggPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIHRhYkluZGV4OiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZSA9PT0gJ3NraWxsJykgcmV0dXJuICdALydcbiAgaWYgKFRBQl9BVF9QUkVGSVhbdHlwZV0pIHJldHVybiBUQUJfQVRfUFJFRklYW3R5cGVdIGFzIHN0cmluZ1xuICAvLyBQYXJhIHRvZG9zIGxvcyBkZW3DoXMgdGlwb3MsIGVsIHByZWZpam8gZXMgcG9zaWNpb25hbCBwZXJvIGV4Y2x1eWVuZG8gc2tpbGwgZGVsIGNvbnRlby5cbiAgcmV0dXJuICdAJy5yZXBlYXQodGFiSW5kZXggKyAxKVxufVxuXG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnRpb25Qb3BvdmVyID0gZm9yd2FyZFJlZjxIVE1MRGl2RWxlbWVudCwgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgYWxsb3dlZFR5cGVzLFxuICAgICAgYWN0aXZlVHlwZSxcbiAgICAgIG9uVHlwZUNoYW5nZSxcbiAgICAgIGl0ZW1zLFxuICAgICAgbG9hZGluZyxcbiAgICAgIGVycm9yLFxuICAgICAgaGlkZVJlY2VudHNMYWJlbCxcbiAgICAgIHNraWxsc0NhdGFsb2dFbXB0eSA9IGZhbHNlLFxuICAgICAgaGFzTW9yZSxcbiAgICAgIGlzTG9hZGluZ01vcmUsXG4gICAgICBvblJlYWNoTGlzdEVuZCxcbiAgICAgIHNlYXJjaFZhbHVlLFxuICAgICAgb25JdGVtU2VsZWN0ZWQsXG4gICAgICBhY3RpdmVJbmRleDogY29udHJvbGxlZEluZGV4LFxuICAgICAgb25BY3RpdmVJbmRleENoYW5nZSxcbiAgICAgIGlzS2V5Ym9hcmROYXZBY3RpdmUsXG4gICAgICBvbk1vdXNlTW92ZUluTGlzdCxcbiAgICAgIHN0eWxlLFxuICAgICAga2V5Ym9hcmRIaW50LFxuICAgICAgc2hvd1NlYXJjaElucHV0LFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXIsXG4gICAgICBvblNlYXJjaENoYW5nZSxcbiAgICAgIG9uUmVxdWVzdENsb3NlLFxuICAgICAgaGlkZVRhYlByZWZpeCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZTogS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoaXRlbXMubGVuZ3RoID4gMCA/IE1hdGgubWluKGFjdGl2ZUluZGV4ICsgMSwgaXRlbXMubGVuZ3RoIC0gMSkgOiAwKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICB1cGRhdGVBY3RpdmVJbmRleChNYXRoLm1heChhY3RpdmVJbmRleCAtIDEsIDApKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2FjdGl2ZUluZGV4XVxuICAgICAgICAgIGlmIChpdGVtKSBvbkl0ZW1TZWxlY3RlZChpdGVtKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIG9uUmVxdWVzdENsb3NlPy4oKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2l0ZW1zLCBhY3RpdmVJbmRleCwgdXBkYXRlQWN0aXZlSW5kZXgsIG9uSXRlbVNlbGVjdGVkLCBvblJlcXVlc3RDbG9zZV1cbiAgICApXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChhY3RpdmVUeXBlID09PSAnc2tpbGwnKSB7XG4gICAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxXaXRoUXVlcnknLCB7XG4gICAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxOb0l0ZW1zJylcbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbYWN0aXZlVHlwZSwgc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3Qgc2tpbGxRdWVyeVRvb1Nob3J0ID1cbiAgICAgIGFjdGl2ZVR5cGUgPT09ICdza2lsbCcgJiZcbiAgICAgICFza2lsbHNDYXRhbG9nRW1wdHkgJiZcbiAgICAgIHNlYXJjaFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwICYmXG4gICAgICBzZWFyY2hWYWx1ZS50cmltKCkubGVuZ3RoIDwgU0tJTExTX1NFQVJDSF9NSU5fUVVFUllfTEVOR1RIXG5cbiAgICBjb25zdCByZW5kZXJCb2R5ID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5sb2FkaW5nJywgeyBkZWZhdWx0VmFsdWU6ICdCdXNjYW5kby4uLicgfSl9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgICAgICB7dCgnY29udGV4dE1lbnRpb24uZXJyb3InLCB7IGRlZmF1bHRWYWx1ZTogJ0h1Ym8gdW4gcHJvYmxlbWEgYWwgYnVzY2FyJyB9KX1cbiAgICAgICAgICA8L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChza2lsbFF1ZXJ5VG9vU2hvcnQpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5za2lsbFF1ZXJ5VG9vU2hvcnQnKX08L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiBhY3RpdmVUeXBlICE9PSAnbWNwJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIHtzaG93U2VhcmNoSW5wdXQgPyAoXG4gICAgICAgICAgPFNDTVBTZWFyY2hSb3c+XG4gICAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L25vLWF1dG9mb2N1cyAqL31cbiAgICAgICAgICAgIDxTQ01QU2VhcmNoSW5wdXRcbiAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFZhbHVlfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17c2VhcmNoUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IG9uU2VhcmNoQ2hhbmdlPy4oZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZVNlYXJjaEtleURvd259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU0NNUFNlYXJjaFJvdz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKCh0eXBlLCByYXdJbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgLy8gUGFyYSBlbCBwcmVmaWpvIHBvc2ljaW9uYWwsIHNraWxsIG5vIGN1ZW50YSBlbiBlbCBvcmRlbiBkZSBALCBAQCwgQEBALlxuICAgICAgICAgICAgICBjb25zdCBub25Ta2lsbEluZGV4ID0gYWxsb3dlZFR5cGVzLnNsaWNlKDAsIHJhd0luZGV4KS5maWx0ZXIoZW50aXR5VHlwZSA9PiBlbnRpdHlUeXBlICE9PSAnc2tpbGwnKS5sZW5ndGhcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSBoaWRlVGFiUHJlZml4ID8gJycgOiBnZXRUYWJQcmVmaXgodHlwZSwgbm9uU2tpbGxJbmRleClcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8U0NNUFRhYlxuICAgICAgICAgICAgICAgICAga2V5PXt0eXBlfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXthdFByZWZpeCA/IGAke2F0UHJlZml4fSAke2xhYmVsfWAgOiBsYWJlbH1cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e3R5cGUgPT09IGFjdGl2ZVR5cGV9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIG9uVHlwZUNoYW5nZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YXRQcmVmaXh9XG4gICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgPC9TQ01QVGFiPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1NDTVBUYWJzR3JvdXA+XG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2tleWJvYXJkSGludCB8fCAnJ30+XG4gICAgICAgICAgICA8U0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjODA4MDgwXCIgLz5cbiAgICAgICAgICAgIDwvU0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NNUFRhYnNSb3c+XG4gICAgICAgIDxTQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgICAgPFNDTVBEaXZpZGVyIC8+XG4gICAgICAgIDwvU0NNUERpdmlkZXJXcmFwcGVyPlxuICAgICAgICB7cmVuZGVyQm9keSgpfVxuICAgICAgPC9TQ01QQ29udGFpbmVyPlxuICAgIClcbiAgfVxuKVxuXG5Db250ZXh0TWVudGlvblBvcG92ZXIuZGlzcGxheU5hbWUgPSAnQ29udGV4dE1lbnRpb25Qb3BvdmVyJ1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBd0JBLFVBQVUsRUFBaUJDLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDbkgsU0FBU0MsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsOEJBQThCLFFBQVEsMkJBQTJCO0FBQzFFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFFMUMsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQ0VDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGVBQWUs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O1VBQ0EsSUFBTStGLGFBQWEsR0FBR3pGLFlBQVksQ0FBQzBGLEtBQUssQ0FBQyxDQUFDLEVBQUVILFFBQVEsQ0FBQyxDQUFDSSxNQUFNLENBQUMsVUFBQUMsVUFBVTtZQUFBLE9BQUlBLFVBQVUsS0FBSyxPQUFPO1VBQUEsRUFBQyxDQUFDdEQsTUFBTTtVQUN6RyxJQUFNdUQsUUFBUSxHQUFHcEUsYUFBYSxHQUFHLEVBQUUsR0FBR2hDLFlBQVksQ0FBQ0MsSUFBSSxFQUFFK0YsYUFBYSxDQUFDO1VBQ3ZFLG9CQUNFMUcsS0FBQSxDQUFDVCxPQUFPO1lBRU5vQixJQUFJLEVBQUMsUUFBUTtZQUNiLGNBQVltRyxRQUFRLE1BQUFwQyxNQUFBLENBQU1vQyxRQUFRLE9BQUFwQyxNQUFBLENBQUkrQixLQUFLLElBQUtBLEtBQU07WUFDdERNLE9BQU8sRUFBRXBHLElBQUksS0FBS08sVUFBVztZQUM3QjhFLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFFakMsQ0FBQyxFQUFJO2NBQ2hCQSxDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO2NBQ2xCRixDQUFDLENBQUNrQyxlQUFlLENBQUMsQ0FBQztjQUNuQjlFLFlBQVksQ0FBQ1IsSUFBSSxDQUFDO1lBQ3BCLENBQUU7WUFBQWtFLFFBQUEsR0FFRGlDLFFBQVEsRUFDUkwsS0FBSztVQUFBLEdBWEQ5RixJQVlFLENBQUM7UUFFZCxDQUFDO01BQUMsQ0FDVyxDQUFDLGVBQ2hCYixJQUFBLENBQUNyQixPQUFPO1FBQUN1SSxLQUFLLEVBQUUzRSxZQUFZLElBQUksRUFBRztRQUFBd0MsUUFBQSxlQUNqQy9FLElBQUEsQ0FBQ1IsZ0JBQWdCO1VBQUF1RixRQUFBLGVBQ2YvRSxJQUFBLENBQUN0QixpQkFBaUI7WUFBQ2lILEtBQUssRUFBRSxFQUFHO1lBQUN3QixNQUFNLEVBQUUsRUFBRztZQUFDQyxLQUFLLEVBQUM7VUFBUyxDQUFFO1FBQUMsQ0FDNUM7TUFBQyxDQUNaLENBQUM7SUFBQSxDQUNDLENBQUMsZUFDZHBILElBQUEsQ0FBQ2Qsa0JBQWtCO01BQUE2RixRQUFBLGVBQ2pCL0UsSUFBQSxDQUFDZixXQUFXLElBQUU7SUFBQyxDQUNHLENBQUMsRUFDcEI2RixVQUFVLENBQUMsQ0FBQztFQUFBLENBQ0EsQ0FBQztBQUVwQixDQUNGLENBQUM7QUFFRDlELHFCQUFxQixDQUFDcUcsV0FBVyxHQUFHLHVCQUF1QiIsImlnbm9yZUxpc3QiOltdfQ==
192
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiTG9hZGVyIiwiU0NNUENvbnRhaW5lciIsIlNDTVBEaXZpZGVyIiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUFJlY2VudHNMYWJlbCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBMaXN0IiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBLZXlib2FyZEhpbnQiLCJTQ01QVGFiIiwiU0NNUFRhYnNHcm91cCIsIlNDTVBUYWJzUm93IiwiU0NNUExvYWRNb3JlUm93IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlRBQl9JMThOX0tFWVMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsInVzZXIiLCJtY3AiLCJUQUJfRkFMTEJBQ0tTIiwiQ29udGV4dE1lbnRpb25Qb3BvdmVyIiwiX3JlZiIsInJlZiIsImFsbG93ZWRUeXBlcyIsImFjdGl2ZVR5cGUiLCJvblR5cGVDaGFuZ2UiLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsImhpZGVSZWNlbnRzTGFiZWwiLCJoYXNNb3JlIiwiaXNMb2FkaW5nTW9yZSIsIm9uUmVhY2hMaXN0RW5kIiwic2VhcmNoVmFsdWUiLCJvbkl0ZW1TZWxlY3RlZCIsImNvbnRyb2xsZWRJbmRleCIsImFjdGl2ZUluZGV4Iiwib25BY3RpdmVJbmRleENoYW5nZSIsImlzS2V5Ym9hcmROYXZBY3RpdmUiLCJvbk1vdXNlTW92ZUluTGlzdCIsInN0eWxlIiwia2V5Ym9hcmRIaW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW50ZXJuYWxJbmRleCIsInNldEludGVybmFsSW5kZXgiLCJsaXN0UmVmIiwidXBkYXRlQWN0aXZlSW5kZXgiLCJpZHgiLCJwcmV2SXNMb2FkaW5nTW9yZVJlZiIsImN1cnJlbnQiLCJsZW5ndGgiLCJfaXRlbUVscyRhY3RpdmVJbmRleCIsImxpc3RFbCIsIml0ZW1FbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImVtcHR5TWVzc2FnZSIsInRyaW0iLCJxdWVyeSIsImRlZmF1bHRWYWx1ZSIsImNvbmNhdCIsInJlbmRlckJvZHkiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIm9uTW91c2VNb3ZlIiwib25TY3JvbGwiLCJlIiwiZWwiLCJjdXJyZW50VGFyZ2V0IiwidGhyZXNob2xkIiwibmVhckJvdHRvbSIsInNjcm9sbFRvcCIsImNsaWVudEhlaWdodCIsInNjcm9sbEhlaWdodCIsIm1hcCIsIml0ZW0iLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsInR5cGUiLCJpZCIsInNpemUiLCJyb2xlIiwib25Nb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJ0YWJJbmRleCIsImxhYmVsIiwiYXRQcmVmaXgiLCJyZXBlYXQiLCIkYWN0aXZlIiwicHJldmVudERlZmF1bHQiLCJ0aXRsZSIsImhlaWdodCIsImNvbG9yIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvblBvcG92ZXIvQ29udGV4dE1lbnRpb25Qb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCBmb3J3YXJkUmVmLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb25JdGVtIGFzIENvbnRleHRNZW50aW9uSXRlbVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IENvbnRleHRNZW50aW9uSXRlbSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uSXRlbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uL0xvYWRlcidcbmltcG9ydCB7XG4gIFNDTVBDb250YWluZXIsXG4gIFNDTVBEaXZpZGVyLFxuICBTQ01QRGl2aWRlcldyYXBwZXIsXG4gIFNDTVBSZWNlbnRzTGFiZWwsXG4gIFNDTVBSZWNlbnRzUm93LFxuICBTQ01QUmVjZW50c1RpdGxlLFxuICBTQ01QTGlzdCxcbiAgU0NNUFN0YXRlV3JhcHBlcixcbiAgU0NNUEtleWJvYXJkSGludCxcbiAgU0NNUFRhYixcbiAgU0NNUFRhYnNHcm91cCxcbiAgU0NNUFRhYnNSb3csXG4gIFNDTVBMb2FkTW9yZVJvdyxcbn0gZnJvbSAnLi9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvblBvcG92ZXJQcm9wcyA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGFjdGl2ZVR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4gIG9uVHlwZUNoYW5nZTogKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB2b2lkXG4gIGl0ZW1zOiBDb250ZXh0TWVudGlvbkl0ZW1UeXBlW11cbiAgbG9hZGluZzogYm9vbGVhblxuICBlcnJvcjogYm9vbGVhblxuICBoaWRlUmVjZW50c0xhYmVsPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xufVxuXG5jb25zdCBUQUJfSTE4Tl9LRVlTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ2NvbnRleHRNZW50aW9uLnRhYnMuY2xpZW50JyxcbiAgcHJvamVjdDogJ2NvbnRleHRNZW50aW9uLnRhYnMucHJvamVjdCcsXG4gIHRhc2s6ICdjb250ZXh0TWVudGlvbi50YWJzLnRhc2snLFxuICB1c2VyOiAnY29udGV4dE1lbnRpb24udGFicy51c2VyJyxcbiAgbWNwOiAnY29udGV4dE1lbnRpb24udGFicy5tY3AnLFxufVxuXG5jb25zdCBUQUJfRkFMTEJBQ0tTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ0NsaWVudGUnLFxuICBwcm9qZWN0OiAnUHJveWVjdG8nLFxuICB0YXNrOiAnVGFyZWEnLFxuICB1c2VyOiAnVXN1YXJpbycsXG4gIG1jcDogJ0NvbmVjdG9yZXMnLFxufVxuXG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnRpb25Qb3BvdmVyID0gZm9yd2FyZFJlZjxIVE1MRGl2RWxlbWVudCwgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgYWxsb3dlZFR5cGVzLFxuICAgICAgYWN0aXZlVHlwZSxcbiAgICAgIG9uVHlwZUNoYW5nZSxcbiAgICAgIGl0ZW1zLFxuICAgICAgbG9hZGluZyxcbiAgICAgIGVycm9yLFxuICAgICAgaGlkZVJlY2VudHNMYWJlbCxcbiAgICAgIGhhc01vcmUsXG4gICAgICBpc0xvYWRpbmdNb3JlLFxuICAgICAgb25SZWFjaExpc3RFbmQsXG4gICAgICBzZWFyY2hWYWx1ZSxcbiAgICAgIG9uSXRlbVNlbGVjdGVkLFxuICAgICAgYWN0aXZlSW5kZXg6IGNvbnRyb2xsZWRJbmRleCxcbiAgICAgIG9uQWN0aXZlSW5kZXhDaGFuZ2UsXG4gICAgICBpc0tleWJvYXJkTmF2QWN0aXZlLFxuICAgICAgb25Nb3VzZU1vdmVJbkxpc3QsXG4gICAgICBzdHlsZSxcbiAgICAgIGtleWJvYXJkSGludCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3QgcmVuZGVyQm9keSA9ICgpID0+IHtcbiAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57dCgnY29udGV4dE1lbnRpb24ubG9hZGluZycsIHsgZGVmYXVsdFZhbHVlOiAnQnVzY2FuZG8uLi4nIH0pfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICAgICAge3QoJ2NvbnRleHRNZW50aW9uLmVycm9yJywgeyBkZWZhdWx0VmFsdWU6ICdIdWJvIHVuIHByb2JsZW1hIGFsIGJ1c2NhcicgfSl9XG4gICAgICAgICAgPC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKCh0eXBlLCB0YWJJbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSAnQCcucmVwZWF0KHRhYkluZGV4ICsgMSlcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8U0NNUFRhYlxuICAgICAgICAgICAgICAgICAga2V5PXt0eXBlfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgJHthdFByZWZpeH0gJHtsYWJlbH1gfVxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17dHlwZSA9PT0gYWN0aXZlVHlwZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgb25UeXBlQ2hhbmdlKHR5cGUpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHthdFByZWZpeH1cbiAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICA8L1NDTVBUYWI+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NNUFRhYnNHcm91cD5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17a2V5Ym9hcmRIaW50IHx8ICcnfT5cbiAgICAgICAgICAgIDxTQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cIiM4MDgwODBcIiAvPlxuICAgICAgICAgICAgPC9TQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ01QVGFic1Jvdz5cbiAgICAgICAgPFNDTVBEaXZpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8U0NNUERpdmlkZXIgLz5cbiAgICAgICAgPC9TQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgIHtyZW5kZXJCb2R5KCl9XG4gICAgICA8L1NDTVBDb250YWluZXI+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uUG9wb3Zlci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvblBvcG92ZXInXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUF3QkEsVUFBVSxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3BHLFNBQVNDLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFFMUMsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQ0VDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGVBQWUsUUFDVixnQ0FBZ0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBd0J2QyxJQUFNQyxhQUFnRCxHQUFHO0VBQ3ZEQyxNQUFNLEVBQUUsNEJBQTRCO0VBQ3BDQyxPQUFPLEVBQUUsNkJBQTZCO0VBQ3RDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxHQUFHLEVBQUU7QUFDUCxDQUFDO0FBRUQsSUFBTUMsYUFBZ0QsR0FBRztFQUN2REwsTUFBTSxFQUFFLFNBQVM7RUFDakJDLE9BQU8sRUFBRSxVQUFVO0VBQ25CQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxHQUFHLEVBQUU7QUFDUCxDQUFDO0FBRUQsT0FBTyxJQUFNRSxxQkFBcUIsZ0JBQUduQyxVQUFVLENBQzdDLFVBQUFvQyxJQUFBLEVBcUJFQyxHQUFHLEVBQ0E7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
@@ -30,29 +30,21 @@ export var SCMPContainer = styled.div.withConfig({
30
30
  displayName: "ContextMentionPopoverstyles__SCMPContainer",
31
31
  componentId: "sc-14gtt3h-1"
32
32
  })(["display:flex;width:100%;box-sizing:border-box;padding:12px 0;flex-direction:column;align-items:center;gap:8px;height:266px;min-height:266px;max-height:266px;border-radius:4px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.08),0 1px 4px 0 rgba(0,0,0,0.04);z-index:1000;"]);
33
- export var SCMPSearchRow = styled.div.withConfig({
34
- displayName: "ContextMentionPopoverstyles__SCMPSearchRow",
35
- componentId: "sc-14gtt3h-2"
36
- })(["display:flex;padding:0 16px 4px;align-self:stretch;flex-shrink:0;"]);
37
- export var SCMPSearchInput = styled.input.withConfig({
38
- displayName: "ContextMentionPopoverstyles__SCMPSearchInput",
39
- componentId: "sc-14gtt3h-3"
40
- })(["width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--cor-color-grey-300,#d9d9d9);border-radius:8px;background:#fff;outline:none;font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);line-height:var(--cor-typography-line-height-20,20px);color:var(--cor-color-grey-900,#202020);&::placeholder{color:var(--cor-color-text-tertiary,#808080);}&:focus{border-color:var(--cor-color-grey-900,#202020);}"]);
41
33
  export var SCMPTabsRow = styled.div.withConfig({
42
34
  displayName: "ContextMentionPopoverstyles__SCMPTabsRow",
43
- componentId: "sc-14gtt3h-4"
35
+ componentId: "sc-14gtt3h-2"
44
36
  })(["display:flex;padding:4px 16px;align-items:center;justify-content:space-between;gap:10px;align-self:stretch;flex-shrink:0;"]);
45
37
  export var SCMPTabsGroup = styled.div.withConfig({
46
38
  displayName: "ContextMentionPopoverstyles__SCMPTabsGroup",
47
- componentId: "sc-14gtt3h-5"
48
- })(["display:flex;align-items:center;gap:16px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin;scrollbar-color:#d0d0d0 transparent;&::-webkit-scrollbar{height:2px;}&::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:1px;}&::-webkit-scrollbar-track{background:transparent;}"]);
39
+ componentId: "sc-14gtt3h-3"
40
+ })(["display:flex;align-items:center;gap:16px;"]);
49
41
  export var SCMPKeyboardHint = styled.div.withConfig({
50
42
  displayName: "ContextMentionPopoverstyles__SCMPKeyboardHint",
51
- componentId: "sc-14gtt3h-6"
43
+ componentId: "sc-14gtt3h-4"
52
44
  })(["display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;user-select:none;cursor:default;"]);
53
45
  export var SCMPTab = styled.button.withConfig({
54
46
  displayName: "ContextMentionPopoverstyles__SCMPTab",
55
- componentId: "sc-14gtt3h-7"
47
+ componentId: "sc-14gtt3h-5"
56
48
  })(["display:flex;padding:0 0 2px;justify-content:center;align-items:center;gap:10px;background:transparent;border:none;border-bottom:1px solid ", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);font-style:normal;font-weight:500;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:", ";transition:color 0.12s ease;&:hover{color:var(--cor-color-grey-900,#202020);}"], function (_ref5) {
57
49
  var $active = _ref5.$active;
58
50
  return $active ? 'var(--cor-color-grey-900, #202020)' : 'transparent';
@@ -62,34 +54,34 @@ export var SCMPTab = styled.button.withConfig({
62
54
  });
63
55
  export var SCMPDividerWrapper = styled.div.withConfig({
64
56
  displayName: "ContextMentionPopoverstyles__SCMPDividerWrapper",
65
- componentId: "sc-14gtt3h-8"
57
+ componentId: "sc-14gtt3h-6"
66
58
  })(["display:flex;padding:0 8px;flex-direction:column;align-items:flex-start;gap:10px;align-self:stretch;flex-shrink:0;"]);
67
59
  export var SCMPDivider = styled.div.withConfig({
68
60
  displayName: "ContextMentionPopoverstyles__SCMPDivider",
69
- componentId: "sc-14gtt3h-9"
61
+ componentId: "sc-14gtt3h-7"
70
62
  })(["width:100%;height:1px;background:var(--cor-color-grey-300,#d9d9d9);"]);
71
63
  export var SCMPList = styled.div.withConfig({
72
64
  displayName: "ContextMentionPopoverstyles__SCMPList",
73
- componentId: "sc-14gtt3h-10"
65
+ componentId: "sc-14gtt3h-8"
74
66
  })(["display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;gap:4px;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px;}"]);
75
67
  export var SCMPRecentsRow = styled.div.withConfig({
76
68
  displayName: "ContextMentionPopoverstyles__SCMPRecentsRow",
77
- componentId: "sc-14gtt3h-11"
69
+ componentId: "sc-14gtt3h-9"
78
70
  })(["display:flex;padding:4px 16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;flex-shrink:0;align-self:stretch;border-radius:4px;"]);
79
71
  export var SCMPRecentsTitle = styled.div.withConfig({
80
72
  displayName: "ContextMentionPopoverstyles__SCMPRecentsTitle",
81
- componentId: "sc-14gtt3h-12"
73
+ componentId: "sc-14gtt3h-10"
82
74
  })(["display:flex;padding:0;align-items:center;gap:8px;"]);
83
75
  export var SCMPRecentsLabel = styled.span.withConfig({
84
76
  displayName: "ContextMentionPopoverstyles__SCMPRecentsLabel",
85
- componentId: "sc-14gtt3h-13"
77
+ componentId: "sc-14gtt3h-11"
86
78
  })(["color:var(--cor-color-text-secondary,#4d4d4d);font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);"]);
87
79
  export var SCMPStateWrapper = styled.div.withConfig({
88
80
  displayName: "ContextMentionPopoverstyles__SCMPStateWrapper",
89
- componentId: "sc-14gtt3h-14"
81
+ componentId: "sc-14gtt3h-12"
90
82
  })(["display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;align-self:stretch;flex:1 1 0;min-height:0;color:var(--cor-color-text-tertiary,#808080);font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-20,20px);"]);
91
83
  export var SCMPLoadMoreRow = styled.div.withConfig({
92
84
  displayName: "ContextMentionPopoverstyles__SCMPLoadMoreRow",
93
- componentId: "sc-14gtt3h-15"
85
+ componentId: "sc-14gtt3h-13"
94
86
  })(["display:flex;justify-content:center;align-items:center;align-self:stretch;min-height:24px;padding:4px 0 8px;"]);
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9aX0lOREVYIiwiTUFJQV9UQVNLX1BBTkVMX01FTlRJT05fUE9QT1ZFUl9aX0lOREVYIiwiTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfQVRUUiIsIk1BSUFfTUVOVElPTl9QT1BPVkVSX0FUVFIiLCJTQ01QQW5jaG9yIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGJvdHRvbSIsImNvbmNhdCIsIl9yZWYyIiwiJGxlZnQiLCJfcmVmMyIsIiR3aWR0aCIsIl9yZWY0IiwiJHpJbmRleCIsIlNDTVBDb250YWluZXIiLCJTQ01QU2VhcmNoUm93IiwiU0NNUFNlYXJjaElucHV0IiwiaW5wdXQiLCJTQ01QVGFic1JvdyIsIlNDTVBUYWJzR3JvdXAiLCJTQ01QS2V5Ym9hcmRIaW50IiwiU0NNUFRhYiIsImJ1dHRvbiIsIl9yZWY1IiwiJGFjdGl2ZSIsIl9yZWY2IiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUERpdmlkZXIiLCJTQ01QTGlzdCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBSZWNlbnRzTGFiZWwiLCJzcGFuIiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBMb2FkTW9yZVJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uUG9wb3Zlci9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG4vKipcbiAqIEFuY2hvciBmaXhlZC1wb3NpdGlvbmVkIHF1ZSBlbnZ1ZWx2ZSBhbCBwb3BvdmVyIGN1YW5kbyBzZSBsbyBwb3J0YSBhXG4gKiBgZG9jdW1lbnQuYm9keWAuIEVsIGFuY2hvIGNvaW5jaWRlIGNvbiBlbCBpbnB1dDsgYGJvdHRvbWAgYW5jbGEgZWwgcGFuZWxcbiAqIHBvciBlbmNpbWEgZGVsIGJvcmRlIHN1cGVyaW9yIGRlbCBhbmNsYS9pbnB1dC5cbiAqL1xuaW1wb3J0IHsgTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfWl9JTkRFWCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsWkluZGV4J1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNhciBNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9aX0lOREVYIGRlc2RlIGNvbnN0YW50cy9tYWlhVGFza1BhbmVsWkluZGV4ICovXG5leHBvcnQgY29uc3QgTUFJQV9UQVNLX1BBTkVMX01FTlRJT05fUE9QT1ZFUl9aX0lOREVYID0gTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfWl9JTkRFWFxuXG5leHBvcnQgeyBNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9BVFRSLCBNQUlBX01FTlRJT05fUE9QT1ZFUl9BVFRSIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxPdXRzaWRlQ2xpY2snXG5cbmV4cG9ydCBjb25zdCBTQ01QQW5jaG9yID0gc3R5bGVkLmRpdjx7XG4gICRib3R0b206IG51bWJlclxuICAkbGVmdDogbnVtYmVyXG4gICR3aWR0aDogbnVtYmVyXG4gICR6SW5kZXg/OiBudW1iZXJcbn0+YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogJHsoeyAkYm90dG9tIH0pID0+IGAkeyRib3R0b219cHhgfTtcbiAgbGVmdDogJHsoeyAkbGVmdCB9KSA9PiBgJHskbGVmdH1weGB9O1xuICB3aWR0aDogJHsoeyAkd2lkdGggfSkgPT4gYCR7JHdpZHRofXB4YH07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6ICR7KHsgJHpJbmRleCB9KSA9PiAkekluZGV4ID8/IDEyMDB9O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBoZWlnaHQ6IDI2NnB4O1xuICBtaW4taGVpZ2h0OiAyNjZweDtcbiAgbWF4LWhlaWdodDogMjY2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIHotaW5kZXg6IDEwMDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QU2VhcmNoUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCAxNnB4IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QU2VhcmNoSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29yLWNvbG9yLWdyZXktMzAwLCAjZDlkOWQ5KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLWdyZXktOTAwLCAjMjAyMDIwKTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXRlcnRpYXJ5LCAjODA4MDgwKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29yLWNvbG9yLWdyZXktOTAwLCAjMjAyMDIwKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNUFRhYnNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA0cHggMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUFRhYnNHcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogI2QwZDBkMCB0cmFuc3BhcmVudDtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiAycHg7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBLZXlib2FyZEhpbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QVGFiID0gc3R5bGVkLmJ1dHRvbjx7ICRhY3RpdmU/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwIDAgMnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTkwMCwgIzIwMjAyMCknIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1zbSwgMTRweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuICBjb2xvcjogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTkwMCwgIzIwMjAyMCknIDogJ3ZhcigtLWNvci1jb2xvci10ZXh0LXNlY29uZGFyeSwgIzY2NiknKX07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTJzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvci1jb2xvci1ncmV5LTkwMCwgIzIwMjAyMCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBEaXZpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxMHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0zMDAsICNkOWQ5ZDkpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUExpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZ2FwOiA0cHg7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA2cHg7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBSZWNlbnRzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QUmVjZW50c1RpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QUmVjZW50c0xhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC1zZWNvbmRhcnksICM0ZDRkNGQpO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBTdGF0ZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjRweCAxNnB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLWhlaWdodDogMDtcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXRlcnRpYXJ5LCAjODA4MDgwKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUExvYWRNb3JlUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IDRweCAwIDhweDtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLCtCQUErQixRQUFRLHdDQUF3Qzs7QUFFeEY7QUFDQSxPQUFPLElBQU1DLHVDQUF1QyxHQUFHRCwrQkFBK0I7QUFFdEYsU0FBU0UsNEJBQTRCLEVBQUVDLHlCQUF5QixRQUFRLDhDQUE4QztBQUV0SCxPQUFPLElBQU1DLFVBQVUsR0FBR0wsTUFBTSxDQUFDTSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNEZBT3hCLFVBQUFDLElBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztFQUFBLFVBQUFDLE1BQUEsQ0FBVUQsT0FBTztBQUFBLENBQUksRUFDakMsVUFBQUUsS0FBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsS0FBQSxDQUFMQyxLQUFLO0VBQUEsVUFBQUYsTUFBQSxDQUFVRSxLQUFLO0FBQUEsQ0FBSSxFQUMxQixVQUFBQyxLQUFBO0VBQUEsSUFBR0MsTUFBTSxHQUFBRCxLQUFBLENBQU5DLE1BQU07RUFBQSxVQUFBSixNQUFBLENBQVVJLE1BQU07QUFBQSxDQUFJLEVBRTNCLFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTztFQUFBLE9BQU9BLE9BQU8sYUFBUEEsT0FBTyxjQUFQQSxPQUFPLEdBQUksSUFBSTtBQUFBLEVBQzVDO0FBRUQsT0FBTyxJQUFNQyxhQUFhLEdBQUduQixNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrVEFrQnRDO0FBRUQsT0FBTyxJQUFNVyxhQUFhLEdBQUdwQixNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx5RUFLdEM7QUFFRCxPQUFPLElBQU1ZLGVBQWUsR0FBR3JCLE1BQU0sQ0FBQ3NCLEtBQUssQ0FBQWYsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyZEFvQjFDO0FBRUQsT0FBTyxJQUFNYyxXQUFXLEdBQUd2QixNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpSUFRcEM7QUFFRCxPQUFPLElBQU1lLGFBQWEsR0FBR3hCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtTQXNCdEM7QUFFRCxPQUFPLElBQU1nQixnQkFBZ0IsR0FBR3pCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZIQVF6QztBQUVELE9BQU8sSUFBTWlCLE9BQU8sR0FBRzFCLE1BQU0sQ0FBQzJCLE1BQU0sQ0FBQXBCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNGZBUVAsVUFBQW1CLEtBQUE7RUFBQSxJQUFHQyxPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTztFQUFBLE9BQVFBLE9BQU8sR0FBRyxvQ0FBb0MsR0FBRyxhQUFhO0FBQUEsQ0FBQyxFQVFuRyxVQUFBQyxLQUFBO0VBQUEsSUFBR0QsT0FBTyxHQUFBQyxLQUFBLENBQVBELE9BQU87RUFBQSxPQUFRQSxPQUFPLEdBQUcsb0NBQW9DLEdBQUcsdUNBQXVDO0FBQUEsQ0FBQyxDQU1ySDtBQUVELE9BQU8sSUFBTUUsa0JBQWtCLEdBQUcvQixNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwSEFRM0M7QUFFRCxPQUFPLElBQU11QixXQUFXLEdBQUdoQyxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyRUFJcEM7QUFFRCxPQUFPLElBQU13QixRQUFRLEdBQUdqQyxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyU0F1QmpDO0FBRUQsT0FBTyxJQUFNeUIsY0FBYyxHQUFHbEMsTUFBTSxDQUFDTSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUtBVXZDO0FBRUQsT0FBTyxJQUFNMEIsZ0JBQWdCLEdBQUduQyxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwREFLekM7QUFFRCxPQUFPLElBQU0yQixnQkFBZ0IsR0FBR3BDLE1BQU0sQ0FBQ3FDLElBQUksQ0FBQTlCLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa1RBUTFDO0FBRUQsT0FBTyxJQUFNNkIsZ0JBQWdCLEdBQUd0QyxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtWUFlekM7QUFFRCxPQUFPLElBQU04QixlQUFlLEdBQUd2QyxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSEFPeEMiLCJpZ25vcmVMaXN0IjpbXX0=
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9aX0lOREVYIiwiTUFJQV9UQVNLX1BBTkVMX01FTlRJT05fUE9QT1ZFUl9aX0lOREVYIiwiTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfQVRUUiIsIk1BSUFfTUVOVElPTl9QT1BPVkVSX0FUVFIiLCJTQ01QQW5jaG9yIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGJvdHRvbSIsImNvbmNhdCIsIl9yZWYyIiwiJGxlZnQiLCJfcmVmMyIsIiR3aWR0aCIsIl9yZWY0IiwiJHpJbmRleCIsIlNDTVBDb250YWluZXIiLCJTQ01QVGFic1JvdyIsIlNDTVBUYWJzR3JvdXAiLCJTQ01QS2V5Ym9hcmRIaW50IiwiU0NNUFRhYiIsImJ1dHRvbiIsIl9yZWY1IiwiJGFjdGl2ZSIsIl9yZWY2IiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUERpdmlkZXIiLCJTQ01QTGlzdCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBSZWNlbnRzTGFiZWwiLCJzcGFuIiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBMb2FkTW9yZVJvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uUG9wb3Zlci9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG4vKipcbiAqIEFuY2hvciBmaXhlZC1wb3NpdGlvbmVkIHF1ZSBlbnZ1ZWx2ZSBhbCBwb3BvdmVyIGN1YW5kbyBzZSBsbyBwb3J0YSBhXG4gKiBgZG9jdW1lbnQuYm9keWAuIEVsIGFuY2hvIGNvaW5jaWRlIGNvbiBlbCBpbnB1dDsgYGJvdHRvbWAgYW5jbGEgZWwgcGFuZWxcbiAqIHBvciBlbmNpbWEgZGVsIGJvcmRlIHN1cGVyaW9yIGRlbCBhbmNsYS9pbnB1dC5cbiAqL1xuaW1wb3J0IHsgTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfWl9JTkRFWCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsWkluZGV4J1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNhciBNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9aX0lOREVYIGRlc2RlIGNvbnN0YW50cy9tYWlhVGFza1BhbmVsWkluZGV4ICovXG5leHBvcnQgY29uc3QgTUFJQV9UQVNLX1BBTkVMX01FTlRJT05fUE9QT1ZFUl9aX0lOREVYID0gTUFJQV9UQVNLX1BBTkVMX09WRVJMQVlfWl9JTkRFWFxuXG5leHBvcnQgeyBNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9BVFRSLCBNQUlBX01FTlRJT05fUE9QT1ZFUl9BVFRSIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxPdXRzaWRlQ2xpY2snXG5cbmV4cG9ydCBjb25zdCBTQ01QQW5jaG9yID0gc3R5bGVkLmRpdjx7XG4gICRib3R0b206IG51bWJlclxuICAkbGVmdDogbnVtYmVyXG4gICR3aWR0aDogbnVtYmVyXG4gICR6SW5kZXg/OiBudW1iZXJcbn0+YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogJHsoeyAkYm90dG9tIH0pID0+IGAkeyRib3R0b219cHhgfTtcbiAgbGVmdDogJHsoeyAkbGVmdCB9KSA9PiBgJHskbGVmdH1weGB9O1xuICB3aWR0aDogJHsoeyAkd2lkdGggfSkgPT4gYCR7JHdpZHRofXB4YH07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6ICR7KHsgJHpJbmRleCB9KSA9PiAkekluZGV4ID8/IDEyMDB9O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBoZWlnaHQ6IDI2NnB4O1xuICBtaW4taGVpZ2h0OiAyNjZweDtcbiAgbWF4LWhlaWdodDogMjY2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIHotaW5kZXg6IDEwMDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QVGFic1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTBweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QVGFic0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUEtleWJvYXJkSGludCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBUYWIgPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAgMCAycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkeyh7ICRhY3RpdmUgfSkgPT4gKCRhY3RpdmUgPyAndmFyKC0tY29yLWNvbG9yLWdyZXktOTAwLCAjMjAyMDIwKScgOiAndHJhbnNwYXJlbnQnKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGNvbG9yOiAkeyh7ICRhY3RpdmUgfSkgPT4gKCRhY3RpdmUgPyAndmFyKC0tY29yLWNvbG9yLWdyZXktOTAwLCAjMjAyMDIwKScgOiAndmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNjY2KScpfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLWdyZXktOTAwLCAjMjAyMDIwKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNUERpdmlkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTMwMCwgI2Q5ZDlkOSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QTGlzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBnYXA6IDRweDtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDBkMGQwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNUFJlY2VudHNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA0cHggMTZweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDJweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBSZWNlbnRzVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVBSZWNlbnRzTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXNlY29uZGFyeSwgIzRkNGQ0ZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1zbSwgMTRweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNUFN0YXRlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtdGVydGlhcnksICM4MDgwODApO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01QTG9hZE1vcmVSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgcGFkZGluZzogNHB4IDAgOHB4O1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1COztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0MsK0JBQStCLFFBQVEsd0NBQXdDOztBQUV4RjtBQUNBLE9BQU8sSUFBTUMsdUNBQXVDLEdBQUdELCtCQUErQjtBQUV0RixTQUFTRSw0QkFBNEIsRUFBRUMseUJBQXlCLFFBQVEsOENBQThDO0FBRXRILE9BQU8sSUFBTUMsVUFBVSxHQUFHTCxNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0RkFPeEIsVUFBQUMsSUFBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0VBQUEsVUFBQUMsTUFBQSxDQUFVRCxPQUFPO0FBQUEsQ0FBSSxFQUNqQyxVQUFBRSxLQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxLQUFBLENBQUxDLEtBQUs7RUFBQSxVQUFBRixNQUFBLENBQVVFLEtBQUs7QUFBQSxDQUFJLEVBQzFCLFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxNQUFNLEdBQUFELEtBQUEsQ0FBTkMsTUFBTTtFQUFBLFVBQUFKLE1BQUEsQ0FBVUksTUFBTTtBQUFBLENBQUksRUFFM0IsVUFBQUMsS0FBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO0VBQUEsT0FBT0EsT0FBTyxhQUFQQSxPQUFPLGNBQVBBLE9BQU8sR0FBSSxJQUFJO0FBQUEsRUFDNUM7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBR25CLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtUQWtCdEM7QUFFRCxPQUFPLElBQU1XLFdBQVcsR0FBR3BCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlJQVFwQztBQUVELE9BQU8sSUFBTVksYUFBYSxHQUFHckIsTUFBTSxDQUFDTSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaURBSXRDO0FBRUQsT0FBTyxJQUFNYSxnQkFBZ0IsR0FBR3RCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZIQVF6QztBQUVELE9BQU8sSUFBTWMsT0FBTyxHQUFHdkIsTUFBTSxDQUFDd0IsTUFBTSxDQUFBakIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw0ZkFRUCxVQUFBZ0IsS0FBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO0VBQUEsT0FBUUEsT0FBTyxHQUFHLG9DQUFvQyxHQUFHLGFBQWE7QUFBQSxDQUFDLEVBUW5HLFVBQUFDLEtBQUE7RUFBQSxJQUFHRCxPQUFPLEdBQUFDLEtBQUEsQ0FBUEQsT0FBTztFQUFBLE9BQVFBLE9BQU8sR0FBRyxvQ0FBb0MsR0FBRyx1Q0FBdUM7QUFBQSxDQUFDLENBTXJIO0FBRUQsT0FBTyxJQUFNRSxrQkFBa0IsR0FBRzVCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBIQVEzQztBQUVELE9BQU8sSUFBTW9CLFdBQVcsR0FBRzdCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQUlwQztBQUVELE9BQU8sSUFBTXFCLFFBQVEsR0FBRzlCLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJTQXVCakM7QUFFRCxPQUFPLElBQU1zQixjQUFjLEdBQUcvQixNQUFNLENBQUNNLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxS0FVdkM7QUFFRCxPQUFPLElBQU11QixnQkFBZ0IsR0FBR2hDLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBEQUt6QztBQUVELE9BQU8sSUFBTXdCLGdCQUFnQixHQUFHakMsTUFBTSxDQUFDa0MsSUFBSSxDQUFBM0IsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrVEFRMUM7QUFFRCxPQUFPLElBQU0wQixnQkFBZ0IsR0FBR25DLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1ZQWV6QztBQUVELE9BQU8sSUFBTTJCLGVBQWUsR0FBR3BDLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG9IQU94QyIsImlnbm9yZUxpc3QiOltdfQ==