@projectcor/maia-components 2.11.94-0 → 2.11.95

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 (131) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +2 -2
  3. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +28 -41
  4. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
  5. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
  6. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +41 -2
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  8. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  9. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +23 -4
  10. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +15 -7
  11. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +10 -4
  12. package/lib/components/atoms/MAIAInput/MAIAInput.js +47 -26
  13. package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
  14. package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
  15. package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
  16. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  17. package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
  18. package/lib/components/atoms/icons/index.js +3 -2
  19. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +4 -1
  20. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +14 -1
  21. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
  22. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +117 -30
  23. package/lib/components/molecules/ChatAIHome/styles.js +142 -49
  24. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +12 -48
  25. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +6 -2
  26. package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
  27. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +122 -212
  28. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +18 -28
  29. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -10
  30. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +7 -17
  31. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +1 -5
  32. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  33. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  34. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +3 -3
  35. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
  36. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
  37. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  38. package/lib/components/molecules/ChatFooter/ChatFooter.js +19 -8
  39. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  40. package/lib/components/molecules/Sidebar/Sidebar.js +93 -112
  41. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +1 -16
  42. package/lib/components/molecules/Sidebar/Sidebar.styles.js +29 -34
  43. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
  44. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  45. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  46. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +451 -0
  47. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
  48. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  49. package/lib/components/organisms/ChatAI/ChatAI.js +17 -10
  50. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
  51. package/lib/constants/config.js +4 -1
  52. package/lib/constants/maiaHourAgentAccess.js +15 -0
  53. package/lib/constants/maiaTaskPanelAccess.js +4 -4
  54. package/lib/constants/permissions/index.js +2 -2
  55. package/lib/constants/permissions/utils.js +4 -1
  56. package/lib/constants/plannerSyncEvents.js +15 -0
  57. package/lib/context/cor-user.js +9 -1
  58. package/lib/context/global-context.js +1 -1
  59. package/lib/dev/DevChatAI.js +2 -2
  60. package/lib/hooks/useChatManager/useChatManager.js +456 -560
  61. package/lib/hooks/useChatMessages/useChatMessages.js +236 -414
  62. package/lib/hooks/useChats/useChats.js +4 -21
  63. package/lib/hooks/useContextMentions.js +51 -9
  64. package/lib/hooks/useContextPinPopover.js +1 -8
  65. package/lib/hooks/useEntitySearch.js +277 -91
  66. package/lib/hooks/useEvent.js +2 -1
  67. package/lib/hooks/useFrequentlyUsedActions.js +4 -2
  68. package/lib/hooks/useMentionAllowedTypes.js +26 -8
  69. package/lib/hooks/useMentionPopover.js +43 -13
  70. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  71. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +521 -139
  72. package/lib/hooks/useProjectSummaryConfig.js +23 -30
  73. package/lib/hooks/useSlashCommands.js +3 -2
  74. package/lib/hooks/useStreamingMessage/index.js +3 -2
  75. package/lib/hooks/useStreamingMessage/streamingStore.js +69 -0
  76. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +17 -13
  77. package/lib/lang/br/index.js +73 -15
  78. package/lib/lang/en/index.js +73 -15
  79. package/lib/lang/es/index.js +73 -15
  80. package/lib/lang/fr/index.js +70 -17
  81. package/lib/services/appcues.js +3 -2
  82. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
  83. package/lib/services/maia/Agents/getAgents.js +3 -6
  84. package/lib/services/maia/Chats/getChatsByUserId.js +4 -6
  85. package/lib/services/maia/Chats/index.js +1 -3
  86. package/lib/services/maia/Orchestrator/orchestrator.js +1 -7
  87. package/lib/services/maia/Skills/createSkill.js +39 -0
  88. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  89. package/lib/services/maia/Skills/generateSkill.js +41 -0
  90. package/lib/services/maia/Skills/getSkills.js +90 -0
  91. package/lib/services/maia/Skills/updateSkill.js +39 -0
  92. package/lib/store/chatsStore.types.js +1 -1
  93. package/lib/store/useChatsStore.js +12 -149
  94. package/lib/types/Action.js +1 -1
  95. package/lib/types/Chat.js +1 -1
  96. package/lib/types/agent.js +1 -1
  97. package/lib/types/contextMention.js +1 -1
  98. package/lib/types/global.d.js +1 -1
  99. package/lib/types/skill.js +2 -0
  100. package/lib/utils/actionCategoryMap.js +6 -2
  101. package/lib/utils/actionIconMap.js +8 -2
  102. package/lib/utils/contextMentionIcons.js +29 -1
  103. package/lib/utils/contextMentionTriggers.js +6 -3
  104. package/lib/utils/hoursPlannerQuickActionType.js +64 -0
  105. package/lib/utils/orchestratorSubagents.js +11 -0
  106. package/lib/utils/renderContextMentions.js +9 -4
  107. package/lib/utils/streamActivityMessages.js +2 -1
  108. package/package.json +15 -10
  109. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -17
  110. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -15
  111. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  112. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  113. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -55
  114. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -46
  115. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  116. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  117. package/lib/store/chatsSidebarOptimistic.js +0 -92
  118. package/lib/store/maiaMinimizedPersistence.js +0 -49
  119. package/lib/store/sessions/activeView.js +0 -22
  120. package/lib/store/sessions/index.js +0 -9
  121. package/lib/store/sessions/sessionHitlContext.js +0 -15
  122. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  123. package/lib/store/sessions/sessionNotifications.js +0 -110
  124. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  125. package/lib/store/sessions/sessionStreamManager.js +0 -576
  126. package/lib/store/sessions/sessionStreamingText.js +0 -80
  127. package/lib/store/sessions/sessions.types.js +0 -35
  128. package/lib/store/sessions/useSessionMeta.js +0 -39
  129. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  130. package/lib/store/sessions/useSessionsStore.js +0 -197
  131. package/lib/utils/formatUnreadCount.js +0 -6
@@ -0,0 +1,38 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { fetchMaia } from '../client';
4
+ export var deleteSkill = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(skillId) {
6
+ var response, data;
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ _context.next = 1;
11
+ return fetchMaia({
12
+ path: "skills/".concat(skillId),
13
+ method: 'DELETE'
14
+ });
15
+ case 1:
16
+ response = _context.sent;
17
+ if (response.ok) {
18
+ _context.next = 2;
19
+ break;
20
+ }
21
+ throw new Error('Failed to delete skill');
22
+ case 2:
23
+ _context.next = 3;
24
+ return response.json();
25
+ case 3:
26
+ data = _context.sent;
27
+ return _context.abrupt("return", data);
28
+ case 4:
29
+ case "end":
30
+ return _context.stop();
31
+ }
32
+ }, _callee);
33
+ }));
34
+ return function deleteSkill(_x) {
35
+ return _ref.apply(this, arguments);
36
+ };
37
+ }();
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJkZWxldGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsSWQiLCJyZXNwb25zZSIsImRhdGEiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJjb25jYXQiLCJtZXRob2QiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy9kZWxldGVTa2lsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5cbmV4cG9ydCBjb25zdCBkZWxldGVTa2lsbCA9IGFzeW5jIChza2lsbElkOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBza2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZGVsZXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBRXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE9BQWU7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTCxtQkFBQSxDQUFBTSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ3hCYixTQUFTLENBQUM7WUFDL0JjLElBQUksWUFBQUMsTUFBQSxDQUFZUixPQUFPLENBQUU7WUFDekJTLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSElSLFFBQVEsR0FBQUcsUUFBQSxDQUFBTSxJQUFBO1VBQUEsSUFLVFQsUUFBUSxDQUFDVSxFQUFFO1lBQUFQLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7VUFBQSxNQUNSLElBQUlNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztRQUFBO1VBQUFSLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BR3hCTCxRQUFRLENBQUNZLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJYLElBQUksR0FBQUUsUUFBQSxDQUFBTSxJQUFBO1VBQUEsT0FBQU4sUUFBQSxDQUFBVSxNQUFBLFdBRUhaLElBQUk7UUFBQTtRQUFBO1VBQUEsT0FBQUUsUUFBQSxDQUFBVyxJQUFBO01BQUE7SUFBQSxHQUFBaEIsT0FBQTtFQUFBLENBQ1o7RUFBQSxnQkFiWUwsV0FBV0EsQ0FBQXNCLEVBQUE7SUFBQSxPQUFBckIsSUFBQSxDQUFBc0IsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWF2QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,41 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { fetchMaia } from '../client';
4
+ export var generateSkill = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(userInput) {
6
+ var response, data;
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ _context.next = 1;
11
+ return fetchMaia({
12
+ path: 'skills/generate',
13
+ method: 'POST',
14
+ body: {
15
+ user_input: userInput
16
+ }
17
+ });
18
+ case 1:
19
+ response = _context.sent;
20
+ if (response.ok) {
21
+ _context.next = 2;
22
+ break;
23
+ }
24
+ throw new Error('Failed to generate skill');
25
+ case 2:
26
+ _context.next = 3;
27
+ return response.json();
28
+ case 3:
29
+ data = _context.sent;
30
+ return _context.abrupt("return", data);
31
+ case 4:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }, _callee);
36
+ }));
37
+ return function generateSkill(_x) {
38
+ return _ref.apply(this, arguments);
39
+ };
40
+ }();
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJnZW5lcmF0ZVNraWxsIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwidXNlcklucHV0IiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInVzZXJfaW5wdXQiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy9nZW5lcmF0ZVNraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcblxuZXhwb3J0IHR5cGUgU2tpbGxHZW5lcmF0ZVJlc3BvbnNlID0ge1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlU2tpbGwgPSBhc3luYyAodXNlcklucHV0OiBzdHJpbmcpOiBQcm9taXNlPFNraWxsR2VuZXJhdGVSZXNwb25zZT4gPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogJ3NraWxscy9nZW5lcmF0ZScsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgYm9keTogeyB1c2VyX2lucHV0OiB1c2VySW5wdXQgfSxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZ2VuZXJhdGUgc2tpbGwnKVxuICB9XG5cbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gIHJldHVybiBkYXRhXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFNckMsT0FBTyxJQUFNQyxhQUFhO0VBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBT0MsU0FBaUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTCxtQkFBQSxDQUFBTSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQzVCYixTQUFTLENBQUM7WUFDL0JjLElBQUksRUFBRSxpQkFBaUI7WUFDdkJDLE1BQU0sRUFBRSxNQUFNO1lBQ2RDLElBQUksRUFBRTtjQUFFQyxVQUFVLEVBQUVWO1lBQVU7VUFDaEMsQ0FBQyxDQUFDO1FBQUE7VUFKSUMsUUFBUSxHQUFBRyxRQUFBLENBQUFPLElBQUE7VUFBQSxJQU1UVixRQUFRLENBQUNXLEVBQUU7WUFBQVIsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDO1FBQUE7VUFBQVQsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHMUJMLFFBQVEsQ0FBQ2EsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QlosSUFBSSxHQUFBRSxRQUFBLENBQUFPLElBQUE7VUFBQSxPQUFBUCxRQUFBLENBQUFXLE1BQUEsV0FFSGIsSUFBSTtRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFZLElBQUE7TUFBQTtJQUFBLEdBQUFqQixPQUFBO0VBQUEsQ0FDWjtFQUFBLGdCQWRZTCxhQUFhQSxDQUFBdUIsRUFBQTtJQUFBLE9BQUF0QixJQUFBLENBQUF1QixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBY3pCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,90 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+ import { useState, useCallback } from 'react';
9
+ import { fetchMaia } from '../client';
10
+ export var useGetSkills = function useGetSkills() {
11
+ var _useState = useState([]),
12
+ _useState2 = _slicedToArray(_useState, 2),
13
+ skills = _useState2[0],
14
+ setSkills = _useState2[1];
15
+ var _useState3 = useState(false),
16
+ _useState4 = _slicedToArray(_useState3, 2),
17
+ loading = _useState4[0],
18
+ setLoading = _useState4[1];
19
+ var _useState5 = useState(null),
20
+ _useState6 = _slicedToArray(_useState5, 2),
21
+ error = _useState6[0],
22
+ setError = _useState6[1];
23
+ var handleGetSkills = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
+ var response, data, _t;
25
+ return _regeneratorRuntime.wrap(function (_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ setLoading(true);
29
+ setError(null);
30
+ _context.prev = 1;
31
+ _context.next = 2;
32
+ return fetchMaia({
33
+ path: 'skills?limit=100&offset=0',
34
+ method: 'GET'
35
+ });
36
+ case 2:
37
+ response = _context.sent;
38
+ _context.next = 3;
39
+ return response.json();
40
+ case 3:
41
+ data = _context.sent;
42
+ setSkills(data.data || []);
43
+ _context.next = 5;
44
+ break;
45
+ case 4:
46
+ _context.prev = 4;
47
+ _t = _context["catch"](1);
48
+ setError(_t instanceof Error ? _t.message : 'An unknown error occurred');
49
+ case 5:
50
+ _context.prev = 5;
51
+ setLoading(false);
52
+ return _context.finish(5);
53
+ case 6:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }, _callee, null, [[1, 4, 5, 6]]);
58
+ })), []);
59
+ var addSkill = useCallback(function (newSkill) {
60
+ setSkills(function (prev) {
61
+ return prev.some(function (skill) {
62
+ return skill.id === newSkill.id;
63
+ }) ? prev : [newSkill].concat(_toConsumableArray(prev));
64
+ });
65
+ }, []);
66
+ var updateSkillInList = useCallback(function (updatedSkill) {
67
+ setSkills(function (prev) {
68
+ return prev.map(function (skill) {
69
+ return skill.id === updatedSkill.id ? _objectSpread(_objectSpread({}, skill), updatedSkill) : skill;
70
+ });
71
+ });
72
+ }, []);
73
+ var removeSkill = useCallback(function (skillId) {
74
+ setSkills(function (prev) {
75
+ return prev.filter(function (skill) {
76
+ return skill.id !== skillId;
77
+ });
78
+ });
79
+ }, []);
80
+ return {
81
+ skills: skills,
82
+ loading: loading,
83
+ error: error,
84
+ handleGetSkills: handleGetSkills,
85
+ addSkill: addSkill,
86
+ updateSkillInList: updateSkillInList,
87
+ removeSkill: removeSkill
88
+ };
89
+ };
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZmV0Y2hNYWlhIiwidXNlR2V0U2tpbGxzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2tpbGxzIiwic2V0U2tpbGxzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldFNraWxscyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJkYXRhIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsIkVycm9yIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJhZGRTa2lsbCIsIm5ld1NraWxsIiwic29tZSIsInNraWxsIiwiaWQiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInVwZGF0ZWRTa2lsbCIsIm1hcCIsIl9vYmplY3RTcHJlYWQiLCJyZW1vdmVTa2lsbCIsInNraWxsSWQiLCJmaWx0ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Ta2lsbHMvZ2V0U2tpbGxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgU2tpbGwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuZXhwb3J0IGNvbnN0IHVzZUdldFNraWxscyA9ICgpID0+IHtcbiAgY29uc3QgW3NraWxscywgc2V0U2tpbGxzXSA9IHVzZVN0YXRlPFNraWxsW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldFNraWxscyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6ICdza2lsbHM/bGltaXQ9MTAwJm9mZnNldD0wJyxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICBzZXRTa2lsbHMoZGF0YS5kYXRhIHx8IFtdKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGFkZFNraWxsID0gdXNlQ2FsbGJhY2soKG5ld1NraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IChwcmV2LnNvbWUoc2tpbGwgPT4gc2tpbGwuaWQgPT09IG5ld1NraWxsLmlkKSA/IHByZXYgOiBbbmV3U2tpbGwsIC4uLnByZXZdKSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlU2tpbGxJbkxpc3QgPSB1c2VDYWxsYmFjaygodXBkYXRlZFNraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IHByZXYubWFwKHNraWxsID0+IChza2lsbC5pZCA9PT0gdXBkYXRlZFNraWxsLmlkID8geyAuLi5za2lsbCwgLi4udXBkYXRlZFNraWxsIH0gOiBza2lsbCkpKVxuICB9LCBbXSlcblxuICBjb25zdCByZW1vdmVTa2lsbCA9IHVzZUNhbGxiYWNrKChza2lsbElkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTa2lsbHMocHJldiA9PiBwcmV2LmZpbHRlcihza2lsbCA9PiBza2lsbC5pZCAhPT0gc2tpbGxJZCkpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgc2tpbGxzLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgaGFuZGxlR2V0U2tpbGxzLFxuICAgIGFkZFNraWxsLFxuICAgIHVwZGF0ZVNraWxsSW5MaXN0LFxuICAgIHJlbW92ZVNraWxsLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQzdDLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBR3JDLE9BQU8sSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztFQUNoQyxJQUFBQyxTQUFBLEdBQTRCSixRQUFRLENBQVUsRUFBRSxDQUFDO0lBQUFLLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBOEJULFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQVUsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQmIsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWMsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBaERFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFFdEIsSUFBTUcsZUFBZSxHQUFHaEIsV0FBVyxjQUFBaUIsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUFDLFFBQUE7SUFBQSxJ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
@@ -0,0 +1,39 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { fetchMaia } from '../client';
4
+ export var updateSkill = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(skillId, skill) {
6
+ var response, data;
7
+ return _regeneratorRuntime.wrap(function (_context) {
8
+ while (1) switch (_context.prev = _context.next) {
9
+ case 0:
10
+ _context.next = 1;
11
+ return fetchMaia({
12
+ path: "skills/".concat(skillId),
13
+ method: 'PUT',
14
+ body: skill
15
+ });
16
+ case 1:
17
+ response = _context.sent;
18
+ if (response.ok) {
19
+ _context.next = 2;
20
+ break;
21
+ }
22
+ throw new Error('Failed to update skill');
23
+ case 2:
24
+ _context.next = 3;
25
+ return response.json();
26
+ case 3:
27
+ data = _context.sent;
28
+ return _context.abrupt("return", data);
29
+ case 4:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }, _callee);
34
+ }));
35
+ return function updateSkill(_x, _x2) {
36
+ return _ref.apply(this, arguments);
37
+ };
38
+ }();
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJ1cGRhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsSWQiLCJza2lsbCIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsImJvZHkiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuXG5leHBvcnQgdHlwZSBTa2lsbFVwZGF0ZVJlcXVlc3QgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVNraWxsID0gYXN5bmMgKHNraWxsSWQ6IHN0cmluZywgc2tpbGw6IFNraWxsVXBkYXRlUmVxdWVzdCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBza2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBib2R5OiBza2lsbCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBUXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE9BQWUsRUFBRUMsS0FBeUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTixtQkFBQSxDQUFBTyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ25EZCxTQUFTLENBQUM7WUFDL0JlLElBQUksWUFBQUMsTUFBQSxDQUFZVCxPQUFPLENBQUU7WUFDekJVLE1BQU0sRUFBRSxLQUFLO1lBQ2JDLElBQUksRUFBRVY7VUFDUixDQUFDLENBQUM7UUFBQTtVQUpJQyxRQUFRLEdBQUFHLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLElBTVRWLFFBQVEsQ0FBQ1csRUFBRTtZQUFBUixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFDUixJQUFJTyxLQUFLLENBQUMsd0JBQXdCLENBQUM7UUFBQTtVQUFBVCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUd4QkwsUUFBUSxDQUFDYSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQTVCWixJQUFJLEdBQUFFLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLE9BQUFQLFFBQUEsQ0FBQVcsTUFBQSxXQUVIYixJQUFJO1FBQUE7UUFBQTtVQUFBLE9BQUFFLFFBQUEsQ0FBQVksSUFBQTtNQUFBO0lBQUEsR0FBQWxCLE9BQUE7RUFBQSxDQUNaO0VBQUEsZ0JBZFlMLFdBQVdBLENBQUF3QixFQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBeEIsSUFBQSxDQUFBeUIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWN2QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBhZ2VudFR5cGU/OiBzdHJpbmdcbiAgZW1vamk6IHN0cmluZyB8IG51bGxcbiAgc2Vzc2lvbkV4dGVybmFsSWQ6IHN0cmluZ1xuICBpc1JlYWQ/OiBib29sZWFuXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VjdGlvblR5cGUgPSAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snXG5cbmV4cG9ydCB0eXBlIEZldGNoQ2hhdHNQYXJhbXMgPSB7XG4gIGFnZW50OiBBZ2VudCB8IG51bGxcbiAgc2VjdGlvbjogU2VjdGlvblR5cGVcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG4gIG9uRXJyb3I/OiAoKSA9PiB2b2lkXG4gIGxhbmc/OiBzdHJpbmdcbiAgLyoqIFJlZnJlc2NhIHNpbiBza2VsZXRvbiBuaSBkZXNtb250YWplIGRlIGxhIGxpc3RhIChldml0YSByZS1hbmltYXIgY2FzY2FkZSkuICovXG4gIGJhY2tncm91bmQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIExvYWRNb3JlQ2hhdHNQYXJhbXMgPSB7XG4gIGFnZW50OiBBZ2VudCB8IG51bGxcbiAgc2VjdGlvbjogU2VjdGlvblR5cGVcbiAgb25FcnJvcj86ICgpID0+IHZvaWRcbiAgbGFuZz86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBEZWxldGVDaGF0UGFyYW1zID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VjdGlvblR5cGUgPSAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG5cbmV4cG9ydCB0eXBlIEZldGNoQ2hhdHNQYXJhbXMgPSB7XG4gIGFnZW50OiBBZ2VudCB8IG51bGxcbiAgc2VjdGlvbjogU2VjdGlvblR5cGVcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG4gIG9uRXJyb3I/OiAoKSA9PiB2b2lkXG4gIGxhbmc/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTG9hZE1vcmVDaGF0c1BhcmFtcyA9IHtcbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBzZWN0aW9uOiBTZWN0aW9uVHlwZVxuICBvbkVycm9yPzogKCkgPT4gdm9pZFxuICBsYW5nPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUNoYXRQYXJhbXMgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -11,32 +11,25 @@ import maia from '../services/maia';
11
11
  var DEFAULT_LIMIT = 20;
12
12
  var initialState = {
13
13
  chats: [],
14
- optimisticSessionIds: [],
15
14
  loadingChats: true,
16
15
  isLoadingMoreChats: false,
17
16
  nextOffset: null,
18
17
  limit: DEFAULT_LIMIT,
19
18
  offset: 0,
20
- mountCount: 0,
21
- unreadCount: 0,
22
- activeChatId: null,
23
- isChatViewVisible: true
19
+ mountCount: 0
24
20
  };
25
21
  export var useChatsStore = create(function (set, get) {
26
22
  return _objectSpread(_objectSpread({}, initialState), {}, {
27
23
  fetchChats: function () {
28
24
  var _fetchChats = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
29
- var agent, section, _ref$limit, limit, _ref$offset, offset, onError, lang, _ref$background, background, hasExistingChats, _yield$maia$Chats$get, items, nextItem, hasMore, unreadCount, nextOffset, apiItems, apiIds, _get, currentChats, optimisticSessionIds, stillOptimistic, _t;
25
+ var agent, section, _ref$limit, limit, _ref$offset, offset, onError, lang, _yield$maia$Chats$get, items, nextItem, hasMore, nextOffset, _t;
30
26
  return _regeneratorRuntime.wrap(function (_context) {
31
27
  while (1) switch (_context.prev = _context.next) {
32
28
  case 0:
33
- agent = _ref.agent, section = _ref.section, _ref$limit = _ref.limit, limit = _ref$limit === void 0 ? DEFAULT_LIMIT : _ref$limit, _ref$offset = _ref.offset, offset = _ref$offset === void 0 ? 0 : _ref$offset, onError = _ref.onError, lang = _ref.lang, _ref$background = _ref.background, background = _ref$background === void 0 ? false : _ref$background;
34
- hasExistingChats = get().chats.length > 0;
35
- if (!background || !hasExistingChats) {
36
- set({
37
- loadingChats: true
38
- });
39
- }
29
+ agent = _ref.agent, section = _ref.section, _ref$limit = _ref.limit, limit = _ref$limit === void 0 ? DEFAULT_LIMIT : _ref$limit, _ref$offset = _ref.offset, offset = _ref$offset === void 0 ? 0 : _ref$offset, onError = _ref.onError, lang = _ref.lang;
30
+ set({
31
+ loadingChats: true
32
+ });
40
33
  _context.prev = 1;
41
34
  _context.next = 2;
42
35
  return maia.Chats.getChatsByUserId({
@@ -51,26 +44,13 @@ export var useChatsStore = create(function (set, get) {
51
44
  items = _yield$maia$Chats$get.items;
52
45
  nextItem = _yield$maia$Chats$get.nextItem;
53
46
  hasMore = _yield$maia$Chats$get.hasMore;
54
- unreadCount = _yield$maia$Chats$get.unreadCount;
55
47
  nextOffset = hasMore && nextItem ? Number(nextItem) : null;
56
- apiItems = items;
57
- apiIds = new Set(apiItems.map(function (item) {
58
- return item.sessionExternalId;
59
- }));
60
- _get = get(), currentChats = _get.chats, optimisticSessionIds = _get.optimisticSessionIds;
61
- stillOptimistic = currentChats.filter(function (chat) {
62
- return optimisticSessionIds.includes(chat.sessionExternalId) && !apiIds.has(chat.sessionExternalId);
63
- });
64
48
  set({
65
- chats: [].concat(_toConsumableArray(stillOptimistic), _toConsumableArray(apiItems)),
66
- optimisticSessionIds: optimisticSessionIds.filter(function (id) {
67
- return !apiIds.has(id);
68
- }),
49
+ chats: items,
69
50
  loadingChats: false,
70
51
  nextOffset: nextOffset,
71
52
  limit: limit,
72
- offset: nextOffset !== null && nextOffset !== void 0 ? nextOffset : 0,
73
- unreadCount: unreadCount
53
+ offset: nextOffset !== null && nextOffset !== void 0 ? nextOffset : 0
74
54
  });
75
55
  _context.next = 4;
76
56
  break;
@@ -95,12 +75,12 @@ export var useChatsStore = create(function (set, get) {
95
75
  }(),
96
76
  loadMoreChats: function () {
97
77
  var _loadMoreChats = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
98
- var agent, section, onError, lang, _get2, nextOffset, limit, isLoadingMoreChats, _yield$maia$Chats$get2, items, nextItem, hasMore, unreadCount, newNextOffset, _t2;
78
+ var agent, section, onError, lang, _get, nextOffset, limit, isLoadingMoreChats, _yield$maia$Chats$get2, items, nextItem, hasMore, newNextOffset, _t2;
99
79
  return _regeneratorRuntime.wrap(function (_context2) {
100
80
  while (1) switch (_context2.prev = _context2.next) {
101
81
  case 0:
102
82
  agent = _ref2.agent, section = _ref2.section, onError = _ref2.onError, lang = _ref2.lang;
103
- _get2 = get(), nextOffset = _get2.nextOffset, limit = _get2.limit, isLoadingMoreChats = _get2.isLoadingMoreChats;
83
+ _get = get(), nextOffset = _get.nextOffset, limit = _get.limit, isLoadingMoreChats = _get.isLoadingMoreChats;
104
84
  if (!(nextOffset === null || isLoadingMoreChats)) {
105
85
  _context2.next = 1;
106
86
  break;
@@ -124,15 +104,13 @@ export var useChatsStore = create(function (set, get) {
124
104
  items = _yield$maia$Chats$get2.items;
125
105
  nextItem = _yield$maia$Chats$get2.nextItem;
126
106
  hasMore = _yield$maia$Chats$get2.hasMore;
127
- unreadCount = _yield$maia$Chats$get2.unreadCount;
128
107
  newNextOffset = hasMore && nextItem ? Number(nextItem) : null;
129
108
  set(function (state) {
130
109
  return {
131
110
  chats: [].concat(_toConsumableArray(state.chats), _toConsumableArray(items)),
132
111
  isLoadingMoreChats: false,
133
112
  nextOffset: newNextOffset,
134
- offset: newNextOffset !== null && newNextOffset !== void 0 ? newNextOffset : 0,
135
- unreadCount: unreadCount
113
+ offset: newNextOffset !== null && newNextOffset !== void 0 ? newNextOffset : 0
136
114
  };
137
115
  });
138
116
  _context2.next = 5;
@@ -156,18 +134,6 @@ export var useChatsStore = create(function (set, get) {
156
134
  }
157
135
  return loadMoreChats;
158
136
  }(),
159
- prependChat: function prependChat(chat) {
160
- return set(function (state) {
161
- var filtered = state.chats.filter(function (existing) {
162
- return existing.sessionExternalId !== chat.sessionExternalId;
163
- });
164
- var alreadyOptimistic = state.optimisticSessionIds.includes(chat.sessionExternalId);
165
- return {
166
- chats: [chat].concat(_toConsumableArray(filtered)),
167
- optimisticSessionIds: alreadyOptimistic ? state.optimisticSessionIds : [].concat(_toConsumableArray(state.optimisticSessionIds), [chat.sessionExternalId])
168
- };
169
- });
170
- },
171
137
  deleteChat: function () {
172
138
  var _deleteChat = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
173
139
  var chatId, userId, _t3;
@@ -186,9 +152,6 @@ export var useChatsStore = create(function (set, get) {
186
152
  return {
187
153
  chats: state.chats.filter(function (chat) {
188
154
  return chat.sessionExternalId !== chatId;
189
- }),
190
- optimisticSessionIds: state.optimisticSessionIds.filter(function (id) {
191
- return id !== chatId;
192
155
  })
193
156
  };
194
157
  });
@@ -252,106 +215,6 @@ export var useChatsStore = create(function (set, get) {
252
215
  }
253
216
  return updateChat;
254
217
  }(),
255
- markChatAsRead: function () {
256
- var _markChatAsRead = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(chatId, options) {
257
- var id, chat, _t5;
258
- return _regeneratorRuntime.wrap(function (_context5) {
259
- while (1) switch (_context5.prev = _context5.next) {
260
- case 0:
261
- id = chatId || get().activeChatId;
262
- if (id) {
263
- _context5.next = 1;
264
- break;
265
- }
266
- return _context5.abrupt("return");
267
- case 1:
268
- chat = get().chats.find(function (c) {
269
- return c.sessionExternalId === id;
270
- });
271
- if (!(!(options !== null && options !== void 0 && options.force) && chat !== null && chat !== void 0 && chat.isRead)) {
272
- _context5.next = 2;
273
- break;
274
- }
275
- return _context5.abrupt("return");
276
- case 2:
277
- if ((chat === null || chat === void 0 ? void 0 : chat.isRead) === false) {
278
- set(function (state) {
279
- return {
280
- chats: state.chats.map(function (c) {
281
- return c.sessionExternalId === id ? _objectSpread(_objectSpread({}, c), {}, {
282
- isRead: true
283
- }) : c;
284
- }),
285
- unreadCount: Math.max(0, state.unreadCount - 1)
286
- };
287
- });
288
- }
289
- _context5.prev = 3;
290
- _context5.next = 4;
291
- return maia.Chats.markSessionAsRead({
292
- chatId: id
293
- });
294
- case 4:
295
- _context5.next = 6;
296
- break;
297
- case 5:
298
- _context5.prev = 5;
299
- _t5 = _context5["catch"](3);
300
- console.error('Error marking chat as read:', _t5);
301
- case 6:
302
- case "end":
303
- return _context5.stop();
304
- }
305
- }, _callee5, null, [[3, 5]]);
306
- }));
307
- function markChatAsRead(_x5, _x6) {
308
- return _markChatAsRead.apply(this, arguments);
309
- }
310
- return markChatAsRead;
311
- }(),
312
- markChatAsUnread: function markChatAsUnread(chatId) {
313
- if (!chatId) return;
314
- var chat = get().chats.find(function (c) {
315
- return c.sessionExternalId === chatId;
316
- });
317
- if ((chat === null || chat === void 0 ? void 0 : chat.isRead) === false) return;
318
- set(function (state) {
319
- return {
320
- chats: state.chats.map(function (c) {
321
- return c.sessionExternalId === chatId ? _objectSpread(_objectSpread({}, c), {}, {
322
- isRead: false
323
- }) : c;
324
- }),
325
- unreadCount: state.unreadCount + 1
326
- };
327
- });
328
- },
329
- setChatReadState: function setChatReadState(chatId, isRead) {
330
- return set(function (state) {
331
- return {
332
- chats: state.chats.map(function (c) {
333
- return c.sessionExternalId === chatId ? _objectSpread(_objectSpread({}, c), {}, {
334
- isRead: isRead
335
- }) : c;
336
- })
337
- };
338
- });
339
- },
340
- setActiveChatId: function setActiveChatId(chatId) {
341
- return set({
342
- activeChatId: chatId
343
- });
344
- },
345
- setChatViewVisible: function setChatViewVisible(visible) {
346
- return set({
347
- isChatViewVisible: visible
348
- });
349
- },
350
- setUnreadCount: function setUnreadCount(count) {
351
- return set({
352
- unreadCount: Math.max(0, count)
353
- });
354
- },
355
218
  reset: function reset() {
356
219
  return set(function (state) {
357
220
  return _objectSpread(_objectSpread({}, initialState), {}, {
@@ -384,4 +247,4 @@ export var useChatsStore = create(function (set, get) {
384
247
  export var getChatsStoreState = function getChatsStoreState() {
385
248
  return useChatsStore.getState();
386
249
  };
387
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwib3B0aW1pc3RpY1Nlc3Npb25JZHMiLCJsb2FkaW5nQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJuZXh0T2Zmc2V0IiwibGltaXQiLCJvZmZzZXQiLCJtb3VudENvdW50IiwidW5yZWFkQ291bnQiLCJhY3RpdmVDaGF0SWQiLCJpc0NoYXRWaWV3VmlzaWJsZSIsInVzZUNoYXRzU3RvcmUiLCJzZXQiLCJnZXQiLCJfb2JqZWN0U3ByZWFkIiwiZmV0Y2hDaGF0cyIsIl9mZXRjaENoYXRzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWdlbnQiLCJzZWN0aW9uIiwiX3JlZiRsaW1pdCIsIl9yZWYkb2Zmc2V0Iiwib25FcnJvciIsImxhbmciLCJfcmVmJGJhY2tncm91bmQiLCJiYWNrZ3JvdW5kIiwiaGFzRXhpc3RpbmdDaGF0cyIsIl95aWVsZCRtYWlhJENoYXRzJGdldCIsIml0ZW1zIiwibmV4dEl0ZW0iLCJoYXNNb3JlIiwiYXBpSXRlbXMiLCJhcGlJZHMiLCJfZ2V0IiwiY3VycmVudENoYXRzIiwic3RpbGxPcHRpbWlzdGljIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsIkNoYXRzIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsInNlbnQiLCJOdW1iZXIiLCJTZXQiLCJtYXAiLCJpdGVtIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJmaWx0ZXIiLCJjaGF0IiwiaW5jbHVkZXMiLCJoYXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJpZCIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwibG9hZE1vcmVDaGF0cyIsIl9sb2FkTW9yZUNoYXRzIiwiX2NhbGxlZTIiLCJfcmVmMiIsIl9nZXQyIiwiX3lpZWxkJG1haWEkQ2hhdHMkZ2V0MiIsIm5ld05leHRPZmZzZXQiLCJfdDIiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJzdGF0ZSIsIl94MiIsInByZXBlbmRDaGF0IiwiZmlsdGVyZWQiLCJleGlzdGluZyIsImFscmVhZHlPcHRpbWlzdGljIiwiZGVsZXRlQ2hhdCIsIl9kZWxldGVDaGF0IiwiX2NhbGxlZTMiLCJfcmVmMyIsImNoYXRJZCIsInVzZXJJZCIsIl90MyIsIl9jb250ZXh0MyIsIl94MyIsInVwZGF0ZUNoYXQiLCJfdXBkYXRlQ2hhdCIsIl9jYWxsZWU0IiwiX3JlZjQiLCJfY3VycmVudCR0aXRsZSIsImN1cnJlbnQiLCJsYXN0UXVlc3Rpb24iLCJfdDQiLCJfY29udGV4dDQiLCJmaW5kIiwiYyIsInRpdGxlIiwicGF0Y2hDaGF0IiwiX3g0IiwibWFya0NoYXRBc1JlYWQiLCJfbWFya0NoYXRBc1JlYWQiLCJfY2FsbGVlNSIsIm9wdGlvbnMiLCJfdDUiLCJfY29udGV4dDUiLCJmb3JjZSIsImlzUmVhZCIsIk1hdGgiLCJtYXgiLCJtYXJrU2Vzc2lvbkFzUmVhZCIsIl94NSIsIl94NiIsIm1hcmtDaGF0QXNVbnJlYWQiLCJzZXRDaGF0UmVhZFN0YXRlIiwic2V0QWN0aXZlQ2hhdElkIiwic2V0Q2hhdFZpZXdWaXNpYmxlIiwidmlzaWJsZSIsInNldFVucmVhZENvdW50IiwiY291bnQiLCJyZXNldCIsImFjcXVpcmUiLCJyZWxlYXNlIiwibmV3Q291bnQiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIC8qKiBTZXNpb25lcyBhZ3JlZ2FkYXMgb3B0aW1pc3RhbWVudGUgaGFzdGEgcXVlIGVsIGJhY2tlbmQgbGFzIGRldnVlbHZhIGVuIEdFVCBzZXNzaW9ucy4gKi9cbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IHN0cmluZ1tdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG4gIG1vdW50Q291bnQ6IG51bWJlclxuICB1bnJlYWRDb3VudDogbnVtYmVyXG4gIGFjdGl2ZUNoYXRJZDogc3RyaW5nIHwgbnVsbFxuICBpc0NoYXRWaWV3VmlzaWJsZTogYm9vbGVhblxufVxuXG50eXBlIENoYXRzQWN0aW9ucyA9IHtcbiAgZmV0Y2hDaGF0czogKHBhcmFtczogRmV0Y2hDaGF0c1BhcmFtcykgPT4gUHJvbWlzZTx2b2lkPlxuICBsb2FkTW9yZUNoYXRzOiAocGFyYW1zOiBMb2FkTW9yZUNoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHByZXBlbmRDaGF0OiAoY2hhdDogQ2hhdExpc3RJdGVtKSA9PiB2b2lkXG4gIGRlbGV0ZUNoYXQ6IChwYXJhbXM6IERlbGV0ZUNoYXRQYXJhbXMpID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IFBhcnRpYWw8Q2hhdExpc3RJdGVtPiAmIHsgc2Vzc2lvbkV4dGVybmFsSWQ6IHN0cmluZzsgaWQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gIG1hcmtDaGF0QXNSZWFkOiAoY2hhdElkPzogc3RyaW5nIHwgbnVsbCwgb3B0aW9ucz86IHsgZm9yY2U/OiBib29sZWFuIH0pID0+IFByb21pc2U8dm9pZD5cbiAgbWFya0NoYXRBc1VucmVhZDogKGNoYXRJZD86IHN0cmluZyB8IG51bGwpID0+IHZvaWRcbiAgc2V0Q2hhdFJlYWRTdGF0ZTogKGNoYXRJZDogc3RyaW5nLCBpc1JlYWQ6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0QWN0aXZlQ2hhdElkOiAoY2hhdElkOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkXG4gIHNldENoYXRWaWV3VmlzaWJsZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0VW5yZWFkQ291bnQ6IChjb3VudDogbnVtYmVyKSA9PiB2b2lkXG4gIHJlc2V0OiAoKSA9PiB2b2lkXG4gIGFjcXVpcmU6ICgpID0+IHZvaWRcbiAgcmVsZWFzZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IENoYXRzU3RhdGUgPSB7XG4gIGNoYXRzOiBbXSxcbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IFtdLFxuICBsb2FkaW5nQ2hhdHM6IHRydWUsXG4gIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gIG5leHRPZmZzZXQ6IG51bGwsXG4gIGxpbWl0OiBERUZBVUxUX0xJTUlULFxuICBvZmZzZXQ6IDAsXG4gIG1vdW50Q291bnQ6IDAsXG4gIHVucmVhZENvdW50OiAwLFxuICBhY3RpdmVDaGF0SWQ6IG51bGwsXG4gIGlzQ2hhdFZpZXdWaXNpYmxlOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgdXNlQ2hhdHNTdG9yZSA9IGNyZWF0ZTxDaGF0c1N0YXRlICYgQ2hhdHNBY3Rpb25zPigoc2V0LCBnZXQpID0+ICh7XG4gIC4uLmluaXRpYWxTdGF0ZSxcblxuICBmZXRjaENoYXRzOiBhc3luYyAoeyBhZ2VudCwgc2VjdGlvbiwgbGltaXQgPSBERUZBVUxUX0xJTUlULCBvZmZzZXQgPSAwLCBvbkVycm9yLCBsYW5nLCBiYWNrZ3JvdW5kID0gZmFsc2UgfSkgPT4ge1xuICAgIGNvbnN0IGhhc0V4aXN0aW5nQ2hhdHMgPSBnZXQoKS5jaGF0cy5sZW5ndGggPiAwXG4gICAgaWYgKCFiYWNrZ3JvdW5kIHx8ICFoYXNFeGlzdGluZ0NoYXRzKSB7XG4gICAgICBzZXQoeyBsb2FkaW5nQ2hhdHM6IHRydWUgfSlcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlLCB1bnJlYWRDb3VudCB9ID0gYXdhaXQgbWFpYS5DaGF0cy5nZXRDaGF0c0J5VXNlcklkKHtcbiAgICAgICAgYWdlbnQsXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIGxhbmcsXG4gICAgICB9KVxuICAgICAgY29uc3QgbmV4dE9mZnNldCA9IGhhc01vcmUgJiYgbmV4dEl0ZW0gPyBOdW1iZXIobmV4dEl0ZW0pIDogbnVsbFxuICAgICAgY29uc3QgYXBpSXRlbXMgPSBpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXVxuICAgICAgY29uc3QgYXBpSWRzID0gbmV3IFNldChhcGlJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLnNlc3Npb25FeHRlcm5hbElkKSlcbiAgICAgIGNvbnN0IHsgY2hhdHM6IGN1cnJlbnRDaGF0cywgb3B0aW1pc3RpY1Nlc3Npb25JZHMgfSA9IGdldCgpXG4gICAgICBjb25zdCBzdGlsbE9wdGltaXN0aWMgPSBjdXJyZW50Q2hhdHMuZmlsdGVyKFxuICAgICAgICBjaGF0ID0+IG9wdGltaXN0aWNTZXNzaW9uSWRzLmluY2x1ZGVzKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpICYmICFhcGlJZHMuaGFzKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICApXG4gICAgICBzZXQoe1xuICAgICAgICBjaGF0czogWy4uLnN0aWxsT3B0aW1pc3RpYywgLi4uYXBpSXRlbXNdLFxuICAgICAgICBvcHRpbWlzdGljU2Vzc2lvbklkczogb3B0aW1pc3RpY1Nlc3Npb25JZHMuZmlsdGVyKGlkID0+ICFhcGlJZHMuaGFzKGlkKSksXG4gICAgICAgIGxvYWRpbmdDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQsXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQgPz8gMCxcbiAgICAgICAgdW5yZWFkQ291bnQsXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjaGF0czonLCBlcnJvcilcbiAgICAgIHNldCh7IGxvYWRpbmdDaGF0czogZmFsc2UgfSlcbiAgICAgIG9uRXJyb3I/LigpXG4gICAgfVxuICB9LFxuXG4gIGxvYWRNb3JlQ2hhdHM6IGFzeW5jICh7IGFnZW50LCBzZWN0aW9uLCBvbkVycm9yLCBsYW5nIH0pID0+IHtcbiAgICBjb25zdCB7IG5leHRPZmZzZXQsIGxpbWl0LCBpc0xvYWRpbmdNb3JlQ2hhdHMgfSA9IGdldCgpXG4gICAgaWYgKG5leHRPZmZzZXQgPT09IG51bGwgfHwgaXNMb2FkaW5nTW9yZUNoYXRzKSByZXR1cm5cbiAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IHRydWUgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBpdGVtcywgbmV4dEl0ZW0sIGhhc01vcmUsIHVucmVhZENvdW50IH0gPSBhd2FpdCBtYWlhLkNoYXRzLmdldENoYXRzQnlVc2VySWQoe1xuICAgICAgICBhZ2VudCxcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCxcbiAgICAgICAgbGFuZyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBuZXdOZXh0T2Zmc2V0ID0gaGFzTW9yZSAmJiBuZXh0SXRlbSA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IFsuLi5zdGF0ZS5jaGF0cywgLi4uKGl0ZW1zIGFzIENoYXRMaXN0SXRlbVtdKV0sXG4gICAgICAgIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQ6IG5ld05leHRPZmZzZXQsXG4gICAgICAgIG9mZnNldDogbmV3TmV4dE9mZnNldCA/PyAwLFxuICAgICAgICB1bnJlYWRDb3VudCxcbiAgICAgIH0pKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIG1vcmUgY2hhdHM6JywgZXJyb3IpXG4gICAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlIH0pXG4gICAgICBvbkVycm9yPy4oKVxuICAgIH1cbiAgfSxcblxuICBwcmVwZW5kQ2hhdDogY2hhdCA9PlxuICAgIHNldChzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZCA9IHN0YXRlLmNoYXRzLmZpbHRlcihleGlzdGluZyA9PiBleGlzdGluZy5zZXNzaW9uRXh0ZXJuYWxJZCAhPT0gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IGFscmVhZHlPcHRpbWlzdGljID0gc3RhdGUub3B0aW1pc3RpY1Nlc3Npb25JZHMuaW5jbHVkZXMoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoYXRzOiBbY2hhdCwgLi4uZmlsdGVyZWRdLFxuICAgICAgICBvcHRpbWlzdGljU2Vzc2lvbklkczogYWxyZWFkeU9wdGltaXN0aWNcbiAgICAgICAgICA/IHN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzXG4gICAgICAgICAgOiBbLi4uc3RhdGUub3B0aW1pc3RpY1Nlc3Npb25JZHMsIGNoYXQuc2Vzc2lvbkV4dGVybmFsSWRdLFxuICAgICAgfVxuICAgIH0pLFxuXG4gIGRlbGV0ZUNoYXQ6IGFzeW5jICh7IGNoYXRJZCwgdXNlcklkIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5kZWxldGVDaGF0KHsgY2hhdElkLCB1c2VySWQgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMuZmlsdGVyKGNoYXQgPT4gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZCAhPT0gY2hhdElkKSxcbiAgICAgICAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IHN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzLmZpbHRlcihpZCA9PiBpZCAhPT0gY2hhdElkKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGVDaGF0OiBhc3luYyBjaGF0ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3VycmVudCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLmlkID09PSBjaGF0LmlkKVxuICAgICAgY29uc3QgbGFzdFF1ZXN0aW9uID0gY3VycmVudD8udGl0bGUgPz8gY2hhdC50aXRsZSA/PyAnJ1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5wYXRjaENoYXQoe1xuICAgICAgICBjaGF0SWQ6IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQsXG4gICAgICAgIGxhc3RRdWVzdGlvbixcbiAgICAgICAgLi4uKGNoYXQudGl0bGUgIT0gbnVsbCAmJiB7IHRpdGxlOiBjaGF0LnRpdGxlIH0pLFxuICAgICAgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuaWQgPT09IGNoYXQuaWQgPyB7IC4uLmMsIC4uLmNoYXQgfSA6IGMpKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgdXBkYXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICBtYXJrQ2hhdEFzUmVhZDogYXN5bmMgKGNoYXRJZCwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGlkID0gY2hhdElkIHx8IGdldCgpLmFjdGl2ZUNoYXRJZFxuICAgIGlmICghaWQpIHJldHVyblxuXG4gICAgY29uc3QgY2hhdCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLnNlc3Npb25FeHRlcm5hbElkID09PSBpZClcbiAgICBpZiAoIW9wdGlvbnM/LmZvcmNlICYmIGNoYXQ/LmlzUmVhZCkgcmV0dXJuXG5cbiAgICBpZiAoY2hhdD8uaXNSZWFkID09PSBmYWxzZSkge1xuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGNoYXRzOiBzdGF0ZS5jaGF0cy5tYXAoYyA9PiAoYy5zZXNzaW9uRXh0ZXJuYWxJZCA9PT0gaWQgPyB7IC4uLmMsIGlzUmVhZDogdHJ1ZSB9IDogYykpLFxuICAgICAgICB1bnJlYWRDb3VudDogTWF0aC5tYXgoMCwgc3RhdGUudW5yZWFkQ291bnQgLSAxKSxcbiAgICAgIH0pKVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBtYWlhLkNoYXRzLm1hcmtTZXNzaW9uQXNSZWFkKHsgY2hhdElkOiBpZCB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBtYXJraW5nIGNoYXQgYXMgcmVhZDonLCBlcnJvcilcbiAgICB9XG4gIH0sXG5cbiAgbWFya0NoYXRBc1VucmVhZDogY2hhdElkID0+IHtcbiAgICBpZiAoIWNoYXRJZCkgcmV0dXJuXG4gICAgY29uc3QgY2hhdCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLnNlc3Npb25FeHRlcm5hbElkID09PSBjaGF0SWQpXG4gICAgaWYgKGNoYXQ/LmlzUmVhZCA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuc2Vzc2lvbkV4dGVybmFsSWQgPT09IGNoYXRJZCA/IHsgLi4uYywgaXNSZWFkOiBmYWxzZSB9IDogYykpLFxuICAgICAgdW5yZWFkQ291bnQ6IHN0YXRlLnVucmVhZENvdW50ICsgMSxcbiAgICB9KSlcbiAgfSxcblxuICBzZXRDaGF0UmVhZFN0YXRlOiAoY2hhdElkLCBpc1JlYWQpID0+XG4gICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuc2Vzc2lvbkV4dGVybmFsSWQgPT09IGNoYXRJZCA/IHsgLi4uYywgaXNSZWFkIH0gOiBjKSksXG4gICAgfSkpLFxuXG4gIHNldEFjdGl2ZUNoYXRJZDogY2hhdElkID0+IHNldCh7IGFjdGl2ZUNoYXRJZDogY2hhdElkIH0pLFxuXG4gIHNldENoYXRWaWV3VmlzaWJsZTogdmlzaWJsZSA9PiBzZXQoeyBpc0NoYXRWaWV3VmlzaWJsZTogdmlzaWJsZSB9KSxcblxuICBzZXRVbnJlYWRDb3VudDogY291bnQgPT4gc2V0KHsgdW5yZWFkQ291bnQ6IE1hdGgubWF4KDAsIGNvdW50KSB9KSxcblxuICByZXNldDogKCkgPT4gc2V0KHN0YXRlID0+ICh7IC4uLmluaXRpYWxTdGF0ZSwgbW91bnRDb3VudDogc3RhdGUubW91bnRDb3VudCB9KSksXG5cbiAgYWNxdWlyZTogKCkgPT4gc2V0KHN0YXRlID0+ICh7IG1vdW50Q291bnQ6IHN0YXRlLm1vdW50Q291bnQgKyAxIH0pKSxcblxuICByZWxlYXNlOiAoKSA9PiB7XG4gICAgc2V0KHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IG5ld0NvdW50ID0gTWF0aC5tYXgoMCwgc3RhdGUubW91bnRDb3VudCAtIDEpXG4gICAgICBpZiAobmV3Q291bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaW5pdGlhbFN0YXRlLCBtb3VudENvdW50OiAwIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG1vdW50Q291bnQ6IG5ld0NvdW50IH1cbiAgICB9KVxuICB9LFxufSkpXG5cbmV4cG9ydCBjb25zdCBnZXRDaGF0c1N0b3JlU3RhdGUgPSAoKSA9PiB1c2VDaGF0c1N0b3JlLmdldFN0YXRlKClcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLE1BQU0sUUFBUSxTQUFTO0FBQ2hDLE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFHbkMsSUFBTUMsYUFBYSxHQUFHLEVBQUU7QUFrQ3hCLElBQU1DLFlBQXdCLEdBQUc7RUFDL0JDLEtBQUssRUFBRSxFQUFFO0VBQ1RDLG9CQUFvQixFQUFFLEVBQUU7RUFDeEJDLFlBQVksRUFBRSxJQUFJO0VBQ2xCQyxrQkFBa0IsRUFBRSxLQUFLO0VBQ3pCQyxVQUFVLEVBQUUsSUFBSTtFQUNoQkMsS0FBSyxFQUFFUCxhQUFhO0VBQ3BCUSxNQUFNLEVBQUUsQ0FBQztFQUNUQyxVQUFVLEVBQUUsQ0FBQztFQUNiQyxXQUFXLEVBQUUsQ0FBQztFQUNkQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsaUJBQWlCLEVBQUU7QUFDckIsQ0FBQztBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHZixNQUFNLENBQTRCLFVBQUNnQixHQUFHLEVBQUVDLEdBQUc7RUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDbkVmLFlBQVk7SUFFZmdCLFVBQVU7TUFBQSxJQUFBQyxXQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBQyxJQUFBO1FBQUEsSUFBQUMsS0FBQSxFQUFBQyxPQUFBLEVBQUFDLFVBQUEsRUFBQW5CLEtBQUEsRUFBQW9CLFdBQUEsRUFBQW5CLE1BQUEsRUFBQW9CLE9BQUEsRUFBQUMsSUFBQSxFQUFBQyxlQUFBLEVBQUFDLFVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsS0FBQSxFQUFBQyxRQUFBLEVBQUFDLE9BQUEsRUFBQTFCLFdBQUEsRUFBQUosVUFBQSxFQUFBK0IsUUFBQSxFQUFBQyxNQUFBLEVB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RSxHQUFHLENBQUM7UUFBRUgsWUFBWSxFQUFFOEU7TUFBTyxDQUFDLENBQUM7SUFBQTtJQUV4RG1DLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUVDLE9BQU87TUFBQSxPQUFJL0csR0FBRyxDQUFDO1FBQUVGLGlCQUFpQixFQUFFaUg7TUFBUSxDQUFDLENBQUM7SUFBQTtJQUVsRUMsY0FBYyxFQUFFLFNBQWhCQSxjQUFjQSxDQUFFQyxLQUFLO01BQUEsT0FBSWpILEdBQUcsQ0FBQztRQUFFSixXQUFXLEVBQUUwRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVVLEtBQUs7TUFBRSxDQUFDLENBQUM7SUFBQTtJQUVqRUMsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUE7TUFBQSxPQUFRbEgsR0FBRyxDQUFDLFVBQUFpRSxLQUFLO1FBQUEsT0FBQS9ELGFBQUEsQ0FBQUEsYUFBQSxLQUFVZixZQUFZO1VBQUVRLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFO1FBQVU7TUFBQSxDQUFHLENBQUM7SUFBQTtJQUU5RXdILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUW5ILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSztRQUFBLE9BQUs7VUFBRXRFLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFLFVBQVUsR0FBRztRQUFFLENBQUM7TUFBQSxDQUFDLENBQUM7SUFBQTtJQUVuRXlILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDYnBILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSyxFQUFJO1FBQ1gsSUFBTW9ELFFBQVEsR0FBR2YsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFdEMsS0FBSyxDQUFDdEUsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJMEgsUUFBUSxLQUFLLENBQUMsRUFBRTtVQUNsQixPQUFBbkgsYUFBQSxDQUFBQSxhQUFBLEtBQVlmLFlBQVk7WUFBRVEsVUFBVSxFQUFFO1VBQUM7UUFDekM7UUFDQSxPQUFPO1VBQUVBLFVBQVUsRUFBRTBIO1FBQVMsQ0FBQztNQUNqQyxDQUFDLENBQUM7SUFDSjtFQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBO0VBQUEsT0FBU3ZILGFBQWEsQ0FBQ3dILFFBQVEsQ0FBQyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
250
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwibG9hZGluZ0NoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwibmV4dE9mZnNldCIsImxpbWl0Iiwib2Zmc2V0IiwibW91bnRDb3VudCIsInVzZUNoYXRzU3RvcmUiLCJzZXQiLCJnZXQiLCJfb2JqZWN0U3ByZWFkIiwiZmV0Y2hDaGF0cyIsIl9mZXRjaENoYXRzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWdlbnQiLCJzZWN0aW9uIiwiX3JlZiRsaW1pdCIsIl9yZWYkb2Zmc2V0Iiwib25FcnJvciIsImxhbmciLCJfeWllbGQkbWFpYSRDaGF0cyRnZXQiLCJpdGVtcyIsIm5leHRJdGVtIiwiaGFzTW9yZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJDaGF0cyIsImdldENoYXRzQnlVc2VySWQiLCJzZW50IiwiTnVtYmVyIiwiY29uc29sZSIsImVycm9yIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJsb2FkTW9yZUNoYXRzIiwiX2xvYWRNb3JlQ2hhdHMiLCJfY2FsbGVlMiIsIl9yZWYyIiwiX2dldCIsIl95aWVsZCRtYWlhJENoYXRzJGdldDIiLCJuZXdOZXh0T2Zmc2V0IiwiX3QyIiwiX2NvbnRleHQyIiwiYWJydXB0Iiwic3RhdGUiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfeDIiLCJkZWxldGVDaGF0IiwiX2RlbGV0ZUNoYXQiLCJfY2FsbGVlMyIsIl9yZWYzIiwiY2hhdElkIiwidXNlcklkIiwiX3QzIiwiX2NvbnRleHQzIiwiZmlsdGVyIiwiY2hhdCIsInNlc3Npb25FeHRlcm5hbElkIiwiX3gzIiwidXBkYXRlQ2hhdCIsIl91cGRhdGVDaGF0IiwiX2NhbGxlZTQiLCJfcmVmNCIsIl9jdXJyZW50JHRpdGxlIiwiY3VycmVudCIsImxhc3RRdWVzdGlvbiIsIl90NCIsIl9jb250ZXh0NCIsImZpbmQiLCJjIiwiaWQiLCJ0aXRsZSIsInBhdGNoQ2hhdCIsIm1hcCIsIl94NCIsInJlc2V0IiwiYWNxdWlyZSIsInJlbGVhc2UiLCJuZXdDb3VudCIsIk1hdGgiLCJtYXgiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG4gIG1vdW50Q291bnQ6IG51bWJlclxufVxuXG50eXBlIENoYXRzQWN0aW9ucyA9IHtcbiAgZmV0Y2hDaGF0czogKHBhcmFtczogRmV0Y2hDaGF0c1BhcmFtcykgPT4gUHJvbWlzZTx2b2lkPlxuICBsb2FkTW9yZUNoYXRzOiAocGFyYW1zOiBMb2FkTW9yZUNoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUNoYXQ6IChwYXJhbXM6IERlbGV0ZUNoYXRQYXJhbXMpID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IFBhcnRpYWw8Q2hhdExpc3RJdGVtPiAmIHsgc2Vzc2lvbkV4dGVybmFsSWQ6IHN0cmluZzsgaWQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gIHJlc2V0OiAoKSA9PiB2b2lkXG4gIGFjcXVpcmU6ICgpID0+IHZvaWRcbiAgcmVsZWFzZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IENoYXRzU3RhdGUgPSB7XG4gIGNoYXRzOiBbXSxcbiAgbG9hZGluZ0NoYXRzOiB0cnVlLFxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlLFxuICBuZXh0T2Zmc2V0OiBudWxsLFxuICBsaW1pdDogREVGQVVMVF9MSU1JVCxcbiAgb2Zmc2V0OiAwLFxuICBtb3VudENvdW50OiAwLFxufVxuXG5leHBvcnQgY29uc3QgdXNlQ2hhdHNTdG9yZSA9IGNyZWF0ZTxDaGF0c1N0YXRlICYgQ2hhdHNBY3Rpb25zPigoc2V0LCBnZXQpID0+ICh7XG4gIC4uLmluaXRpYWxTdGF0ZSxcblxuICBmZXRjaENoYXRzOiBhc3luYyAoeyBhZ2VudCwgc2VjdGlvbiwgbGltaXQgPSBERUZBVUxUX0xJTUlULCBvZmZzZXQgPSAwLCBvbkVycm9yLCBsYW5nIH0pID0+IHtcbiAgICBzZXQoeyBsb2FkaW5nQ2hhdHM6IHRydWUgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBpdGVtcywgbmV4dEl0ZW0sIGhhc01vcmUgfSA9IGF3YWl0IG1haWEuQ2hhdHMuZ2V0Q2hhdHNCeVVzZXJJZCh7XG4gICAgICAgIGFnZW50LFxuICAgICAgICBzZWN0aW9uLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgb2Zmc2V0LFxuICAgICAgICBsYW5nLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IG5leHRPZmZzZXQgPSBoYXNNb3JlICYmIG5leHRJdGVtID8gTnVtYmVyKG5leHRJdGVtKSA6IG51bGxcbiAgICAgIHNldCh7XG4gICAgICAgIGNoYXRzOiBpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXSxcbiAgICAgICAgbG9hZGluZ0NoYXRzOiBmYWxzZSxcbiAgICAgICAgbmV4dE9mZnNldCxcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCA/PyAwLFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgY2hhdHM6JywgZXJyb3IpXG4gICAgICBzZXQoeyBsb2FkaW5nQ2hhdHM6IGZhbHNlIH0pXG4gICAgICBvbkVycm9yPy4oKVxuICAgIH1cbiAgfSxcblxuICBsb2FkTW9yZUNoYXRzOiBhc3luYyAoeyBhZ2VudCwgc2VjdGlvbiwgb25FcnJvciwgbGFuZyB9KSA9PiB7XG4gICAgY29uc3QgeyBuZXh0T2Zmc2V0LCBsaW1pdCwgaXNMb2FkaW5nTW9yZUNoYXRzIH0gPSBnZXQoKVxuICAgIGlmIChuZXh0T2Zmc2V0ID09PSBudWxsIHx8IGlzTG9hZGluZ01vcmVDaGF0cykgcmV0dXJuXG4gICAgc2V0KHsgaXNMb2FkaW5nTW9yZUNoYXRzOiB0cnVlIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlIH0gPSBhd2FpdCBtYWlhLkNoYXRzLmdldENoYXRzQnlVc2VySWQoe1xuICAgICAgICBhZ2VudCxcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCxcbiAgICAgICAgbGFuZyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBuZXdOZXh0T2Zmc2V0ID0gaGFzTW9yZSAmJiBuZXh0SXRlbSA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IFsuLi5zdGF0ZS5jaGF0cywgLi4uKGl0ZW1zIGFzIENoYXRMaXN0SXRlbVtdKV0sXG4gICAgICAgIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQ6IG5ld05leHRPZmZzZXQsXG4gICAgICAgIG9mZnNldDogbmV3TmV4dE9mZnNldCA/PyAwLFxuICAgICAgfSkpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgbW9yZSBjaGF0czonLCBlcnJvcilcbiAgICAgIHNldCh7IGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UgfSlcbiAgICAgIG9uRXJyb3I/LigpXG4gICAgfVxuICB9LFxuXG4gIGRlbGV0ZUNoYXQ6IGFzeW5jICh7IGNoYXRJZCwgdXNlcklkIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5kZWxldGVDaGF0KHsgY2hhdElkLCB1c2VySWQgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMuZmlsdGVyKGNoYXQgPT4gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZCAhPT0gY2hhdElkKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGVDaGF0OiBhc3luYyBjaGF0ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3VycmVudCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLmlkID09PSBjaGF0LmlkKVxuICAgICAgY29uc3QgbGFzdFF1ZXN0aW9uID0gY3VycmVudD8udGl0bGUgPz8gY2hhdC50aXRsZSA/PyAnJ1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5wYXRjaENoYXQoe1xuICAgICAgICBjaGF0SWQ6IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQsXG4gICAgICAgIGxhc3RRdWVzdGlvbixcbiAgICAgICAgLi4uKGNoYXQudGl0bGUgIT0gbnVsbCAmJiB7IHRpdGxlOiBjaGF0LnRpdGxlIH0pLFxuICAgICAgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuaWQgPT09IGNoYXQuaWQgPyB7IC4uLmMsIC4uLmNoYXQgfSA6IGMpKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgdXBkYXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICByZXNldDogKCkgPT4gc2V0KHN0YXRlID0+ICh7IC4uLmluaXRpYWxTdGF0ZSwgbW91bnRDb3VudDogc3RhdGUubW91bnRDb3VudCB9KSksXG5cbiAgYWNxdWlyZTogKCkgPT4gc2V0KHN0YXRlID0+ICh7IG1vdW50Q291bnQ6IHN0YXRlLm1vdW50Q291bnQgKyAxIH0pKSxcblxuICByZWxlYXNlOiAoKSA9PiB7XG4gICAgc2V0KHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IG5ld0NvdW50ID0gTWF0aC5tYXgoMCwgc3RhdGUubW91bnRDb3VudCAtIDEpXG4gICAgICBpZiAobmV3Q291bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaW5pdGlhbFN0YXRlLCBtb3VudENvdW50OiAwIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG1vdW50Q291bnQ6IG5ld0NvdW50IH1cbiAgICB9KVxuICB9LFxufSkpXG5cbmV4cG9ydCBjb25zdCBnZXRDaGF0c1N0b3JlU3RhdGUgPSAoKSA9PiB1c2VDaGF0c1N0b3JlLmdldFN0YXRlKClcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLE1BQU0sUUFBUSxTQUFTO0FBQ2hDLE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFHbkMsSUFBTUMsYUFB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
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBY3Rpb25JY29uS2V5ID1cbiAgfCAnY3JlYXRlJ1xuICB8ICdlZGl0J1xuICB8ICdhc3NpZ24nXG4gIHwgJ2NyZWF0ZV9yZXdvcmsnXG4gIHwgJ2NoYXJnZV9ob3VycydcbiAgfCAnc3VtbWFyeV90YXNrJ1xuICB8ICdzdW1tYXJ5X21lc3NhZ2VzJ1xuICB8ICdjcmVhdGVfc3VidGFzaydcblxuZXhwb3J0IHR5cGUgQWN0aW9uQ2F0ZWdvcnlLZXkgPSAndGFza3MnIHwgJ2NvbGxhYm9yYXRvcnMnIHwgJ2xhYmVscycgfCAnY2hlY2tsaXN0cycgfCAnZGVsaXZlcmFibGVzJyB8ICdyZXdvcmtzJ1xuXG5leHBvcnQgdHlwZSBBY3Rpb24gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBzdWJ0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBwcm9tcHQ6IHN0cmluZ1xuICBsYW5ndWFnZTogc3RyaW5nIHwgbnVsbFxuICBvcmRlcj86IG51bWJlciB8IG51bGxcbiAgaWNvbj86IEFjdGlvbkljb25LZXkgfCBudWxsXG4gIGNhdGVnb3J5PzogQWN0aW9uQ2F0ZWdvcnlLZXkgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblJlc3BvbnNlID0ge1xuICBkYXRhOiBBY3Rpb25bXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogbnVtYmVyIHwgbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBY3Rpb25JY29uS2V5ID1cbiAgfCAnY3JlYXRlJ1xuICB8ICdlZGl0J1xuICB8ICdhc3NpZ24nXG4gIHwgJ2NyZWF0ZV9yZXdvcmsnXG4gIHwgJ2NoYXJnZV9ob3VycydcbiAgfCAnc3VtbWFyeV90YXNrJ1xuICB8ICdzdW1tYXJ5X21lc3NhZ2VzJ1xuICB8ICdjcmVhdGVfc3VidGFzaydcbiAgfCAnY2FsZW5kYXInXG4gIHwgJ3RpbWVfYmFjaydcbiAgfCAnY2hhdCdcblxuZXhwb3J0IHR5cGUgQWN0aW9uQ2F0ZWdvcnlLZXkgPVxuICAndGFza3MnIHwgJ2NvbGxhYm9yYXRvcnMnIHwgJ2xhYmVscycgfCAnY2hlY2tsaXN0cycgfCAnZGVsaXZlcmFibGVzJyB8ICdyZXdvcmtzJyB8ICdob3VycydcblxuZXhwb3J0IHR5cGUgQWN0aW9uRW50aXR5VHlwZSA9ICdwbGFubmVyJyB8ICdwcm9qZWN0JyB8ICd0YXNrJyB8ICdjbGllbnQnXG5cbmV4cG9ydCB0eXBlIEFjdGlvbiA9IHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHN1YnRpdGxlOiBzdHJpbmcgfCBudWxsXG4gIHByb21wdDogc3RyaW5nXG4gIGxhbmd1YWdlOiBzdHJpbmcgfCBudWxsXG4gIG9yZGVyPzogbnVtYmVyIHwgbnVsbFxuICBpY29uPzogQWN0aW9uSWNvbktleSB8IG51bGxcbiAgY2F0ZWdvcnk/OiBBY3Rpb25DYXRlZ29yeUtleSB8IG51bGxcbiAgZW50aXR5X3R5cGVzPzogQWN0aW9uRW50aXR5VHlwZVtdIHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBBY3Rpb25SZXNwb25zZSA9IHtcbiAgZGF0YTogQWN0aW9uW11cbiAgaGFzX21vcmU6IGJvb2xlYW5cbiAgbmV4dF9vZmZzZXQ6IG51bWJlciB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/types/Chat.js CHANGED
@@ -7,4 +7,4 @@ export var ChatHistoryRole = /*#__PURE__*/function (ChatHistoryRole) {
7
7
  }({});
8
8
 
9
9
  // Backend pending_approval format (before transformation)
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL1Byb2plY3QnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbidcblxuZXhwb3J0IHR5cGUgQ2hhdEl0ZW0gPSB7XG4gIGNoYXRfaWQ6IHN0cmluZ1xuICBjaGF0X3N0YXR1czogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb246IHN0cmluZ1xuICBsYXN0X3F1ZXN0aW9uX2RhdGU6IHN0cmluZ1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgcV9hbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbF9yYXRpbmc6IG51bWJlclxuICB1c2VyX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdFJlc3BvbnNlID0ge1xuICBpdGVtczogQ2hhdEl0ZW1bXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0ID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudF90eXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXZhdGFyPzogc3RyaW5nXG4gIGF2YXRhckljb24/OiBSZWFjdE5vZGVcbn1cblxuZXhwb3J0IGVudW0gQ2hhdEhpc3RvcnlSb2xlIHtcbiAgVVNFUiA9ICd1c2VyJyxcbiAgQVNTSVNUQU5UID0gJ2Fzc2lzdGFudCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ0FjdGlvbiB7XG4gIHRvb2xfbmFtZTogc3RyaW5nXG4gIHRvb2xfY2FsbF9pZDogc3RyaW5nXG4gIHRvb2xfYXJnczogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIHRocmVhZF9pZDogc3RyaW5nIC8vIEVhY2ggYWN0aW9uIGhhcyBpdHMgb3duIHVuaXF1ZSB0aHJlYWRfaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZhbFJlcXVlc3Qge1xuICB0eXBlOiAnYXBwcm92YWxfcmVxdWlyZWQnXG4gIHBlbmRpbmdfYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIHRvdGFsX2FjdGlvbnM6IG51bWJlclxuICBvcmlnaW5hbF90aHJlYWRfaWQ6IHN0cmluZyAvLyBPcmlnaW5hbCBjaGVja3BvaW50IHRocmVhZF9pZFxuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbWFudWFsX2FwcHJvdmFsX2RldGVjdGVkPzogYm9vbGVhblxuICB3YXJuaW5nX21lc3NhZ2U/OiBzdHJpbmdcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2Vcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VJdGVtID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBjaGF0U3RhdHVzOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uRGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIHFBbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbFJhdGluZzogbnVtYmVyXG4gIHVzZXJJZDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlID0ge1xuICBhZ2VudF9pZDogc3RyaW5nXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICBhbnN3ZXI6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbiAgdGltZXN0YW1wOiBzdHJpbmdcbiAgcXVlc3Rpb246IHN0cmluZ1xuICB3YXNfaGVscGZ1bDogYm9vbGVhbiB8IG51bGxcbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIG1lbW9yeV9zZXNzaW9uX2lkOiBzdHJpbmdcbiAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXSB8IG51bGxcbiAgc3VnZ2VzdF9yZXBseT86IHN0cmluZ1tdIHwgbnVsbFxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgdGFza19tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBpc19yZWFkPzogYm9vbGVhblxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogc3RyaW5nIHwgbnVsbFxuICB1bnJlYWRfY291bnQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXNrSW5mbyB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICB1cmw6IHN0cmluZ1xuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFvQ0EsV0FBWUEsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7O0FBdUIzQiIsImlnbm9yZUxpc3QiOltdfQ==
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL1Byb2plY3QnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbidcblxuZXhwb3J0IHR5cGUgQ2hhdEl0ZW0gPSB7XG4gIGNoYXRfaWQ6IHN0cmluZ1xuICBjaGF0X3N0YXR1czogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb246IHN0cmluZ1xuICBsYXN0X3F1ZXN0aW9uX2RhdGU6IHN0cmluZ1xuICBtZXNzYWdlX2lkOiBzdHJpbmdcbiAgcV9hbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbF9yYXRpbmc6IG51bWJlclxuICB1c2VyX2lkOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdFJlc3BvbnNlID0ge1xuICBpdGVtczogQ2hhdEl0ZW1bXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0ID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudF90eXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlVXNlciA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgYXZhdGFyPzogc3RyaW5nXG4gIGF2YXRhckljb24/OiBSZWFjdE5vZGVcbn1cblxuZXhwb3J0IGVudW0gQ2hhdEhpc3RvcnlSb2xlIHtcbiAgVVNFUiA9ICd1c2VyJyxcbiAgQVNTSVNUQU5UID0gJ2Fzc2lzdGFudCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ0FjdGlvbiB7XG4gIHRvb2xfbmFtZTogc3RyaW5nXG4gIHRvb2xfY2FsbF9pZDogc3RyaW5nXG4gIHRvb2xfYXJnczogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIHRocmVhZF9pZDogc3RyaW5nIC8vIEVhY2ggYWN0aW9uIGhhcyBpdHMgb3duIHVuaXF1ZSB0aHJlYWRfaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHByb3ZhbFJlcXVlc3Qge1xuICB0eXBlOiAnYXBwcm92YWxfcmVxdWlyZWQnXG4gIHBlbmRpbmdfYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIHRvdGFsX2FjdGlvbnM6IG51bWJlclxuICBvcmlnaW5hbF90aHJlYWRfaWQ6IHN0cmluZyAvLyBPcmlnaW5hbCBjaGVja3BvaW50IHRocmVhZF9pZFxuICBzZXNzaW9uX2lkOiBzdHJpbmdcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgbWFudWFsX2FwcHJvdmFsX2RldGVjdGVkPzogYm9vbGVhblxuICB3YXJuaW5nX21lc3NhZ2U/OiBzdHJpbmdcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2Vcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VJdGVtID0ge1xuICBjaGF0SWQ6IHN0cmluZ1xuICBjaGF0U3RhdHVzOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uOiBzdHJpbmdcbiAgbGFzdFF1ZXN0aW9uRGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIHFBbnN3ZXJzOiBudW1iZXJcbiAgZ2VuZXJhbFJhdGluZzogbnVtYmVyXG4gIHVzZXJJZDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlID0ge1xuICBhZ2VudF9pZDogc3RyaW5nXG4gIHVzZXJfaWQ6IHN0cmluZ1xuICBhbnN3ZXI6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbiAgdGltZXN0YW1wOiBzdHJpbmdcbiAgcXVlc3Rpb246IHN0cmluZ1xuICB3YXNfaGVscGZ1bDogYm9vbGVhbiB8IG51bGxcbiAgbWVzc2FnZV9pZDogc3RyaW5nXG4gIG1lbW9yeV9zZXNzaW9uX2lkOiBzdHJpbmdcbiAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXSB8IG51bGxcbiAgc3VnZ2VzdF9yZXBseT86IHN0cmluZ1tdIHwgbnVsbFxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgdGFza19tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tJbmZvIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQW9DQSxXQUFZQSxlQUFlLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTs7QUF1QjNCIiwiaWdub3JlTGlzdCI6W119