@projectcor/maia-components 2.11.12-2 → 2.11.12

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 (66) hide show
  1. package/lib/App.js +10 -20
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +96 -16
  3. package/lib/components/atoms/Chip/styles.js +2 -2
  4. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +33 -36
  5. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +7 -67
  6. package/lib/components/atoms/MAIAInput/MAIAInput.js +18 -122
  7. package/lib/components/atoms/MAIAInput/styles.js +11 -27
  8. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -60
  9. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +227 -120
  10. package/lib/components/molecules/ChatAIMessages/newStyles.js +5 -3
  11. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +12 -25
  12. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +7 -16
  13. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +2 -72
  14. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -10
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +3 -31
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +17 -21
  17. package/lib/components/molecules/ChatFooter/ChatFooter.js +7 -6
  18. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +21 -4
  19. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +2 -2
  20. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  21. package/lib/constants/config.js +2 -4
  22. package/lib/context/global-context.js +1 -1
  23. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  24. package/lib/hooks/useChatManager/useChatManager.js +44 -59
  25. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +13 -36
  26. package/lib/hooks/useProjectSummaryConfig.js +7 -27
  27. package/lib/lang/br/index.js +6 -29
  28. package/lib/lang/en/index.js +6 -29
  29. package/lib/lang/es/index.js +4 -27
  30. package/lib/services/maia/Agents/getAgents.js +54 -71
  31. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  32. package/lib/services/maia/Orchestrator/index.js +2 -3
  33. package/lib/services/maia/Orchestrator/orchestrator.js +1 -27
  34. package/lib/store/chatsStore.types.js +1 -1
  35. package/lib/types/agent.js +1 -1
  36. package/lib/types/global.d.js +1 -1
  37. package/package.json +1 -1
  38. package/lib/components/atoms/SlashCommandDropdown/CategoryStepRegistry.js +0 -5
  39. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -56
  40. package/lib/components/atoms/SlashCommandDropdown/SlashCommandList.js +0 -26
  41. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  42. package/lib/components/atoms/SlashCommandDropdown/steps/TaskStepSelector.js +0 -208
  43. package/lib/components/atoms/SlashCommandDropdown/steps/index.js +0 -2
  44. package/lib/components/atoms/SlashCommandDropdown/styles.js +0 -50
  45. package/lib/components/atoms/SlashCommandDropdown/types.js +0 -2
  46. package/lib/components/molecules/ChatAIContent/EphemeralHome/EphemeralHome.js +0 -68
  47. package/lib/components/molecules/ChatAIContent/EphemeralHome/EphemeralHome.styles.js +0 -50
  48. package/lib/components/molecules/ChatAIContent/EphemeralHome/index.js +0 -2
  49. package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/EphemeralBackBar.js +0 -24
  50. package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/EphemeralBackBar.styles.js +0 -14
  51. package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/index.js +0 -2
  52. package/lib/dev/DevChatAIEphemeral.js +0 -33
  53. package/lib/hooks/useFrequentlyUsedActions.js +0 -73
  54. package/lib/hooks/useSectionActions.js +0 -72
  55. package/lib/hooks/useSlashCommands.js +0 -73
  56. package/lib/services/cor/getProjectTasks.js +0 -71
  57. package/lib/services/maia/Actions/getActionsBySection.js +0 -59
  58. package/lib/services/maia/Actions/index.js +0 -5
  59. package/lib/services/maia/FrequentlyUsedActions/getFrequentlyUsedActions.js +0 -48
  60. package/lib/services/maia/FrequentlyUsedActions/index.js +0 -5
  61. package/lib/services/maia/SlashCommands/getSlashCommands.js +0 -48
  62. package/lib/services/maia/SlashCommands/index.js +0 -5
  63. package/lib/services/query/getTaskFamilyProjectsQuery.js +0 -5
  64. package/lib/types/FrequentlyUsedAction.js +0 -2
  65. package/lib/types/SectionAction.js +0 -2
  66. package/lib/types/SlashCommand.js +0 -2
@@ -9,7 +9,7 @@ var customInputStyles = css(["outline:none;background:linear-gradient(white,whit
9
9
  export var StyledMAIAInputWrapper = styled.div.withConfig({
10
10
  displayName: "styles__StyledMAIAInputWrapper",
11
11
  componentId: "sc-cs6u9w-0"
12
- })(["position:relative;box-sizing:border-box;width:100%;border-radius:8px;border:1px solid ", ";transition:border-color 0.2s ease;padding:12px;cursor:", ";display:flex;min-height:86px;gap:", ";flex-direction:column;&:focus-within{", "}", ""], colors.text.disabled, function (_ref) {
12
+ })(["box-sizing:border-box;width:100%;border-radius:8px;border:1px solid ", ";transition:border-color 0.2s ease;padding:12px;cursor:", ";display:flex;min-height:86px;gap:", ";flex-direction:column;&:focus-within{", "}", ""], colors.text.disabled, function (_ref) {
13
13
  var disabled = _ref.disabled;
14
14
  return disabled ? 'not-allowed' : 'auto';
15
15
  }, function (_ref2) {
@@ -30,25 +30,9 @@ export var StyledMAIAInput = styled.textarea.withConfig({
30
30
  displayName: "styles__StyledMAIAInput",
31
31
  componentId: "sc-cs6u9w-2"
32
32
  })(["", " width:100%;font-size:14px;padding:0;resize:none;position:relative;background:transparent;border:none;outline:none;min-height:22.1px;max-height:122.1px;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&::placeholder{color:", ";}"], scrollableStyles, colors.text.secondary);
33
- export var SCMIInlineContextPreview = styled.div.withConfig({
34
- displayName: "styles__SCMIInlineContextPreview",
35
- componentId: "sc-cs6u9w-3"
36
- })(["display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:24px;"]);
37
- export var SCMIInlineContextText = styled.span.withConfig({
38
- displayName: "styles__SCMIInlineContextText",
39
- componentId: "sc-cs6u9w-4"
40
- })(["color:#20201f;font-size:16px;font-weight:400;line-height:140%;letter-spacing:-0.16px;"]);
41
- export var SCMIInlineTaskLink = styled.a.withConfig({
42
- displayName: "styles__SCMIInlineTaskLink",
43
- componentId: "sc-cs6u9w-5"
44
- })(["text-decoration:none !important;color:#202020 !important;font-size:16px;font-weight:600 !important;position:relative;padding-left:24px;&:hover{text-decoration:underline !important;}&::before{content:'';position:absolute;left:0;top:0;width:20px;height:20px;background-image:url(\"data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 18C11.125 18 12.125 17.4375 12.6875 16.5625C13.7188 16.7812 14.8438 16.4688 15.6562 15.6562C16.4375 14.875 16.75 13.75 16.5312 12.7188C17.4062 12.1562 18 11.1562 18 10C18 8.875 17.4062 7.875 16.5312 7.3125C16.75 6.28125 16.4375 5.15625 15.6562 4.34375C14.8438 3.5625 13.7188 3.25 12.6875 3.46875C12.125 2.59375 11.125 2 10 2C8.84375 2 7.84375 2.59375 7.28125 3.46875C6.25 3.25 5.125 3.5625 4.34375 4.34375C3.53125 5.15625 3.21875 6.28125 3.4375 7.3125C2.5625 7.875 2 8.875 2 10C2 11.1562 2.5625 12.1562 3.4375 12.7188C3.21875 13.75 3.53125 14.875 4.34375 15.6562C5.125 16.4688 6.25 16.7812 7.28125 16.5625C7.84375 17.4375 8.84375 18 10 18ZM8.0625 14.625C7.40625 14.9375 6.34375 15.5625 5.375 14.5938C4.375 13.5938 5.125 12.4688 5.375 11.9375C4.71875 11.6875 3.5 11.375 3.5 10C3.5 8.59375 4.8125 8.3125 5.375 8.09375C5.09375 7.46875 4.4375 6.375 5.40625 5.40625C6.40625 4.40625 7.53125 5.15625 8.0625 5.40625C8.3125 4.75 8.625 3.5 10 3.5C11.4062 3.5 11.6875 4.84375 11.9062 5.40625C12.5312 5.125 13.625 4.46875 14.5938 5.4375C15.5938 6.4375 14.8438 7.5625 14.5938 8.09375C15.25 8.34375 16.4688 8.65625 16.4688 10.0312C16.4688 11.4375 15.1562 11.7188 14.5938 11.9375C14.875 12.5625 15.5625 13.6562 14.5938 14.625C13.7188 15.5 12.8438 15.0625 11.9062 14.625C11.6562 15.2812 11.3438 16.5 10 16.5C8.5625 16.5 8.28125 15.1875 8.0625 14.625Z' fill='%238740BF'/%3E%3C/svg%3E\");background-size:contain;background-repeat:no-repeat;background-position:center;}"]);
45
- export var SCMIInlineContextClear = styled.button.withConfig({
46
- displayName: "styles__SCMIInlineContextClear",
47
- componentId: "sc-cs6u9w-6"
48
- })(["display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px 5px;cursor:pointer;color:#999;font-size:16px;line-height:1;border-radius:4px;flex-shrink:0;&:hover{color:#333;background:#f0f0f0;}"]);
49
33
  export var StyledMAIASendButton = styled(ClearButton).withConfig({
50
34
  displayName: "styles__StyledMAIASendButton",
51
- componentId: "sc-cs6u9w-7"
35
+ componentId: "sc-cs6u9w-3"
52
36
  })(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{svg{transform:scale(1.05);}}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;g *{fill:rgba(135,64,191,1) !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref5) {
53
37
  var hasValues = _ref5.hasValues;
54
38
  return hasValues ? '#F7F0FC' : '#f2f2f2';
@@ -61,15 +45,15 @@ export var StyledMAIASendButton = styled(ClearButton).withConfig({
61
45
  });
62
46
  export var SCMIWrapperAttachments = styled.div.withConfig({
63
47
  displayName: "styles__SCMIWrapperAttachments",
64
- componentId: "sc-cs6u9w-8"
48
+ componentId: "sc-cs6u9w-4"
65
49
  })(["display:flex;gap:12px;align-items:center;"]);
66
50
  export var SCMIAttachmentDeleteIcon = styled.div.withConfig({
67
51
  displayName: "styles__SCMIAttachmentDeleteIcon",
68
- componentId: "sc-cs6u9w-9"
52
+ componentId: "sc-cs6u9w-5"
69
53
  })(["position:absolute;display:none;justify-content:center;align-items:center;top:0;right:0;padding:2px;border-radius:50%;&:hover{background-color:#e6e6e6;svg *:not(.no-fill){fill:#666666 !important;}}"]);
70
54
  export var SCMIAttachment = styled.div.withConfig({
71
55
  displayName: "styles__SCMIAttachment",
72
- componentId: "sc-cs6u9w-10"
56
+ componentId: "sc-cs6u9w-6"
73
57
  })(["display:flex;justify-content:center;align-items:center;border:1px solid rgba(191,191,191,1);border-radius:6px;cursor:pointer;position:relative;padding:13px;", " &:hover{", "{display:flex;}}"], function (_ref8) {
74
58
  var isImage = _ref8.isImage;
75
59
  return isImage && css(["padding:0px !important;"]);
@@ -81,7 +65,7 @@ var getAttachmentBorderColor = function getAttachmentBorderColor(p) {
81
65
  };
82
66
  export var SCMIWrapperAttachmentButton = styled.div.withConfig({
83
67
  displayName: "styles__SCMIWrapperAttachmentButton",
84
- componentId: "sc-cs6u9w-11"
68
+ componentId: "sc-cs6u9w-7"
85
69
  })(["", " border:1px solid ", ";background-color:", ";cursor:", ";&:hover{background-color:rgba(247,240,252,1) !important;border:1px solid rgba(135,64,191,1) !important;svg *{fill:rgba(135,64,191,1) !important;}}"], baseButtonActionStyles, getAttachmentBorderColor, function (_ref9) {
86
70
  var hasAttachments = _ref9.hasAttachments,
87
71
  isMaximized = _ref9.isMaximized;
@@ -97,7 +81,7 @@ var getWebSearchBorderColor = function getWebSearchBorderColor(p) {
97
81
  };
98
82
  export var SCMIWrapperWebSearchButton = styled.div.withConfig({
99
83
  displayName: "styles__SCMIWrapperWebSearchButton",
100
- componentId: "sc-cs6u9w-12"
84
+ componentId: "sc-cs6u9w-8"
101
85
  })(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getWebSearchBorderColor, function (_ref1) {
102
86
  var isActive = _ref1.isActive;
103
87
  return !isActive ? '#ffffff' : 'rgba(247, 240, 252, 1)';
@@ -111,7 +95,7 @@ var getDeepSearchBorderColor = function getDeepSearchBorderColor(p) {
111
95
  };
112
96
  export var SCMIWrapperDeepSearchButton = styled.div.withConfig({
113
97
  displayName: "styles__SCMIWrapperDeepSearchButton",
114
- componentId: "sc-cs6u9w-13"
98
+ componentId: "sc-cs6u9w-9"
115
99
  })(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getDeepSearchBorderColor, function (_ref11) {
116
100
  var isActive = _ref11.isActive;
117
101
  return !isActive ? '#ffffff' : 'rgba(247, 240, 252, 1)';
@@ -121,10 +105,10 @@ export var SCMIWrapperDeepSearchButton = styled.div.withConfig({
121
105
  });
122
106
  export var StyledMAIAStopIcon = styled.div.withConfig({
123
107
  displayName: "styles__StyledMAIAStopIcon",
124
- componentId: "sc-cs6u9w-14"
108
+ componentId: "sc-cs6u9w-10"
125
109
  })(["width:13px;height:13px;background-color:#8c8c8c;border-radius:2px;"]);
126
110
  export var StyledMAIAStopButton = styled.button.withConfig({
127
111
  displayName: "styles__StyledMAIAStopButton",
128
- componentId: "sc-cs6u9w-15"
112
+ componentId: "sc-cs6u9w-11"
129
113
  })(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:#f7f0fc !important;", "{background-color:#aa6ede;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], StyledMAIAStopIcon);
130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwic2Nyb2xsYWJsZVN0eWxlcyIsIkNsZWFyQnV0dG9uIiwiZmxvdyIsImN1c3RvbUlucHV0U3R5bGVzIiwibGlnaHQiLCJwcmltYXJ5IiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGV4dCIsImRpc2FibGVkIiwiX3JlZiIsIl9yZWYyIiwiYWxpZ25CdXR0b25zIiwiX3JlZjMiLCJoYXNBdHRhY2htZW50cyIsIlN0eWxlZE1BSUFJbnB1dEJ1dHRvbnMiLCJfcmVmNCIsImhhc0hlYWRlckJ1dHRvbnMiLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIlNDTUlJbmxpbmVDb250ZXh0UHJldmlldyIsIlNDTUlJbmxpbmVDb250ZXh0VGV4dCIsInNwYW4iLCJTQ01JSW5saW5lVGFza0xpbmsiLCJhIiwiU0NNSUlubGluZUNvbnRleHRDbGVhciIsImJ1dHRvbiIsIlN0eWxlZE1BSUFTZW5kQnV0dG9uIiwiX3JlZjUiLCJoYXNWYWx1ZXMiLCJfcmVmNiIsIl9yZWY3IiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50IiwiX3JlZjgiLCJpc0ltYWdlIiwiYmFzZUJ1dHRvbkFjdGlvblN0eWxlcyIsImdldEF0dGFjaG1lbnRCb3JkZXJDb2xvciIsInAiLCJpc01heGltaXplZCIsIiRpc0ZvY3VzZWQiLCJTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24iLCJfcmVmOSIsIl9yZWYwIiwiZ2V0V2ViU2VhcmNoQm9yZGVyQ29sb3IiLCJpc0FjdGl2ZSIsIlNDTUlXcmFwcGVyV2ViU2VhcmNoQnV0dG9uIiwiX3JlZjEiLCJfcmVmMTAiLCJnZXREZWVwU2VhcmNoQm9yZGVyQ29sb3IiLCJTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24iLCJfcmVmMTEiLCJfcmVmMTIiLCJTdHlsZWRNQUlBU3RvcEljb24iLCJTdHlsZWRNQUlBU3RvcEJ1dHRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IHNjcm9sbGFibGVTdHlsZXMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc2hhcmVkL3Njcm9sbGFibGUnXG5pbXBvcnQgeyBDbGVhckJ1dHRvbiB9IGZyb20gJy4uL0NsZWFyQnV0dG9uJ1xuXG5leHBvcnQgY29uc3QgZmxvdyA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZjQzY2EgMCUsICNiYTQzZmYgNTkuNjIlLCAjZTdjNGZmIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0dMT0JBTF9DT0xPUlMubGlnaHR9O1xuICAgIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICR7R0xPQkFMX0NPTE9SUy5wcmltYXJ5fTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA4NnB4O1xuICBnYXA6ICR7KHsgYWxpZ25CdXR0b25zIH0pID0+IChhbGlnbkJ1dHRvbnMgPT09ICd2ZXJ0aWNhbCcgPyAnOHB4JyA6ICcwJyl9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICB9XG5cbiAgJHsoeyBoYXNBdHRhY2htZW50cyB9KSA9PlxuICAgIGhhc0F0dGFjaG1lbnRzICYmXG4gICAgY3NzYFxuICAgICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0QnV0dG9ucyA9IHN0eWxlZC5kaXY8eyBoYXNIZWFkZXJCdXR0b25zOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGhlaWdodDogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiAkeyh7IGhhc0hlYWRlckJ1dHRvbnMgfSkgPT4gKGhhc0hlYWRlckJ1dHRvbnMgPyAnc3BhY2UtYmV0d2VlbicgOiAnZmxleC1lbmQnKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXQgPSBzdHlsZWQudGV4dGFyZWE8e1xuICBhbGlnbkJ1dHRvbnM/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnXG59PmBcbiAgJHtzY3JvbGxhYmxlU3R5bGVzfVxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuICByZXNpemU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWluLWhlaWdodDogMjIuMXB4O1xuICBtYXgtaGVpZ2h0OiAxMjIuMXB4O1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlJbmxpbmVDb250ZXh0UHJldmlldyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JSW5saW5lQ29udGV4dFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICMyMDIwMWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUlubGluZVRhc2tMaW5rID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIwMjAyMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTAgMThDMTEuMTI1IDE4IDEyLjEyNSAxNy40Mzc1IDEyLjY4NzUgMTYuNTYyNUMxMy43MTg4IDE2Ljc4MTIgMTQuODQzOCAxNi40Njg4IDE1LjY1NjIgMTUuNjU2MkMxNi40Mzc1IDE0Ljg3NSAxNi43NSAxMy43NSAxNi41MzEyIDEyLjcxODhDMTcuNDA2MiAxMi4xNTYyIDE4IDExLjE1NjIgMTggMTBDMTggOC44NzUgMTcuNDA2MiA3Ljg3NSAxNi41MzEyIDcuMzEyNUMxNi43NSA2LjI4MTI1IDE2LjQzNzUgNS4xNTYyNSAxNS42NTYyIDQuMzQzNzVDMTQuODQzOCAzLjU2MjUgMTMuNzE4OCAzLjI1IDEyLjY4NzUgMy40Njg3NUMxMi4xMjUgMi41OTM3NSAxMS4xMjUgMiAxMCAyQzguODQzNzUgMiA3Ljg0Mzc1IDIuNTkzNzUgNy4yODEyNSAzLjQ2ODc1QzYuMjUgMy4yNSA1LjEyNSAzLjU2MjUgNC4zNDM3NSA0LjM0Mzc1QzMuNTMxMjUgNS4xNTYyNSAzLjIxODc1IDYuMjgxMjUgMy40Mzc1IDcuMzEyNUMyLjU2MjUgNy44NzUgMiA4Ljg3NSAyIDEwQzIgMTEuMTU2MiAyLjU2MjUgMTIuMTU2MiAzLjQzNzUgMTIuNzE4OEMzLjIxODc1IDEzLjc1IDMuNTMxMjUgMTQuODc1IDQuMzQzNzUgMTUuNjU2MkM1LjEyNSAxNi40Njg4IDYuMjUgMTYuNzgxMiA3LjI4MTI1IDE2LjU2MjVDNy44NDM3NSAxNy40Mzc1IDguODQzNzUgMTggMTAgMThaTTguMDYyNSAxNC42MjVDNy40MDYyNSAxNC45Mzc1IDYuMzQzNzUgMTUuNTYyNSA1LjM3NSAxNC41OTM4QzQuMzc1IDEzLjU5MzggNS4xMjUgMTIuNDY4OCA1LjM3NSAxMS45Mzc1QzQuNzE4NzUgMTEuNjg3NSAzLjUgMTEuMzc1IDMuNSAxMEMzLjUgOC41OTM3NSA0LjgxMjUgOC4zMTI1IDUuMzc1IDguMDkzNzVDNS4wOTM3NSA3LjQ2ODc1IDQuNDM3NSA2LjM3NSA1LjQwNjI1IDUuNDA2MjVDNi40MDYyNSA0LjQwNjI1IDcuNTMxMjUgNS4xNTYyNSA4LjA2MjUgNS40MDYyNUM4LjMxMjUgNC43NSA4LjYyNSAzLjUgMTAgMy41QzExLjQwNjIgMy41IDExLjY4NzUgNC44NDM3NSAxMS45MDYyIDUuNDA2MjVDMTIuNTMxMiA1LjEyNSAxMy42MjUgNC40Njg3NSAxNC41OTM4IDUuNDM3NUMxNS41OTM4IDYuNDM3NSAxNC44NDM4IDcuNTYyNSAxNC41OTM4IDguMDkzNzVDMTUuMjUgOC4zNDM3NSAxNi40Njg4IDguNjU2MjUgMTYuNDY4OCAxMC4wMzEyQzE2LjQ2ODggMTEuNDM3NSAxNS4xNTYyIDExLjcxODggMTQuNTkzOCAxMS45Mzc1QzE0Ljg3NSAxMi41NjI1IDE1LjU2MjUgMTMuNjU2MiAxNC41OTM4IDE0LjYyNUMxMy43MTg4IDE1LjUgMTIuODQzOCAxNS4wNjI1IDExLjkwNjIgMTQuNjI1QzExLjY1NjIgMTUuMjgxMiAxMS4zNDM4IDE2LjUgMTAgMTYuNUM4LjU2MjUgMTYuNSA4LjI4MTI1IDE1LjE4NzUgOC4wNjI1IDE0LjYyNVonIGZpbGw9JyUyMzg3NDBCRicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlJbmxpbmVDb250ZXh0Q2xlYXIgPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kQnV0dG9uID0gc3R5bGVkKENsZWFyQnV0dG9uKTx7IGhhc1ZhbHVlcz86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzVmFsdWVzIH0pID0+IChoYXNWYWx1ZXMgPyAnI0Y3RjBGQycgOiAnI2YyZjJmMicpfTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICBoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZyAqIHtcbiAgICAgICAgICBmaWxsOiByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICBnICoge1xuICAgICAgICBmaWxsOiByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuXG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgICFoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIGZpbGw6ICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIHN2ZyAqOm5vdCgubm8tZmlsbCkge1xuICAgICAgZmlsbDogIzY2NjY2NiAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2PHsgaXNJbWFnZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MSwgMTkxLCAxOTEsIDEpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxM3B4O1xuICAkeyh7IGlzSW1hZ2UgfSkgPT5cbiAgICBpc0ltYWdlICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgYH1cblxuICAmOmhvdmVyIHtcbiAgICAke1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbn0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgYmFzZUJ1dHRvbkFjdGlvblN0eWxlcyA9IGNzc2BcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmBcbmNvbnN0IGdldEF0dGFjaG1lbnRCb3JkZXJDb2xvciA9IChwOiB7IGhhc0F0dGFjaG1lbnRzOiBib29sZWFuOyBpc01heGltaXplZD86IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKHAuaGFzQXR0YWNobWVudHMgfHwgcC5pc01heGltaXplZCkgcmV0dXJuICdyZ2JhKDEzNSwgNjQsIDE5MSwgMSknXG4gIHJldHVybiBwLiRpc0ZvY3VzZWQgIT09IGZhbHNlID8gJyM2NjY2NjYnIDogJyM5OTknXG59XG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24gPSBzdHlsZWQuZGl2PHtcbiAgaXNNYXhpbWl6ZWQ/OiBib29sZWFuXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG4gICRpc0ZvY3VzZWQ/OiBib29sZWFuXG59PmBcbiAgJHtiYXNlQnV0dG9uQWN0aW9uU3R5bGVzfVxuICBib3JkZXI6IDFweCBzb2xpZCAke2dldEF0dGFjaG1lbnRCb3JkZXJDb2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzQXR0YWNobWVudHMsIGlzTWF4aW1pemVkIH0pID0+XG4gICAgIWhhc0F0dGFjaG1lbnRzICYmICFpc01heGltaXplZCA/ICcjZmZmZmZmJyA6ICdyZ2JhKDI0NywgMjQwLCAyNTIsIDEpJ307XG4gIGN1cnNvcjogJHsoeyBoYXNBdHRhY2htZW50cywgaXNNYXhpbWl6ZWQgfSkgPT4gKGhhc0F0dGFjaG1lbnRzIHx8IGlzTWF4aW1pemVkID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInKX07XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MCwgMjUyLCAxKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTM1LCA2NCwgMTkxLCAxKSAhaW1wb3J0YW50O1xuICAgIHN2ZyAqIHtcbiAgICAgIGZpbGw6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYFxuY29uc3QgZ2V0V2ViU2VhcmNoQm9yZGVyQ29sb3IgPSAocDogeyBpc0FjdGl2ZTogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfSkgPT4ge1xuICBpZiAocC5pc0FjdGl2ZSkgcmV0dXJuICdyZ2JhKDEzNSwgNjQsIDE5MSwgMSknXG4gIHJldHVybiBwLiRpc0ZvY3VzZWQgIT09IGZhbHNlID8gJyM2NjY2NjYnIDogJyM5OTknXG59XG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlcldlYlNlYXJjaEJ1dHRvbiA9IHN0eWxlZC5kaXY8eyBpc0FjdGl2ZTogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfT5gXG4gICR7YmFzZUJ1dHRvbkFjdGlvblN0eWxlc31cbiAgYm9yZGVyOiAxcHggc29saWQgJHtnZXRXZWJTZWFyY2hCb3JkZXJDb2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKCFpc0FjdGl2ZSA/ICcjZmZmZmZmJyA6ICdyZ2JhKDI0NywgMjQwLCAyNTIsIDEpJyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICR7KHsgaXNBY3RpdmUgfSkgPT5cbiAgICAhaXNBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MCwgMjUyLCAxKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIGZpbGw6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYH1cbmBcblxuY29uc3QgZ2V0RGVlcFNlYXJjaEJvcmRlckNvbG9yID0gKHA6IHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKHAuaXNBY3RpdmUpIHJldHVybiAncmdiYSgxMzUsIDY0LCAxOTEsIDEpJ1xuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJEZWVwU2VhcmNoQnV0dG9uID0gc3R5bGVkLmRpdjx7IGlzQWN0aXZlOiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9PmBcbiAgJHtiYXNlQnV0dG9uQWN0aW9uU3R5bGVzfVxuICBib3JkZXI6IDFweCBzb2xpZCAke2dldERlZXBTZWFyY2hCb3JkZXJDb2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKCFpc0FjdGl2ZSA/ICcjZmZmZmZmJyA6ICdyZ2JhKDI0NywgMjQwLCAyNTIsIDEpJyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICR7KHsgaXNBY3RpdmUgfSkgPT5cbiAgICAhaXNBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MCwgMjUyLCAxKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIHN0cm9rZTogcmdiYSgxMzUsIDY0LCAxOTEsIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgfVxuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzhjOGM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjBmYyAhaW1wb3J0YW50O1xuXG4gICAgJHtTdHlsZWRNQUlBU3RvcEljb259IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYTZlZGU7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxt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
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwic2Nyb2xsYWJsZVN0eWxlcyIsIkNsZWFyQnV0dG9uIiwiZmxvdyIsImN1c3RvbUlucHV0U3R5bGVzIiwibGlnaHQiLCJwcmltYXJ5IiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwidGV4dCIsImRpc2FibGVkIiwiX3JlZiIsIl9yZWYyIiwiYWxpZ25CdXR0b25zIiwiX3JlZjMiLCJoYXNBdHRhY2htZW50cyIsIlN0eWxlZE1BSUFJbnB1dEJ1dHRvbnMiLCJfcmVmNCIsImhhc0hlYWRlckJ1dHRvbnMiLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIlN0eWxlZE1BSUFTZW5kQnV0dG9uIiwiX3JlZjUiLCJoYXNWYWx1ZXMiLCJfcmVmNiIsIl9yZWY3IiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsIlNDTUlBdHRhY2htZW50IiwiX3JlZjgiLCJpc0ltYWdlIiwiYmFzZUJ1dHRvbkFjdGlvblN0eWxlcyIsImdldEF0dGFjaG1lbnRCb3JkZXJDb2xvciIsInAiLCJpc01heGltaXplZCIsIiRpc0ZvY3VzZWQiLCJTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24iLCJfcmVmOSIsIl9yZWYwIiwiZ2V0V2ViU2VhcmNoQm9yZGVyQ29sb3IiLCJpc0FjdGl2ZSIsIlNDTUlXcmFwcGVyV2ViU2VhcmNoQnV0dG9uIiwiX3JlZjEiLCJfcmVmMTAiLCJnZXREZWVwU2VhcmNoQm9yZGVyQ29sb3IiLCJTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24iLCJfcmVmMTEiLCJfcmVmMTIiLCJTdHlsZWRNQUlBU3RvcEljb24iLCJTdHlsZWRNQUlBU3RvcEJ1dHRvbiIsImJ1dHRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IHNjcm9sbGFibGVTdHlsZXMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvc2hhcmVkL3Njcm9sbGFibGUnXG5pbXBvcnQgeyBDbGVhckJ1dHRvbiB9IGZyb20gJy4uL0NsZWFyQnV0dG9uJ1xuXG5leHBvcnQgY29uc3QgZmxvdyA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZjQzY2EgMCUsICNiYTQzZmYgNTkuNjIlLCAjZTdjNGZmIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG5cbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0dMT0JBTF9DT0xPUlMubGlnaHR9O1xuICAgIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICR7R0xPQkFMX0NPTE9SUy5wcmltYXJ5fTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy50ZXh0LmRpc2FibGVkfTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbiAgcGFkZGluZzogMTJweDtcbiAgY3Vyc29yOiAkeyh7IGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAnYXV0bycpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogODZweDtcbiAgZ2FwOiAkeyh7IGFsaWduQnV0dG9ucyB9KSA9PiAoYWxpZ25CdXR0b25zID09PSAndmVydGljYWwnID8gJzhweCcgOiAnMCcpfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgfVxuXG4gICR7KHsgaGFzQXR0YWNobWVudHMgfSkgPT5cbiAgICBoYXNBdHRhY2htZW50cyAmJlxuICAgIGNzc2BcbiAgICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dEJ1dHRvbnMgPSBzdHlsZWQuZGl2PHsgaGFzSGVhZGVyQnV0dG9uczogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGp1c3RpZnktY29udGVudDogJHsoeyBoYXNIZWFkZXJCdXR0b25zIH0pID0+IChoYXNIZWFkZXJCdXR0b25zID8gJ3NwYWNlLWJldHdlZW4nIDogJ2ZsZXgtZW5kJyl9O1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xufT5gXG4gICR7c2Nyb2xsYWJsZVN0eWxlc31cbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMDtcbiAgcmVzaXplOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDIyLjFweDtcbiAgbWF4LWhlaWdodDogMTIyLjFweDtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU2VuZEJ1dHRvbiA9IHN0eWxlZChDbGVhckJ1dHRvbik8eyBoYXNWYWx1ZXM/OiBib29sZWFuIH0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGhhc1ZhbHVlcyB9KSA9PiAoaGFzVmFsdWVzID8gJyNGN0YwRkMnIDogJyNmMmYyZjInKX07XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAkeyh7IGhhc1ZhbHVlcyB9KSA9PlxuICAgICAgaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIGcgKiB7XG4gICAgICAgICAgZmlsbDogcmdiYSgxMzUsIDY0LCAxOTEsIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBzdmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgZyAqIHtcbiAgICAgICAgZmlsbDogcmdiYSgxMzUsIDY0LCAxOTEsIDEpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcblxuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICAhaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiAke2NvbG9ycy50ZXh0LmRpc2FibGVkfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50cyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudERlbGV0ZUljb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBzdmcgKjpub3QoLm5vLWZpbGwpIHtcbiAgICAgIGZpbGw6ICM2NjY2NjYgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50ID0gc3R5bGVkLmRpdjx7IGlzSW1hZ2U/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTEsIDE5MSwgMTkxLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTNweDtcbiAgJHsoeyBpc0ltYWdlIH0pID0+XG4gICAgaXNJbWFnZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIGB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHtTQ01JQXR0YWNobWVudERlbGV0ZUljb259IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IGJhc2VCdXR0b25BY3Rpb25TdHlsZXMgPSBjc3NgXG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gXG5jb25zdCBnZXRBdHRhY2htZW50Qm9yZGVyQ29sb3IgPSAocDogeyBoYXNBdHRhY2htZW50czogYm9vbGVhbjsgaXNNYXhpbWl6ZWQ/OiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9KSA9PiB7XG4gIGlmIChwLmhhc0F0dGFjaG1lbnRzIHx8IHAuaXNNYXhpbWl6ZWQpIHJldHVybiAncmdiYSgxMzUsIDY0LCAxOTEsIDEpJ1xuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uID0gc3R5bGVkLmRpdjx7XG4gIGlzTWF4aW1pemVkPzogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAkaXNGb2N1c2VkPzogYm9vbGVhblxufT5gXG4gICR7YmFzZUJ1dHRvbkFjdGlvblN0eWxlc31cbiAgYm9yZGVyOiAxcHggc29saWQgJHtnZXRBdHRhY2htZW50Qm9yZGVyQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGhhc0F0dGFjaG1lbnRzLCBpc01heGltaXplZCB9KSA9PlxuICAgICFoYXNBdHRhY2htZW50cyAmJiAhaXNNYXhpbWl6ZWQgPyAnI2ZmZmZmZicgOiAncmdiYSgyNDcsIDI0MCwgMjUyLCAxKSd9O1xuICBjdXJzb3I6ICR7KHsgaGFzQXR0YWNobWVudHMsIGlzTWF4aW1pemVkIH0pID0+IChoYXNBdHRhY2htZW50cyB8fCBpc01heGltaXplZCA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJyl9O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LCAyNDAsIDI1MiwgMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICBzdmcgKiB7XG4gICAgICBmaWxsOiByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmBcbmNvbnN0IGdldFdlYlNlYXJjaEJvcmRlckNvbG9yID0gKHA6IHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKHAuaXNBY3RpdmUpIHJldHVybiAncmdiYSgxMzUsIDY0LCAxOTEsIDEpJ1xuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b24gPSBzdHlsZWQuZGl2PHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0+YFxuICAke2Jhc2VCdXR0b25BY3Rpb25TdHlsZXN9XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0V2ViU2VhcmNoQm9yZGVyQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlIH0pID0+ICghaXNBY3RpdmUgPyAnI2ZmZmZmZicgOiAncmdiYSgyNDcsIDI0MCwgMjUyLCAxKScpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAkeyh7IGlzQWN0aXZlIH0pID0+XG4gICAgIWlzQWN0aXZlICYmXG4gICAgY3NzYFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LCAyNDAsIDI1MiwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzUsIDY0LCAxOTEsIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiByZ2JhKDEzNSwgNjQsIDE5MSwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGB9XG5gXG5cbmNvbnN0IGdldERlZXBTZWFyY2hCb3JkZXJDb2xvciA9IChwOiB7IGlzQWN0aXZlOiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9KSA9PiB7XG4gIGlmIChwLmlzQWN0aXZlKSByZXR1cm4gJ3JnYmEoMTM1LCA2NCwgMTkxLCAxKSdcbiAgcmV0dXJuIHAuJGlzRm9jdXNlZCAhPT0gZmFsc2UgPyAnIzY2NjY2NicgOiAnIzk5OSdcbn1cblxuZXhwb3J0IGNvbnN0IFNDTUlXcmFwcGVyRGVlcFNlYXJjaEJ1dHRvbiA9IHN0eWxlZC5kaXY8eyBpc0FjdGl2ZTogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfT5gXG4gICR7YmFzZUJ1dHRvbkFjdGlvblN0eWxlc31cbiAgYm9yZGVyOiAxcHggc29saWQgJHtnZXREZWVwU2VhcmNoQm9yZGVyQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlIH0pID0+ICghaXNBY3RpdmUgPyAnI2ZmZmZmZicgOiAncmdiYSgyNDcsIDI0MCwgMjUyLCAxKScpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAkeyh7IGlzQWN0aXZlIH0pID0+XG4gICAgIWlzQWN0aXZlICYmXG4gICAgY3NzYFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ3LCAyNDAsIDI1MiwgMSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzUsIDY0LCAxOTEsIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBzdHJva2U6IHJnYmEoMTM1LCA2NCwgMTkxLCAxKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYH1cbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEljb24gPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGM4YzhjO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2YwZmMgIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE2ZWRlO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUN0RCxTQUFTQyxnQkFBZ0IsUUFBUSxtQ0FBbUM7QUFDcEUsU0FBU0MsV0FBVyxRQUFRLGdCQUFnQjtBQUU1QyxPQUFPLElBQU1DLElBQUksR0FBR0wsU0FBUyx3R0FV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
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable react/function-component-definition */
3
- import React, { useEffect, useMemo } from 'react';
4
- import { useTranslation } from 'react-i18next';
3
+ import React from 'react';
5
4
  import { ChatAIHome } from '../ChatAIHome';
6
5
  import { ProjectSummaryContent } from '../ProjectSummaryContent';
7
6
  import { options } from '../ChatAIModal/constants';
@@ -9,9 +8,6 @@ import { ChatAIProjectSelector } from '../ChatAIProjectSelector';
9
8
  import { ChatAIClientSelector } from '../ChatAIClientSelector';
10
9
  import { SCCAIContentWrapper } from './ChatAIContent.styles';
11
10
  import { ChatAIMessages } from '../ChatAIMessages';
12
- import { EphemeralHome } from './EphemeralHome';
13
- import { useSectionActions } from '../../../hooks/useSectionActions';
14
- import { useGlobalContext } from '../../../context/global-context';
15
11
  import { jsx as _jsx } from "react/jsx-runtime";
16
12
  export var ChatAIContent = function ChatAIContent(_ref) {
17
13
  var currentOption = _ref.currentOption,
@@ -21,48 +17,7 @@ export var ChatAIContent = function ChatAIContent(_ref) {
21
17
  onSendMessageReady = _ref.onSendMessageReady,
22
18
  expanded = _ref.expanded,
23
19
  hasNoAgents = _ref.hasNoAgents,
24
- agents = _ref.agents,
25
- _ref$isEphemeral = _ref.isEphemeral,
26
- isEphemeral = _ref$isEphemeral === void 0 ? false : _ref$isEphemeral;
27
- var _useTranslation = useTranslation(),
28
- i18n = _useTranslation.i18n;
29
- var _useGlobalContext = useGlobalContext(),
30
- ephemeralSection = _useGlobalContext.ephemeralSection;
31
- var _useSectionActions = useSectionActions(),
32
- sectionActions = _useSectionActions.actions,
33
- loadingActions = _useSectionActions.loading,
34
- handleGetActionsBySection = _useSectionActions.handleGetActionsBySection;
35
- var actionsSectionByEphemeralSection = useMemo(function () {
36
- switch (ephemeralSection) {
37
- case 'taskEphemeral':
38
- default:
39
- return 'tasks';
40
- }
41
- }, [ephemeralSection]);
42
- useEffect(function () {
43
- if (!isEphemeral || currentOption !== options.home) return;
44
- handleGetActionsBySection({
45
- lang: i18n.language,
46
- section: actionsSectionByEphemeralSection
47
- });
48
- }, [actionsSectionByEphemeralSection, currentOption, handleGetActionsBySection, i18n.language, isEphemeral]);
49
- var ephemeralFunctions = useMemo(function () {
50
- if (!(sectionActions !== null && sectionActions !== void 0 && sectionActions.length)) return [];
51
- return sectionActions.map(function (action) {
52
- var _action$title, _ref2, _action$description, _ref3, _action$prompt;
53
- var id = action.id != null ? String(action.id) : '';
54
- var title = (_action$title = action.title) !== null && _action$title !== void 0 ? _action$title : '';
55
- var description = (_ref2 = (_action$description = action.description) !== null && _action$description !== void 0 ? _action$description : action.subtitle) !== null && _ref2 !== void 0 ? _ref2 : '';
56
- var message = (_ref3 = (_action$prompt = action.prompt) !== null && _action$prompt !== void 0 ? _action$prompt : action.message) !== null && _ref3 !== void 0 ? _ref3 : title;
57
- if (!id || !title || !message) return null;
58
- return {
59
- id: id,
60
- title: title,
61
- description: String(description),
62
- message: String(message)
63
- };
64
- }).filter(Boolean);
65
- }, [sectionActions]);
20
+ agents = _ref.agents;
66
21
  if (currentOption === options.chat) {
67
22
  return /*#__PURE__*/_jsx(SCCAIContentWrapper, {
68
23
  children: /*#__PURE__*/_jsx(ChatAIMessages, {
@@ -97,18 +52,6 @@ export var ChatAIContent = function ChatAIContent(_ref) {
97
52
  })
98
53
  });
99
54
  }
100
- if (isEphemeral && currentOption === options.home) {
101
- return /*#__PURE__*/_jsx(SCCAIContentWrapper, {
102
- children: /*#__PURE__*/_jsx(EphemeralHome, {
103
- onActionClick: function onActionClick(item) {
104
- var _item$message;
105
- return handlers.chat((_item$message = item.message) !== null && _item$message !== void 0 ? _item$message : item.title, [], undefined, item.id);
106
- },
107
- functions: ephemeralFunctions,
108
- isLoading: loadingActions && ephemeralFunctions.length === 0
109
- })
110
- });
111
- }
112
55
  return /*#__PURE__*/_jsx(SCCAIContentWrapper, {
113
56
  children: /*#__PURE__*/_jsx(ChatAIHome, {
114
57
  handlers: handlers,
@@ -118,4 +61,4 @@ export var ChatAIContent = function ChatAIContent(_ref) {
118
61
  })
119
62
  });
120
63
  };
121
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VUcmFuc2xhdGlvbiIsIkNoYXRBSUhvbWUiLCJQcm9qZWN0U3VtbWFyeUNvbnRlbnQiLCJvcHRpb25zIiwiQ2hhdEFJUHJvamVjdFNlbGVjdG9yIiwiQ2hhdEFJQ2xpZW50U2VsZWN0b3IiLCJTQ0NBSUNvbnRlbnRXcmFwcGVyIiwiQ2hhdEFJTWVzc2FnZXMiLCJFcGhlbWVyYWxIb21lIiwidXNlU2VjdGlvbkFjdGlvbnMiLCJ1c2VHbG9iYWxDb250ZXh0IiwianN4IiwiX2pzeCIsIkNoYXRBSUNvbnRlbnQiLCJfcmVmIiwiY3VycmVudE9wdGlvbiIsImhhbmRsZXJzIiwib25FcnJvciIsInJlZnMiLCJvblNlbmRNZXNzYWdlUmVhZHkiLCJleHBhbmRlZCIsImhhc05vQWdlbnRzIiwiYWdlbnRzIiwiX3JlZiRpc0VwaGVtZXJhbCIsImlzRXBoZW1lcmFsIiwiX3VzZVRyYW5zbGF0aW9uIiwiaTE4biIsIl91c2VHbG9iYWxDb250ZXh0IiwiZXBoZW1lcmFsU2VjdGlvbiIsIl91c2VTZWN0aW9uQWN0aW9ucyIsInNlY3Rpb25BY3Rpb25zIiwiYWN0aW9ucyIsImxvYWRpbmdBY3Rpb25zIiwibG9hZGluZyIsImhhbmRsZUdldEFjdGlvbnNCeVNlY3Rpb24iLCJhY3Rpb25zU2VjdGlvbkJ5RXBoZW1lcmFsU2VjdGlvbiIsImhvbWUiLCJsYW5nIiwibGFuZ3VhZ2UiLCJzZWN0aW9uIiwiZXBoZW1lcmFsRnVuY3Rpb25zIiwibGVuZ3RoIiwibWFwIiwiYWN0aW9uIiwiX2FjdGlvbiR0aXRsZSIsIl9yZWYyIiwiX2FjdGlvbiRkZXNjcmlwdGlvbiIsIl9yZWYzIiwiX2FjdGlvbiRwcm9tcHQiLCJpZCIsIlN0cmluZyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJzdWJ0aXRsZSIsIm1lc3NhZ2UiLCJwcm9tcHQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY2hhdCIsImNoaWxkcmVuIiwidXNlckluaXRpYWxNZXNzYWdlIiwiaW5pdGlhbENoYXRJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdFN1bW1hcnkiLCJvblJlc3RhcnRTdW1tYXJ5IiwicHJvamVjdFNlbGVjdG9yIiwiaGFuZGxlR29Ib21lIiwiY2xpZW50U2VsZWN0b3IiLCJvbkFjdGlvbkNsaWNrIiwiaXRlbSIsIl9pdGVtJG1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJmdW5jdGlvbnMiLCJpc0xvYWRpbmciLCJvblN0YXJ0Q2hhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlDb250ZW50L0NoYXRBSUNvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGF0QUlIb21lIH0gZnJvbSAnLi4vQ2hhdEFJSG9tZSdcbmltcG9ydCB7IFByb2plY3RTdW1tYXJ5Q29udGVudCB9IGZyb20gJy4uL1Byb2plY3RTdW1tYXJ5Q29udGVudCdcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgQ2hhdEFJUHJvamVjdFNlbGVjdG9yIH0gZnJvbSAnLi4vQ2hhdEFJUHJvamVjdFNlbGVjdG9yJ1xuaW1wb3J0IHsgQ2hhdEFJQ2xpZW50U2VsZWN0b3IgfSBmcm9tICcuLi9DaGF0QUlDbGllbnRTZWxlY3RvcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBTQ0NBSUNvbnRlbnRXcmFwcGVyIH0gZnJvbSAnLi9DaGF0QUlDb250ZW50LnN0eWxlcydcbmltcG9ydCB7IENoYXRBSU1lc3NhZ2VzIH0gZnJvbSAnLi4vQ2hhdEFJTWVzc2FnZXMnXG5pbXBvcnQgeyBFcGhlbWVyYWxIb21lIH0gZnJvbSAnLi9FcGhlbWVyYWxIb21lJ1xuaW1wb3J0IHR5cGUgeyBFcGhlbWVyYWxGdW5jdGlvbkl0ZW0gfSBmcm9tICcuL0VwaGVtZXJhbEhvbWUnXG5pbXBvcnQgeyB1c2VTZWN0aW9uQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNlY3Rpb25BY3Rpb25zJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5cbnR5cGUgQ2hhdEFJQ29udGVudFByb3BzID0ge1xuICBjdXJyZW50T3B0aW9uOiBvcHRpb25zXG4gIGhhbmRsZXJzOiBSZWNvcmQ8b3B0aW9ucywgKHZhbHVlPzogYW55KSA9PiB2b2lkPiAmIHtcbiAgICBjaGF0OiAobWVzc2FnZT86IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZywgYWN0aW9uSWQ/OiBzdHJpbmcpID0+IHZvaWRcbiAgICBzdGFydENoYXQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkXG4gICAgaGFuZGxlR29Ib21lOiAoKSA9PiB2b2lkXG4gIH1cbiAgb25FcnJvcjogKCkgPT4gdm9pZFxuICByZWZzOiB7XG4gICAgdXNlckluaXRpYWxNZXNzYWdlOiB7IG1lc3NhZ2U6IHN0cmluZzsgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRGaWxlW107IGZhcUlkPzogc3RyaW5nIH1cbiAgICBpbml0aWFsQ2hhdElkOiBzdHJpbmcgfCBudWxsXG4gIH1cbiAgb25TZW5kTWVzc2FnZVJlYWR5PzogKFxuICAgIHNlbmRNZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuICAgIHN0b3BHZW5lcmF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIGlzU3RyZWFtaW5nOiBib29sZWFuLFxuICAgIGlzV3JpdGluZzogYm9vbGVhblxuICApID0+IHZvaWRcbiAgZXhwYW5kZWQ/OiBib29sZWFuXG4gIGhhc05vQWdlbnRzPzogYm9vbGVhblxuICBhZ2VudHM/OiBBZ2VudFtdXG4gIGlzRXBoZW1lcmFsPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJQ29udGVudCA9ICh7XG4gIGN1cnJlbnRPcHRpb24sXG4gIGhhbmRsZXJzLFxuICBvbkVycm9yLFxuICByZWZzLFxuICBvblNlbmRNZXNzYWdlUmVhZHksXG4gIGV4cGFuZGVkLFxuICBoYXNOb0FnZW50cyxcbiAgYWdlbnRzLFxuICBpc0VwaGVtZXJhbCA9IGZhbHNlLFxufTogQ2hhdEFJQ29udGVudFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCB7IGVwaGVtZXJhbFNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IGFjdGlvbnM6IHNlY3Rpb25BY3Rpb25zLCBsb2FkaW5nOiBsb2FkaW5nQWN0aW9ucywgaGFuZGxlR2V0QWN0aW9uc0J5U2VjdGlvbiB9ID0gdXNlU2VjdGlvbkFjdGlvbnMoKVxuXG4gIGNvbnN0IGFjdGlvbnNTZWN0aW9uQnlFcGhlbWVyYWxTZWN0aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgc3dpdGNoIChlcGhlbWVyYWxTZWN0aW9uKSB7XG4gICAgICBjYXNlICd0YXNrRXBoZW1lcmFsJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAndGFza3MnXG4gICAgfVxuICB9LCBbZXBoZW1lcmFsU2VjdGlvbl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRXBoZW1lcmFsIHx8IGN1cnJlbnRPcHRpb24gIT09IG9wdGlvbnMuaG9tZSkgcmV0dXJuXG4gICAgaGFuZGxlR2V0QWN0aW9uc0J5U2VjdGlvbih7IGxhbmc6IGkxOG4ubGFuZ3VhZ2UsIHNlY3Rpb246IGFjdGlvbnNTZWN0aW9uQnlFcGhlbWVyYWxTZWN0aW9uIH0pXG4gIH0sIFthY3Rpb25zU2VjdGlvbkJ5RXBoZW1lcmFsU2VjdGlvbiwgY3VycmVudE9wdGlvbiwgaGFuZGxlR2V0QWN0aW9uc0J5U2VjdGlvbiwgaTE4bi5sYW5ndWFnZSwgaXNFcGhlbWVyYWxdKVxuXG4gIGNvbnN0IGVwaGVtZXJhbEZ1bmN0aW9uczogRXBoZW1lcmFsRnVuY3Rpb25JdGVtW10gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNlY3Rpb25BY3Rpb25zPy5sZW5ndGgpIHJldHVybiBbXVxuXG4gICAgcmV0dXJuIHNlY3Rpb25BY3Rpb25zXG4gICAgICAubWFwKGFjdGlvbiA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYWN0aW9uLmlkICE9IG51bGwgPyBTdHJpbmcoYWN0aW9uLmlkKSA6ICcnXG4gICAgICAgIGNvbnN0IHRpdGxlID0gYWN0aW9uLnRpdGxlID8/ICcnXG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYWN0aW9uLmRlc2NyaXB0aW9uID8/IGFjdGlvbi5zdWJ0aXRsZSA/PyAnJ1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYWN0aW9uLnByb21wdCA/PyBhY3Rpb24ubWVzc2FnZSA/PyB0aXRsZVxuXG4gICAgICAgIGlmICghaWQgfHwgIXRpdGxlIHx8ICFtZXNzYWdlKSByZXR1cm4gbnVsbFxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFN0cmluZyhkZXNjcmlwdGlvbiksXG4gICAgICAgICAgbWVzc2FnZTogU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9IHNhdGlzZmllcyBFcGhlbWVyYWxGdW5jdGlvbkl0ZW1cbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIEVwaGVtZXJhbEZ1bmN0aW9uSXRlbVtdXG4gIH0sIFtzZWN0aW9uQWN0aW9uc10pXG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2hhdCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPENoYXRBSU1lc3NhZ2VzXG4gICAgICAgICAgdXNlckluaXRpYWxNZXNzYWdlPXtyZWZzLnVzZXJJbml0aWFsTWVzc2FnZX1cbiAgICAgICAgICBpbml0aWFsQ2hhdElkPXtyZWZzLmluaXRpYWxDaGF0SWR9XG4gICAgICAgICAgb25FcnJvcj17b25FcnJvcn1cbiAgICAgICAgICBvblNlbmRNZXNzYWdlUmVhZHk9e29uU2VuZE1lc3NhZ2VSZWFkeX1cbiAgICAgICAgICBhdHRhY2htZW50cz17cmVmcy51c2VySW5pdGlhbE1lc3NhZ2UuYXR0YWNobWVudHN9XG4gICAgICAgICAgYWdlbnRzPXthZ2VudHN9XG4gICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgICAvPlxuICAgICAgPC9TQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLnByb2plY3RTdW1tYXJ5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8UHJvamVjdFN1bW1hcnlDb250ZW50IG9uUmVzdGFydFN1bW1hcnk9e2hhbmRsZXJzLmhvbWV9IC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMucHJvamVjdFNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8Q2hhdEFJUHJvamVjdFNlbGVjdG9yIGhhbmRsZXJzPXtoYW5kbGVycy5oYW5kbGVHb0hvbWV9IC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMuY2xpZW50U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDxDaGF0QUlDbGllbnRTZWxlY3RvciBoYW5kbGVycz17aGFuZGxlcnMuaGFuZGxlR29Ib21lfSAvPlxuICAgICAgPC9TQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChpc0VwaGVtZXJhbCAmJiBjdXJyZW50T3B0aW9uID09PSBvcHRpb25zLmhvbWUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDxFcGhlbWVyYWxIb21lXG4gICAgICAgICAgb25BY3Rpb25DbGljaz17KGl0ZW06IEVwaGVtZXJhbEZ1bmN0aW9uSXRlbSkgPT5cbiAgICAgICAgICAgIGhhbmRsZXJzLmNoYXQoaXRlbS5tZXNzYWdlID8/IGl0ZW0udGl0bGUsIFtdLCB1bmRlZmluZWQsIGl0ZW0uaWQpXG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9ucz17ZXBoZW1lcmFsRnVuY3Rpb25zfVxuICAgICAgICAgIGlzTG9hZGluZz17bG9hZGluZ0FjdGlvbnMgJiYgZXBoZW1lcmFsRnVuY3Rpb25zLmxlbmd0aCA9PT0gMH1cbiAgICAgICAgLz5cbiAgICAgIDwvU0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgPENoYXRBSUhvbWUgaGFuZGxlcnM9e2hhbmRsZXJzfSBvblN0YXJ0Q2hhdD17aGFuZGxlcnMuY2hhdH0gZXhwYW5kZWQ9e2V4cGFuZGVkfSBoYXNOb0FnZW50cz17aGFzTm9BZ2VudHN9IC8+XG4gICAgPC9TQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxPQUFPQSxLQUFL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
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNoYXRBSUhvbWUiLCJQcm9qZWN0U3VtbWFyeUNvbnRlbnQiLCJvcHRpb25zIiwiQ2hhdEFJUHJvamVjdFNlbGVjdG9yIiwiQ2hhdEFJQ2xpZW50U2VsZWN0b3IiLCJTQ0NBSUNvbnRlbnRXcmFwcGVyIiwiQ2hhdEFJTWVzc2FnZXMiLCJqc3giLCJfanN4IiwiQ2hhdEFJQ29udGVudCIsIl9yZWYiLCJjdXJyZW50T3B0aW9uIiwiaGFuZGxlcnMiLCJvbkVycm9yIiwicmVmcyIsIm9uU2VuZE1lc3NhZ2VSZWFkeSIsImV4cGFuZGVkIiwiaGFzTm9BZ2VudHMiLCJhZ2VudHMiLCJjaGF0IiwiY2hpbGRyZW4iLCJ1c2VySW5pdGlhbE1lc3NhZ2UiLCJpbml0aWFsQ2hhdElkIiwiYXR0YWNobWVudHMiLCJwcm9qZWN0U3VtbWFyeSIsIm9uUmVzdGFydFN1bW1hcnkiLCJob21lIiwicHJvamVjdFNlbGVjdG9yIiwiaGFuZGxlR29Ib21lIiwiY2xpZW50U2VsZWN0b3IiLCJvblN0YXJ0Q2hhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlDb250ZW50L0NoYXRBSUNvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGF0QUlIb21lIH0gZnJvbSAnLi4vQ2hhdEFJSG9tZSdcbmltcG9ydCB7IFByb2plY3RTdW1tYXJ5Q29udGVudCB9IGZyb20gJy4uL1Byb2plY3RTdW1tYXJ5Q29udGVudCdcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgQ2hhdEFJUHJvamVjdFNlbGVjdG9yIH0gZnJvbSAnLi4vQ2hhdEFJUHJvamVjdFNlbGVjdG9yJ1xuaW1wb3J0IHsgQ2hhdEFJQ2xpZW50U2VsZWN0b3IgfSBmcm9tICcuLi9DaGF0QUlDbGllbnRTZWxlY3RvcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBTQ0NBSUNvbnRlbnRXcmFwcGVyIH0gZnJvbSAnLi9DaGF0QUlDb250ZW50LnN0eWxlcydcbmltcG9ydCB7IENoYXRBSU1lc3NhZ2VzIH0gZnJvbSAnLi4vQ2hhdEFJTWVzc2FnZXMnXG5cbnR5cGUgQ2hhdEFJQ29udGVudFByb3BzID0ge1xuICBjdXJyZW50T3B0aW9uOiBvcHRpb25zXG4gIGhhbmRsZXJzOiBSZWNvcmQ8b3B0aW9ucywgKHZhbHVlPzogYW55KSA9PiB2b2lkPiAmIHtcbiAgICBjaGF0OiAobWVzc2FnZT86IHN0cmluZywgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZykgPT4gdm9pZFxuICAgIHN0YXJ0Q2hhdD86IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWRcbiAgICBoYW5kbGVHb0hvbWU6ICgpID0+IHZvaWRcbiAgfVxuICBvbkVycm9yOiAoKSA9PiB2b2lkXG4gIHJlZnM6IHtcbiAgICB1c2VySW5pdGlhbE1lc3NhZ2U6IHsgbWVzc2FnZTogc3RyaW5nOyBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXTsgZmFxSWQ/OiBzdHJpbmcgfVxuICAgIGluaXRpYWxDaGF0SWQ6IHN0cmluZyB8IG51bGxcbiAgfVxuICBvblNlbmRNZXNzYWdlUmVhZHk/OiAoXG4gICAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsXG4gICAgc3RvcEdlbmVyYXRpb246ICgpID0+IHZvaWQsXG4gICAgaXNTdHJlYW1pbmc6IGJvb2xlYW4sXG4gICAgaXNXcml0aW5nOiBib29sZWFuXG4gICkgPT4gdm9pZFxuICBleHBhbmRlZD86IGJvb2xlYW5cbiAgaGFzTm9BZ2VudHM/OiBib29sZWFuXG4gIGFnZW50cz86IEFnZW50W11cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSUNvbnRlbnQgPSAoe1xuICBjdXJyZW50T3B0aW9uLFxuICBoYW5kbGVycyxcbiAgb25FcnJvcixcbiAgcmVmcyxcbiAgb25TZW5kTWVzc2FnZVJlYWR5LFxuICBleHBhbmRlZCxcbiAgaGFzTm9BZ2VudHMsXG4gIGFnZW50cyxcbn06IENoYXRBSUNvbnRlbnRQcm9wcykgPT4ge1xuICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jaGF0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUNvbnRlbnRXcmFwcGVyPlxuICAgICAgICA8Q2hhdEFJTWVzc2FnZXNcbiAgICAgICAgICB1c2VySW5pdGlhbE1lc3NhZ2U9e3JlZnMudXNlckluaXRpYWxNZXNzYWdlfVxuICAgICAgICAgIGluaXRpYWxDaGF0SWQ9e3JlZnMuaW5pdGlhbENoYXRJZH1cbiAgICAgICAgICBvbkVycm9yPXtvbkVycm9yfVxuICAgICAgICAgIG9uU2VuZE1lc3NhZ2VSZWFkeT17b25TZW5kTWVzc2FnZVJlYWR5fVxuICAgICAgICAgIGF0dGFjaG1lbnRzPXtyZWZzLnVzZXJJbml0aWFsTWVzc2FnZS5hdHRhY2htZW50c31cbiAgICAgICAgICBhZ2VudHM9e2FnZW50c31cbiAgICAgICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGN1cnJlbnRPcHRpb24gPT09IG9wdGlvbnMucHJvamVjdFN1bW1hcnkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDxQcm9qZWN0U3VtbWFyeUNvbnRlbnQgb25SZXN0YXJ0U3VtbWFyeT17aGFuZGxlcnMuaG9tZX0gLz5cbiAgICAgIDwvU0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5wcm9qZWN0U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgICAgIDxDaGF0QUlQcm9qZWN0U2VsZWN0b3IgaGFuZGxlcnM9e2hhbmRsZXJzLmhhbmRsZUdvSG9tZX0gLz5cbiAgICAgIDwvU0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoY3VycmVudE9wdGlvbiA9PT0gb3B0aW9ucy5jbGllbnRTZWxlY3Rvcikge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICAgICAgPENoYXRBSUNsaWVudFNlbGVjdG9yIGhhbmRsZXJzPXtoYW5kbGVycy5oYW5kbGVHb0hvbWV9IC8+XG4gICAgICA8L1NDQ0FJQ29udGVudFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlDb250ZW50V3JhcHBlcj5cbiAgICAgIDxDaGF0QUlIb21lIGhhbmRsZXJzPXtoYW5kbGVyc30gb25TdGFydENoYXQ9e2hhbmRsZXJzLmNoYXR9IGV4cGFuZGVkPXtleHBhbmRlZH0gaGFzTm9BZ2VudHM9e2hhc05vQWdlbnRzfSAvPlxuICAgIDwvU0NDQUlDb250ZW50V3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MscUJBQXFCLFFBQVEsMEJBQTBCO0FBRWhFLFNBQVNDLE9BQU8sUUFBUSwwQkFBMEI7QUFFbEQsU0FBU0MscUJBQXFCLFFBQVEsMEJBQTBCO0FBQ2hFLFNBQVNDLG9CQUFvQixRQUFRLHlCQUF5QjtBQUU5RCxTQUFTQyxtQkFBbUIsUUFBUSx3QkFBd0I7QUFDNUQsU0FBU0MsY0FBYyxRQUFRLG1CQUFtQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQXlCbEQsT0FBTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUFDLElBQUEsRUFTQTtFQUFBLElBUnhCQyxhQUFhLEdBQUFELElBQUEsQ0FBYkMsYUFBYTtJQUNiQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtJQUNSQyxPQUFPLEdBQUFILElBQUEsQ0FBUEcsT0FBTztJQUNQQyxJQUFJLEdBQUFKLElBQUEsQ0FBSkksSUFBSTtJQUNKQyxrQkFBa0IsR0FBQUwsSUFBQSxDQUFsQkssa0JBQWtCO0lBQ2xCQyxRQUFRLEdBQUFOLElBQUEsQ0FBUk0sUUFBUTtJQUNSQyxXQUFXLEdBQUFQLElBQUEsQ0FBWE8sV0FBVztJQUNYQyxNQUFNLEdBQUFSLElBQUEsQ0FBTlEsTUFBTTtFQUVOLElBQUlQLGFBQWEsS0FBS1QsT0FBTyxDQUFDaUIsSUFBSSxFQUFFO0lBQ2xDLG9CQUNFWCxJQUFBLENBQUNILG1CQUFtQjtNQUFBZSxRQUFBLGVBQ2xCWixJQUFBLENBQUNGLGNBQWM7UUFDYmUsa0JBQWtCLEVBQUVQLElBQUksQ0FBQ08sa0JBQW1CO1FBQzVDQyxhQUFhLEVBQUVSLElBQUksQ0FBQ1EsYUFBYztRQUNsQ1QsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCRSxrQkFBa0IsRUFBRUEsa0JBQW1CO1FBQ3ZDUSxXQUFXLEVBQUVULElBQUksQ0FBQ08sa0JBQWtCLENBQUNFLFdBQVk7UUFDakRMLE1BQU0sRUFBRUEsTUFBTztRQUNmRixRQUFRLEVBQUVBO01BQVMsQ0FDcEI7SUFBQyxDQUNpQixDQUFDO0VBRTFCO0VBRUEsSUFBSUwsYUFBYSxLQUFLVCxPQUFPLENBQUNzQixjQUFjLEVBQUU7SUFDNUMsb0JBQ0VoQixJQUFBLENBQUNILG1CQUFtQjtNQUFBZSxRQUFBLGVBQ2xCWixJQUFBLENBQUNQLHFCQUFxQjtRQUFDd0IsZ0JBQWdCLEVBQUViLFFBQVEsQ0FBQ2M7TUFBSyxDQUFFO0lBQUMsQ0FDdkMsQ0FBQztFQUUxQjtFQUVBLElBQUlmLGFBQWEsS0FBS1QsT0FBTyxDQUFDeUIsZUFBZSxFQUFFO0lBQzdDLG9CQUNFbkIsSUFBQSxDQUFDSCxtQkFBbUI7TUFBQWUsUUFBQSxlQUNsQlosSUFBQSxDQUFDTCxxQkFBcUI7UUFBQ1MsUUFBUSxFQUFFQSxRQUFRLENBQUNnQjtNQUFhLENBQUU7SUFBQyxDQUN2QyxDQUFDO0VBRTFCO0VBRUEsSUFBSWpCLGFBQWEsS0FBS1QsT0FBTyxDQUFDMkIsY0FBYyxFQUFFO0lBQzVDLG9CQUNFckIsSUFBQSxDQUFDSCxtQkFBbUI7TUFBQWUsUUFBQSxlQUNsQlosSUFBQSxDQUFDSixvQkFBb0I7UUFBQ1EsUUFBUSxFQUFFQSxRQUFRLENBQUNnQjtNQUFhLENBQUU7SUFBQyxDQUN0QyxDQUFDO0VBRTFCO0VBRUEsb0JBQ0VwQixJQUFBLENBQUNILG1CQUFtQjtJQUFBZSxRQUFBLGVBQ2xCWixJQUFBLENBQUNSLFVBQVU7TUFBQ1ksUUFBUSxFQUFFQSxRQUFTO01BQUNrQixXQUFXLEVBQUVsQixRQUFRLENBQUNPLElBQUs7TUFBQ0gsUUFBUSxFQUFFQSxRQUFTO01BQUNDLFdBQVcsRUFBRUE7SUFBWSxDQUFFO0VBQUMsQ0FDekYsQ0FBQztBQUUxQixDQUFDIiwiaWdub3JlTGlzdCI6W119