@projectcor/maia-components 2.11.100-9 → 2.11.101-0

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 (58) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/components/atoms/Chip/Chip.js +16 -6
  3. package/lib/components/atoms/MAIAInput/MAIAInput.js +13 -3
  4. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
  5. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +13 -0
  6. package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
  7. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +3 -1
  8. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +9 -6
  9. package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
  10. package/lib/components/atoms/icons/index.js +2 -1
  11. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +46 -7
  12. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +195 -62
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -18
  14. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +9 -2
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +15 -3
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -1
  17. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +63 -0
  18. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +51 -0
  19. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
  20. package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -2
  21. package/lib/components/molecules/Sidebar/Sidebar.js +104 -61
  22. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +16 -1
  23. package/lib/components/molecules/Sidebar/Sidebar.styles.js +30 -29
  24. package/lib/components/organisms/ChatAI/ChatAI.js +6 -2
  25. package/lib/hooks/useChatManager/useChatManager.js +530 -438
  26. package/lib/hooks/useChatMessages/useChatMessages.js +414 -236
  27. package/lib/hooks/useChats/useChats.js +21 -4
  28. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  29. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +139 -521
  30. package/lib/hooks/useStreamingMessage/index.js +2 -3
  31. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +13 -17
  32. package/lib/lang/br/index.js +11 -1
  33. package/lib/lang/en/index.js +11 -1
  34. package/lib/lang/es/index.js +11 -1
  35. package/lib/lang/fr/index.js +13 -2
  36. package/lib/services/maia/Chats/getChatsByUserId.js +6 -4
  37. package/lib/services/maia/Chats/index.js +3 -1
  38. package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
  39. package/lib/store/chatsSidebarOptimistic.js +92 -0
  40. package/lib/store/chatsStore.types.js +1 -1
  41. package/lib/store/maiaMinimizedPersistence.js +49 -0
  42. package/lib/store/sessions/activeView.js +22 -0
  43. package/lib/store/sessions/index.js +9 -0
  44. package/lib/store/sessions/sessionHitlContext.js +15 -0
  45. package/lib/store/sessions/sessionNotificationSound.js +57 -0
  46. package/lib/store/sessions/sessionNotifications.js +110 -0
  47. package/lib/store/sessions/sessionNotifications.types.js +2 -0
  48. package/lib/store/sessions/sessionStreamManager.js +576 -0
  49. package/lib/store/sessions/sessionStreamingText.js +80 -0
  50. package/lib/store/sessions/sessions.types.js +35 -0
  51. package/lib/store/sessions/useSessionMeta.js +39 -0
  52. package/lib/store/sessions/useSessionStreamingText.js +18 -0
  53. package/lib/store/sessions/useSessionsStore.js +197 -0
  54. package/lib/store/useChatsStore.js +149 -12
  55. package/lib/types/Chat.js +1 -1
  56. package/lib/utils/formatUnreadCount.js +6 -0
  57. package/package.json +1 -1
  58. package/lib/hooks/useStreamingMessage/streamingStore.js +0 -69
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## [2.26.0](https://github.com/ProjectCORTeam/maia-components/compare/v2.25.1...v2.26.0) (2026-08-20)
2
+
3
+
4
+ ### Features
5
+
6
+ * add mention trigger functionality and new icons for input component ([27d54d2](https://github.com/ProjectCORTeam/maia-components/commit/27d54d2204810c419c301f4fd9d216c492352af5))
7
+ * enhance Chip and MAIAInput components with new icons and styling improvements ([c919e7b](https://github.com/ProjectCORTeam/maia-components/commit/c919e7b98645218c2b4508159c3871c5f19f2c51))
8
+ * enhance input component with slash command functionality and new icons ([c88e1a5](https://github.com/ProjectCORTeam/maia-components/commit/c88e1a5fb8054936994e8b42da6aefca6cfc3a56))
9
+ * enhance slash command dropdown functionality and styling ([5600294](https://github.com/ProjectCORTeam/maia-components/commit/5600294eea355c6d6bd2d8f67f73f08ff4b5fa2c))
10
+ * refactor Chip component to resolve leading icon logic ([ec80c91](https://github.com/ProjectCORTeam/maia-components/commit/ec80c9139404c64db9c3c5e935e7bc9f189dc78e))
11
+
1
12
  ### [2.25.1](https://github.com/ProjectCORTeam/maia-components/compare/v2.25.0...v2.25.1) (2026-08-14)
2
13
 
3
14
 
@@ -31,6 +31,20 @@ var truncateChipLabel = function truncateChipLabel(full, maxChars) {
31
31
  truncatedByChars: true
32
32
  };
33
33
  };
34
+ var resolveChipLeadingIcon = function resolveChipLeadingIcon(leadingIcon, type) {
35
+ if (leadingIcon) return leadingIcon;
36
+ if (type === 'task') {
37
+ return /*#__PURE__*/_jsx(TaskLinkIcon, {
38
+ width: CHIP_ICON_SIZE,
39
+ height: CHIP_ICON_SIZE,
40
+ color: CHIP_ICON_COLOR
41
+ });
42
+ }
43
+ if (type) {
44
+ return getContextMentionIcon(type, CHIP_ICON_COLOR, undefined, CHIP_ICON_SIZE);
45
+ }
46
+ return null;
47
+ };
34
48
  export var Chip = function Chip(_ref) {
35
49
  var items = _ref.items,
36
50
  tooltip = _ref.tooltip,
@@ -83,11 +97,7 @@ export var Chip = function Chip(_ref) {
83
97
  });
84
98
  setOverflowItems(newOverflowItems);
85
99
  }, [containerWidth, items]);
86
- var resolvedLeadingIcon = leadingIcon !== null && leadingIcon !== void 0 ? leadingIcon : type === 'task' ? /*#__PURE__*/_jsx(TaskLinkIcon, {
87
- width: CHIP_ICON_SIZE,
88
- height: CHIP_ICON_SIZE,
89
- color: CHIP_ICON_COLOR
90
- }) : type ? getContextMentionIcon(type, CHIP_ICON_COLOR, undefined, CHIP_ICON_SIZE) : null;
100
+ var resolvedLeadingIcon = resolveChipLeadingIcon(leadingIcon, type);
91
101
  var inner = /*#__PURE__*/_jsx(ChipContainer, {
92
102
  children: /*#__PURE__*/_jsx(SCChip, {
93
103
  ref: containerRef,
@@ -137,4 +147,4 @@ export var Chip = function Chip(_ref) {
137
147
  children: inner
138
148
  })) : inner;
139
149
  };
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRvb2x0aXAiLCJDcm9zcyIsIlNDQ2hpcCIsIkNoaXBDb250YWluZXIiLCJDaGlwQ29udGVudCIsIkl0ZW1Db250YWluZXIiLCJJdGVtVGV4dENlbGwiLCJJdGVtVGV4dCIsIkNoaXBMZWFkaW5nSWNvbiIsIlJlbW92ZUJ1dHRvbiIsIlRhc2tMaW5rSWNvbiIsImdldENvbnRleHRNZW50aW9uSWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJQUk9KRUNUX0NPTlRFWFRfQ0hJUF9NQVhfQ0hBUlMiLCJDSElQX0lDT05fQ09MT1IiLCJDSElQX0lDT05fU0laRSIsInRydW5jYXRlQ2hpcExhYmVsIiwiZnVsbCIsIm1heENoYXJzIiwibGVuZ3RoIiwiZGlzcGxheSIsInRydW5jYXRlZEJ5Q2hhcnMiLCJjb25jYXQiLCJzbGljZSIsIkNoaXAiLCJfcmVmIiwiaXRlbXMiLCJ0b29sdGlwIiwidHlwZSIsImxlYWRpbmdJY29uIiwib25SZW1vdmUiLCJyZW1vdmVMYWJlbCIsInRvb2x0aXBaSW5kZXgiLCJjb250YWluZXJSZWYiLCJpdGVtUmVmcyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm92ZXJmbG93SXRlbXMiLCJzZXRPdmVyZmxvd0l0ZW1zIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjb250YWluZXJXaWR0aCIsInNldENvbnRhaW5lcldpZHRoIiwiY29udGFpbmVyIiwiY3VycmVudCIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwiZW50cnkiLCJjb250ZW50UmVjdCIsIndpZHRoIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJtYXhJdGVtV2lkdGgiLCJuZXdPdmVyZmxvd0l0ZW1zIiwibWFwIiwicmVmIiwidGVtcCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwicG9zaXRpb24iLCJ2aXNpYmlsaXR5Iiwid2hpdGVTcGFjZSIsImZvbnQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwidGV4dENvbnRlbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ0ZXh0V2lkdGgiLCJvZmZzZXRXaWR0aCIsInJlbW92ZUNoaWxkIiwicmVzb2x2ZWRMZWFkaW5nSWNvbiIsImhlaWdodCIsImNvbG9yIiwidW5kZWZpbmVkIiwiaW5uZXIiLCJjaGlsZHJlbiIsIml0ZW0iLCJpbmRleCIsIl90cnVuY2F0ZUNoaXBMYWJlbCIsInNob3dUb29sdGlwIiwiQm9vbGVhbiIsInRleHQiLCJlbCIsIl9vYmplY3RTcHJlYWQiLCJ0aXRsZSIsInpJbmRleCIsIm9uQ2xpY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbnNpc3RlbnQtcmV0dXJuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tdW5yZXNvbHZlZCAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQge1xuICBTQ0NoaXAsXG4gIENoaXBDb250YWluZXIsXG4gIENoaXBDb250ZW50LFxuICBJdGVtQ29udGFpbmVyLFxuICBJdGVtVGV4dENlbGwsXG4gIEl0ZW1UZXh0LFxuICBDaGlwTGVhZGluZ0ljb24sXG4gIFJlbW92ZUJ1dHRvbixcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyBUYXNrTGlua0ljb24gfSBmcm9tICcuLi9pY29ucy9UYXNrTGlua0ljb24nXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0Q29udGV4dE1lbnRpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25JY29ucydcblxuLyoqIEzDrW1pdGUgZGUgY2FyYWN0ZXJlcyB2aXNpYmxlcyBhbnRlcyBkZSB0cnVuY2FyIGNvbiBlbGlwc2lzIChub21icmUgY29tcGxldG8gZW4gdG9vbHRpcCkuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVF9DT05URVhUX0NISVBfTUFYX0NIQVJTID0gNDBcblxuLyoqIENvbG9yIGRlbCDDrWNvbm8gZGVsIGNoaXAgZGUgY29udGV4dG8gKEZpZ21hIGdyZXktNTAwKS4gKi9cbmNvbnN0IENISVBfSUNPTl9DT0xPUiA9ICcjODA4MDgwJ1xuY29uc3QgQ0hJUF9JQ09OX1NJWkUgPSAxNVxuXG50eXBlIENoaXBQcm9wcyA9IHtcbiAgaXRlbXM6IHN0cmluZ1tdXG4gIC8qKiBUb29sdGlwIG1vc3RyYWRvIHNvYnJlIHRvZG8gZWwgY2hpcCAoYWRpY2lvbmFsIGFsIHRvb2x0aXAgcG9yLWl0ZW0gZGUgdGV4dG8gdHJ1bmNhZG8pLiAqL1xuICB0b29sdGlwPzogc3RyaW5nXG4gIC8qKiBUaXBvIGRlbCBwaW4gYWN0aXZvIChtb25vLWNvbnRleHRvOiB1biBzb2xvIMOtdGVtKS4gKi9cbiAgdHlwZT86IENvbnRleHRFbnRpdHlUeXBlXG4gIC8qKiDDjWNvbm8gaW5pY2lhbCBjdXN0b20gKGVqLiBtdW5kbyBwYXJhIFwiQ29udGV4dG8gZ2xvYmFsXCIpLiBUaWVuZSBwcmlvcmlkYWQgc29icmUgZWwgw61jb25vIHBvciBgdHlwZWAuICovXG4gIGxlYWRpbmdJY29uPzogUmVhY3ROb2RlXG4gIC8qKiBTaSBzZSBwYXNhLCBtdWVzdHJhIGxhIGNydXogZGUgcXVpdGFyIGFsIGhvdmVyIChlc3RpbG8gbHVjYXMvbWFpYS1jb250ZXh0KS4gKi9cbiAgb25SZW1vdmU/OiAoKSA9PiB2b2lkXG4gIC8qKiBhcmlhLWxhYmVsIGRlbCBib3TDs24gZGUgcXVpdGFyIChpMThuIGRlc2RlIGVsIGNvbnN1bWVyKS4gKi9cbiAgcmVtb3ZlTGFiZWw/OiBzdHJpbmdcbiAgLyoqIHotaW5kZXggZGVsIHRvb2x0aXAgcG9ydGFsZWQ7IGRlYmUgcXVlZGFyIHBvciBlbmNpbWEgZGVsIG1vZGFsIGRlbCBjaGF0LiAqL1xuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG59XG5cbmNvbnN0IHRydW5jYXRlQ2hpcExhYmVsID0gKGZ1bGw6IHN0cmluZywgbWF4Q2hhcnM6IG51bWJlcik6IHsgZGlzcGxheTogc3RyaW5nOyB0cnVuY2F0ZWRCeUNoYXJzOiBib29sZWFuIH0gPT4ge1xuICBpZiAoZnVsbC5sZW5ndGggPD0gbWF4Q2hhcnMpIHtcbiAgICByZXR1cm4geyBkaXNwbGF5OiBmdWxsLCB0cnVuY2F0ZWRCeUNoYXJzOiBmYWxzZSB9XG4gIH1cbiAgcmV0dXJuIHsgZGlzcGxheTogYCR7ZnVsbC5zbGljZSgwLCBtYXhDaGFycyl94oCmYCwgdHJ1bmNhdGVkQnlDaGFyczogdHJ1ZSB9XG59XG5cbmV4cG9ydCBjb25zdCBDaGlwID0gKHsgaXRlbXMsIHRvb2x0aXAsIHR5cGUsIGxlYWRpbmdJY29uLCBvblJlbW92ZSwgcmVtb3ZlTGFiZWwsIHRvb2x0aXBaSW5kZXggfTogQ2hpcFByb3BzKSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXRlbVJlZnMgPSB1c2VSZWY8KEhUTUxEaXZFbGVtZW50IHwgbnVsbClbXT4oW10pXG4gIGNvbnN0IFtvdmVyZmxvd0l0ZW1zLCBzZXRPdmVyZmxvd0l0ZW1zXSA9IHVzZVN0YXRlPGJvb2xlYW5bXT4oW10pXG4gIGNvbnN0IFtjb250YWluZXJXaWR0aCwgc2V0Q29udGFpbmVyV2lkdGhdID0gdXNlU3RhdGUoMClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIpIHJldHVyblxuXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF1cbiAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICBzZXRDb250YWluZXJXaWR0aChlbnRyeS5jb250ZW50UmVjdC53aWR0aClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGFpbmVyV2lkdGggPT09IDApIHJldHVyblxuICAgIGNvbnN0IG1heEl0ZW1XaWR0aCA9IGNvbnRhaW5lcldpZHRoIC8gaXRlbXMubGVuZ3RoXG5cbiAgICBjb25zdCBuZXdPdmVyZmxvd0l0ZW1zID0gaXRlbVJlZnMuY3VycmVudC5tYXAocmVmID0+IHtcbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgY29uc3QgdGVtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgICAgIHRlbXAuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgIHRlbXAuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nXG4gICAgICAgIHRlbXAuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnXG4gICAgICAgIHRlbXAuc3R5bGUuZm9udCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHJlZikuZm9udFxuICAgICAgICB0ZW1wLnRleHRDb250ZW50ID0gcmVmLnRleHRDb250ZW50IHx8ICcnXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVtcClcbiAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gdGVtcC5vZmZzZXRXaWR0aFxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlbXApXG5cbiAgICAgICAgcmV0dXJuIHRleHRXaWR0aCA+IG1heEl0ZW1XaWR0aFxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgICBzZXRPdmVyZmxvd0l0ZW1zKG5ld092ZXJmbG93SXRlbXMpXG4gIH0sIFtjb250YWluZXJXaWR0aCwgaXRlbXNdKVxuXG4gIGNvbnN0IHJlc29sdmVkTGVhZGluZ0ljb24gPVxuICAgIGxlYWRpbmdJY29uID8/XG4gICAgKHR5cGUgPT09ICd0YXNrJyA/IChcbiAgICAgIDxUYXNrTGlua0ljb24gd2lkdGg9e0NISVBfSUNPTl9TSVpFfSBoZWlnaHQ9e0NISVBfSUNPTl9TSVpFfSBjb2xvcj17Q0hJUF9JQ09OX0NPTE9SfSAvPlxuICAgICkgOiB0eXBlID8gKFxuICAgICAgZ2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIENISVBfSUNPTl9DT0xPUiwgdW5kZWZpbmVkLCBDSElQX0lDT05fU0laRSlcbiAgICApIDogbnVsbClcblxuICBjb25zdCBpbm5lciA9IChcbiAgICA8Q2hpcENvbnRhaW5lcj5cbiAgICAgIDxTQ0NoaXAgcmVmPXtjb250YWluZXJSZWZ9PlxuICAgICAgICA8Q2hpcENvbnRlbnQ+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGlzcGxheSwgdHJ1bmNhdGVkQnlDaGFycyB9ID0gdHJ1bmNhdGVDaGlwTGFiZWwoaXRlbSwgUFJPSkVDVF9DT05URVhUX0NISVBfTUFYX0NIQVJTKVxuICAgICAgICAgICAgY29uc3Qgc2hvd1Rvb2x0aXAgPSAhdG9vbHRpcCAmJiAodHJ1bmNhdGVkQnlDaGFycyB8fCBCb29sZWFuKG92ZXJmbG93SXRlbXNbaW5kZXhdKSlcbiAgICAgICAgICAgIGNvbnN0IHRleHQgPSAoXG4gICAgICAgICAgICAgIDxJdGVtVGV4dFxuICAgICAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgaXRlbVJlZnMuY3VycmVudFtpbmRleF0gPSBlbFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheX1cbiAgICAgICAgICAgICAgPC9JdGVtVGV4dD5cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxJdGVtQ29udGFpbmVyIGtleT17aXRlbX0+XG4gICAgICAgICAgICAgICAge2luZGV4ID09PSAwICYmIHJlc29sdmVkTGVhZGluZ0ljb24gJiYgPENoaXBMZWFkaW5nSWNvbj57cmVzb2x2ZWRMZWFkaW5nSWNvbn08L0NoaXBMZWFkaW5nSWNvbj59XG4gICAgICAgICAgICAgICAgPEl0ZW1UZXh0Q2VsbD5cbiAgICAgICAgICAgICAgICAgIHtzaG93VG9vbHRpcCA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2l0ZW19IHsuLi4odG9vbHRpcFpJbmRleCAhPSBudWxsID8geyB6SW5kZXg6IHRvb2x0aXBaSW5kZXggfSA6IHt9KX0+XG4gICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIHRleHRcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9JdGVtVGV4dENlbGw+XG4gICAgICAgICAgICAgIDwvSXRlbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgICB7b25SZW1vdmUgJiYgKFxuICAgICAgICAgICAgPFJlbW92ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD17cmVtb3ZlTGFiZWwgPz8gJ1JlbW92ZSd9IG9uQ2xpY2s9e29uUmVtb3ZlfT5cbiAgICAgICAgICAgICAgPENyb3NzIGNvbG9yPVwiY3VycmVudENvbG9yXCIgd2lkdGg9ezEwfSBoZWlnaHQ9ezEwfSAvPlxuICAgICAgICAgICAgPC9SZW1vdmVCdXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9DaGlwQ29udGVudD5cbiAgICAgIDwvU0NDaGlwPlxuICAgIDwvQ2hpcENvbnRhaW5lcj5cbiAgKVxuXG4gIHJldHVybiB0b29sdGlwID8gKFxuICAgIDxUb29sdGlwIHRpdGxlPXt0b29sdGlwfSB7Li4uKHRvb2x0aXBaSW5kZXggIT0gbnVsbCA/IHsgekluZGV4OiB0b29sdGlwWkluZGV4IH0gOiB7fSl9PlxuICAgICAge2lubmVyfVxuICAgIDwvVG9vbHRpcD5cbiAgKSA6IChcbiAgICBpbm5lclxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFvQkEsTUFBTSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzlELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUNFQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxhQUFhLEVBQ2JDLFlBQVksRUFDWkMsUUFBUSxFQUNSQyxlQUFlLEVBQ2ZDLFlBQVksUUFDUCxVQUFVO0FBQ2pCLFNBQVNDLFlBQVksUUFBUSx1QkFBdUI7QUFFcEQsU0FBU0MscUJBQXFCLFFBQVEsb0NBQW9DOztBQUUxRTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFDQSxPQUFPLElBQU1DLDhCQUE4QixHQUFHLEVBQUU7O0FBRWhEO0FBQ0EsSUFBTUMsZUFBZSxHQUFHLFNBQVM7QUFDakMsSUFBTUMsY0FBYyxHQUFHLEVBQUU7QUFrQnpCLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLElB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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRvb2x0aXAiLCJDcm9zcyIsIlNDQ2hpcCIsIkNoaXBDb250YWluZXIiLCJDaGlwQ29udGVudCIsIkl0ZW1Db250YWluZXIiLCJJdGVtVGV4dENlbGwiLCJJdGVtVGV4dCIsIkNoaXBMZWFkaW5nSWNvbiIsIlJlbW92ZUJ1dHRvbiIsIlRhc2tMaW5rSWNvbiIsImdldENvbnRleHRNZW50aW9uSWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJQUk9KRUNUX0NPTlRFWFRfQ0hJUF9NQVhfQ0hBUlMiLCJDSElQX0lDT05fQ09MT1IiLCJDSElQX0lDT05fU0laRSIsInRydW5jYXRlQ2hpcExhYmVsIiwiZnVsbCIsIm1heENoYXJzIiwibGVuZ3RoIiwiZGlzcGxheSIsInRydW5jYXRlZEJ5Q2hhcnMiLCJjb25jYXQiLCJzbGljZSIsInJlc29sdmVDaGlwTGVhZGluZ0ljb24iLCJsZWFkaW5nSWNvbiIsInR5cGUiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwidW5kZWZpbmVkIiwiQ2hpcCIsIl9yZWYiLCJpdGVtcyIsInRvb2x0aXAiLCJvblJlbW92ZSIsInJlbW92ZUxhYmVsIiwidG9vbHRpcFpJbmRleCIsImNvbnRhaW5lclJlZiIsIml0ZW1SZWZzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3ZlcmZsb3dJdGVtcyIsInNldE92ZXJmbG93SXRlbXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNvbnRhaW5lcldpZHRoIiwic2V0Q29udGFpbmVyV2lkdGgiLCJjb250YWluZXIiLCJjdXJyZW50IiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImVudHJpZXMiLCJlbnRyeSIsImNvbnRlbnRSZWN0Iiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJtYXhJdGVtV2lkdGgiLCJuZXdPdmVyZmxvd0l0ZW1zIiwibWFwIiwicmVmIiwidGVtcCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwicG9zaXRpb24iLCJ2aXNpYmlsaXR5Iiwid2hpdGVTcGFjZSIsImZvbnQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwidGV4dENvbnRlbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJ0ZXh0V2lkdGgiLCJvZmZzZXRXaWR0aCIsInJlbW92ZUNoaWxkIiwicmVzb2x2ZWRMZWFkaW5nSWNvbiIsImlubmVyIiwiY2hpbGRyZW4iLCJpdGVtIiwiaW5kZXgiLCJfdHJ1bmNhdGVDaGlwTGFiZWwiLCJzaG93VG9vbHRpcCIsIkJvb2xlYW4iLCJ0ZXh0IiwiZWwiLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJ6SW5kZXgiLCJvbkNsaWNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjb25zaXN0ZW50LXJldHVybiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLXVucmVzb2x2ZWQgKi9cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHtcbiAgU0NDaGlwLFxuICBDaGlwQ29udGFpbmVyLFxuICBDaGlwQ29udGVudCxcbiAgSXRlbUNvbnRhaW5lcixcbiAgSXRlbVRleHRDZWxsLFxuICBJdGVtVGV4dCxcbiAgQ2hpcExlYWRpbmdJY29uLFxuICBSZW1vdmVCdXR0b24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgVGFza0xpbmtJY29uIH0gZnJvbSAnLi4vaWNvbnMvVGFza0xpbmtJY29uJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uSWNvbnMnXG5cbi8qKiBMw61taXRlIGRlIGNhcmFjdGVyZXMgdmlzaWJsZXMgYW50ZXMgZGUgdHJ1bmNhciBjb24gZWxpcHNpcyAobm9tYnJlIGNvbXBsZXRvIGVuIHRvb2x0aXApLiAqL1xuZXhwb3J0IGNvbnN0IFBST0pFQ1RfQ09OVEVYVF9DSElQX01BWF9DSEFSUyA9IDQwXG5cbi8qKiBDb2xvciBkZWwgw61jb25vIGRlbCBjaGlwIGRlIGNvbnRleHRvIChGaWdtYSBncmV5LTUwMCkuICovXG5jb25zdCBDSElQX0lDT05fQ09MT1IgPSAnIzgwODA4MCdcbmNvbnN0IENISVBfSUNPTl9TSVpFID0gMTVcblxudHlwZSBDaGlwUHJvcHMgPSB7XG4gIGl0ZW1zOiBzdHJpbmdbXVxuICAvKiogVG9vbHRpcCBtb3N0cmFkbyBzb2JyZSB0b2RvIGVsIGNoaXAgKGFkaWNpb25hbCBhbCB0b29sdGlwIHBvci1pdGVtIGRlIHRleHRvIHRydW5jYWRvKS4gKi9cbiAgdG9vbHRpcD86IHN0cmluZ1xuICAvKiogVGlwbyBkZWwgcGluIGFjdGl2byAobW9uby1jb250ZXh0bzogdW4gc29sbyDDrXRlbSkuICovXG4gIHR5cGU/OiBDb250ZXh0RW50aXR5VHlwZVxuICAvKiogw41jb25vIGluaWNpYWwgY3VzdG9tIChlai4gbXVuZG8gcGFyYSBcIkNvbnRleHRvIGdsb2JhbFwiKS4gVGllbmUgcHJpb3JpZGFkIHNvYnJlIGVsIMOtY29ubyBwb3IgYHR5cGVgLiAqL1xuICBsZWFkaW5nSWNvbj86IFJlYWN0Tm9kZVxuICAvKiogU2kgc2UgcGFzYSwgbXVlc3RyYSBsYSBjcnV6IGRlIHF1aXRhciBhbCBob3ZlciAoZXN0aWxvIGx1Y2FzL21haWEtY29udGV4dCkuICovXG4gIG9uUmVtb3ZlPzogKCkgPT4gdm9pZFxuICAvKiogYXJpYS1sYWJlbCBkZWwgYm90w7NuIGRlIHF1aXRhciAoaTE4biBkZXNkZSBlbCBjb25zdW1lcikuICovXG4gIHJlbW92ZUxhYmVsPzogc3RyaW5nXG4gIC8qKiB6LWluZGV4IGRlbCB0b29sdGlwIHBvcnRhbGVkOyBkZWJlIHF1ZWRhciBwb3IgZW5jaW1hIGRlbCBtb2RhbCBkZWwgY2hhdC4gKi9cbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxufVxuXG5jb25zdCB0cnVuY2F0ZUNoaXBMYWJlbCA9IChmdWxsOiBzdHJpbmcsIG1heENoYXJzOiBudW1iZXIpOiB7IGRpc3BsYXk6IHN0cmluZzsgdHJ1bmNhdGVkQnlDaGFyczogYm9vbGVhbiB9ID0+IHtcbiAgaWYgKGZ1bGwubGVuZ3RoIDw9IG1heENoYXJzKSB7XG4gICAgcmV0dXJuIHsgZGlzcGxheTogZnVsbCwgdHJ1bmNhdGVkQnlDaGFyczogZmFsc2UgfVxuICB9XG4gIHJldHVybiB7IGRpc3BsYXk6IGAke2Z1bGwuc2xpY2UoMCwgbWF4Q2hhcnMpfeKApmAsIHRydW5jYXRlZEJ5Q2hhcnM6IHRydWUgfVxufVxuXG5jb25zdCByZXNvbHZlQ2hpcExlYWRpbmdJY29uID0gKGxlYWRpbmdJY29uOiBSZWFjdE5vZGUgfCB1bmRlZmluZWQsIHR5cGU6IENvbnRleHRFbnRpdHlUeXBlIHwgdW5kZWZpbmVkKTogUmVhY3ROb2RlID0+IHtcbiAgaWYgKGxlYWRpbmdJY29uKSByZXR1cm4gbGVhZGluZ0ljb25cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiA8VGFza0xpbmtJY29uIHdpZHRoPXtDSElQX0lDT05fU0laRX0gaGVpZ2h0PXtDSElQX0lDT05fU0laRX0gY29sb3I9e0NISVBfSUNPTl9DT0xPUn0gLz5cbiAgfVxuICBpZiAodHlwZSkge1xuICAgIHJldHVybiBnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgQ0hJUF9JQ09OX0NPTE9SLCB1bmRlZmluZWQsIENISVBfSUNPTl9TSVpFKVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBDaGlwID0gKHsgaXRlbXMsIHRvb2x0aXAsIHR5cGUsIGxlYWRpbmdJY29uLCBvblJlbW92ZSwgcmVtb3ZlTGFiZWwsIHRvb2x0aXBaSW5kZXggfTogQ2hpcFByb3BzKSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXRlbVJlZnMgPSB1c2VSZWY8KEhUTUxEaXZFbGVtZW50IHwgbnVsbClbXT4oW10pXG4gIGNvbnN0IFtvdmVyZmxvd0l0ZW1zLCBzZXRPdmVyZmxvd0l0ZW1zXSA9IHVzZVN0YXRlPGJvb2xlYW5bXT4oW10pXG4gIGNvbnN0IFtjb250YWluZXJXaWR0aCwgc2V0Q29udGFpbmVyV2lkdGhdID0gdXNlU3RhdGUoMClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIpIHJldHVyblxuXG4gICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF1cbiAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICBzZXRDb250YWluZXJXaWR0aChlbnRyeS5jb250ZW50UmVjdC53aWR0aClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGFpbmVyV2lkdGggPT09IDApIHJldHVyblxuICAgIGNvbnN0IG1heEl0ZW1XaWR0aCA9IGNvbnRhaW5lcldpZHRoIC8gaXRlbXMubGVuZ3RoXG5cbiAgICBjb25zdCBuZXdPdmVyZmxvd0l0ZW1zID0gaXRlbVJlZnMuY3VycmVudC5tYXAocmVmID0+IHtcbiAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgY29uc3QgdGVtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgICAgIHRlbXAuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgIHRlbXAuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nXG4gICAgICAgIHRlbXAuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnXG4gICAgICAgIHRlbXAuc3R5bGUuZm9udCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHJlZikuZm9udFxuICAgICAgICB0ZW1wLnRleHRDb250ZW50ID0gcmVmLnRleHRDb250ZW50IHx8ICcnXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVtcClcbiAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gdGVtcC5vZmZzZXRXaWR0aFxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRlbXApXG5cbiAgICAgICAgcmV0dXJuIHRleHRXaWR0aCA+IG1heEl0ZW1XaWR0aFxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgICBzZXRPdmVyZmxvd0l0ZW1zKG5ld092ZXJmbG93SXRlbXMpXG4gIH0sIFtjb250YWluZXJXaWR0aCwgaXRlbXNdKVxuXG4gIGNvbnN0IHJlc29sdmVkTGVhZGluZ0ljb24gPSByZXNvbHZlQ2hpcExlYWRpbmdJY29uKGxlYWRpbmdJY29uLCB0eXBlKVxuXG4gIGNvbnN0IGlubmVyID0gKFxuICAgIDxDaGlwQ29udGFpbmVyPlxuICAgICAgPFNDQ2hpcCByZWY9e2NvbnRhaW5lclJlZn0+XG4gICAgICAgIDxDaGlwQ29udGVudD5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBkaXNwbGF5LCB0cnVuY2F0ZWRCeUNoYXJzIH0gPSB0cnVuY2F0ZUNoaXBMYWJlbChpdGVtLCBQUk9KRUNUX0NPTlRFWFRfQ0hJUF9NQVhfQ0hBUlMpXG4gICAgICAgICAgICBjb25zdCBzaG93VG9vbHRpcCA9ICF0b29sdGlwICYmICh0cnVuY2F0ZWRCeUNoYXJzIHx8IEJvb2xlYW4ob3ZlcmZsb3dJdGVtc1tpbmRleF0pKVxuICAgICAgICAgICAgY29uc3QgdGV4dCA9IChcbiAgICAgICAgICAgICAgPEl0ZW1UZXh0XG4gICAgICAgICAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgICAgICAgICBpdGVtUmVmcy5jdXJyZW50W2luZGV4XSA9IGVsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtkaXNwbGF5fVxuICAgICAgICAgICAgICA8L0l0ZW1UZXh0PlxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEl0ZW1Db250YWluZXIga2V5PXtpdGVtfT5cbiAgICAgICAgICAgICAgICB7aW5kZXggPT09IDAgJiYgcmVzb2x2ZWRMZWFkaW5nSWNvbiAmJiA8Q2hpcExlYWRpbmdJY29uPntyZXNvbHZlZExlYWRpbmdJY29ufTwvQ2hpcExlYWRpbmdJY29uPn1cbiAgICAgICAgICAgICAgICA8SXRlbVRleHRDZWxsPlxuICAgICAgICAgICAgICAgICAge3Nob3dUb29sdGlwID8gKFxuICAgICAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17aXRlbX0gey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfT5cbiAgICAgICAgICAgICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgdGV4dFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0l0ZW1UZXh0Q2VsbD5cbiAgICAgICAgICAgICAgPC9JdGVtQ29udGFpbmVyPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIHtvblJlbW92ZSAmJiAoXG4gICAgICAgICAgICA8UmVtb3ZlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPXtyZW1vdmVMYWJlbCA/PyAnUmVtb3ZlJ30gb25DbGljaz17b25SZW1vdmV9PlxuICAgICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCJjdXJyZW50Q29sb3JcIiB3aWR0aD17MTB9IGhlaWdodD17MTB9IC8+XG4gICAgICAgICAgICA8L1JlbW92ZUJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L0NoaXBDb250ZW50PlxuICAgICAgPC9TQ0NoaXA+XG4gICAgPC9DaGlwQ29udGFpbmVyPlxuICApXG5cbiAgcmV0dXJuIHRvb2x0aXAgPyAoXG4gICAgPFRvb2x0aXAgdGl0bGU9e3Rvb2x0aXB9IHsuLi4odG9vbHRpcFpJbmRleCAhPSBudWxsID8geyB6SW5kZXg6IHRvb2x0aXBaSW5kZXggfSA6IHt9KX0+XG4gICAgICB7aW5uZXJ9XG4gICAgPC9Ub29sdGlwPlxuICApIDogKFxuICAgIGlubmVyXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxNQUFNLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQ0VDLE1BQU0sRUFDTkMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGFBQWEsRUFDYkMsWUFBWSxFQUNaQyxRQUFRLEVBQ1JDLGVBQWUsRUFDZkMsWUFBWSxRQUNQLFVBQVU7QUFDakIsU0FBU0MsWUFBWSxRQUFRLHVCQUF1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